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
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
01e8749f39
Redo function call bytecode interface to be simpler and allow
...
for an apply like structure in the language
2017-04-19 09:02:12 -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
f52e290206
Allow parser to parse files rather than just a repl. I think
...
there are some memory leak issues (problems with gc).
2017-04-17 00:15:18 -04:00
Calvin Rose
e90b66af58
Add struct type.
2017-04-15 16:05:59 -04:00
Calvin Rose
20bb5a18f7
Remove symbol type in favor of only strings. Anticipate
...
addition of struct type, which will be an immutable hashtable.
2017-04-14 13:41:32 -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
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
f6e26d9893
Work on serialization. Move clibs into core.
2017-03-20 23:06:38 -04:00