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
|
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
|
fde9751eab
|
Move asm into core and rename to asm/disasm (no prefix)
|
2018-06-29 22:52:55 -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 |
|
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
|
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
|
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
|
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
|
245fb948f1
|
Add os.cwd
|
2018-05-19 01:09:56 -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
|
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
|
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
|
ac4b46bdb1
|
Fix dst_arg_bytes macro to correctly catch bad input.
|
2018-05-09 23:43:56 -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
|
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
|
181a38f412
|
Add sqlite3 native module to repo.
|
2018-05-05 23:51:29 -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
|
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
|
99709a68fd
|
Add example file for compiling native modules (hello.so).
|
2018-04-26 13:13:31 -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
|
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
|
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
|
d9f6c7b069
|
Make pretty printer prettier.
|
2018-03-26 13:36:58 -04:00 |
|
bakpakin
|
080caf31a7
|
Add triangles examples.
|
2018-03-25 18:51:31 -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
|
3e1e258546
|
Fix a compiler bug in the do special form.
|
2018-03-19 14:51:18 -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
|
4a76f2ae32
|
Replace varset! with algol style :=
|
2018-03-16 18:15:34 -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
|
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
|
2b1dd79f55
|
Work on emscripten support. Works with sync code.
|
2018-03-13 14:03:17 -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
|
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
|
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
|
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
|
30f62ca454
|
Major refactor and restructure. Add CMake for anticipated windows
support.
|
2018-01-19 16:43:19 -05:00 |
|