Commit Graph

37 Commits

Author SHA1 Message Date
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 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 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 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 3be45c44e5 fix 'x::xs' pattern not working on one-element lists 2013-10-20 21:51:54 -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 83111e51fb fix itos to error on non-int inputs 2013-10-20 17:25:38 -07:00
darkf d36f589132 add other arithmetic operators 2013-10-20 17:24:51 -07:00
darkf 1aad8057a0 fix list pattern not failing 2013-10-20 17:04:12 -07:00
darkf 7bebcdd1dc redefintions of functions adds pattern; fix [] pattern yielding [UnitP] 2013-10-20 17:03:45 -07:00
darkf f138c7475b add helper bind function 2013-10-20 16:32:23 -07:00
darkf 314458e445 add helper lookup function 2013-10-20 16:30:39 -07:00
darkf 1723239d9b add itos builtin 2013-10-20 16:26:53 -07:00
darkf fa5783b6e1 add evaluation of blocks 2013-10-20 16:04:56 -07:00
darkf f7ea85f08f add a driver 2013-10-20 15:55:30 -07:00
darkf 7fd13253e7 add getline putstr, and fix putstr to flush the handle 2013-10-20 01:12:10 -07:00
darkf 007f8f5eca add support for built-ins and putstr built-in 2013-10-19 22:42:48 -07:00
darkf 3d680c99f9 add stream list to interpreter state 2013-10-19 21:34:30 -07:00
darkf d10596f037 add evalString to interpreter 2013-10-19 02:21:34 -07:00
darkf e8d068f10b fix ConsP not catching everything 2013-10-19 02:21:04 -07:00
darkf 54ea8baa54 Separate AST into ast.hs and add unit type/value 2013-10-18 23:21:06 -07:00
darkf acce1a15dd add list pattern 2013-10-18 14:06:27 -07:00
darkf 870aad52cf add cons patterns 2013-10-18 13:49:33 -07:00
darkf 0ee94c3bc2 add a list constant/type 2013-10-18 13:24:00 -07:00
darkf bd7caa2d59 add int patterns and check all patterns 2013-10-18 01:28:42 -07:00
darkf 571f85814e transition functions to unary 2013-10-18 01:14:13 -07:00
darkf ecae41ef51 implement variable patterns 2013-10-17 20:46:34 -07:00
darkf 1cc5b0b03a initial commit 2013-10-17 18:58:41 -07:00