aboutsummaryrefslogtreecommitdiff
path: root/ell.c
Commit message (Collapse)AuthorAgeFilesLines
* Remove suckPřemysl Janouch2017-05-261-82/+84
| | | | | | struct context::arguments stank, the "arg" special form stank. The amount of lines this adds can be counted on one hand.
* Implement dynamic scopingPřemysl Janouch2017-05-261-34/+74
| | | | | | Okay, that was a PITA to not have. But I think I'm set now, feature-wise.
* Simplify ".."Přemysl Janouch2017-05-261-3/+1
|
* Add "values"Přemysl Janouch2017-05-261-0/+5
| | | | This oneliner is way too important to be left out.
* Make and/or more usefulPřemysl Janouch2017-05-261-10/+23
| | | | Now they follow Scheme, they just aren't special forms here.
* Simplify runtime library initializationPřemysl Janouch2017-05-251-63/+52
| | | | And remove the error printing side effect, just like that, at a cost.
* Finish implementation of printingPřemysl Janouch2017-05-251-32/+99
| | | | | | | | Now readds all syntax sugar and quotes strings properly. Removed automatic line breaking and indenting since it is complicated. Removed #ifndef since it stopped making any sense.
* Fix "if"Přemysl Janouch2017-05-251-11/+18
| | | | Blocks didn't work.
* Replace for/break with a try/throw mechanismPřemysl Janouch2017-05-251-41/+6
|
* CleanupPřemysl Janouch2017-05-251-2/+2
|
* Add try/throwPřemysl Janouch2017-05-251-0/+34
|
* Fix "-"Přemysl Janouch2017-05-251-1/+6
|
* Add "parse"Přemysl Janouch2017-05-251-0/+16
|
* Make setting "set" also return the valuePřemysl Janouch2017-05-251-0/+1
|
* Get rid of "error_is_fatal"Přemysl Janouch2017-05-251-2/+0
|
* Simplify truthy()Přemysl Janouch2017-05-241-3/+1
|
* Make the lexer follow an unsigned stringPřemysl Janouch2017-05-241-6/+6
| | | | Much safer this way, allows omitting "unsigned char" temporaries.
* Simplify the lexerPřemysl Janouch2017-05-241-73/+40
|
* Simplify item managementPřemysl Janouch2017-05-241-27/+8
|
* "filter" is not a primitivePřemysl Janouch2017-05-231-31/+2
|
* Fix "unless"Přemysl Janouch2017-05-211-2/+1
| | | | Best of all is, I don't even know why it must be like that.
* Refactor argument savingPřemysl Janouch2017-05-211-16/+16
| | | | While nothing has been achieved, at least now it should be obvious.
* Specify argument in which an error happenedPřemysl Janouch2017-05-211-9/+23
|
* Remove some ancient stupidityPřemysl Janouch2017-05-211-40/+36
|
* Reorganize evaluation codePřemysl Janouch2017-05-211-71/+67
|
* Fix crash in print_tree()Přemysl Janouch2017-05-211-1/+2
|
* Allow calling literal blocksPřemysl Janouch2017-05-211-11/+22
|
* Update READMEPřemysl Janouch2017-05-211-0/+1
|
* Fix backtrace generationPřemysl Janouch2017-05-211-0/+1
|
* Split out the interpreterPřemysl Janouch2017-05-211-54/+0
|
* Fix combined operatorsPřemysl Janouch2017-05-211-4/+4
|
* Add numerical comparisonsPřemysl Janouch2017-05-211-1/+37
|
* Add "ne?", "ge?", "le?", "gt?"Přemysl Janouch2017-05-211-2/+7
| | | | At least in some form.
* Add "eq?" and "lt?"Přemysl Janouch2017-05-211-1/+32
|
* Add boolean operatorsPřemysl Janouch2017-05-211-1/+26
|
* Omit trailing zeros when not necessaryPřemysl Janouch2017-05-211-15/+15
|
* Add arithmeticsPřemysl Janouch2017-05-211-1/+49
|
* Add "system"Přemysl Janouch2017-05-211-1/+28
|
* Move native functions into the contextPřemysl Janouch2017-05-211-72/+55
|
* Add "break" for breaking out of loopsPřemysl Janouch2017-05-211-4/+25
|
* set() can unset nowPřemysl Janouch2017-05-211-21/+27
| | | | Fixing two bugs with this commit.
* Fix memory leak on evaluation errorPřemysl Janouch2017-05-211-0/+3
|
* Fix missing argument valuesPřemysl Janouch2017-05-211-7/+8
|
* Fix invalid memory access in debug codePřemysl Janouch2017-05-211-6/+5
|
* Fix for, map, filterPřemysl Janouch2017-05-211-22/+29
|
* Make ; a synonym for a newlinePřemysl Janouch2017-05-211-3/+3
|
* Slightly fix fn_concatenate()Přemysl Janouch2017-05-211-2/+2
|
* Implement if, for, map, filterPřemysl Janouch2017-05-211-33/+159
|
* Do away with POSIXPřemysl Janouch2017-05-211-12/+6
|
* Decided: () is our nil/undefPřemysl Janouch2017-05-211-2/+4
|