1
0
mirror of https://github.com/janet-lang/janet synced 2024-06-27 23:53:16 +00:00
Commit Graph

74 Commits

Author SHA1 Message Date
bakpakin
3262316e60 Factor CFunction args into struct. 2018-01-14 12:10:45 -05:00
bakpakin
9291a4faf0 Make suit0 fully functional by adding push functoin to stl 2018-01-14 10:23:24 -05:00
bakpakin
53c0d5757c Add untested code for loading dlls on windows. 2018-01-14 09:58:35 -05:00
bakpakin
4197f918a0 Preliminary support for loading c libraries. 2018-01-13 23:38:58 -05:00
bakpakin
d9f24effac Fix compiler errors with upvalues. 2018-01-13 14:08:42 -05:00
bakpakin
94a4970053 Add underscore to repl 2018-01-13 10:34:59 -05:00
bakpakin
59bed71a2c Make some unit tests pass. Fix transfer to new fiber. 2018-01-12 16:25:24 -05:00
bakpakin
f8174f192c Fix some vararg behavior in tail calls. 2018-01-12 13:54:37 -05:00
bakpakin
204caa6d8f Factor out language specials to separate files in compiler.
Add transfer special. */
2018-01-12 10:41:27 -05:00
bakpakin
605848b217 Rename DstValue to Dst for easier access. Move vector.c into
util.c and make public API smaller. Pad strings and symbols with
extra 0 byte for better interop with C.
2018-01-06 11:09:15 -05:00
bakpakin
2771171658 Much work on compiler. Fixing bugs and gradually cleaning
up code. Generalized some vector code.
2018-01-05 16:17:55 -05:00
bakpakin
e4735e14d2 More compiler bug fixes. Added some features and functions like varargs. 2018-01-03 21:36:10 -05:00
bakpakin
f273aa8b1b Add vars, split up headers, remove fiber->ret, add comparators, etc. 2017-12-30 16:46:59 -05:00
bakpakin
34a83839f5 Add utf-8 compatibility in parser. Symbols can
be valid utf-8 strings
2017-12-20 23:03:34 -05:00
bakpakin
f6dcb07c8d More work. Too many changes to be listed. 2017-11-05 22:05:47 -05:00
bakpakin
a2ee028bd5 WIP 2017-11-01 17:53:43 -04:00
bakpakin
3efd400025 Huge number of changes. Still WIP. Refactoring and
changing C API model. This commit is not i a working state.
2017-09-09 14:39:51 -04:00
bakpakin
3ccd688438 Add gensym 2017-07-16 11:00:20 -04:00
bakpakin
a39a6fd97f More work on bootstrapping code. Have working macro expansion. 2017-07-15 16:56:03 -04:00
bakpakin
57886db410 Making some changes. 2017-07-15 12:21:06 -04:00
bakpakin
de9d7bcfdc Update representation of an environment. 2017-07-09 16:10:47 -04:00
bakpakin
1878ece2af Make compilation simpler. 2017-07-09 15:35:17 -04:00
bakpakin
8810c65f00 Remove old namespace functions from stl. 2017-07-09 15:14:18 -04:00
bakpakin
eef8a42ae7 Remove tostring in favor of string. 2017-07-03 22:20:39 -04:00
bakpakin
961275116f Add symbol function 2017-07-03 11:22:23 -04:00
bakpakin
bfadf6ff12 Remove scratch memory functionality. 2017-07-02 19:52:44 -04:00
bakpakin
e2c78b36d0 Add symbol type. 2017-07-02 17:17:24 -04:00
bakpakin
db89a6c7ee Add description, short-description, and tostring as
separate stringifiers that have slightly different semantics.
description is for debugging, short-description is also
for debugging but prints less, and tostring is for coercing to
a string (similar to description, but strings are not changed and
buffers return their contents as a string).
2017-07-02 14:16:37 -04:00
bakpakin
2742e3679d Change name of debugp to description. Use it
the repl for easier inspection of structures.
2017-07-02 11:53:51 -04:00
bakpakin
3481ee5747 Whitespace 2017-07-01 21:51:16 -04:00
Calvin Rose
21bd960865 Add more tests
Reuse threads on gst_run when possible
change name of getline to gst_getline
2017-06-29 21:57:09 -04:00
Calvin Rose
7e46ead2f4 Add new tests. Add recursion guard to compile, serialize, and
deserialize.
2017-06-28 22:51:24 -04:00
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
c3d65cb91d Remove lots of headers. Add parse c function. 2017-06-24 14:27:29 -04:00
Calvin Rose
70478a410b Add errorParent to threads. 2017-06-19 23:01:34 -04:00
Calvin Rose
6c597f6b5b Add bitwise operators 2017-06-11 09:38:37 -04:00
Calvin Rose
abbe6b13f1 Enable serialization of c functions. 2017-06-03 11:26:17 -04:00
Calvin Rose
f066047112 Fix serilaization bug. Still need to serialize c functions. 2017-05-23 14:48:54 -04:00
Calvin Rose
58edb63607 More work on serilaization 2017-05-11 21:30:18 -04:00
Calvin Rose
6220b70105 More work in serialization 2017-05-11 17:08:29 -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
6d3e3d8246 Remove faulty quoting logic in parser. 2017-05-07 18:20:11 -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
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
78cdf4b184 Add stdi and stdout to file io. 2017-04-30 11:15:44 -04:00