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
Calvin Rose
6ca5a76286
Fix a divide by 0 error when table is too small.
2017-05-04 11:34:24 -04:00
Calvin Rose
bc82ce348a
Fix regression where math ops didn't error.
2017-05-03 20:35:39 -04:00
Calvin Rose
c6e9f24f82
Complete adding parser to scripting.
2017-05-03 19:59:27 -04:00
Calvin Rose
631bb0cb63
Change integer to string function
2017-04-30 11:27:27 -04:00
Calvin Rose
78cdf4b184
Add stdi and stdout to file io.
2017-04-30 11:15:44 -04:00
Calvin Rose
88138a16b3
Remove temp.txt
2017-04-27 09:48:44 -04:00
Calvin Rose
80f4f687d4
Merge branch 'master' of https://github.com/bakpakin/gst
2017-04-27 09:48:12 -04:00
Calvin Rose
29a54a35d7
Add more io functionality
2017-04-27 09:46:26 -04:00
bakpakin
9806546e1c
Change some function names.
2017-04-27 09:44:52 -04:00
Calvin Rose
bf2c16ccb0
Flesh out support for userdata
...
Add file reading via file objects.
Finalizer option for userdata.
2017-04-26 10:22:16 -04:00
Calvin Rose
d295e281e1
Add a little bit to README
2017-04-25 18:22:43 -04:00
Calvin Rose
14f8b12706
Use 32 bit unsigned integers for stackframes.
2017-04-25 12:26:58 -04:00
bakpakin
1d7f42ba01
Visual distinction between integers and reals.
...
Add F suffix to real numbers when printed.
2017-04-24 21:08:53 -04:00
bakpakin
0a96e45c4a
Change object to table type.
...
Tables are simpler and don't do inheritance via metatables. This means
object polymorphism will be done through a different mechanism rather
than Lua-like metatables. Perhaps smalltalk style messaging using
functions as objects, or lisp-like method dispatch.
2017-04-24 21:00:56 -04:00
Calvin Rose
c33d4da994
Fix bug with calling convention.
...
Stack frames were increasing with size every function
call and overwriting other stuff, resulting in some issues with gc.
2017-04-24 18:42:08 -04:00
Calvin Rose
652b250718
Finish simple pretty printer in gst.
...
Discovered memory leaks. Seems to have to do with improper marking of
the stack and or the VM messes up the stack.
2017-04-24 18:09:23 -04:00
Calvin Rose
a54548eaa0
Add 64 bit signed integers as a basic type. Will enable
...
more native bitwise operations and c integration at the expense
of complicating arithmetic.
2017-04-24 16:02:54 -04:00
Calvin Rose
81987dca45
More work.
2017-04-24 13:12:55 -04:00
Calvin Rose
5845434529
Add readline to repl for better experience
2017-04-19 12:56:29 -04:00
Calvin Rose
fb3abf5a31
Add apply special form. TODO -
...
make into function.
2017-04-19 09:43:49 -04:00