Calvin Rose
|
fb3abf5a31
|
Add apply special form. TODO -
make into function.
|
2017-04-19 09:43:49 -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
|
7a2ec82daf
|
License
|
2017-04-17 22:36:44 -04:00 |
|
Calvin Rose
|
baa3544ca0
|
Readd the repl.
|
2017-04-17 22:14:35 -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
|
a0d3600ac0
|
Fix gitignore
|
2017-03-26 15:44:57 -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
|
f6e26d9893
|
Work on serialization. Move clibs into core.
|
2017-03-20 23:06:38 -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 |
|
Calvin Rose
|
91f2766dd0
|
Rename binary
|
2017-03-15 01:27:56 -04:00 |
|
Calvin Rose
|
ba82ba414a
|
Retabbed things
|
2017-03-15 01:26:45 -04:00 |
|
Calvin Rose
|
9f09a19feb
|
Add quoting and a global gc root. The gc root
provides global variables.
|
2017-03-14 19:13:17 -04:00 |
|
Calvin Rose
|
84b7e96921
|
Work on more fixes to calling convention
|
2017-03-14 15:55:50 -04:00 |
|
Calvin Rose
|
3274e87a45
|
Work on simplifying calling procedure
|
2017-03-12 18:23:27 -04:00 |
|
Calvin Rose
|
15dd15278c
|
Ignore tags file
|
2017-03-11 17:06:47 -05:00 |
|
Calvin Rose
|
1611a9eeb4
|
Remove tags
|
2017-03-11 17:06:22 -05:00 |
|
Calvin Rose
|
4191b86895
|
Remove thread.c
|
2017-03-11 17:05:59 -05:00 |
|
Calvin Rose
|
1effd9e740
|
More work on open hashing implementation of objects.
Add metatable support for callable objects.
|
2017-03-11 17:04:59 -05:00 |
|
Calvin Rose
|
9c94bfab4d
|
Retab value.c
|
2017-03-10 00:26:28 -05:00 |
|
Calvin Rose
|
ce759d901e
|
Keep readme minimal for now
|
2017-03-10 00:23:59 -05:00 |
|
Calvin Rose
|
18493ea076
|
Retab some files, delete some other files
|
2017-03-10 00:22:43 -05:00 |
|
Calvin Rose
|
b986e1b967
|
Redo calling convetion for more code reuse. Allow calling gst functions from c.
|
2017-03-10 00:09:42 -05:00 |
|
Calvin Rose
|
169e3de5a7
|
Work on basic stl. Add _ binding to repl for last value
|
2017-03-09 13:49:46 -05:00 |
|
Calvin Rose
|
ca0f8939ef
|
Begin stl
|
2017-03-08 17:34:25 -05:00 |
|
Calvin Rose
|
18aaf9480b
|
Add initial untested support for varargs in vm
|
2017-03-08 16:03:14 -05:00 |
|
Calvin Rose
|
69624495ec
|
Remove longjump/setjump from vm loop. Add out of memory
behavior option.
|
2017-03-08 15:08:46 -05:00 |
|
Calvin Rose
|
68f834f03b
|
Remove dsiasm from binary.
|
2017-03-08 10:54:50 -05:00 |
|
Calvin Rose
|
1e8c1bb74c
|
Handle comments in parser.
|
2017-03-08 10:34:22 -05:00 |
|
Calvin Rose
|
40b52dbe70
|
Add variadic arithmetic special forms
|
2017-03-08 10:21:09 -05:00 |
|
Calvin Rose
|
0d066d8754
|
Add tuple type.
|
2017-03-07 15:29:40 -05:00 |
|
Calvin Rose
|
7cdf33eb90
|
Modify some files. Also begin open addressing hash
dictionary for use in compiler. Might also move normal
object to open addressing for less pressure on gc.
|
2017-02-28 20:20:29 -05:00 |
|
Calvin Rose
|
08319e62cb
|
Fix issue with throwing uncaught errors.
|
2017-02-26 22:23:08 -05:00 |
|
Calvin Rose
|
33d09f98b1
|
Work on speeding up interpreter by moving state inside
interpreter loop.
|
2017-02-26 11:47:50 -05:00 |
|
Calvin Rose
|
fd34837265
|
Breaking up functionality into more modules.
|
2017-02-23 17:21:13 -05:00 |
|
Calvin Rose
|
5ec6e46f1a
|
Add error handling and try catch expression.
|
2017-02-22 18:19:46 -05:00 |
|
Calvin Rose
|
6521ee69bd
|
Various small changes.
|
2017-02-19 11:20:18 -05:00 |
|
Calvin Rose
|
69260fa3bd
|
Fix some gc mark issues and change dict to obj.
|
2017-02-16 15:10:59 -05:00 |
|
Calvin Rose
|
6677dff337
|
Rename everything to be prefixed with gst. No particluar meaning
or reason for that name, but its available and it irked me to see
non prefixed c code for something that is supposed to be emeddable.
|
2017-02-15 21:02:00 -05:00 |
|