Calvin Rose
6ca5a76286
Fix a divide by 0 error when table is too small.
2017-05-04 11:34:24 -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
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
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
81987dca45
More work.
2017-04-24 13:12:55 -04:00
Calvin Rose
ea432242d3
Add license header to all source files.
2017-04-17 22:40:39 -04:00
Calvin Rose
6e71984fc5
Add wrapping functions for easy conversion between c api and
...
internal values.
2017-04-17 18:46:28 -04:00
Calvin Rose
f456de5fac
Change object implementaion to use open hashing. Currently
...
using simple linear probing.
2017-04-16 09:39:41 -04:00
Calvin Rose
e90b66af58
Add struct type.
2017-04-15 16:05:59 -04:00
Calvin Rose
ded3d06387
Use fewer special forms in c compiler. This should
...
make the self hosted compiler easier to make. The
C version of the compiler does not need to be efficient.
2017-04-12 10:31:50 -04:00
Calvin Rose
ac50f6232e
More work on cleaing up code.
2017-03-26 11:47:58 -04:00
Calvin Rose
6365a007b6
More work on cleaning up string implementation.
2017-03-22 18:35:54 -04:00
Calvin Rose
841ee3696d
Add cache for strings.
2017-03-22 00:27:18 -04:00
Calvin Rose
9856142fef
Refactor code. Separate code into different modules to
...
separate the minimum runtime from auxiliary functions.
Change makefile to allow building static libraries.
2017-03-15 20:56:37 -04:00