luau/prototyping
Lily Brown 4b7e06e14f
Emit more information for AstLocals in JSON encoder (#364)
We don't emit type annotations right now for `AstLocal`s in the JSON encoder. This makes it really hard to surface annotations in the Agda implementation. This PR changes it to emit location and type annotations, if present.
2022-02-14 14:14:11 -08:00
..
Examples Prototype: added syntax for optional type annotations (#358) 2022-02-11 19:03:26 -06:00
FFI Implement a prototype interpreter (#353) 2022-02-09 17:14:29 -06:00
Luau Emit more information for AstLocals in JSON encoder (#364) 2022-02-14 14:14:11 -08:00
Properties Prototype: added syntax for optional type annotations (#358) 2022-02-11 19:03:26 -06:00
.gitignore Prototyping a small subset of Luau in Agda (#350) 2022-02-08 18:26:58 -06:00
Examples.agda Add a typeToString function to the prototype (#354) 2022-02-11 14:38:35 -06:00
Interpreter.agda Prototype: added syntax for optional type annotations (#358) 2022-02-11 19:03:26 -06:00
PrettyPrinter.agda Prototype: added syntax for optional type annotations (#358) 2022-02-11 19:03:26 -06:00
Properties.agda Add a typeToString function to the prototype (#354) 2022-02-11 14:38:35 -06:00
README.md Prototyping a small subset of Luau in Agda (#350) 2022-02-08 18:26:58 -06:00

README.md

Prototyping Luau

prototyping workflow

An experimental prototyping system for the Luau type system. This is intended to allow core language features to be tested quickly, without having to interact with all the features of production Lua.

Building

First install Haskell and Agda.

Install dependencies:

  cabal update
  cabal install --lib aeson scientific vector

Then compile

  agda --compile PrettyPrinter.agda

and run!

  luau-ast Examples/SmokeTest.lua | ./PrettyPrinter