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 |
|
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 |
|