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

201 Commits

Author SHA1 Message Date
Calvin Rose
fe27df528c Boot core library from image rather than source
This should speed up start time and reduce malloc/free
usage to about 15% of what is what previously for startup.
The current cost is slightly larger binary as the representaion
of the image is currently less compact than source code.
2019-02-08 00:44:30 -05:00
Calvin Rose
38a7e4faf1 Disallow NaN as table/struct key.
Fix bugs and add tests for denormalized tables
and structs.
2019-01-28 11:50:33 -05:00
Calvin Rose
00301ad26b Add build number to amalg build. 2019-01-24 00:26:57 -05:00
Calvin Rose
611543c48b Add source amalgamation
The amalgamated source concatenates all sources
to a file janet.c which can be used for
embedding janet, much in the same way as sqlite
or mongoose.
2019-01-24 00:15:58 -05:00
Calvin Rose
e68a889fa9 Remove doc markdown and move it to website. 2019-01-21 13:49:44 -05:00
Calvin Rose
b4934ceddc Make parser errors a bit better for files with no closing
delimiters.
2019-01-17 23:43:46 -05:00
Calvin Rose
1304f9263b Update peg docs and make bad backrefs not error the whole pattern, but just cause the current match attempt to fail. 2019-01-14 21:47:55 -05:00
Calvin Rose
170e785b72 Fix recursion in grammars. 2019-01-14 15:06:35 -05:00
Calvin Rose
5b1a3b8208 Make grammar tool completely generate grammar from scratch.
Remove grammar from source tree.
2019-01-08 19:59:54 -05:00
Calvin Rose
be85196de8 Add callgrind task to Makefile.
Unify some parser states.
2019-01-06 21:49:24 -05:00
Calvin Rose
92e9e64945 Update CONTRIBUTING.md and make valtest 2019-01-06 12:32:44 -05:00
Calvin Rose
017ee2b0d1 Move gendoc.janet script. 2018-12-25 17:37:52 -05:00
Calvin Rose
6c8da9fe5c Install cook tool when installing janet. 2018-12-25 15:39:24 -05:00
Calvin Rose
9723ddb96b Fix string/number issue. 2018-12-22 16:24:08 -05:00
Calvin Rose
ac9935c95f Add documentation to generated distribution
archive.
2018-12-17 22:48:37 -05:00
Calvin Rose
131ee29190 Add docs target to generate documentation. 2018-12-17 01:41:11 -05:00
Calvin Rose
24b9ae7820 Add doc files to distribution archives. 2018-12-15 15:42:27 -05:00
Calvin Rose
34a69d0318 Add janet logo,mMove some lib files to example. 2018-12-11 18:06:10 -05:00
Calvin Rose
c971d8ab6e Fix install paths 2018-12-09 18:01:43 -05:00
Calvin Rose
0a15539d7b No longer make extra object files. 2018-12-09 17:51:53 -05:00
Calvin Rose
21d4b8fe1f Move tools out of src (src should be
only code that goes into final binary).
2018-12-09 17:49:00 -05:00
Calvin Rose
6f64b0c152 Switch to out of source build on unix/linux. 2018-12-09 17:37:11 -05:00
Calvin Rose
4bcbf65b5b Update appveyor and windows build_win script. 2018-12-08 17:10:46 -05:00
Calvin Rose
9329969ea7 Add tarball for installation. 2018-12-08 16:17:34 -05:00
Calvin Rose
16e514b351 Update version schema - now have version number
and build number.
2018-12-08 14:17:03 -05:00
Calvin Rose
7668cd5772 Don't use generated headers for embedded janet
code, use object files.
2018-12-06 14:30:11 -05:00
Calvin Rose
11cd1279d7 Update Makefile and fix fiber issues. When
creating an invalid fiber with the C api, the
program could segfault. This protects against this kind
of segafault.
2018-12-02 15:29:21 -05:00
Calvin Rose
52c919d96f Add qq (, uq and uqs) for a quasiquote macro.
quasiquoting is not (yet) supported as a special
form and has no syntactic sugar.
2018-11-30 01:58:52 -05:00
Calvin Rose
ba2c4b265b Revert to GNU Makefile. 2018-11-28 19:56:58 -05:00
Calvin Rose
305c113c91 Eventually we will build on freebsd without gmake and gcc. 2018-11-28 19:48:44 -05:00
Calvin Rose
f63b337cca Hopefully more cross platform makefile. 2018-11-28 19:22:08 -05:00
Calvin Rose
5de6e4c641 Try again with makefile. 2018-11-28 18:36:38 -05:00
Calvin Rose
486d15d50d First step to freebsd builds. 2018-11-28 18:31:03 -05:00
Calvin Rose
8bfea73ee7 Fix web build again, simplify fibers and fiber
implementation code.
2018-11-26 09:03:26 -05:00
Calvin Rose
b2a1a4ec9b Add classes to core library. 2018-11-25 15:58:50 -05:00
Calvin Rose
4e689c2279 Add table test. Add :repeat to loop macro. 2018-11-19 14:49:10 -05:00
Calvin Rose
4c4eff9390 Replace cast with type pun. 2018-11-18 14:17:50 -05:00
Calvin Rose
69b6894f6b Add some tests for C api and code. 2018-11-18 13:56:27 -05:00
Calvin Rose
3d5c8e3584 Add a man page. 2018-11-18 09:35:41 -05:00
Calvin Rose
945b72468c Add a lot of documentation for functions. 2018-11-16 02:09:38 -05:00
Calvin Rose
c9f76d2673 Emscripten build strange as ever. 2018-11-15 18:56:06 -05:00
Calvin Rose
aa8384488c Fix makefile and add json doc. 2018-11-15 17:44:30 -05:00
Calvin Rose
853a839f6c Add git commit hash to build to get version. 2018-10-31 16:21:21 -04:00
Calvin Rose
a20799b59a Change build options for emscripten. 2018-10-21 12:46:10 -04:00
Calvin Rose
c1923c5ada Web assembly build with emscripten. 2018-10-16 23:08:26 -04:00
Calvin Rose
e8a4e83a0d Update Makefile, json native module,
and test suite 2.
2018-10-04 17:25:46 -04:00
Calvin Rose
725fd52357 Don't add -lrt flag on macos 2018-09-10 14:56:39 -04:00
Calvin Rose
a86540a876 Update to work on CENTOS. 2018-09-10 14:21:08 -04:00
Calvin Rose
c8ef2a0d88 Rename to janet 2018-09-05 22:18:42 -04:00
Calvin Rose
73b397f7de Add json native instead of hello. Remove metabuild
code.
2018-08-26 11:28:51 -04:00
Calvin Rose
1b009b4f1f Fix dst_register. 2018-08-22 22:12:47 -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
5464fd5173 Fix some bugs. 2018-08-21 13:09:01 -04:00
Calvin Rose
48c2654312 Local changes. 2018-08-07 00:54:47 -04:00
Calvin Rose
11292c6bb3 Update require to handle natives better. 2018-07-16 22:55:45 -04:00
Calvin Rose
547529ebb2 Refactor dst_view_* functions. 2018-07-04 13:21:30 -04:00
Calvin Rose
1f37919f39 Rename boot.dst to core.dst 2018-07-04 00:21:18 -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
f4fc4a0bcc Modularize compiler. 2018-07-01 11:52:15 -04:00
Calvin Rose
fde9751eab Move asm into core and rename to asm/disasm (no prefix) 2018-06-29 22:52:55 -04:00
Calvin Rose
cac39aba67 Merge branch 'master' of github.com:bakpakin/dst 2018-06-29 01:20:14 -04:00
Calvin Rose
2e472ec9a3 Version 2 of new source mapping. 2018-06-29 01:16:46 -04:00
Calvin Rose
bb406133de New sourcemaps v1. 2018-06-28 23:37:04 -04:00
Calvin Rose
b47b35587d Don't run ldconfig when installing on osx. 2018-06-26 14:10:17 -04:00
Calvin Rose
4e6fc341dc Many updates to the sqlite module. 2018-06-23 19:19:26 -04:00
Calvin Rose
f8bda3af51 Add all-symbols, easy way to see all symbols in an environment. 2018-05-21 22:08:16 -04:00
Calvin Rose
c6f79eca6d Make setting up stl easier. Add shared library output to Makefile. 2018-05-14 21:52:51 -04:00
Calvin Rose
584c75b3f6 Update Makefile for faster builds. 2018-05-10 11:11:18 -04:00
Calvin Rose
53f9c18669 More work on improving errors. 2018-04-29 20:13:04 -04:00
Calvin Rose
99709a68fd Add example file for compiling native modules (hello.so). 2018-04-26 13:13:31 -04:00
Calvin Rose
89ecd43115 Move functions in util.dst to boot.dst. 2018-03-23 18:36:56 -04:00
Calvin Rose
0fd55282d8 Add error reporting to repl (initial stack traces) 2018-03-21 20:53:39 -04:00
Calvin Rose
a512e3e837 Update README.md 2018-03-18 15:05:31 -04:00
Calvin Rose
b41b24eb80 Update gitignore to not ignore Makefile. 2018-03-18 14:03:26 -04:00
bakpakin
ce5708af98 Switch over to Cmake fully. 2018-01-29 15:46:26 -05:00
bakpakin
1c529f3bb0 Oh travis 2018-01-20 10:57:01 -05:00
bakpakin
30f62ca454 Major refactor and restructure. Add CMake for anticipated windows
support.
2018-01-19 16:43:19 -05:00
bakpakin
0531866954 Redo parser as a FSM. Again. 2018-01-18 17:25:45 -05:00
bakpakin
d373d38aee Add context functions for more uniform interface 2018-01-16 23:18:45 -05:00
bakpakin
23196ff6a2 Fix scope issue in compiler. 2018-01-15 23:31:39 -05:00
bakpakin
6df88f225f More work on c library interface and io library. 2018-01-15 20:14:54 -05:00
bakpakin
53c0d5757c Add untested code for loading dlls on windows. 2018-01-14 09:58:35 -05:00
bakpakin
4197f918a0 Preliminary support for loading c libraries. 2018-01-13 23:38:58 -05:00
bakpakin
921f087c96 Remove useless file. 2018-01-12 19:23:36 -05:00
bakpakin
60b8f436f0 Proper order for libraries in Makefile. 2018-01-12 17:42:14 -05:00
bakpakin
6679fb299f add -lm flag 2018-01-12 17:33:56 -05:00
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
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
Calvin Rose
eceb6e5a77 More work on nanbox implementation. 2017-11-29 15:17:56 -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
baa4e20b79 Some more changes to the nanbox_test 2017-11-26 20:20:30 -05:00