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
John Benediktsson
7dfe023854
math.integers: add some more tests for bit?.
2015-06-17 20:23:21 -07:00
John Benediktsson
621b50a8e5
cpu: enable bit-test intrinsic for fixnum-bit?.
2015-06-17 19:11:10 -07:00
John Benediktsson
db9cfeeae2
math.integers: simplify fixnum-bit?.
2015-06-17 18:42:11 -07:00
John Benediktsson
ed786070e2
math.integers: fixnum-bit? should not use fixnum-shift-fast.
2015-06-17 08:22:00 -07:00
John Benediktsson
24953512a7
generic.parser: fix unbalanced-private-declaration.
2015-06-16 18:58:54 -07:00
John Benediktsson
8744d66467
vocabs.parser: error on unbalanced private declarations.
2015-06-16 18:47:57 -07:00
John Benediktsson
01e210346e
continuations: make with-return use with-variable instead of with-scope.
2015-06-15 09:11:35 -07:00
John Benediktsson
5083bdad33
Revert "hashtables: make hash-combine use fixnum primitives."
...
This reverts commit 390dd23261
.
2015-06-11 20:33:47 -07:00
John Benediktsson
54c4388a68
vocabs: remove little used words.
...
vocabs:vocab-name* => editors.private:public-vocab-name.
2015-06-11 20:04:44 -07:00
John Benediktsson
ccddbebf94
math.parser: slightly faster ((pow)).
2015-06-11 20:04:44 -07:00
John Benediktsson
dfa763434e
Fix tests broken by word hashcode change.
2015-06-09 20:37:55 -07:00
John Benediktsson
1dab2ae6ca
io.streams.sequence: use stream-exempler here.
2015-06-09 20:24:42 -07:00
John Benediktsson
95c34c41b7
hashtables: remove the 2hashcode word for now.
2015-06-09 16:46:02 -07:00
John Benediktsson
390dd23261
hashtables: make hash-combine use fixnum primitives.
2015-06-09 16:30:04 -07:00
John Benediktsson
6210edf76e
words: change word hash to do less work.
2015-06-09 16:08:48 -07:00
John Benediktsson
aa00d59d59
words: rename reset-props to remove-word-props.
2015-06-09 11:53:46 -07:00
John Benediktsson
77f980881b
compiler.units: simplify remember-class.
2015-06-09 11:04:11 -07:00
John Benediktsson
b3aeb94020
compiler.units: add typedef for new-words.
2015-06-09 10:30:05 -07:00
John Benediktsson
f00c90bb63
vocabs.parser: cleanup update-manifest, make update-search-vocabs a little faster.
2015-06-09 10:29:44 -07:00
John Benediktsson
d2716bbe6b
vocabs.parser: make a "qualified-vocabs" word for re-use.
2015-06-09 09:58:49 -07:00
Björn Lindqvist
4d47b826bf
parser: added helper word use-first-word? to simplify no-word
2015-06-09 13:02:03 +02:00
Doug Coleman
f0799a7bc3
core: fix word link.
...
extra: fix word
2015-06-08 16:53:54 -07:00
Doug Coleman
6e60c811ac
core: Rename create to create-word, create-in to create-word-in.
2015-06-08 12:47:35 -07:00
Doug Coleman
a4c5a748ad
core/basis: Rename words dealing with vocabs to loaded-vocabs or disk-vocabs because it's too confusing otherwise.
2015-06-08 12:47:35 -07:00
John Benediktsson
d60d098c11
math.integers: speedup to fixnum-bit?.
2015-06-07 11:08:57 -07:00
John Benediktsson
02b7022390
bootstrap.primitives: fix stack effect names for bignum-bit?.
2015-06-07 11:08:57 -07:00
John Benediktsson
d07564532d
sequences: make concat-as inline and don't special-case empty.
2015-06-06 09:28:00 -07:00