Commit Graph

135 Commits

Author SHA1 Message Date
darkf 44772d7e33 add association list example 2013-10-26 23:22:56 -07:00
darkf 37f2322783 tuple patterns can be LHS of cons patterns 2013-10-26 23:22:40 -07:00
darkf 64405f5d5d add basic literate lamb (lilamb) parsing 2013-10-25 19:34:31 -07:00
darkf 60dd545928 driver supports stdin 2013-10-25 18:16:19 -07:00
darkf ebcab6b75f add a few monad examples 2013-10-25 02:31:35 -07:00
darkf ef80d723ca use patterns for definitions instead of identifiers 2013-10-25 02:20:23 -07:00
darkf 19aa9410fb add lambda syntax 2013-10-24 23:32:15 -07:00
darkf 330f474709 add cons example 2013-10-24 01:28:14 -07:00
darkf 604b2e3148 add repr function 2013-10-24 00:35:45 -07:00
darkf 9672c5fb8f Fix sockets and use correct address family 2013-10-24 00:34:56 -07:00
darkf d275773bab add ' and ! to allowed identifier characters 2013-10-24 00:17:21 -07:00
darkf cf36d6da11 remove trailing CR from fgetline 2013-10-23 23:36:24 -07:00
darkf 36290dcc65 implement sockopen 2013-10-23 21:33:22 -07:00
darkf 92833ec665 add feof BIF 2013-10-23 21:03:36 -07:00
darkf 1bbc16f132 add variable definition 2013-10-23 20:54:26 -07:00
darkf 0f127a00cd add fread and fopen BIFs 2013-10-23 20:50:55 -07:00
darkf 1702ee554a generalize getline and putstr to fgetline and fputstr 2013-10-23 20:01:48 -07:00
darkf 30aaf4ed80 add loop example 2013-10-23 19:35:35 -07:00
darkf 8fda79b9a9 add loop BIF 2013-10-23 19:33:44 -07:00
darkf 702d34ca86 Fix identifiers starting with t or f not parsing 2013-10-23 19:33:13 -07:00
darkf 5c341d7df4 add at and hibye examples 2013-10-23 15:39:01 -07:00
darkf b1fc1a3715 fix comments in parser 2013-10-23 15:38:11 -07:00
darkf 47d43351e2 add string patterns 2013-10-23 15:31:37 -07:00
darkf 0dcc1707ee implement cons on strings 2013-10-23 15:15:34 -07:00
darkf ce5083fad9 add + operator on lists 2013-10-23 15:06:57 -07:00
darkf 0800608479 add boolean comparison and equality operators 2013-10-23 15:05:47 -07:00
darkf 767e3eedab evaluate if expressions 2013-10-23 14:43:30 -07:00
darkf 669b4a09a9 add boolean type and constants 2013-10-23 14:41:44 -07:00
darkf 10d0494465 parse ifs 2013-10-23 14:36:06 -07:00
darkf 732802b414 update README 2013-10-23 04:08:45 -07:00
darkf 92463a26c7 treat global scope as a special late binding 2013-10-23 02:13:35 -07:00
darkf 04c227e0e9 fix calls not restoring environment 2013-10-23 01:59:15 -07:00
darkf 639b5646e0 transition to linked lexical environments 2013-10-23 01:48:10 -07:00
darkf a6cdb3b073 add map example 2013-10-22 17:29:39 -07:00
darkf d2ad20ff3a transition InterpState to use StateT IO 2013-10-22 17:24:28 -07:00
darkf d9e1a7bdc1 remove curried functions; multiple arguments use tuples 2013-10-22 15:59:05 -07:00
darkf 8b41c05b94 add tuples 2013-10-22 15:10:34 -07:00
darkf 6d904fdfc4 AST representation of functions shouldn't use a list as they only contain one expression 2013-10-21 13:18:25 -07:00
darkf 700c5be701 refactor examples to use print(x) instead of putstrln(itos(x)) 2013-10-20 22:45:52 -07:00
darkf dfbad82f26 listsum -> listlength; add actual listsum 2013-10-20 22:43:59 -07:00
darkf cd309c9a58 add print built-in 2013-10-20 22:37:58 -07:00
darkf 0770474931 add cons expression 2013-10-20 22:27:27 -07:00
darkf e60deb4ca2 add countdown example 2013-10-20 22:01:36 -07:00
darkf 3b9a5df158 add listsum example 2013-10-20 21:52:04 -07:00
darkf 3be45c44e5 fix 'x::xs' pattern not working on one-element lists 2013-10-20 21:51:54 -07:00
darkf 9dc145c08f add factorial example 2013-10-20 21:07:49 -07:00
darkf 99ce2f75ee reverse pattern binding order 2013-10-20 18:59:22 -07:00
darkf 98305cd6d0 fix pattern bindings preferring the old environment 2013-10-20 18:45:23 -07:00
darkf dcb52ad6eb fix README formatting 2013-10-20 17:48:02 -07:00
darkf 77b49494b5 fix README formatting 2013-10-20 17:45:00 -07:00