1
0
mirror of https://github.com/janet-lang/janet synced 2024-11-17 06:04:49 +00:00
Commit Graph

429 Commits

Author SHA1 Message Date
Calvin Rose
99e14a9b70 Rename bitwise operators. 2018-12-16 22:13:48 -05:00
Calvin Rose
03dbd79165 Rename the := special form to set so it does not look like a keyword. 2018-12-16 21:57:32 -05:00
Calvin Rose
8333c22e8a Update gendoc and fix issue with run-context. 2018-12-16 13:17:30 -05:00
Calvin Rose
e286e82144 Add docstring for make-env 2018-12-15 23:22:51 -05:00
Calvin Rose
8a5ede21f7 Fix some documentation and add beginning of a document
generating script.
2018-12-15 23:19:28 -05:00
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