bakpakin
e4735e14d2
More compiler bug fixes. Added some features and functions like varargs.
2018-01-03 21:36:10 -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
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
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
412d40d09f
Work on interpreter. adding more opcodes and syscalls.
2017-11-24 23:17:04 -05:00
bakpakin
6ca6949c2d
Getting more work done on assembler, parer, and unit tests.
2017-11-20 21:39:44 -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
8c20b7229a
Refactor module and env code into separate files.
2017-07-12 14:47:09 -04:00
bakpakin
6a8ec0c895
Add -env- to repl.
2017-07-09 16:44:45 -04:00
bakpakin
de9d7bcfdc
Update representation of an environment.
2017-07-09 16:10:47 -04:00
bakpakin
0cf278994d
Make coloring changes to the repl
2017-07-02 20:51:52 -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
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
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
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
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
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
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
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
6e71984fc5
Add wrapping functions for easy conversion between c api and
...
internal values.
2017-04-17 18:46:28 -04:00