Giter Club home page Giter Club logo

feeny-vscode's Introduction

Feeny

This package provides basic language support for Feeny. Feeny is a small programming languages for learning how to implement dynamic languages and their runtimes.

Feeny was introduced in the U.C. Berkeley course Virtual Machines and Managed Runtimes, taught by Mario Wolczko and Patrick S. Li. Its syntax is largely inspired by another language called Stanza.

You can read more about Feeny on the course materials home page, or on the implementation's GitHub repository.

Features

This package includes support for

  • Syntax highlighting
  • Brace completion
  • Smart indentation
  • Comment toggling

Feeny syntax highlighting under the GitHub Dark Default theme.

feeny-vscode's People

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

feeny-vscode's Issues

A way to visualize and navigate bytecode files

The purpose of this extension was not really to aid in writing Feeny. It was more about aiding getting through the course. One thing that's kind of a pain is dealing with bytecode files.

Eventually I wrote a small utility script that just reads a bytecode file and runs print_prog on it. It would be nice if I could get the output of print_prog in the editor as a first step, perhaps through a virtual buffer.

Still, the output of print_prog is not very human-readable. You end up having to jump back-and-forth between a method's calls and the value table. It would be nice if the editor could use something like inlay hints to preview values and labels easily. Go to definition would be nice too. Errors could help validate whether code in lab4 is valid without having to run the VM every time.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.