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 |
|