2015-07-16 01:40:37 -07:00
|
|
|
|
|
|
|
No-runtime-value-error-language
|
|
|
|
|
|
|
|
A language wth a largely-python-like where there are no value errors. Can call null like a function
|
2015-07-19 00:17:43 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Grammar:
|
|
|
|
|
|
|
|
#comments are hashes
|
|
|
|
# newlines are equivalent to semicolons for breaking up statements
|
|
|
|
|
|
|
|
let a = 1.3; let b = "string literal"
|
|
|
|
let c = 2
|
|
|
|
|
|
|
|
if a < 3 then any(); number(); of(); exprs(); else whatever(); end
|
|
|
|
|
|
|
|
while condition; do(); whatever(); let a = 3; a; end
|
|
|
|
|
|
|
|
#function definition
|
|
|
|
fn my_function(arg1, arg2); statements(); end
|
|
|
|
|
|
|
|
|
|
|
|
Keywords:
|
2015-07-19 00:32:51 -07:00
|
|
|
if, then, else, while, let, fn, end, null
|
2015-07-19 00:17:43 -07:00
|
|
|
|
2015-08-04 02:30:05 -07:00
|
|
|
|
2017-01-05 04:01:12 -08:00
|
|
|
Refernece works:
|
2015-08-04 02:30:05 -07:00
|
|
|
|
2017-01-05 04:01:12 -08:00
|
|
|
Evaluation:
|
|
|
|
Understanding Computation
|
2017-01-01 22:37:56 -08:00
|
|
|
|
2017-01-05 04:01:12 -08:00
|
|
|
Parsing:
|
2017-01-01 22:37:56 -08:00
|
|
|
|
2017-01-05 04:01:12 -08:00
|
|
|
http://journal.stuffwithstuff.com/2011/03/19/pratt-parsers-expression-parsing-made-easy/
|
|
|
|
|
|
|
|
|
|
|
|
LLVM:
|
|
|
|
http://blog.ulysse.io/2016/07/03/llvm-getting-started.html
|