Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

feeny-ts

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

feeny-ts

## Summary

  • 0.0.4
  • latest
  • npm
  • Socket score

Version published
Weekly downloads
0
Maintainers
1
Weekly downloads
 
Created
Source

feeny-ts

Summary

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.

This package provides parsing tools and an interpreter written in pure TypeScript. We can use it in the web toolchains. Obviously, It can runs in either browser an node. Or some other JavaScript Runtime.

And we have extended the Feeny to add some syntax (break/continue, closure, etc.) and a simple type checker(and also type annitations). It too simple and not even a type system yet. But I think it will be better in the future.

And we also provides a language service toolchains and a VSCode extension that based above features. It's only supports diagnostics (for type check result) and goToDefinition yet.

The codebase is inspired by TypeScript compiler codebase. So you may can see many familiar codes if you are also familiar with TypeScript.

The VSCode extension is based on Daniel's Feeny-VSCode which a brilliant package too.

Happy hacking!

Features

  • Lexer

  • Parser

    • Parsing
    • Syntax extend
      • Function expression
      • Closure
      • Break / Continue expression
  • Binder

    • Symbol tables
    • Get symbol from node
  • Checker

    • Type annotations
    • Basic type check
    • Type system
  • AST Interpreter

    • Feeny features
    • Closure
    • Break / Continue
  • Cli

    • Run feeny files
  • Language service api

    • Get diagnostics
    • GoToDefinition
  • VSCode extension

    • All features in Feeny-VSCode
    • Client / Server
    • Diagnostics
    • GoToDefinition

FAQs

Package last updated on 13 Dec 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc