Go to file
greg b45d09e81a Don't need this reference 2017-09-19 22:10:58 -07:00
src Don't need this reference 2017-09-19 22:10:58 -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
Grammar Fixed arg list parsing 2017-09-19 22:10:53 -07:00
README Added links to README 2017-09-19 22:10:58 -07:00
closure.schala Function bodies can contain statements now 2017-09-19 22:10:58 -07:00
compile.schala Working on compilation again 2017-09-19 22:10:58 -07:00
conditional.schala Conditionals - handle delimiters correctly 2017-09-19 22:10:58 -07:00
main.schala Fixed evaluation of function calls 2017-09-19 22:10:57 -07:00
recurse.schala Prove recursion works 2017-09-19 22:10:58 -07:00
test.schala Move all LLVM functions into LLVMWrap 2017-09-19 22:10:57 -07:00

README

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


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