Commit graph

125 commits

Author SHA1 Message Date
darkf
a85db6aca7 clean up _Import 2013-12-17 00:56:46 -08:00
darkf
347fc15ba8 implement globals() and locals() 2013-12-17 00:55:02 -08:00
darkf
89ee63597b add newStdEnv 2013-12-17 00:51:48 -08:00
darkf
014567f61b Interp: set sockets unbuffered by default 2013-11-22 01:09:55 -08:00
darkf
f32b05c22b display unit tuple with a comma 2013-11-09 02:06:23 -08:00
darkf
b1a465f0e9 remove unit type/value in favor of unit tuples 2013-11-09 02:02:00 -08:00
darkf
502c711c96 parser: bind call tighter in its own production 2013-11-08 02:01:34 -08:00
darkf
0651f34dce don't make stdin unbuffered 2013-11-08 01:43:11 -08:00
darkf
8ce39fa0e7 parser: calls bind less tightly; parse record access syntax (operator '\') 2013-11-08 00:43:02 -08:00
darkf
1d57fca6b4 add simple REPL to the driver when no arguments are given 2013-11-06 22:01:06 -08:00
darkf
0725c9735b Make stdin and stdout unbuffered; add 'interpret' helper function 2013-11-06 21:56:14 -08:00
darkf
52d72a32b1 set stdin/stdout to binary mode; remove UTF8 decoding 2013-11-04 03:32:42 -08:00
darkf
e27d3305cc change filenames to start with an uppercase 2013-11-04 00:21:39 -08:00
darkf
8e2cd18cbf use hPutStr instead of UTF8.hPutStr 2013-11-04 00:18:02 -08:00
darkf
7678f8efb2 make {f,}putstr and {f,}getline use UTF-8, add {f,}readbytes and {f,}putbytes 2013-11-02 14:01:19 -07:00
darkf
4ce2bb22d5 add boolean patterns 2013-11-01 21:43:36 -07:00
darkf
6a45e9092c parser: add bool literals; remove parser2 2013-11-01 21:36:17 -07:00
darkf
6d6dfa6ad5 parser2 -> parser; higher call precedence 2013-11-01 21:32:17 -07:00
darkf
f2927c7fe3 parser2: add if, and logical operators 2013-11-01 21:22:24 -07:00
darkf
10b5825278 parser2: add lambda and definitions 2013-11-01 21:17:36 -07:00
darkf
1d4d773cec parser2: add tuples and tuple patterns 2013-11-01 21:08:38 -07:00
darkf
66328dd1b2 parser2: add variable patterns, fix integer 2013-11-01 20:39:34 -07:00
darkf
4b4b32b9dd parser2: add do...end blocks 2013-11-01 20:34:46 -07:00
darkf
24688ba9de add cons and list expressions/patterns 2013-11-01 20:30:46 -07:00
darkf
c9dcb3b66b parser2: add string literals 2013-11-01 20:16:41 -07:00
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