Commit graph

100 commits

Author SHA1 Message Date
darkf
24e52ec524 parser2: add function definition, integer patterns, line comments 2013-11-01 20:06:40 -07:00
darkf
97cadac9aa parser2: add function call arguments 2013-11-01 19:17:09 -07:00
darkf
e9f4be39f8 parser2: add identifiers, unit calls 2013-11-01 19:10:02 -07:00
darkf
bfceb2adda add simple Peggy expression parser 2013-11-01 19:02:29 -07:00
darkf
582895005a update state monad example for empty tuple 2013-10-29 03:05:34 -07:00
darkf
f1af997708 change empty tuple to (,) and add back parsing 2013-10-29 03:05:19 -07:00
darkf
d653902028 Use module scope for global scope in in module-prefixed functions 2013-10-29 02:49:02 -07:00
darkf
cda4a8a345 Allow slashed module names and use their base name 2013-10-29 02:48:06 -07:00
darkf
c311d22c85 implement Access eval 2013-10-29 02:09:18 -07:00
darkf
ee9609471d Add Ord instance to Value and BIF 2013-10-29 02:09:00 -07:00
darkf
203c908f7f Call's LHS takes an AST; parse record access with op/ 2013-10-28 20:23:29 -07:00
darkf
07a89daec1 add very basic module importing 2013-10-28 18:48:57 -07:00
darkf
73d2d68cff loop returns the last argument, not false 2013-10-27 02:02:41 -07:00
darkf
1a449a536e cons pattern "xy"::xs 2013-10-27 01:35:32 -07:00
darkf
0e60863bc5 loop now takes a required value and passes the returned non-false value into the function 2013-10-27 01:27:08 -07:00
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