Commit Graph

135 Commits

Author SHA1 Message Date
Anton Golov c5a29ef171 Added error for each missing file.
Generalised the allExist function to findMissing.
2014-05-29 03:31:13 +02:00
darkf 02bc968e0c add ref example 2014-02-12 02:54:41 -08:00
darkf 5bae5645ec add mutable refs 2014-02-12 02:11:36 -08:00
darkf d180116931 move Handles from state to values 2014-02-12 01:33:50 -08:00
darkf 13b1671662 misc cleanup 2014-02-12 00:50:09 -08:00
darkf fe280dca78 add interpreter path to module search path 2014-02-12 00:36:30 -08:00
darkf 32252b8d89 add more std modules 2014-02-11 04:55:40 -08:00
darkf f7890c07fe add standard list module 2014-02-11 04:54:54 -08:00
darkf cf2723d01f Interp: lift -> liftIO 2013-12-17 01:42:21 -08:00
darkf 5097c855ce implement eval() 2013-12-17 01:26:42 -08:00
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