Calvin Rose
|
fb6dd2c83f
|
Add debug functions to janet.h
Update version to 0.2.0 for next release.
Fix whitespace in build_win.bat
|
2018-12-15 13:52:07 -05:00 |
|
Calvin Rose
|
b2146a4c1d
|
Update web client.
|
2018-12-13 21:36:19 -05:00 |
|
Calvin Rose
|
df13a8b967
|
Fix typo.
|
2018-12-13 21:16:04 -05:00 |
|
Calvin Rose
|
56e5c19aa9
|
Add debug/arg-stack, and add slots debug/stack.
These features should help implementing a debugger.
|
2018-12-13 19:23:07 -05:00 |
|
Calvin Rose
|
e8c0dcd14e
|
Make source mapping use byte offset instead of line and col
for better debugging support in repl. Add debug module for better
debugging support.
|
2018-12-13 18:46: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
|
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 |
|
Calvin Rose
|
ac4b46bdb1
|
Fix dst_arg_bytes macro to correctly catch bad input.
|
2018-05-09 23:43:56 -04:00 |
|
Calvin Rose
|
ea9855a93d
|
Update parse-status to reflect new long-string syntax better.
|
2018-05-09 17:14:29 -04:00 |
|
Calvin Rose
|
932a0324ee
|
More work on renaming functions. Change long string syntax to use
backticks. Allow custom masks in fibers for custom error and debug
handling.
|
2018-05-09 17:01:58 -04:00 |
|
Calvin Rose
|
f47323c915
|
Change convention for naming modules and functions.
|
2018-05-08 19:40:28 -04:00 |
|
Calvin Rose
|
0cd6cdc28b
|
Add some more opcodes for comparison with numeric types.
|
2018-05-07 12:34:04 -04:00 |
|
Calvin Rose
|
104b09d848
|
Make the -s option more useful.
|
2018-05-07 01:04:56 -04:00 |
|
Calvin Rose
|
55f0e759d9
|
Add extra information in repl to show state of parsing.
|
2018-05-06 23:25:59 -04:00 |
|
Calvin Rose
|
7e63427208
|
Update strtod.c to be less accepting of some badly formed numbers.
|
2018-05-06 15:27:52 -04:00 |
|
Calvin Rose
|
b31791200b
|
Add long string syntax to dst.
|
2018-05-06 13:28:09 -04:00 |
|
Calvin Rose
|
181a38f412
|
Add sqlite3 native module to repo.
|
2018-05-05 23:51:29 -04:00 |
|
Calvin Rose
|
06b80e56eb
|
Merge branch 'master' of github.com:bakpakin/dst
|
2018-05-05 14:42:28 -04:00 |
|
Calvin Rose
|
238cec8f32
|
Add each.
|
2018-05-05 14:41:47 -04:00 |
|
bakpakin
|
d9e5019a71
|
Add -e option to dst for executing inline scripts from the shell.
|
2018-05-05 14:05:56 -04:00 |
|
Calvin Rose
|
256aba199f
|
Remove foreach.
|
2018-05-01 23:38:53 -04:00 |
|
Calvin Rose
|
1e4f221170
|
Move strtod to core, and rename parse-number, parse-integer, and
parse-real functions to scan-number, scan-integer, and scan-real.
Add very basic format function for formatting strings for printing.
|
2018-05-01 11:06:31 -04:00 |
|
Calvin Rose
|
e4434f74b6
|
Fix some typos in boot.dst
|
2018-04-30 18:11:19 -04:00 |
|
Calvin Rose
|
1205ca5cad
|
Add beginning of intorductory doc. Add prototypes to pretty print
output.
|
2018-04-30 17:05:42 -04:00 |
|
Calvin Rose
|
53f9c18669
|
More work on improving errors.
|
2018-04-29 20:13:04 -04:00 |
|
Calvin Rose
|
10934bcfb9
|
Add errorhandling helper functions and macros for writing c functions.
|
2018-04-28 18:10:57 -04:00 |
|
Calvin Rose
|
344fa031b2
|
Add stub CMakeLists.txt for native module.
|
2018-04-26 16:57:23 -04:00 |
|
Calvin Rose
|
99709a68fd
|
Add example file for compiling native modules (hello.so).
|
2018-04-26 13:13:31 -04:00 |
|
Calvin Rose
|
8b9bd41205
|
Fix bug with false literals as keys not printing.
|
2018-04-02 16:10:16 -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
|
1110267c9d
|
Update maxtriangle example, extend map function, and
add extremes functions (max, min, order-max, order-min, extreme)
|
2018-04-01 15:08:51 -04:00 |
|
Calvin Rose
|
027b2a81c2
|
Shrink the public interface by hiding internal state.
|
2018-03-31 16:42:41 -04:00 |
|
Calvin Rose
|
507f9f9c57
|
Make global state thread local. This means multiple threads
of dst can run, but cannot yet share state.
|
2018-03-30 16:12:30 -04:00 |
|
Calvin Rose
|
9dabc6bee3
|
Update assembly doc.
|
2018-03-30 12:17:03 -04:00 |
|
Calvin Rose
|
0d5b57daee
|
Remove exit in favor of os-exit.
|
2018-03-28 21:24:54 -04:00 |
|
Calvin Rose
|
e21a69920f
|
Add sorting to pretty printer.
|
2018-03-28 21:16:12 -04:00 |
|
Calvin Rose
|
39d6bd573a
|
Add preliminary os lib.
|
2018-03-28 20:50:20 -04:00 |
|
Calvin Rose
|
f4ef0ae0bb
|
Add sorting to boot.dst
|
2018-03-28 16:38:05 -04:00 |
|
Calvin Rose
|
73ead5c2de
|
Update core namespace. Clean up some code,
and put more emphasis on indexed data-structure combinators
instead of iterators.
|
2018-03-28 13:58:56 -04:00 |
|
Calvin Rose
|
d9f6c7b069
|
Make pretty printer prettier.
|
2018-03-26 13:36:58 -04:00 |
|
Calvin Rose
|
6ace978ab8
|
Merge branch 'master' of github.com:bakpakin/dst
|
2018-03-25 21:12:43 -04:00 |
|
Calvin Rose
|
44d2049c94
|
Update lazyseqs.dst and boot.dst
|
2018-03-25 20:39:38 -04:00 |
|
bakpakin
|
080caf31a7
|
Add triangles examples.
|
2018-03-25 18:51:31 -04:00 |
|
Gavlooth
|
5ff0367d0f
|
Fix if-let when-let and add put-in (assoc-in)
|
2018-03-25 21:33:03 +03:00 |
|
Gavlooth
|
1bc5705667
|
Fix if-let when-let and add put-in (assoc-in)
|
2018-03-25 14:47:45 +03:00 |
|
Calvin Rose
|
a3ed7327c9
|
Make array literals require preceding @ character.
|
2018-03-24 12:48:42 -04:00 |
|
Gavlooth
|
9f90dc1e1f
|
Fix some typos
|
2018-03-24 07:46:11 +02:00 |
|
Gavlooth
|
0ebc95aa2b
|
Improve lazy2iter and fix a typo in specials.c
|
2018-03-24 07:46:05 +02:00 |
|
Calvin Rose
|
41d5b5cb90
|
Fix some behavior with parsing integers.
|
2018-03-24 00:25:59 -04:00 |
|
Calvin Rose
|
0b25284aa9
|
Expose parse-number function.
|
2018-03-24 00:11:44 -04:00 |
|
Calvin Rose
|
89ecd43115
|
Move functions in util.dst to boot.dst.
|
2018-03-23 18:36:56 -04:00 |
|
Calvin Rose
|
da15dac16b
|
Fix an offset bug in closure creation.
|
2018-03-22 17:41:01 -04:00 |
|
Calvin Rose
|
82845bc7a3
|
Update error reporting.
|
2018-03-21 21:48:19 -04:00 |
|
Calvin Rose
|
0fd55282d8
|
Add error reporting to repl (initial stack traces)
|
2018-03-21 20:53:39 -04:00 |
|
Calvin Rose
|
e114ec0095
|
Move web client code.
|
2018-03-19 17:13:36 -04:00 |
|
Calvin Rose
|
3e1e258546
|
Fix a compiler bug in the do special form.
|
2018-03-19 14:51:18 -04:00 |
|
Calvin Rose
|
105f5f3b2d
|
Formfeed is whitespace.
|
2018-03-18 14:38:40 -04:00 |
|
Calvin Rose
|
855787b292
|
Add macroexpand and macroexpand1
|
2018-03-18 14:01:58 -04:00 |
|
Calvin Rose
|
82e5d915f7
|
Add makefile back.
|
2018-03-18 09:17:20 -04:00 |
|
Calvin Rose
|
8da838e12c
|
Add macros for imperative programming (c style sugar).
|
2018-03-16 18:31:18 -04:00 |
|
Calvin Rose
|
4a76f2ae32
|
Replace varset! with algol style :=
|
2018-03-16 18:15:34 -04:00 |
|
Calvin Rose
|
f5213e4064
|
fix doc
|
2018-03-16 15:58:11 -04:00 |
|
Calvin Rose
|
110c780747
|
Update apply to be variadic, and keep non variadic form as apply1
|
2018-03-16 15:45:24 -04:00 |
|
Calvin Rose
|
72d8e74a71
|
Update assembly and add example.
|
2018-03-16 14:34:48 -04:00 |
|
bakpakin
|
d3a1d97649
|
Update boot.dst and lazyseq examples.
|
2018-03-16 13:40:10 -04:00 |
|
Calvin Rose
|
e8dfe673f2
|
Update sourcemapping structure. Add seqs example file.
|
2018-03-15 23:28:30 -04:00 |
|
Calvin Rose
|
5738f6c8b1
|
Rename seq abstraction to iterator. Add random functions.
|
2018-03-15 17:19:31 -04:00 |
|
Calvin Rose
|
5f0bd1e082
|
Update code.
|
2018-03-14 21:46:56 -04:00 |
|
Calvin Rose
|
8ec29d9326
|
Move pretty printer into boot.dst
|
2018-03-14 19:08:00 -04:00 |
|
Calvin Rose
|
c0ac44a650
|
Fix description semantics. describe returns string, does not print.
|
2018-03-14 18:57:26 -04:00 |
|
Calvin Rose
|
1ec704feb9
|
Remove pretty printer implemented in C.
|
2018-03-14 13:38:48 -04:00 |
|
Calvin Rose
|
d5e4496e95
|
Change repl prompt.
|
2018-03-14 10:54:32 -04:00 |
|
Calvin Rose
|
7ec2efcf6d
|
Simple fix for end of file in getline. Some code changes in getline as well.
|
2018-03-14 10:49:26 -04:00 |
|
Calvin Rose
|
58d81d44f9
|
Fix windows build
|
2018-03-13 23:52:27 -04:00 |
|
Calvin Rose
|
c23ea536da
|
Add getline on unix.
|
2018-03-13 23:39:49 -04:00 |
|
Calvin Rose
|
9cb7c92ca7
|
Add some builtin functions and some examples.
|
2018-03-13 16:40:56 -04:00 |
|
Calvin Rose
|
2b1dd79f55
|
Work on emscripten support. Works with sync code.
|
2018-03-13 14:03:17 -04:00 |
|
Calvin Rose
|
61645c82b1
|
Add clojure style threading macros.
|
2018-03-12 12:47:05 -04:00 |
|
Calvin Rose
|
e393e3dda0
|
Allow destructuring in function args
|
2018-03-12 02:07:55 -04:00 |
|
Calvin Rose
|
8445b1187f
|
Add defn- form for private defs.
|
2018-03-12 00:57:13 -04:00 |
|
Calvin Rose
|
3b2658150e
|
Update boot.dst for better functionality (require, macros,
documentation, cond, let, etc.)
|
2018-03-12 00:26:13 -04:00 |
|
Calvin Rose
|
1ba93c5112
|
Update debug code for fibers.
|
2018-03-11 18:06:47 -04:00 |
|
Calvin Rose
|
807f9818a5
|
Add let macro.
|
2018-03-11 16:30:38 -04:00 |
|
Calvin Rose
|
cace92af95
|
Fix broken windows build.
|
2018-03-11 15:42:59 -04:00 |
|
Calvin Rose
|
2a0dc5f1ad
|
Switch to assymetric coroutines instead of symmetric.
|
2018-03-11 15:35:23 -04:00 |
|
Calvin Rose
|
0b6ac1698c
|
Add proto field to tables to allow prototypal inheritance.
|
2018-03-10 13:34:46 -05:00 |
|
Calvin Rose
|
0c3b0673ff
|
Enable debug opcode in vm and debug state for fibers.
|
2018-03-09 17:14:26 -05:00 |
|
Calvin Rose
|
eee453d2c0
|
Update thoughts.md, and add dst_call and dst_call suspend.
dst_call_suspend migt be redundant (suspension of GC is easy enough).
|
2018-03-04 18:56:13 -05:00 |
|
Calvin Rose
|
1551bf6b48
|
Use flatter representation for function and environments.
|
2018-02-13 16:14:55 -05:00 |
|
Calvin Rose
|
2f4fd23884
|
Add per fiber stack limit.
|
2018-02-12 17:36:29 -05:00 |
|
Calvin Rose
|
a614816a04
|
Update func env representation to not store envs in function
objects.
|
2018-02-12 16:43:59 -05:00 |
|
Calvin Rose
|
e124029ae3
|
Update asm format for sourcemaps to use pairs for sourcemap entries.
|
2018-02-12 12:28:58 -05:00 |
|
Calvin Rose
|
af6e6ded35
|
Add configurable stack overflow to prevent infinite recursion
without waiting for out of memory.
|
2018-02-12 11:49:10 -05:00 |
|
bakpakin
|
7f693796ea
|
Differentiate total order comparison and numeric comparison
|
2018-02-09 11:57:58 -05:00 |
|
Calvin Rose
|
e047b39a87
|
More work on self hosting the client program.
|
2018-02-07 13:19:34 -05:00 |
|
Calvin Rose
|
3e1f031576
|
Self host the repl, remove linenoise, and selfhost the
main client.
|
2018-02-07 00:44:51 -05:00 |
|
bakpakin
|
7bfb3145cb
|
Add some library functions and add newline character to reading line
from file.
|
2018-02-06 10:31:42 -05:00 |
|
Calvin Rose
|
c76b08cecc
|
Add destructuring in def and var statements for tables and structs.
|
2018-02-06 02:02:28 -05:00 |
|
Calvin Rose
|
ddee7f55e3
|
Add initial destructuring support for sequential types.
|
2018-02-06 01:25:48 -05:00 |
|
Calvin Rose
|
4971ef58d2
|
Add fseek.
|
2018-02-04 12:58:40 -05:00 |
|
Calvin Rose
|
4b89789f69
|
Add all and line option to file-read
|
2018-02-04 00:54:38 -05:00 |
|
Calvin Rose
|
f3b2c29580
|
Add pretty print to build in.
|
2018-02-03 18:12:07 -05:00 |
|
Calvin Rose
|
a673b7e326
|
Fix small compiler bug
|
2018-02-03 17:22:04 -05:00 |
|
Calvin Rose
|
35ddc70888
|
Move ast into parser. Map keywords to symbols instead of
strings.
|
2018-02-03 13:55:55 -05:00 |
|
Calvin Rose
|
278769f2bb
|
Fix compiler warnings with GCC.
|
2018-02-02 17:26:20 -05:00 |
|
Calvin Rose
|
ccdf758e83
|
Get dst to compile on windows
|
2018-02-01 17:09:22 -08:00 |
|
bakpakin
|
776addfc07
|
Fix install procedure
|
2018-01-31 22:53:31 -05:00 |
|
bakpakin
|
ff46522dd9
|
Assert computed gotos work on clang
|
2018-01-31 21:47:18 -05:00 |
|
bakpakin
|
1bf0b538cd
|
Use computed goto in vm for GCC
|
2018-01-31 21:40:19 -05:00 |
|
bakpakin
|
a6694e985c
|
Add a few more ast functions.
|
2018-01-31 17:56:10 -05:00 |
|
bakpakin
|
e9c4d388c9
|
Ignore one ulp errors in printing reals.
|
2018-01-31 17:47:59 -05:00 |
|
bakpakin
|
50bfa8de3f
|
Add boot script which is loaded on start up.
|
2018-01-31 17:39:18 -05:00 |
|
bakpakin
|
4f74d57359
|
Refactor stl to corelib and stl. Corelib is part of vm, stl
is part of dst language. Add bootstrapping code directly into stl.
Stl is now logically grouped with compiler.
|
2018-01-29 23:38:49 -05:00 |
|
bakpakin
|
ce5708af98
|
Switch over to Cmake fully.
|
2018-01-29 15:46:26 -05:00 |
|
bakpakin
|
b305a7c9bb
|
Add macros in compiler.
|
2018-01-28 15:29:47 -05:00 |
|
bakpakin
|
8fe9881187
|
More work on adding c functions. Added buffer literals again.
|
2018-01-27 15:15:09 -05:00 |
|
bakpakin
|
2bd20c3cb3
|
Addition and subtraction inlining.
|
2018-01-25 18:49:08 -05:00 |
|
bakpakin
|
5460ff19bf
|
Begin C Function specialization in the compiler.
|
2018-01-24 17:59:00 -05:00 |
|
bakpakin
|
aa68ef49f1
|
Remove transfer as a compiler special. Eventually
rely on function inlining for efficiency.
|
2018-01-21 17:29:48 -05:00 |
|
bakpakin
|
26c8145893
|
Move ast to core. Add symbol function to stl.
|
2018-01-21 17:08:11 -05:00 |
|
bakpakin
|
42a88de9e7
|
Add quick asm for adding apply and error to the stl.
|
2018-01-21 16:41:15 -05:00 |
|
bakpakin
|
911b0b15e8
|
Fix some bugs with inner closures.
|
2018-01-21 14:39:32 -05:00 |
|
bakpakin
|
d68eae9592
|
Add bytecode verification
|
2018-01-20 17:21:59 -05:00 |
|
bakpakin
|
065c4cfac1
|
Gitignore was ignore files.
|
2018-01-20 11:04:30 -05:00 |
|
bakpakin
|
30f62ca454
|
Major refactor and restructure. Add CMake for anticipated windows
support.
|
2018-01-19 16:43:19 -05:00 |
|