An experiment in parentheses-free lisp (in JavaScript)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
nisstyre56 d36a8fe0d9 a bunch of types and declarations, adopt the prefix that unboxed types are declared as Intrinsic for now 10 years ago
LICENSE.md changing license to ΩF:∅ Working Group 10 years ago
README.md update README to actually explain the current status of this 10 years ago
cexps.js tests 10 years ago
closure_conversion.js a few tweaks based on jshint 10 years ago
desugar.js fix more bugs 10 years ago
environments.js readability fixes, a few bug fixes, can calculate free variables of let blocks, environments not being passed yet or closures created 10 years ago
errors.js add 'deftype' keyword to tokenizer 10 years ago
example.jl support for oneline comments using ; as the prefix 10 years ago
fib.jl handle unary arithmetic operations correctly 11 years ago
parse.js pretty print debugging for data type defs, fixed another mistake 10 years ago
pprint.js pretty print debugging for data type defs, fixed another mistake 10 years ago
prelude.jl a bunch of types and declarations, adopt the prefix that unboxed types are declared as Intrinsic for now 10 years ago
representation.js start building up stdlib type declarations for use in the type checker 10 years ago
test.js tweaks for identifier generation 10 years ago
tokenize.js missing semicolon 10 years ago
tools.js experimental support for full type application syntax, basic error checking, still needs syntax for user created types 10 years ago
typecheck.js readability fixes, a few bug fixes, can calculate free variables of let blocks, environments not being passed yet or closures created 10 years ago

README.md

JLambda is a functional language in the spirit of languages such as Scheme, SML, or Clean. It aims to have a very flexible syntax and a clean and easy to understand type system. Another goal is to generate very efficient JavaScript code and possibly native code as well. Currently the type system is still being conceived, and the various parts that conspire to generate actual code are being written and will likely change quite a bit. It is possible to parse code and generate a pretty printed version of it (see example.jl for what the syntax looks like at the moment).

JLambda also aims to support concurrency which will be built on a continuation-passing style intermediate language. I have not figured out how scheduling threads will work, or whether I will provide any programmer directed way of scheduling (i.e. yield).