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