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
70478a410b
Add errorParent to threads.
2017-06-19 23:01:34 -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
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
c6e9f24f82
Complete adding parser to scripting.
2017-05-03 19:59:27 -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
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
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
f4a6f4073f
Rename some fuctions in util.
2017-04-18 16:55:03 -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
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
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
e28e31f818
Begin implementing module system.
2017-04-12 21:21:46 -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
841ee3696d
Add cache for strings.
2017-03-22 00:27:18 -04:00
Calvin Rose
4c35ee0a2c
Add first class symbol type.
2017-03-19 17:29:25 -04:00
Calvin Rose
a2f3fa3b3d
Work on deserialization for loading bytecode and
...
other objects.
2017-03-19 12:16:40 -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