1
0
mirror of https://github.com/janet-lang/janet synced 2024-11-16 05:34:48 +00:00
Commit Graph

468 Commits

Author SHA1 Message Date
Calvin Rose
bb918d0fda Update README.md. Prepare for 0.1.0 release. 2018-12-08 18:10:17 -05:00
Calvin Rose
997d5cf2c6 Strip whitespace 2018-12-08 17:56:31 -05:00
Calvin Rose
64d842d2ef Update build script, remove windows build issues. 2018-12-08 17:40:05 -05:00
Calvin Rose
6185af7227 Try to remove build issues on windows. 2018-12-08 17:20:24 -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
bc8be266f5 Update match macro to test for array/tuples and table/structs. 2018-12-08 11:04:19 -05:00
Calvin Rose
b250679789 Move match into core library. 2018-12-08 10:53:22 -05:00
Calvin Rose
b7d44ba742 Fix compiler optimization for if.
Add pattern matching library.
2018-12-07 23:57:19 -05:00
Calvin Rose
f2743aca36 Improve pretty printing for table and struct
entry values.
2018-12-06 17:26:59 -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
97fade8197 Make eval not the same as eval string. 2018-12-05 20:48:29 -05:00
Calvin Rose
89bd38890e Replace unquote-splicing with a more general splce special form.
This allows splicing behavior in normal function calls.
2018-12-05 15:10:04 -05:00
Calvin Rose
484597eaae Remove outer form from loop. 2018-12-05 11:25:36 -05:00
Calvin Rose
bf4dd0da99 Remove some extra commented out code. 2018-12-03 23:23:14 -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
06733cc48d Update webrepl. 2018-11-30 22:54:17 -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
25c50f5026 Fix repl default chunks. 2018-11-30 14:17:10 -05:00
Calvin Rose
464edf729b Re-implement and and or macros to use simple
imperative loop.
2018-11-30 13:05:28 -05:00
Calvin Rose
523d909cca Fix bug in pretty printing. 2018-11-30 11:46:05 -05:00
Calvin Rose
f8ab60f487 Add some more array combinators and built in functions. 2018-11-30 11:42:13 -05:00
Calvin Rose
567c4b94ba Update doc for qq. 2018-11-30 02:05:03 -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
7dbad20150 Update core and some examples to use the new
syntax.
2018-11-29 14:03:45 -05:00
Calvin Rose
b0c45fd15e Multisyms for easier access into structures. 2018-11-29 13:30:59 -05:00
Calvin Rose
b34e9a275c Update whitespace issue. 2018-11-28 16:38:48 -05:00
Calvin Rose
776b256ff7 Remove each command (prefer explicit looping). 2018-11-27 01:42:41 -05:00
Calvin Rose
ea4465f58e Updare examples. Delete ugly iterator example. 2018-11-26 22:09:12 -05:00
Calvin Rose
f860b950fc Fix pointer incorrect pointer manipulation that happened
to work on a x86-64
2018-11-26 18:01:50 -05:00
Calvin Rose
3c9aae3a63 Add pretty printing support for classes. 2018-11-26 09:21:24 -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
d4ee760b3e Change format for declaring flexible arity functions. 2018-11-25 14:03:00 -05:00
Calvin Rose
5b3fc3d2cc Fix multiple predicates in loop macro. 2018-11-23 23:17:45 -05:00
Calvin Rose
d791077e25 Fix abstract? function. 2018-11-23 15:33:49 -05:00
Calvin Rose
184fe31e0c Add generator expressions for easier iteration.
Similar to python generator, but with the same
syntax as the loop macro.
2018-11-20 21:48:06 -05:00
Calvin Rose
1e87b01e02 Update makefile. 2018-11-19 15:33:19 -05:00
Calvin Rose
4e689c2279 Add table test. Add :repeat to loop macro. 2018-11-19 14:49:10 -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
1532697b37 Revise 32 bit nanbox implementation. 2018-11-18 16:43:43 -05:00
Calvin Rose
eb314ae903 Remove more casts. 2018-11-18 14:26:52 -05:00
Calvin Rose
4c4eff9390 Replace cast with type pun. 2018-11-18 14:17:50 -05:00
Calvin Rose
7ff74c8ac9 Add more documentation to the loop macro. 2018-11-18 09:55:31 -05:00
Calvin Rose
13d43eb09d Update parser documentation. 2018-11-17 11:59:26 -05:00
Calvin Rose
fcbd24cedc Add lots of documentation for all functions. 2018-11-16 16:24:10 -05:00
Calvin Rose
b20cbdfde6 Add os module documentation. Fix some fiber documentation. 2018-11-16 02:34:50 -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
d186aae1f8 Fix macroexpand function in core. 2018-11-15 18:28:55 -05:00
Calvin Rose
4d119e4e03 Begin adding more complete documentation. 2018-11-15 15:45:41 -05:00
Calvin Rose
d603e0eb8d Fix interleave 2018-11-07 22:56:26 -05:00
Calvin Rose
3ba49ed111 Update core library. 2018-11-07 22:52:49 -05:00
Calvin Rose
2a127af1ca A few fixes to things like macro expand, etc. 2018-11-07 22:27:06 -05:00
Calvin Rose
853a839f6c Add git commit hash to build to get version. 2018-10-31 16:21:21 -04:00
Calvin Rose
ecb9196e7b Fix cfunctions not printing with whole name im some cases. 2018-10-22 01:28:39 -04:00
Calvin Rose
ddc23182e9 No need to set JANET_WALIGN for emscripten builds.
However, nanbox build should be possible on emscripten
(and fixing alignment problems would probably speed up x86 too).
2018-10-21 12:54:00 -04:00
Calvin Rose
a20799b59a Change build options for emscripten. 2018-10-21 12:46:10 -04:00
Calvin Rose
92202e1c8b Add invert and simplify
env-lookups to env-lookup
2018-10-21 11:46:36 -04:00
Calvin Rose
98f2c6feab Add lookups for marshalling and unmarshalling.
Allow generating lookup tables from the current environment.
2018-10-21 01:35:07 -04:00
Calvin Rose
27eef7094c Add JS interop to web build. 2018-10-17 15:19:54 -04:00
Calvin Rose
c1923c5ada Web assembly build with emscripten. 2018-10-16 23:08:26 -04:00
Calvin Rose
ba82290bae Fix memory leaks in marsh.c - missing frees. 2018-10-04 17:33:44 -04:00
Calvin Rose
f41dab8f6c Fix error in string.replace-all 2018-09-29 20:01:57 -04:00
Calvin Rose
e963672977 Make the assembler optional during compilation. 2018-09-29 10:58:57 -04:00
Calvin Rose
03b01c6c0b Remove vestigial function declaration 2018-09-26 20:03:57 -04:00
Calvin Rose
9b579c9ce6 Merge code back from correctgc. 2018-09-23 17:53:55 -04:00
Calvin Rose
a92893482b Merge branch 'correctgc' 2018-09-23 17:46:49 -04:00
Calvin Rose
5f7c213c7b Simpler changes to GC that don't kill performance as badly. 2018-09-23 17:46:11 -04:00
Calvin Rose
f5372dd188 Allow use of stack in gc. 2018-09-23 17:35:44 -04:00
Calvin Rose
f0553e9da7 Fix use of gettime 2018-09-22 21:50:43 -04:00
Calvin Rose
7131379021 Update for old osx versions. 2018-09-22 21:46:50 -04:00
Calvin Rose
d9752a9028 Garbage collection no longer blows stack. 2018-09-22 14:59:50 -04:00
Calvin Rose
16ac7ba1a1 Def and var evaluate to useful values. 2018-09-21 14:09:38 -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
bcb79ec9b2 Add os.time 2018-09-11 21:33:50 -04:00
Calvin Rose
0389971049 No errors compiling on BU linux (CentOS). 2018-09-10 14:54:12 -04:00
Calvin Rose
a86540a876 Update to work on CENTOS. 2018-09-10 14:21:08 -04:00
Calvin Rose
1ba3aeb3cd Make stacktrace part of public API. 2018-09-09 21:20:33 -04:00
Calvin Rose
56c3b8aa94 Add ability to index into structs and dictionaries generically. 2018-09-09 12:13:32 -04:00
Calvin Rose
08dd06918e Switch to mempcy in some slice functions. 2018-09-07 16:27:57 -04:00
Calvin Rose
2a907f8290 Fix number parsing. 2018-09-06 14:12:10 -04:00
Calvin Rose
c8ef2a0d88 Rename to janet 2018-09-05 22:18:42 -04:00
Calvin Rose
285f2d7ea9 More gracefully handle. 2018-09-03 12:51:57 -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
45d0597294 Remove apply1 and optimize apply. 2018-08-26 12:53:39 -04:00
Calvin Rose
84f2c84fb5 Fix tabs in repl. 2018-08-25 15:34:27 -04:00
Calvin Rose
ecdef8de8b Working fiber marshaling. 2018-08-24 11:35:08 -04:00
Calvin Rose
b8a6cd84c0 Work on marshaling fiber. 2018-08-24 08:22:43 -04:00
Calvin Rose
f5b4bc4fdf Add array and tuple versions of map and for. 2018-08-23 11:10:48 -04:00
Calvin Rose
5fcb0095d4 Fix hex escapes. 2018-08-23 10:11:19 -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
50aefc8865 Preliminary fiber marshaling 2018-08-21 16:36:49 -04:00
Calvin Rose
634ec85b07 Fix funcdef flags when marshaling. 2018-08-21 15:07:37 -04:00
Calvin Rose
600292fad4 Working function marhsaling 2018-08-21 14:16:55 -04:00
Calvin Rose
4e65eede1c Update marsh.c 2018-08-21 13:59:01 -04:00
Calvin Rose
5464fd5173 Fix some bugs. 2018-08-21 13:09:01 -04:00
Calvin Rose
08236af578 Update marsh for functions still WIP. 2018-08-19 20:40:42 -04:00
Calvin Rose
169a3e8498 Merge branch 'master' of https://github.com/bakpakin/dst 2018-08-19 20:26:05 -04:00
Calvin Rose
910cfd7ddf Lots of updates. Function marshaling WIP. 2018-08-19 20:21:27 -04:00
Calvin Rose
f7e7b6333b Update core.dst error handler. 2018-08-17 21:22:46 -04:00
Calvin Rose
d95941597f Fix help. 2018-08-15 22:48:35 -04:00
Calvin Rose
9808680413 Add stuff. 2018-08-13 17:40:55 -04:00
Calvin Rose
48c2654312 Local changes. 2018-08-07 00:54:47 -04:00
Calvin Rose
7e66b37cff Silence some more msvc errors. 2018-08-05 21:39:48 -04:00
Calvin Rose
f3480c1c1d Try to silence some appveyor warnings. 2018-08-05 21:32:32 -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
7a7291ac3a Remove extra code. 2018-08-03 21:51:35 -04:00
Calvin Rose
169a22f03e Fix init.dst, work on metabuild tool to make
native module creation easier
2018-08-03 21:50:32 -04:00
Calvin Rose
9cad4eb91d Change function arity error message. 2018-08-03 19:46:15 -04:00
Calvin Rose
06c755c98a Be stricter with function arity. 2018-08-03 13:41:44 -04:00
Calvin Rose
a91e29bc1d Fix parser bug. 2018-07-18 15:56:21 -04:00
Calvin Rose
11292c6bb3 Update require to handle natives better. 2018-07-16 22:55:45 -04:00
Calvin Rose
abe7d592aa More work on closures in loops. Fix loop macro to
not store bindings as vars.
2018-07-11 22:18:24 -04:00
Calvin Rose
79f84e52fc Work on correcting closures in while loop. 2018-07-11 21:29:39 -04:00
Calvin Rose
90496b99e8 Fix os.getenv error. 2018-07-11 19:11:34 -04:00
Calvin Rose
24f153a3bf Add DST_PATH environment variable for specifying where to look for user libs. 2018-07-11 16:51:21 -04:00
Calvin Rose
55ff1ee7e8 Make range variadic. 2018-07-11 11:57:17 -04:00
Calvin Rose
a1bdc3a023 Better inline for put. Better printing for named functions. 2018-07-10 20:01:39 -04:00
Calvin Rose
5d290a67bf Fix assembler bug. 2018-07-10 07:24:34 -04:00
Calvin Rose
6050a080b6 Fix sum and product. 2018-07-10 06:51:05 -04:00
Calvin Rose
e777dc4304 Improve product and sum 2018-07-09 23:29:15 -04:00
Calvin Rose
1acd2d1de7 Inlining for all built in comparators. 2018-07-09 21:24:22 -04:00
Calvin Rose
b860b0a3c5 Port some cfunctions in math.c to corelib as
assembled functions.
2018-07-08 23:10:02 -04:00
Calvin Rose
423ebc937a Fix MSVC compiler error. 2018-07-08 21:14:08 -04:00
Calvin Rose
f232cf28ff Try again with os.clock. 2018-07-08 21:10:15 -04:00
Calvin Rose
5b15ad9ff8 Try and fix os.clock on windows. 2018-07-08 20:54:41 -04:00
Calvin Rose
f92f358279 Make os.clock more meaningful by default. 2018-07-08 19:27:11 -04:00
Calvin Rose
579bfe97df Add status code to os.execute for windows. 2018-07-08 14:22:40 -04:00
Calvin Rose
08f6c642d0 Fix not= and odd? 2018-07-08 11:31:24 -04:00
Calvin Rose
f63d08efbd Work to replace os.execute command with something safe. 2018-07-06 22:00:41 -04:00
Calvin Rose
bfd0c08c8f Sleep can take non integer times in seconds. 2018-07-05 12:55:11 -04:00
Calvin Rose
3d7fff659a Make native modules optional. 2018-07-04 14:00:11 -04:00
Calvin Rose
547529ebb2 Refactor dst_view_* functions. 2018-07-04 13:21:30 -04:00
Calvin Rose
f28172a996 Replace switch with case. 2018-07-04 01:28:31 -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
17685bd789 Refactor opereduce in cfuns.c 2018-07-02 19:53:35 -04:00
Calvin Rose
5e2de33ae7 Remove some c functions in favor of bytecode. 2018-07-02 00:12:36 -04:00
Calvin Rose
e60c8a9b75 Update indentation in boot and init to be more like
most lisps.
2018-07-01 21:12:46 -04:00
Calvin Rose
79225ad3d5 Add some inlining for a few builtins. 2018-07-01 19:35:45 -04:00
Calvin Rose
f1e1b89c67 Merge updates. 2018-07-01 15:56:17 -04:00
Calvin Rose
6822400abe Fix large function compilation issue. 2018-07-01 15:53:57 -04:00
Calvin Rose
0bbf7d57b0 Small changes to boot.dst. 2018-07-01 12:44:41 -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
1ea9ebf04f Fix sourcemapping bug with closures, add some library functions
to boot.dst
2018-06-29 19:44:33 -04:00
Calvin Rose
11ced5b582 Update macroexpand. 2018-06-29 17:42:00 -04:00
Calvin Rose
8697ca976a Remove unused var byteindex. 2018-06-29 13:49:17 -04:00
Calvin Rose
33862e2e7b Be more specific about location of compile error (we only know the innermost tuple). 2018-06-29 13:13:13 -04:00
Calvin Rose
5afde3f6d4 Add line numbers to repl like irb. 2018-06-29 13:01:23 -04:00
Calvin Rose
28cf753fa2 Source mapping v4 (line and column instead of byte offsets). 2018-06-29 11:13:06 -04:00
Calvin Rose
f93c84c21f Source mapping v3 (performance improvements, better decoupling from parser). 2018-06-29 10:41:26 -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
90b685f8f4 Fix getline not being pretty printed properly. 2018-06-26 13:57:49 -04:00
Calvin Rose
9805bfb635 Fix file.read to handle popen'ed files better (allow read with :all). 2018-06-26 09:37:34 -04:00
bakpakin
23dcfb986e Allow expressions as keys in destructuring. 2018-06-25 15:34:06 -04:00
Calvin Rose
5e9d1d07b9 Better refresh after coming back from suspend. 2018-06-24 13:20:32 -04:00
Calvin Rose
ceff49a08d Enable suspending repl with ctrl-z. 2018-06-24 13:18:44 -04:00
Calvin Rose
4e6fc341dc Many updates to the sqlite module. 2018-06-23 19:19:26 -04:00
Calvin Rose
363a17ff8c Convert get, put and length to normal functions, not c functions. 2018-06-17 13:55:02 -04:00
Calvin Rose
0cf10946b0 Add first version of marsh (marshaling). 2018-06-12 14:24:45 -04:00
Calvin Rose
f0f5af24c2 Add some debug information to more builtin functions. 2018-06-09 20:41:02 -04:00
Calvin Rose
2a87dada47 Rename fiber.resume and fiber.yield to
resume and yield.
2018-06-09 13:08:30 -04:00
bakpakin
1690fee446 Add failure on top level error. 2018-06-08 15:58:23 -04:00
Calvin Rose
6d1ab414e4 Add frequencies to core library. 2018-06-03 14:21:24 -04:00
Calvin Rose
63baa52392 Add fiber.maxstack and fiber.setmaxstack to core library 2018-06-03 14:00:05 -04:00
Calvin Rose
b5ed4a875f Change some definitions and remove thoughts.md 2018-06-02 19:16:13 -04:00
Calvin Rose
3b30b98ec0 Add sum and product functions to boot.dst. 2018-05-26 14:21:49 -04:00
Calvin Rose
8a346ec655 Add option to cli interface to stop scanning options. 2018-05-26 14:17:44 -04:00
Calvin Rose
4dc51915a9 Make loop macro more expressive 2018-05-26 13:46:27 -04:00
Calvin Rose
8bcb5e0019 Add where clause to list comprehension. 2018-05-23 23:43:48 -04:00
Calvin Rose
b09bf72490 Change primary looping macro to 'loop' instead of 'for'. 2018-05-23 22:08:36 -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
de59c57e48 Make native modules easier to import. 2018-05-19 21:29:22 -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
245fb948f1 Add os.cwd 2018-05-19 01:09:56 -04:00
Calvin Rose
5b62630a9b Strip whitespace in boot.dst 2018-05-18 22:18:34 -04:00
Calvin Rose
68895e27d4 Change import semantics. Fix gc bug with fibers. 2018-05-18 20:53:19 -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
c0e373f420 Add some test code and fix sqlite3 native example. 2018-05-17 13:34:11 -04:00
Calvin Rose
ed9037e603 Remove defdo and defdo- 2018-05-16 23:09:28 -04:00
Calvin Rose
51bdc41014 Change fiber signal model to add user signals. This
should allow easier implementations of eventloops,
threadpools, or custom data flows with fibers.
2018-05-16 22:09:36 -04:00
Calvin Rose
0fd9224e4a Proper re-entry into debug state nested fibers. 2018-05-16 09:24:34 -04:00
Calvin Rose
6ac59251e9 Fix some very mild memory leaks in line.c and the do_bytes function (not
deiniting the parser).
2018-05-15 22:05:47 -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
80ae7e80e6 Update state.h 2018-05-14 09:55:34 -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
70e52d91c4 Add popen function to io.c 2018-05-11 08:13:26 -04:00
Calvin Rose
ee01547b3a Add some more fiber functions.
Add fiber.current and fiber.lineage
2018-05-10 20:25:49 -04:00
Calvin Rose
584c75b3f6 Update Makefile for faster builds. 2018-05-10 11:11:18 -04:00