Go to file
2017-09-19 22:10:59 -07:00
src Compiling if statements like half done 2017-09-19 22:10:59 -07:00
.gitignore Ignore Cargo.lock 2017-09-19 22:10:56 -07:00
Cargo.toml Use itertools peeking_take_while 2017-09-19 22:10:58 -07:00
closure.schala Convert parsing while, if, fn exprs to use { } 2017-09-19 22:10:59 -07:00
compile.schala Compile multi-expression source programs 2017-09-19 22:10:59 -07:00
conditional.schala Conditionals - handle delimiters correctly 2017-09-19 22:10:58 -07:00
Grammar Fixed arg list parsing 2017-09-19 22:10:53 -07:00
main.schala Convert parsing while, if, fn exprs to use { } 2017-09-19 22:10:59 -07:00
README Update references in README 2017-09-19 22:10:59 -07:00
recurse.schala Convert parsing while, if, fn exprs to use { } 2017-09-19 22:10:59 -07:00
test.schala Convert parsing while, if, fn exprs to use { } 2017-09-19 22:10:59 -07:00
unicode.schala Unicode should work 2017-09-19 22:10:59 -07:00
while.schala Use buffered reader for stdout 2017-09-19 22:10:59 -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



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:
if, then, else, while, let, fn, end, null


Refernece works:

    Evaluation:
    Understanding Computation

    Parsing:

    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