1
0
mirror of https://github.com/janet-lang/janet synced 2024-11-26 02:07:19 +00:00
Commit Graph

403 Commits

Author SHA1 Message Date
Calvin Rose
9e6254bf56 Rename pre-walk and post-walk to prewalk and postwalk. 2018-12-30 15:34:01 -05:00
Calvin Rose
fe22a8db39 Fix 32 bit platforms janet number handling. 2018-12-30 14:23:52 -05:00
Calvin Rose
d724c5b959 Update number representation so that wrapping numbers isn't
doesn't need to check for NaNs. Change ordering of types.
2018-12-30 12:37:50 -05:00
Calvin Rose
ca9c017ec4 Remove some unnecessary bounds checks. 2018-12-29 20:07:56 -05:00
Calvin Rose
7880d73201 Add some documentation for looping and the loop macro.
Also add :pairs verb to the loop macro and some more tests.
2018-12-29 17:23:31 -05:00
Calvin Rose
28331ad6ab Update buffer/push-integer to buffer/push-word. 2018-12-29 13:07:18 -05:00
Calvin Rose
129ec1e3c5 Don't use initialization syntax {0}. 2018-12-29 12:02:51 -05:00
Calvin Rose
bdcd3a3dbf Update strtod.c, cleaning up code.
Rename Mant -> BigNat, fix multiply code
so we can use 31 bits per digit.
2018-12-29 11:29:20 -05:00
Calvin Rose
b06f7226c4 Add number test. 2018-12-29 01:16:54 -05:00
Calvin Rose
2bcedd5920 Remove indexing with numeric constants from janet. 2018-12-28 23:44:39 -05:00
Calvin Rose
5c84f0f5d9 Work on number code for more expected behavior and better rounding.
Still needs work and testing.
2018-12-28 23:32:09 -05:00
Calvin Rose
e9a80d4e4a Bump version, fix doc and typos, update grammar. 2018-12-27 13:36:27 -05:00
Calvin Rose
1ec7f04642 Avoid warning in asm.c on windows. 2018-12-27 13:19:16 -05:00
Calvin Rose
6b95326d7c First commit removing the integer number type. This should
remove some complexity and unexpected behavior around numbers in
general as all numbers are the same number type, IEEE 754 double
precision numbers. Also update examples and tests, some of which were
out of date.

Some more testing may be needed for new changes to numbers.
2018-12-27 13:05:29 -05:00
Calvin Rose
6c8da9fe5c Install cook tool when installing janet. 2018-12-25 15:39:24 -05:00
Calvin Rose
17283241ab Fix bug in compiler with if form under certain conditions.
Begin bundled 'cook' tool for managing janet projects.
2018-12-25 15:32:42 -05:00
Calvin Rose
2c94aa1a6a Update min fiber size. 2018-12-23 23:38:49 -05:00
Calvin Rose
70b4c8ae84 Add some forms ported from clojure/walk
Add as-> and as?-> macros.
2018-12-23 19:00:16 -05:00
Calvin Rose
6c91e5fae0 Merge branch 'master' of github.com:bakpakin/janet 2018-12-23 14:13:38 -05:00
Calvin Rose
55c091e898 Update core.janet 2018-12-23 14:13:27 -05:00
Calvin Rose
9723ddb96b Fix string/number issue. 2018-12-22 16:24:08 -05:00
Calvin Rose
cc5b4eac0a Update documentation, fix life example. 2018-12-17 21:28:45 -05:00
Calvin Rose
77ea11c603 Update documentation to include source
location of bindings.
2018-12-17 12:06:50 -05:00
Calvin Rose
131ee29190 Add docs target to generate documentation. 2018-12-17 01:41:11 -05:00
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