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

29 Commits

Author SHA1 Message Date
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
68f5ea4361 Add test nanbox implementation. Works for 32 bit and 64 bit x86 2017-11-26 19:31:40 -05:00
bakpakin
412d40d09f Work on interpreter. adding more opcodes and syscalls. 2017-11-24 23:17:04 -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
325059203d Correct behavior on 32 bit architecture when hashing pointers. 2017-07-09 13:09:20 -04:00
bakpakin
70efcc336b Move some string functions to a new file. 2017-07-03 13:44:58 -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
3481ee5747 Whitespace 2017-07-01 21:51:16 -04:00
Calvin Rose
f817610d4a More work on compiler. Still has memory leak? 2017-05-05 16:52:05 -04:00
Calvin Rose
631bb0cb63 Change integer to string function 2017-04-30 11:27:27 -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
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
5845434529 Add readline to repl for better experience 2017-04-19 12:56:29 -04:00
Calvin Rose
ea432242d3 Add license header to all source files. 2017-04-17 22:40:39 -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
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
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