Commit Graph

4238 Commits

Author SHA1 Message Date
bakpakin 961275116f Add symbol function 2017-07-03 11:22:23 -04:00
bakpakin 0cf278994d Make coloring changes to the repl 2017-07-02 20:51:52 -04:00
bakpakin bfadf6ff12 Remove scratch memory functionality. 2017-07-02 19:52:44 -04:00
bakpakin 113c6cd6ad Add quoting with single quote 2017-07-02 17:35:38 -04:00
bakpakin 268bd5f954 Add keyword syntax for strings. 2017-07-02 17:24:33 -04:00
bakpakin e2c78b36d0 Add symbol type. 2017-07-02 17:17:24 -04:00
bakpakin 31ec1e9147 Add install and uninstall make targets. 2017-07-02 14:56:31 -04:00
bakpakin 7a9e991c41 Add color options to repl. 2017-07-02 14:42:30 -04:00
bakpakin db89a6c7ee Add description, short-description, and tostring as
separate stringifiers that have slightly different semantics.
description is for debugging, short-description is also
for debugging but prints less, and tostring is for coercing to
a string (similar to description, but strings are not changed and
buffers return their contents as a string).
2017-07-02 14:16:37 -04:00
bakpakin 2742e3679d Change name of debugp to description. Use it
the repl for easier inspection of structures.
2017-07-02 11:53:51 -04:00
bakpakin 62987de75b Update README.md 2017-07-01 22:46:56 -04:00
bakpakin 4a131fe47e Add some command line options to the client program. 2017-07-01 22:34:31 -04:00
bakpakin 3481ee5747 Whitespace 2017-07-01 21:51:16 -04:00
Calvin Rose 740367ec5c Add # comments to parser 2017-07-01 12:47:57 -04:00
Calvin Rose 171c0ce49e Allow yielding by transfering to nil 2017-07-01 11:25:13 -04:00
Calvin Rose 957a513fd6 More changes to threading model. 2017-07-01 11:17:29 -04:00
Calvin Rose c380f8a2ca Add OSX to travis. 2017-06-29 22:01:50 -04:00
Calvin Rose 21bd960865 Add more tests
Reuse threads on gst_run when possible
change name of getline to gst_getline
2017-06-29 21:57:09 -04:00
Calvin Rose 7e46ead2f4 Add new tests. Add recursion guard to compile, serialize, and
deserialize.
2017-06-28 22:51:24 -04:00
Calvin Rose 9d66d85778 Add travis badge 2017-06-25 19:56:17 -04:00
Calvin Rose 092fd68935 Remove -Wpedantic 2017-06-25 19:53:55 -04:00
Calvin Rose b23fc136dd Remove readline and add travis 2017-06-25 19:49:07 -04:00
Calvin Rose a7a9ff7629 Add some extra functionality to tests. 2017-06-25 19:29:38 -04:00
Calvin Rose d6967a564d Fix bug in compiler 2017-06-25 19:17:54 -04:00
Calvin Rose 1f8b671488 Replace map of vars with single element arrays 2017-06-25 16:52:15 -04:00
Calvin Rose 29a39c47b0 Add var and def. Make them behave the same
but have different implementations in top
level scope in order to enable incremental compilation and repl.
2017-06-25 16:36:20 -04:00
Calvin Rose c3d65cb91d Remove lots of headers. Add parse c function. 2017-06-24 14:27:29 -04:00
Calvin Rose 70478a410b Add errorParent to threads. 2017-06-19 23:01:34 -04:00
Calvin Rose 6c597f6b5b Add bitwise operators 2017-06-11 09:38:37 -04:00
Calvin Rose a382c62db8 Make some changes to README.md with things to do. 2017-06-10 17:44:02 -04:00
Calvin Rose abbe6b13f1 Enable serialization of c functions. 2017-06-03 11:26:17 -04:00
Calvin Rose c422132208 Remove vscode subdirectory. 2017-06-03 06:21:39 -04:00
Calvin Rose f066047112 Fix serilaization bug. Still need to serialize c functions. 2017-05-23 14:48:54 -04:00
Calvin Rose 145688b49f More work on serializer. 2017-05-12 00:03:00 -04:00
Calvin Rose 58edb63607 More work on serilaization 2017-05-11 21:30:18 -04:00
Calvin Rose 6220b70105 More work in serialization 2017-05-11 17:08:29 -04:00
Calvin Rose b7083f6f18 More work on dogfood repl. 2017-05-09 20:06:53 -04:00
Calvin Rose fd72219a2a Add tran keyword to allow for continuations. 2017-05-09 19:21:30 -04:00
Calvin Rose 0e29b52d96 Add robinhood hashing to structs.
This corrects changes in internal structure when values
were inserted in different orders (which was previously
incorrect.) Robinhood hashing should correct this by
making the internal structure of the hashtable invariant
of insertion order. This, in turn, allows naive and deterministic equality, comparison, and hashing of structs.
2017-05-09 13:20:28 -04:00
Calvin Rose 8aa99556e7 Begin adding support for multiple lightweight threads.
Can be used to implement coroutines, error handling,
and more.
2017-05-08 17:07:16 -04:00
Calvin Rose 6246c43e22 Fix integer division by 0 error. 2017-05-08 12:08:48 -04:00
Calvin Rose 4fd398ac97 Add simple example repl. Will eventually add
support for error handling, macros and other
compile time transformations. This will eventually become the full
language.
2017-05-08 11:03:06 -04:00
Calvin Rose 058780085b Begin implementing a repl in gst 2017-05-07 21:36:04 -04:00
Calvin Rose 88a24531de Make reflective compilation less stateful 2017-05-07 18:37:19 -04:00
Calvin Rose 6d3e3d8246 Remove faulty quoting logic in parser. 2017-05-07 18:20:11 -04:00
Calvin Rose 96a605fbc0 Fix variadic functions. 2017-05-07 16:48:35 -04:00
Calvin Rose 7b83247c07 Add vararg support to compiler. Seems to be leak in parser. 2017-05-06 17:46:28 -04:00
Calvin Rose 6adc2a5268 More work on compiler. Start defining more dynamic
module system than originally planned.
2017-05-06 13:04:36 -04:00
Calvin Rose d47ee18b1a Fix gc mark function in compiler.
GNU readline is not valgrind clean or it
is being used incorrectly.
2017-05-05 23:33:36 -04:00
Calvin Rose f817610d4a More work on compiler. Still has memory leak? 2017-05-05 16:52:05 -04:00