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

3752 Commits

Author SHA1 Message Date
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
0e29b52d96 Add robinhood hashing to structs.
This corrects changes in internal structure when values
were inserted in different orders (which was previously
incorrect.) Robinhood hashing should correct this by
making the internal structure of the hashtable invariant
of insertion order. This, in turn, allows naive and deterministic equality, comparison, and hashing of structs.
2017-05-09 13:20:28 -04:00
Calvin Rose
8aa99556e7 Begin adding support for multiple lightweight threads.
Can be used to implement coroutines, error handling,
and more.
2017-05-08 17:07:16 -04:00
Calvin Rose
6246c43e22 Fix integer division by 0 error. 2017-05-08 12:08:48 -04:00
Calvin Rose
4fd398ac97 Add simple example repl. Will eventually add
support for error handling, macros and other
compile time transformations. This will eventually become the full
language.
2017-05-08 11:03:06 -04:00
Calvin Rose
058780085b Begin implementing a repl in gst 2017-05-07 21:36:04 -04:00
Calvin Rose
88a24531de Make reflective compilation less stateful 2017-05-07 18:37:19 -04:00
Calvin Rose
6d3e3d8246 Remove faulty quoting logic in parser. 2017-05-07 18:20:11 -04:00
Calvin Rose
96a605fbc0 Fix variadic functions. 2017-05-07 16:48:35 -04:00
Calvin Rose
7b83247c07 Add vararg support to compiler. Seems to be leak in parser. 2017-05-06 17:46:28 -04:00
Calvin Rose
6adc2a5268 More work on compiler. Start defining more dynamic
module system than originally planned.
2017-05-06 13:04:36 -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
f817610d4a More work on compiler. Still has memory leak? 2017-05-05 16:52:05 -04:00
Calvin Rose
6ca5a76286 Fix a divide by 0 error when table is too small. 2017-05-04 11:34:24 -04:00
Calvin Rose
bc82ce348a Fix regression where math ops didn't error. 2017-05-03 20:35:39 -04:00
Calvin Rose
c6e9f24f82 Complete adding parser to scripting. 2017-05-03 19:59:27 -04:00
Calvin Rose
631bb0cb63 Change integer to string function 2017-04-30 11:27:27 -04:00
Calvin Rose
78cdf4b184 Add stdi and stdout to file io. 2017-04-30 11:15:44 -04:00
Calvin Rose
88138a16b3 Remove temp.txt 2017-04-27 09:48:44 -04:00
Calvin Rose
80f4f687d4 Merge branch 'master' of https://github.com/bakpakin/gst 2017-04-27 09:48:12 -04:00
Calvin Rose
29a54a35d7 Add more io functionality 2017-04-27 09:46:26 -04:00
bakpakin
9806546e1c Change some function names. 2017-04-27 09:44:52 -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
Calvin Rose
d295e281e1 Add a little bit to README 2017-04-25 18:22:43 -04:00
Calvin Rose
14f8b12706 Use 32 bit unsigned integers for stackframes. 2017-04-25 12:26:58 -04:00
bakpakin
1d7f42ba01 Visual distinction between integers and reals.
Add F suffix to real numbers when printed.
2017-04-24 21:08:53 -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
c33d4da994 Fix bug with calling convention.
Stack frames were increasing with size every function
call and overwriting other stuff, resulting in some issues with gc.
2017-04-24 18:42:08 -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
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
5845434529 Add readline to repl for better experience 2017-04-19 12:56:29 -04:00
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