Commit Graph

2055 Commits

Author SHA1 Message Date
Calvin Rose e21a69920f Add sorting to pretty printer. 2018-03-28 21:16:12 -04:00
Calvin Rose 39d6bd573a Add preliminary os lib. 2018-03-28 20:50:20 -04:00
Calvin Rose d9f6c7b069 Make pretty printer prettier. 2018-03-26 13:36:58 -04:00
bakpakin 080caf31a7 Add triangles examples. 2018-03-25 18:51:31 -04:00
Calvin Rose da15dac16b Fix an offset bug in closure creation. 2018-03-22 17:41:01 -04:00
Calvin Rose 0fd55282d8 Add error reporting to repl (initial stack traces) 2018-03-21 20:53:39 -04:00
Calvin Rose 3e1e258546 Fix a compiler bug in the do special form. 2018-03-19 14:51:18 -04:00
Calvin Rose 855787b292 Add macroexpand and macroexpand1 2018-03-18 14:01:58 -04:00
Calvin Rose 82e5d915f7 Add makefile back. 2018-03-18 09:17:20 -04:00
Calvin Rose 4a76f2ae32 Replace varset! with algol style := 2018-03-16 18:15:34 -04:00
Calvin Rose 5738f6c8b1 Rename seq abstraction to iterator. Add random functions. 2018-03-15 17:19:31 -04:00
Calvin Rose 5f0bd1e082 Update code. 2018-03-14 21:46:56 -04:00
Calvin Rose c0ac44a650 Fix description semantics. describe returns string, does not print. 2018-03-14 18:57:26 -04:00
Calvin Rose 1ec704feb9 Remove pretty printer implemented in C. 2018-03-14 13:38:48 -04:00
Calvin Rose 2b1dd79f55 Work on emscripten support. Works with sync code. 2018-03-13 14:03:17 -04:00
Calvin Rose 3b2658150e Update boot.dst for better functionality (require, macros,
documentation, cond, let, etc.)
2018-03-12 00:26:13 -04:00
Calvin Rose 1ba93c5112 Update debug code for fibers. 2018-03-11 18:06:47 -04:00
Calvin Rose cace92af95 Fix broken windows build. 2018-03-11 15:42:59 -04:00
Calvin Rose 2a0dc5f1ad Switch to assymetric coroutines instead of symmetric. 2018-03-11 15:35:23 -04:00
Calvin Rose 0b6ac1698c Add proto field to tables to allow prototypal inheritance. 2018-03-10 13:34:46 -05:00
Calvin Rose 0c3b0673ff Enable debug opcode in vm and debug state for fibers. 2018-03-09 17:14:26 -05:00
Calvin Rose eee453d2c0 Update thoughts.md, and add dst_call and dst_call suspend.
dst_call_suspend migt be redundant (suspension of GC is easy enough).
2018-03-04 18:56:13 -05:00
Calvin Rose 1551bf6b48 Use flatter representation for function and environments. 2018-02-13 16:14:55 -05:00
Calvin Rose 2f4fd23884 Add per fiber stack limit. 2018-02-12 17:36:29 -05:00
Calvin Rose a614816a04 Update func env representation to not store envs in function
objects.
2018-02-12 16:43:59 -05:00
Calvin Rose af6e6ded35 Add configurable stack overflow to prevent infinite recursion
without waiting for out of memory.
2018-02-12 11:49:10 -05:00
bakpakin 7f693796ea Differentiate total order comparison and numeric comparison 2018-02-09 11:57:58 -05:00
Calvin Rose e047b39a87 More work on self hosting the client program. 2018-02-07 13:19:34 -05:00
Calvin Rose 3e1f031576 Self host the repl, remove linenoise, and selfhost the
main client.
2018-02-07 00:44:51 -05:00
bakpakin 7bfb3145cb Add some library functions and add newline character to reading line
from file.
2018-02-06 10:31:42 -05:00
Calvin Rose 4971ef58d2 Add fseek. 2018-02-04 12:58:40 -05:00
Calvin Rose 4b89789f69 Add all and line option to file-read 2018-02-04 00:54:38 -05:00
Calvin Rose f3b2c29580 Add pretty print to build in. 2018-02-03 18:12:07 -05:00
Calvin Rose a673b7e326 Fix small compiler bug 2018-02-03 17:22:04 -05:00
Calvin Rose 35ddc70888 Move ast into parser. Map keywords to symbols instead of
strings.
2018-02-03 13:55:55 -05:00
Calvin Rose 278769f2bb Fix compiler warnings with GCC. 2018-02-02 17:26:20 -05:00
Calvin Rose ccdf758e83 Get dst to compile on windows 2018-02-01 17:09:22 -08:00
bakpakin 776addfc07 Fix install procedure 2018-01-31 22:53:31 -05:00
bakpakin ff46522dd9 Assert computed gotos work on clang 2018-01-31 21:47:18 -05:00
bakpakin 1bf0b538cd Use computed goto in vm for GCC 2018-01-31 21:40:19 -05:00
bakpakin a6694e985c Add a few more ast functions. 2018-01-31 17:56:10 -05:00
bakpakin e9c4d388c9 Ignore one ulp errors in printing reals. 2018-01-31 17:47:59 -05:00
bakpakin 50bfa8de3f Add boot script which is loaded on start up. 2018-01-31 17:39:18 -05:00
bakpakin 4f74d57359 Refactor stl to corelib and stl. Corelib is part of vm, stl
is part of dst language. Add bootstrapping code directly into stl.
Stl is now logically grouped with compiler.
2018-01-29 23:38:49 -05:00
bakpakin ce5708af98 Switch over to Cmake fully. 2018-01-29 15:46:26 -05:00
bakpakin b305a7c9bb Add macros in compiler. 2018-01-28 15:29:47 -05:00
bakpakin 8fe9881187 More work on adding c functions. Added buffer literals again. 2018-01-27 15:15:09 -05:00
bakpakin 2bd20c3cb3 Addition and subtraction inlining. 2018-01-25 18:49:08 -05:00
bakpakin 5460ff19bf Begin C Function specialization in the compiler. 2018-01-24 17:59:00 -05:00
bakpakin aa68ef49f1 Remove transfer as a compiler special. Eventually
rely on function inlining for efficiency.
2018-01-21 17:29:48 -05:00
bakpakin 26c8145893 Move ast to core. Add symbol function to stl. 2018-01-21 17:08:11 -05:00
bakpakin 42a88de9e7 Add quick asm for adding apply and error to the stl. 2018-01-21 16:41:15 -05:00
bakpakin 911b0b15e8 Fix some bugs with inner closures. 2018-01-21 14:39:32 -05:00
bakpakin d68eae9592 Add bytecode verification 2018-01-20 17:21:59 -05:00
bakpakin 30f62ca454 Major refactor and restructure. Add CMake for anticipated windows
support.
2018-01-19 16:43:19 -05:00