1
0
mirror of https://github.com/janet-lang/janet synced 2024-06-24 06:03:17 +00:00
Commit Graph

166 Commits

Author SHA1 Message Date
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
Calvin Rose
8cdc0610e3 Reintroduce a separate Thread objects for threads instead of using arrays. 2017-02-14 20:45:34 -05:00
Calvin Rose
d28a7174af Finish removing FORM type as well as symbol type. 2017-02-13 18:58:56 -05:00
Calvin Rose
9cbe36cb01 Remove FuncEnv and FuncDef types as implementation details 2017-02-13 16:48:11 -05:00