1
0
mirror of https://github.com/janet-lang/janet synced 2026-05-26 07:12:18 +00:00
Commit Graph

65 Commits

Author SHA1 Message Date
bakpakin 59bed71a2c Make some unit tests pass. Fix transfer to new fiber. 2018-01-12 16:25:24 -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 c1fa521b58 Add buffer overflow detection to the buffer class
when the inherent 2GB limit is reached for a single buffer.
2018-01-06 13:25:45 -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 01a95426b3 More work on compiler. Add compiler unit test that currently
segfaults alot. Added dst_disasm to reconstruct dsts assembly
from a funcdef.
2017-12-16 23:11:51 -05:00
bakpakin 2d781ef21b Compiler is coming along. Work on Slot system and general compiler strategy. 2017-12-16 01:17:53 -05:00
bakpakin 1293d2e301 Initial rewrite of compiler 2017-12-14 19:33:45 -05:00
bakpakin a2ee6ffe5c New custom strtod implementation. 2017-12-08 15:57:02 -05:00
bakpakin 14fe30b411 Add preliminary source mapping to parser (always on) 2017-12-03 12:52:09 -05:00
Calvin Rose eceb6e5a77 More work on nanbox implementation. 2017-11-29 15:17:56 -05:00
Calvin Rose b568a6bc88 WIP integrating nanbox support back into code. 2017-11-28 18:27:55 -05:00
Calvin Rose d84cc5342e Fix write after free bug.
Remove caching from strings, tuples, and structs.
Keyword style strings removed, now are just symbols. The
compiler can decide to treat symbols with a leading ':'
differently for mostly the same effect. This was done because
as strings are no longer interned, symbols are cheaper to look
up and check for equality.
2017-11-27 14:03:34 -05:00
bakpakin 9f910d9ab7 Add missing header file. 2017-11-26 20:25:20 -05: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 57886db410 Making some changes. 2017-07-15 12:21:06 -04:00
bakpakin 53cead0bab Remove vm crash return and use error instead. 2017-07-09 16:15:44 -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 b19c834cf4 Change comment in gst.h 2017-07-09 13:24:38 -04:00
bakpakin 0cf278994d Make coloring changes to the repl 2017-07-02 20:51:52 -04:00
bakpakin bfadf6ff12 Remove scratch memory functionality. 2017-07-02 19:52:44 -04:00
bakpakin 113c6cd6ad Add quoting with single quote 2017-07-02 17:35:38 -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
Calvin Rose 740367ec5c Add # comments to parser 2017-07-01 12:47:57 -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 1f8b671488 Replace map of vars with single element arrays 2017-06-25 16:52:15 -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 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 6220b70105 More work in serialization 2017-05-11 17:08:29 -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 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 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 f817610d4a More work on compiler. Still has memory leak? 2017-05-05 16:52:05 -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
Calvin Rose 14f8b12706 Use 32 bit unsigned integers for stackframes. 2017-04-25 12:26:58 -04:00