Commit Graph

4009 Commits (f7b7b5afbf419cc8ea06e1c55e21b9bb5a32cecd)

Author SHA1 Message Date
Doug Coleman 330c7ba156 factor: Removing SLOT: nth/at/global in favor of using change: at for tuple slots named ``at`` and change-at for hashtables.
Redo many FROM: and QUALIFIED: and using lists.
2015-08-12 08:49:02 -05:00
Doug Coleman 5dadf77311 assocs: fix map>alist and docs. 2015-08-12 08:48:33 -05:00
Doug Coleman 114ba4733a assocs: add map>alist which is { } map>assoc but could map to an alist type sometime. 2015-08-11 23:43:58 -05:00
Doug Coleman 00338f62f3 factor: put inline on same line as ; for experimentation 2015-08-10 12:55:27 -05:00
Doug Coleman 434f08a303 assocs: Add harvest-keys, harvest-values to core/. Remove assoc-sift because it's sift-keys, sift-values in core/. 2015-08-08 12:16:48 -05:00
Doug Coleman 43fb73fae6 factor: Rename I[ ]I to [I I]. Fix places where we do "string"token without whitespace. 2015-08-06 17:05:12 -05:00
John Benediktsson 6e397d5244 generic.standard: add some tests. 2015-08-05 19:13:53 -07:00
John Benediktsson 9aab1c87b4 generic.standard: check GENERIC# for integer dispatch#. 2015-08-05 19:10:58 -07:00
John Benediktsson 46021e4d77 fix some generic tests. 2015-08-05 18:01:05 -07:00
John Benediktsson 4fbbe6b201 generic: check valid combination/effect. 2015-08-05 15:13:23 -07:00
Doug Coleman aa8a5ac153 system: Don't assume the git version is set. 2015-08-05 09:34:31 -07:00
Doug Coleman e9dbb7cf22 system: Make a shorter banner on startup. 2015-08-04 16:57:19 -07:00
Doug Coleman 20fda0e371 io.files: fix docs 2015-08-04 15:07:01 -07:00
Doug Coleman 73d45cf6db io.files: Add change-file-lines and change-file-contents words. 2015-08-04 15:03:37 -07:00
Björn Lindqvist 4b8b617ea4 kernel.tests: address of fault is now in the 3rd element, so these tests
need to be updated
2015-08-04 16:02:10 +02:00
Björn Lindqvist 6fedb79c73 VM: bump stack_reserved from 1kb to 4kb
The added test case fails with a doulbe fault, which appears to be
caused by a stack overflow in the code that tries to handle the stack
overflow. So bumping it to 4096 bytes should give the code enough stack
space to play with.
2015-08-04 16:02:10 +02:00
Doug Coleman 4f4772e2db syntax docs: Fix octal example. 2015-08-01 14:29:12 -07:00
John Benediktsson 7b0733f72f syntax: fix example in syntax-floats. 2015-08-01 07:59:21 -07:00
John Benediktsson a8b3642c8c math.parser: make float-parse:point a fixnum. 2015-07-30 18:16:31 -07:00
John Benediktsson b3323c15bd math.parser: some inline, some fixnum+fast, some disable tests. 2015-07-30 17:59:21 -07:00
Jon Harper 8d827b2772 math.parser: support >bin and >oct for floats
This is for symmetry with "0o1p0", "0b1p0", bin> and hex> which
all already work
2015-07-30 11:04:51 -07:00
Jon Harper 4d8cb81cab math.parser: add tests/docs for floats 0b 0x bin> float> since they work 2015-07-30 11:04:51 -07:00
Jon Harper 102eb0064f docs: hex floats exponents became mandatory 2015-07-30 11:04:51 -07:00
Jon Harper 09af182db7 math.parser, don't take infinite time to parse huge exponents 2015-07-30 11:04:51 -07:00
Jon Harper dce2ca1366 math.parser: don't lose precision in make-float-bin-exponent 2015-07-30 11:04:51 -07:00
John Benediktsson c6fad4aa61 math.ratios: moving to core. 2015-07-30 10:31:00 -07:00
Björn Lindqvist 5e29aac0a6 Docs: various more compiler-related docs 2015-07-28 17:58:28 -07:00
Doug Coleman 3d4bc1de1a core: rename parse-call( to parse-call-paren 2015-07-27 09:54:08 -07:00
Jon Harper 53efceb0ad math.integers, comment and simplify bignum/f
change the "while" that could only execute once to "when"
change the f/loop word name to "mantissa-and-guard" since it's what it
computes
change the check against 2^53 to be explicit
2015-07-26 12:33:56 -07:00
Jon Harper 5424ad5586 math.integers, bignum/f, improve performance.
This changes avoids looping many times if the denominator is a power of
2. After this change, the implementation matches the linked sbcl
algorithm.  This was probably a mistake done when porting the algorithm.
Basically, as an optimization, all trailing zeros are removed from the
base2 representation of the denominator to have smaller bignums to
divide. But the previous factor implementation didn't take this into
account when making the initial guess of the shift of the numerator to
obtain a result in the range [2^54-1,2^53]. The loop would then correct
the initial guess by a factor of 2 at each iteration, so it would run as
many iteration as the denominator base2 power reduction, instead of only
a few times. For pathological cases, the speed up is huge (10^4):
1 1000 2^ bignum/f
2015-07-26 12:33:55 -07:00
Jon Harper cc6d90a096 math.integers, fix bignum/f for results in ]0x1.0p-1022,0x0.4p-1022] 2015-07-26 12:33:55 -07:00
Doug Coleman 1fcf96cada factor: remove """ string syntax for now. there are HEREDOC:, STRING:, escaping \", and something else soon. 2015-07-25 22:59:56 -07:00
Doug Coleman 117727d444 parser, source-files: you need to bootstrap after this patch.
cleans up some file vs path naming.

file -> current-source-file
file -> current-test-file somewhere else
source-file -> path>source-file
source-file-tuple -> source-file
2015-07-23 22:03:43 -07:00
John Benediktsson 5eec781b40 use ``if*`` instead of ``dup [ ] [ drop ] if``. 2015-07-20 22:24:30 -07:00
John Benediktsson bbde85f56b vocabs.loader: fix tests. 2015-07-20 21:11:16 -07:00
John Benediktsson 7327b8bdd4 vocabs.loader: make require-all throw restarts.
We only want to catch the restarts in mason, so make a special
load-no-restarts that will catch the failures and print them out
the same way it worked before.
2015-07-20 17:35:22 -07:00
John Benediktsson b82d866340 sequences: bring back check-length. 2015-07-20 09:58:12 -07:00
John Benediktsson 3ea9f09f6a fix some sets:members. 2015-07-20 09:32:31 -07:00
Doug Coleman 2f6548d6d2 factor: fix breakage with word renamings. 2015-07-20 05:51:16 -07:00
Doug Coleman eca8b7e49c core: fix docs 2015-07-20 01:01:31 -07:00
Doug Coleman e4c39bcf3c factor: superclass -> superclass-of, superclasses -> superclasses-of 2015-07-20 00:46:33 -07:00
Doug Coleman 2adeed9cb3 factor: rename classes:members to class-members so it doesn't conflict with sets:members. ugh. 2015-07-20 00:32:42 -07:00
Doug Coleman fbbd09f3c5 factor: system:image -> image-path, like vm-path. image is all over the place png, jpg etc 2015-07-20 00:17:09 -07:00
Doug Coleman 618330b31e factor: rename system:vm -> vm-path to differentiate it from vm:vm (which is a STRUCT:) 2015-07-20 00:10:29 -07:00
John Benediktsson 296974a057 math.parser: remove digits>integer. 2015-07-19 19:18:47 -07:00
John Benediktsson 16c93c7874 math.parser: simplify fix-float. 2015-07-19 17:20:37 -07:00
John Benediktsson 0dbc5e7d67 math.parser: simplify { integer ratio } >base. 2015-07-19 16:57:45 -07:00
John Benediktsson 89e3cc511e math: moving >fraction to math. 2015-07-19 16:57:45 -07:00
Doug Coleman 5f8426cfbe factor: rename files that are not loadable on mac, too 2015-07-19 16:55:36 -07:00
John Benediktsson 4cda3fe7c4 math.parser: re-use number-parse and float-parse objects. 2015-07-19 09:58:17 -07:00
Doug Coleman a66cf55e8e hashtables: Don't test word's hashcode as a bignum after all. It's not allowed. 2015-07-18 09:17:34 -07:00
Doug Coleman 6415684f8d word hashcodes: Don't unsafely set the hashcode for a word to be a bignum. Revert foldable, type declaration for word hashcode*. 2015-07-18 08:55:38 -07:00
Doug Coleman bc0c02acdf core: declare word's hashcode an integer. Make word not flushable since it's mutable. Add a test case for #1392.
Fixes #1392. @bjourne found this.
2015-07-18 00:27:12 -07:00
John Benediktsson fb688cc08b sequences: integer length for repetition, use English. 2015-07-17 17:42:41 -07:00
John Benediktsson 17386d0608 Revert "sequences: simplify find-from and find-last-from."
This reverts commit 903b8eec0b.
2015-07-17 16:41:56 -07:00
Doug Coleman d2ab2e6dd1 math.parser.tests: Fix whitespace. 2015-07-17 15:19:39 -07:00
John Benediktsson 743928ae7d sequences: use check-length to force integer partial dispatch in iteration. 2015-07-17 13:59:33 -07:00
John Benediktsson 9c4b3e7e43 sequences: define a 2each-from, use each-from more. 2015-07-17 13:40:01 -07:00
John Benediktsson 903b8eec0b sequences: simplify find-from and find-last-from. 2015-07-17 13:26:43 -07:00
John Benediktsson 573ac9c9e9 splitting: use unsafe in split-when, simplify split-indices. 2015-07-17 12:14:33 -07:00
John Benediktsson 9fad4187f3 sequences: adding a subseq-unsafe that doesn't check slice bounds. 2015-07-17 12:14:33 -07:00
John Benediktsson 8e8b15c515 sequences: fix help-lint. 2015-07-16 17:18:14 -07:00
John Benediktsson 94cddbe927 sequences: integer slots in slice, don't store reason in slice-error. 2015-07-16 15:35:03 -07:00
John Benediktsson c7868226d0 math.parser: simplify using member-eq?. 2015-07-16 09:55:33 -07:00
John Benediktsson 6cded6437f combinators: fix linear-case-quot to order the comparisons properly.
I noticed that member? optimized comparisons in the wrong order, this
was because it calls into linear-case-quot.  The reason case was working
find is because it reversed before calling linear-case-quot.  The fix
was to move the reverse into linear-case-quot.
2015-07-16 09:55:19 -07:00
John Benediktsson 33a62c7f9d math.parser: with-radix-char quot shouldn't get called with ``f``. 2015-07-16 08:51:58 -07:00
John Benediktsson e280bafabe math.parser: remove unnecessary with-no-radix, thanks @jonenst! 2015-07-16 07:35:51 -07:00
John Benediktsson 8a3c5c2634 Fix some tests broken by optimized? rename. 2015-07-15 11:47:03 -07:00
John Benediktsson 4c2c8f133f vm: rename some primitives, and some cleanup.
* quot-compiled? => quotation-compiled?
* optimized? => word-optimized?
2015-07-15 11:13:52 -07:00
John Benediktsson f6f596f40f math.parser: okay time for sleep, maybe this works, sorry git history. 2015-07-14 22:48:08 -07:00
John Benediktsson 86639b9df0 io.encodings.ascii: make sure encode-string gets a string. 2015-07-14 22:18:12 -07:00
John Benediktsson 5b58e1d3e8 math.parser: fix a regression. 2015-07-14 22:05:25 -07:00
John Benediktsson d6d69952e5 hashtables: fix docs differently. 2015-07-14 21:51:02 -07:00
John Benediktsson 41629dce2f Fix some things broken by hashtable capacity changes. 2015-07-14 21:45:39 -07:00
John Benediktsson 94bb834eae math.parser: fix ``"-.5" dec>``. 2015-07-14 20:16:34 -07:00
John Benediktsson 866b40271d math.parser: fix "most-negative-fixnum number>string string>number fixnum?". 2015-07-14 20:03:33 -07:00
John Benediktsson 1a48f1d229 hash-sets: make sure capacity and growth use same load factor. 2015-07-14 18:35:14 -07:00
John Benediktsson 6127bb8548 hashtables: make sure capacity and growth use same load factor. 2015-07-14 18:32:40 -07:00
John Benediktsson 3265f33b6b vocabs: fix help lint error. 2015-07-14 18:17:28 -07:00
John Benediktsson 94ed98e78c Use $sequence in a few places. 2015-07-14 15:57:18 -07:00
Björn Lindqvist b9b75c272b VM: let's merge (save-image) and (save-image-and-exit) into one 3
arg (save-image). it's good not to have to many similar primitives
2015-07-12 22:36:59 +02:00
John Benediktsson 4bdeaad112 init: cleaner using "initialize" instead of "global [ ... ] cache". 2015-07-09 19:06:19 -07:00
John Benediktsson e1e8383322 hash-sets: need to define M\ hash-set hashcode*. 2015-07-09 08:35:43 -07:00
Doug Coleman 43d6f1d3e2 factor: Retrying on the unit tests. Also normalize some syntax with FUNCTION:. 2015-07-02 17:28:17 -07:00
Doug Coleman 59f3b1ea57 Revert "factor: rename [ ] [ ] unit-test -> { } [ ] unit-test using a refactoring tool!"
Needs a bit more work.

This reverts commit 7e54cc2824.
2015-07-02 13:47:06 -07:00
Doug Coleman 7e54cc2824 factor: rename [ ] [ ] unit-test -> { } [ ] unit-test using a refactoring tool! 2015-07-02 11:36:08 -07:00
Doug Coleman 999aa7c897 factor: clean up spaces in -tests files 2015-07-02 10:34:01 -07:00
Doug Coleman e3cb325040 factor: clean up whitespace in -docs files 2015-07-02 10:31:22 -07:00
Doug Coleman d47f9447c3 kernel-docs: Fix link from class to class-of. 2015-06-30 21:43:56 -07:00
Doug Coleman 00059f9ec5 classes.tuple: Add a note about "defining-class" 2015-06-30 21:20:20 -07:00
Doug Coleman 0e0646c752 syntax-docs: Revert documentation for IN: foo.private 2015-06-30 21:20:20 -07:00
Doug Coleman 69ee8b9190 core, basis: Don't use the IN: foo.private feature and undocument it.
It only works well when you are loading code dynamically.
2015-06-30 08:51:07 -07:00
John Benediktsson 527c4ea2f8 lexer: change with-lexer to use with-variable. 2015-06-29 19:31:24 -07:00
Doug Coleman 0a7bfd3635 syntax: Add a "syntax" word property for tracking which words are defined with SYNTAX: as opposed to generated syntax words. 2015-06-29 18:45:16 -07:00
Doug Coleman 352e5de16a core, basis, extra: Remove DOS line endings from files.
Remove whitespace from end of lines.
Add a newline to the end of each file.
2015-06-29 17:25:40 -07:00
Björn Lindqvist ed702209ce VM: fix bignum>fixnum-strict conversion, previously most-negative-fixnum
>bignum bignum>fixnum-strict didn't work
2015-06-29 08:19:42 +02:00
Doug Coleman 44e8e7b344 primitives: Change PRIMITIVE: to check that the word is in that vocabulary and the stack effect is correct.
Use PRIMITIVE: in core/ and basis/
2015-06-25 18:02:03 -07:00
John Benediktsson 7ffd9db9c9 vocabs.parser: adding back unuse-words. 2015-06-22 16:32:22 -07:00
Björn Lindqvist d32b9f9c90 locals.parser: docs for with-lambda-scope and some random doc additions 2015-06-22 11:15:48 +02:00
Björn Lindqvist 976961bfbd locals.parser: new word with-lambda-scope to handle lexical variables
better, fixes #1338

By cloning the relevant parts of the manifest, you ensure that the
quotation with-lambda-scope runs can't "leak" local names in case of
restartable errors.
2015-06-22 11:15:47 +02:00