Commit Graph

101 Commits

Author SHA1 Message Date
Calvin Rose 338b31f5a2 Add janet_fixarity. Update emscripten source. 2019-01-05 20:45:24 -05:00
Calvin Rose b60e3e302a Update C API to use friendlier functions rather than macros.
Error handling is implemented with setjmp/longjmp so code
can be more concise. This required a very large but straight forward refactor for all
of the libraries.
2019-01-05 20:09:03 -05:00
Calvin Rose 5b62c8e6db Better working panic implementation and more cleanup in main vm loop. 2019-01-05 00:33:20 -05:00
Calvin Rose cd6a7793e8 WIP panic functionality. 2019-01-04 23:20:34 -05:00
Calvin Rose e9c94598e6 Add native keyword type to replace symbols with leading ':'
character.
2019-01-02 19:41:07 -05:00
Calvin Rose 122312dbf6 Fix some typos and update comments. 2019-01-02 12:21:59 -05:00
Calvin Rose 5c84f0f5d9 Work on number code for more expected behavior and better rounding.
Still needs work and testing.
2018-12-28 23:32:09 -05:00
Calvin Rose 6b95326d7c First commit removing the integer number type. This should
remove some complexity and unexpected behavior around numbers in
general as all numbers are the same number type, IEEE 754 double
precision numbers. Also update examples and tests, some of which were
out of date.

Some more testing may be needed for new changes to numbers.
2018-12-27 13:05:29 -05:00
Calvin Rose f2743aca36 Improve pretty printing for table and struct
entry values.
2018-12-06 17:26:59 -05:00
Calvin Rose 4e4dd31164 Change syntax for namespaces.
Add quasiquote, unquote, and unquote-splicing
as specials rather than a macro.
2018-11-30 22:49:21 -05:00
Calvin Rose 523d909cca Fix bug in pretty printing. 2018-11-30 11:46:05 -05:00
Calvin Rose 3c9aae3a63 Add pretty printing support for classes. 2018-11-26 09:21:24 -05:00
Calvin Rose b2a1a4ec9b Add classes to core library. 2018-11-25 15:58:50 -05:00
Calvin Rose a7860f1dd1 Update pretty printer to remove values
from seen table.
2018-11-19 09:57:24 -05:00
Calvin Rose 8520d3f6cb Update pretty printer. 2018-11-19 02:41:52 -05:00
Calvin Rose 71e1584e72 Update loop macro and replace pretty printer
with C implementation.
2018-11-19 02:15:21 -05:00
Calvin Rose fcbd24cedc Add lots of documentation for all functions. 2018-11-16 16:24:10 -05:00
Calvin Rose 4d119e4e03 Begin adding more complete documentation. 2018-11-15 15:45:41 -05:00
Calvin Rose 2a127af1ca A few fixes to things like macro expand, etc. 2018-11-07 22:27:06 -05:00
Calvin Rose ecb9196e7b Fix cfunctions not printing with whole name im some cases. 2018-10-22 01:28:39 -04:00
Calvin Rose f41dab8f6c Fix error in string.replace-all 2018-09-29 20:01:57 -04:00
Calvin Rose 7b9aedc53b I have no memory of this. 2018-09-17 19:14:02 -04:00
Calvin Rose 361a2d5626 Update stuff. 2018-09-12 11:51:23 -04:00
Calvin Rose 3fd6ce5b10 Add string number functionality 2018-09-12 11:44:34 -04:00
Calvin Rose c8ef2a0d88 Rename to janet 2018-09-05 22:18:42 -04:00
Calvin Rose 75c66ea6dd Refactor native module declarations. marshal can now
serialize entire environment.
2018-08-26 14:35:01 -04:00
Calvin Rose 510feeed7f Allow marshaling of more functions for core.
Fix indentation in some files.
2018-08-22 21:41:25 -04:00
Calvin Rose 44b8c5a8c8 Merge branch 'master' of https://github.com/bakpakin/dst 2018-08-05 21:20:45 -04:00
Calvin Rose ed2f032c15 Remove cmake build to simplify things. 2018-08-05 21:13:14 -04:00
Calvin Rose a1bdc3a023 Better inline for put. Better printing for named functions. 2018-07-10 20:01:39 -04:00
Calvin Rose 547529ebb2 Refactor dst_view_* functions. 2018-07-04 13:21:30 -04:00
Calvin Rose a018f9f54a Major refactor. Move files around, merge compiler into
core and other changes, work on inlining many c functions.
2018-07-03 23:07:35 -04:00
Calvin Rose 90b685f8f4 Fix getline not being pretty printed properly. 2018-06-26 13:57:49 -04:00
Calvin Rose 0cf10946b0 Add first version of marsh (marshaling). 2018-06-12 14:24:45 -04:00
Calvin Rose b09bf72490 Change primary looping macro to 'loop' instead of 'for'. 2018-05-23 22:08:36 -04:00
Calvin Rose fb409201b4 Strip trailing whitespace from many files.
Add native modules to import with module.native-path.
2018-05-19 21:16:00 -04:00
Calvin Rose 36ecbeffa6 A few changes. 2018-05-18 16:24:09 -04:00
Calvin Rose 4ecc88af37 Add some more string functions. Remove format. 2018-05-18 14:19:57 -04:00
Calvin Rose f295692b50 Update copyright to 2018. Add string methods. 2018-05-17 23:41:20 -04:00
Calvin Rose dafc121f4d Change c function macros to be explicitly non functional by
capitalizing them.
2018-05-12 20:31:28 -04:00
Calvin Rose f47323c915 Change convention for naming modules and functions. 2018-05-08 19:40:28 -04:00
Calvin Rose 534c936e14 Fix infinite recursion on defn and derivatives on invalid
input.
2018-04-01 18:24:04 -04:00
Calvin Rose da15dac16b Fix an offset bug in closure creation. 2018-03-22 17:41:01 -04:00
Calvin Rose 0fd55282d8 Add error reporting to repl (initial stack traces) 2018-03-21 20:53:39 -04:00
Calvin Rose 1ec704feb9 Remove pretty printer implemented in C. 2018-03-14 13:38:48 -04:00
Calvin Rose 4b89789f69 Add all and line option to file-read 2018-02-04 00:54:38 -05:00
Calvin Rose 35ddc70888 Move ast into parser. Map keywords to symbols instead of
strings.
2018-02-03 13:55:55 -05:00
bakpakin 1bf0b538cd Use computed goto in vm for GCC 2018-01-31 21:40:19 -05:00
bakpakin e9c4d388c9 Ignore one ulp errors in printing reals. 2018-01-31 17:47:59 -05:00
bakpakin 2bd20c3cb3 Addition and subtraction inlining. 2018-01-25 18:49:08 -05:00
bakpakin 30f62ca454 Major refactor and restructure. Add CMake for anticipated windows
support.
2018-01-19 16:43:19 -05:00