Doug Coleman
815591e10c
factor: m: { a b } -> M\\ a b
2017-10-12 21:22:41 -05:00
Doug Coleman
4b35f2e0d9
factor: fix bootstrap.
2017-10-04 22:39:20 -05:00
Doug Coleman
cada003d7f
factor: Rename ``M\ array generic`` to ``m: { array generic }``.
...
The problem with M\ is that it has an arity of 1 where we need it to have arity 2. Also, for multimethods, the \ disables parsing of the array that follows, e.g. ``M\ { string string } multimethod-name`` parses as ``M\ {`` and leaves the rest unparsed. This is obviously wrong.
An alternative syntax that should be implement and looks ok is ``m{ array generic }``
2017-10-01 09:51:31 -05:00
Doug Coleman
577d4618ca
core: keep nip cleanup.
2017-09-28 22:20:32 -05:00
Doug Coleman
6939b2ca5f
io.errors: Add words to print to error-stream as easily as to
...
output-stream.
2017-09-16 16:50:04 -05:00
Doug Coleman
3c8da3722d
sequences: Add assert-string=.
...
assert-sequence= prints strings as sequences of numbers, which is less
useful for writing unit tests.
2017-09-16 16:45:42 -05:00
Doug Coleman
953ddc566f
factor: Fix test errors.
2017-09-16 08:58:20 -05:00
Doug Coleman
3dc8f5e039
core: Fix using list.
2017-09-16 06:32:01 -05:00
Doug Coleman
6dc30e953e
io.pathnames: Add 3append-path.
2017-09-14 23:11:22 -05:00
Doug Coleman
ff93f58304
Merge branch 'master' into modern-harvey
2017-09-11 17:59:01 -05:00
Alexander Iljin
504c9959a1
Update some copyright headers to follow the current convention
...
Had to look through the history to find years for some headers. Added
authors to some files as well.
2017-09-11 15:43:03 -07:00
Doug Coleman
200b5192ed
factor: commit weekend work.
2017-09-11 16:37:47 -05:00
Doug Coleman
29708329ab
core: Fix how \words are parsed.
2017-08-31 21:21:15 -05:00
Doug Coleman
6ef39d8b6e
factor: Removing /* */ and fixing up using lists.
2017-08-31 21:21:14 -05:00
Doug Coleman
b0858e48b8
core: \foo is literally just foo. To escape it, do ``\ foo`` instead.
...
Fix smalltalk too.
2017-08-31 21:21:14 -05:00
Doug Coleman
fbaa172732
smalltalk: Allow SELECTOR: \foo: and ``M: foo \bar``
2017-08-31 21:21:14 -05:00
Doug Coleman
baa6af4831
factor: All RENAME: and FROM: and EXCLUDE: to have \foo as word names.
...
Grab bag of other cleanups. tests and docs parse!
2017-08-31 21:21:14 -05:00
Doug Coleman
3aa096e2e5
docs: Update docs.
2017-08-31 21:21:14 -05:00
Doug Coleman
22e59d7838
docs: Escaping a lot.
2017-08-31 21:21:14 -05:00
Doug Coleman
2114b7efc5
factor: ALIEN: to alien:
2017-08-31 21:21:13 -05:00
Doug Coleman
5507c2b676
factor: [let to let[, [| to |[
2017-08-31 21:21:13 -05:00
Doug Coleman
88e772ef17
docs: postpone: \foo
2017-08-31 21:21:13 -05:00
Doug Coleman
5a119fa9f7
syntax: Allow postpone: \foo
2017-08-31 21:21:13 -05:00
Doug Coleman
7ca280aee6
factor: SYNTAX: \FOO:
2017-08-31 21:21:13 -05:00
Doug Coleman
a2eb7b854d
core: SYNTAX: should allow \FOO words.
2017-08-31 21:21:13 -05:00
Doug Coleman
c436f6dbad
factor: char: postpone: color: hexcolor: flexhexcolor: decimal:
2017-08-31 21:21:13 -05:00
Doug Coleman
eb173e2caa
factor: Add more character escapes.
2017-08-31 21:21:12 -05:00
Doug Coleman
7cf91e005d
strings.parser: Add more escape codes.
2017-08-31 21:21:12 -05:00
Doug Coleman
acfb3a8992
strings.parser: Add character escapes for :[{(.
...
You will need to bootstrap or change them to ``char: :`` then ``char: \:`` in strings.parser.
2017-08-31 21:21:12 -05:00
Alexander Iljin
599a21a8da
sequences-docs: fix the delete-all $errors description
2017-08-27 13:06:09 +03:00
Doug Coleman
2920d2ee71
factor: Rename [curry] -> currier, remove some [foo] words.
...
The [foo] convention is not descriptive and looks like special syntax.
2017-08-06 00:20:35 -05:00
Björn Lindqvist
8675cb2c25
basis/,core/,extra/: more tags
2017-07-08 18:31:39 +02:00
Björn Lindqvist
1ca8276df4
basis/,core/,extra/: many new tags
2017-07-06 23:04:18 +02:00
Doug Coleman
01aab7c884
Factor: Rename <enum> to <enumerated> to not confuse with ENUM:s
2017-07-03 12:47:19 -07:00
Björn Lindqvist
1ed40f74f9
math.parser: fill argument must not be an empty byte-array
2017-06-28 11:18:40 +02:00
Björn Lindqvist
134a9fbcb4
VM: we can save the process by throwing a normal error here
2017-06-25 01:43:31 +02:00
Björn Lindqvist
483325d0f0
core/: bunch of more docs
2017-06-24 16:42:59 +02:00
Alexander Iljin
581489b64f
sytax-docs: mention that numbers may contain commas
2017-06-21 12:36:39 +03:00
Alexander Iljin
106e1ea4f3
sequences-docs: add short help for the words longest and shortest
2017-06-21 12:35:47 +03:00
John Benediktsson
13e7ed3986
math.parser: allow 0B, 0O, and 0X number prefixes.
2017-06-15 15:53:01 -07:00
Alexander Iljin
2ffa446f5b
*-docs: replace double spaces with single spaces
...
Code examples and other places where multiple spaces were used to align
text were left intact.
2017-06-05 13:16:07 -07:00
Doug Coleman
27423b78aa
classes.intersection: Fix typo in commented-out unit-test.
2017-06-04 20:03:02 -05:00
Doug Coleman
1708c8011f
classes.singleton: Update another test.
2017-06-04 12:57:38 -05:00
Doug Coleman
06fd324379
singleton: Move definitions to top level in tests.
2017-06-04 10:41:26 -05:00
Doug Coleman
acffb259f7
kernel: Fix the docs for curry/compose a bit.
2017-06-03 02:10:06 -05:00
Doug Coleman
7a703658f1
sequences: Remove start for real in favor of subseq-start.
...
Update a usage of start that was masked by the ALIAS:
Compatibility/migration is a .99 feature.
2017-06-02 17:41:10 -05:00
Doug Coleman
32710df620
core/basis: Rename tuples kernel:curry -> curried, kernel:compose -> composed.
...
Also rename the stack-checker curried -> curried-effect, composed -> composed-effect.
2017-06-02 17:39:20 -05:00
Doug Coleman
1dc65c13e7
words: Remove dummy ``word`` word and comment. Totally bogus.
2017-06-02 16:58:14 -05:00
Doug Coleman
e189954ecc
core: Rename iota to <iota> so we can have TUPLE: iota ... ; instead of TUPLE: iota-tuple ... ;
2017-06-02 11:57:05 -05:00
Doug Coleman
88bff3a034
sequences: Add start as an alias for subseq-start, start* aliasing subseq-start-from.
2017-06-01 14:55:15 -05:00
Doug Coleman
c5b563ed09
factor: Rename start -> subseq-start, start* -> subseq-start-from.
...
I also removed aliases for start/end from interval-maps and interval-sets and added a comment. I don't think it's any less clear what's going on.
2017-06-01 14:45:54 -05:00
Doug Coleman
7c7bb93c55
factor: Rename GENERIC# to GENERIC#:.
...
Fixes #1670 .
2017-06-01 13:58:58 -05:00
Doug Coleman
5aa89e6251
factor: Add newlines to every line.
2017-06-01 13:46:32 -05:00
Doug Coleman
e93d8f82bc
core: Add TH{ for making assoc tuples.
...
See #1449 .
https://github.com/factor/factor/issues/1449
2017-05-30 20:14:29 -05:00
Doug Coleman
f3bbc30c8a
namespaces: Way better implementation of with-variable-on.
2017-05-30 19:58:19 -05:00
Doug Coleman
e6d0c06f17
namespaces: Add with-variable-on/off combinators.
2017-05-29 12:36:16 -05:00
John Benediktsson
f75743ecf7
compiler.units: fix modify-code-heap example.
...
Make sure ``foo`` has the same stack effect as the quotation that is
set on ``foo`` with ``modify-code-heap``. The symbol had a stack
effect of ( -- x ) since it pushes itself when it is called. The
quotation in the example had stack effect ( -- ).
2017-05-05 08:38:49 -07:00
John Benediktsson
1898c2bb3a
sequences: fix example for unless-empty.
2017-05-03 18:24:14 -07:00
John Benediktsson
0f52366466
math: fix stack effect for unless-zero and when-zero.
2017-05-03 18:13:37 -07:00
John Benediktsson
3f04f7b013
classes.maybe: fix help-lint for docs.
...
Right now the examples must have stack effect ( -- ). Some future
version might have an output stack assertion, but for now use
prettyprint to check result.
2017-03-17 13:21:36 -07:00
Alexander Iljin
b1a24358f3
classes.maybe-docs: create some documentation for the maybe vocab
...
Integrate the pointers to the new article into existing help system,
primarily by looking for the uses of the "unions" article.
2017-03-17 08:22:18 -07:00
Alexander Iljin
bad5408c76
*-docs: fix a typo in the word parametErized
2017-03-17 08:22:18 -07:00
Alexander Iljin
cecbd6c602
alien-docs: fix wording
2017-03-17 08:22:18 -07:00
Alexander Iljin
4968a4f6a5
sequences-docs: add a bunch of related-words
2017-03-17 08:22:18 -07:00
Alexander Iljin
a6223e1ae3
sequences-docs: simplify the head* description
2017-03-17 08:22:18 -07:00
John Benediktsson
44da4ed4dd
sequences: fix filter! to allow stack arguments to be used by the quot.
2017-03-05 14:09:03 -08:00
John Benediktsson
9d3b5cb44b
vocabs: simplify M\ string require.
2017-02-09 16:24:05 -08:00
John Benediktsson
a8b66764d5
compiler.utilities: move conjoin-at tests.
2017-02-08 11:16:00 -08:00
John Benediktsson
b51617db16
sequences: simplify (map-find).
2017-02-07 19:42:58 -08:00
John Benediktsson
f4ccfa0f71
sets: moving unique/conjoin/conjoin-at to compiler.utilities.
2017-02-07 18:54:24 -08:00
John Benediktsson
b5ce31cbae
assocs: change assoc= to compare with = not eq?.
2017-02-07 16:40:39 -08:00
John Benediktsson
846d2315ff
sets: use = instead of eq? in M\ set set=.
2017-02-07 14:54:57 -08:00
John Benediktsson
bfcd68e2e9
sets: simpler M\ sequence members.
2017-02-07 14:50:58 -08:00
John Benediktsson
8dfbbc7cf2
destructors: using ?delete in unregister-disposable.
2017-02-07 13:31:43 -08:00
John Benediktsson
de48558d12
sets: adding ?delete that returns a boolean if elt was deleted from set.
2017-02-07 13:31:07 -08:00
John Benediktsson
6d5775e732
continuations: don't need to init-catchstack twice from init.
2017-02-02 10:00:44 -08:00
John Benediktsson
09f11e293a
io: fix stream-copy docs.
2017-01-24 20:40:29 -08:00
Jon Harper
3760c965af
core.math, bignum/f, shift subnormals before rounding. Fixes #1782
2017-01-23 10:12:20 -08:00
John Benediktsson
baaa06278c
Revert "sequences: swap stack arguments for start/start*/subseq?."
...
This reverts commit 63b0593824 .
2017-01-21 07:20:14 -08:00
John Benediktsson
63b0593824
sequences: swap stack arguments for start/start*/subseq?.
...
It is more natural to be ( seq subseq -- ? ).
2017-01-20 22:49:53 -08:00
Alexander Iljin
4fa1103179
sequences-docs: add a missing period at the end of a sentence
2017-01-20 08:21:54 -08:00
Alexander Iljin
70aa7b09c2
make-docs: fix what appears to be a oversight
2017-01-20 08:21:54 -08:00
Alexander Iljin
908ff65bef
math.order[-docs]: rename parameters in between? to match those in clamp
2017-01-20 08:21:54 -08:00
Alexander Iljin
423181c867
splitting-docs: add link to slice in split-when-slice
2017-01-13 13:31:53 +03:00
Alexander Iljin
5d7299b1af
sequences-docs: add some related-words
2017-01-13 13:31:48 +03:00
Alexander Iljin
429c237870
sequences-docs: fix parameter names in the <slice> description
2017-01-13 13:31:38 +03:00
John Benediktsson
7e7efe8128
sets: using reject in a couple places.
2017-01-06 14:08:42 -08:00
Jon Harper
ccbf1c1429
core layouts, remove hardcoded tag width
...
109aa88b06 showed the places were it was hardcoded
2017-01-04 07:29:08 -08:00
Björn Lindqvist
350de8f171
classes.mixin,classes.union: moves the check-self-reference test
...
Should make it so you can't define self-referencing mixins, just like
you can't define self-referencing unions.
2017-01-03 06:10:12 +01:00
Björn Lindqvist
9752d2fbf5
classes.mixin.tests: fix tc not to break when forget-tests? is on
2017-01-03 04:15:57 +01:00
Alexander Iljin
16403bb0c9
math.parser: add missing blank line between words
2017-01-02 09:33:10 -08:00
Björn Lindqvist
8f28fb2587
classes.mixin: fix type checking in add-mixin-instance
...
One test in classes.mixin.tests intermittently breaks otherwise.
2016-12-30 16:24:34 +01:00
Björn Lindqvist
a808ade3c1
classes.mixin: better name for the type checking error
2016-12-30 16:02:55 +01:00
John Benediktsson
000aa1f5a6
assocs: M\ enum >alist can be no-op because it's a sequence.
2016-12-29 11:58:55 -08:00
John Benediktsson
f0251cb2ad
sequences: remove (indices).
2016-12-28 16:40:27 -08:00
John Benediktsson
b141e0d2fb
assocs: moving collect-by from math.statistics.
2016-12-28 12:56:19 -08:00
Alexander Iljin
49961e643e
vocabs.loader: stop add-vocab-root spawning extra monitoring threads
...
This fixes issue #1758 .
2016-12-21 15:17:15 -08:00
Björn Lindqvist
073dc4686a
parser.tests: fix test that broke
2016-12-06 09:08:42 +01:00
Björn Lindqvist
7abe91732f
classes.*: new words contained-classes and all-contained-classes
...
it is to generalize the logic used for checking if union classes
self-references
2016-12-06 09:00:01 +01:00
Björn Lindqvist
ba7d357a6e
compiler.units: utility word filter-word-defs
...
requires new boot images
2016-12-05 08:55:32 +01:00
Björn Lindqvist
0142d0b078
basis/,extra/: using parse-array-def in a bunch of places
2016-12-03 13:23:24 +01:00
Björn Lindqvist
1c53e43768
parser: new parsing word parse-array-def
...
The idea behind this word is that in many cases parsing to an array is
much more convenient than parsing to a quotation.
2016-12-03 12:56:47 +01:00
Björn Lindqvist
e629f7b289
compiler.crossref: changes the way in which dependencies are stored on words
...
Previosly, they were stored in three sequences in the properties
"conditional-dependencies" "effect-dependencies" and
"definition-dependencies". It seem to better to store all three
types in one big property called "dependencies".
2016-11-30 07:29:10 +01:00
Björn Lindqvist
99653bab91
compiler.crossref: better code for getting dependencies-of + tests
2016-11-28 02:04:28 +01:00
Björn Lindqvist
fe0f2902a0
classes.mixin: add-mixin-instance doesn't need to be generic
2016-11-28 02:04:28 +01:00
Björn Lindqvist
3b0d5bba15
kernel.private: adding OBJ-SAMPLE-CALLSTACKS + test case
2016-11-24 05:11:46 +01:00
Björn Lindqvist
d73666b9d0
VM: the unimplemented error isn't used anymore
...
Cause all the primitives are implemented so it can never ever be
thrown. Probably requires new boot images.
2016-11-23 10:24:52 +01:00
Björn Lindqvist
c55a6ef873
VM: removing the unused callstack-bounds primitive
...
Probably needs new boot images
2016-11-21 22:30:20 +01:00
Björn Lindqvist
e4b961a26e
continuations: new words for ignoring masked errors
...
it comes from the db.errors vocab but seems to be useful in lots of
situations
2016-11-18 23:41:36 +01:00
Björn Lindqvist
56079afcfb
Revert "bootstrap: trying to undo changes from"
...
This reverts commit 7b3fb61ebd .
2016-11-13 00:22:21 +01:00
Björn Lindqvist
7b3fb61ebd
bootstrap: trying to undo changes from
...
a915d3bdb4 (#1513 )
A lot of changes that built upon those changes had to be undone too. New
boot images is required.
2016-11-12 01:54:57 +01:00
John Benediktsson
e91a674f95
vocabs: in create-vocab, notify-vocab-observers after updating dictionary.
2016-11-09 16:38:27 -08:00
John Benediktsson
e01c57628e
Revert "alien.strings: change how string>{cpu,os} works."
...
This reverts commit 84fe3deff8 .
Probably doesn't work with deployed images that have stripped
word names, where name>> would return f.
2016-11-02 07:34:38 -07:00
John Benediktsson
84fe3deff8
alien.strings: change how string>{cpu,os} works.
2016-11-01 20:21:12 -07:00
John Benediktsson
e2d2107396
system: adding new primitives.
2016-11-01 17:16:11 -07:00
Alexander Iljin
35a1ae61c3
system-docs: add article on Ctrl-Break handler
2016-11-01 16:53:01 -07:00
Björn Lindqvist
b31c0b8857
Docs: bunch of random doc updates
2016-10-31 11:46:39 +01:00
Alexander Iljin
1a29e1b03e
sequences-docs: fix wording
2016-10-28 09:34:53 -07:00
Björn Lindqvist
46105b62f6
VM: change callstack>array primitive so it doesn't reverse anymore
...
This fixes one part of the #452 bug.
2016-10-13 01:34:55 +02:00
Björn Lindqvist
32825b9f5f
bootstrap.image.primitives: array>quotation can't be foldable
2016-10-09 00:47:37 +02:00
Björn Lindqvist
88b2ed482c
math.parser: (format-float) can only be flushable
2016-10-09 00:47:37 +02:00
Björn Lindqvist
bbd71ae975
math.parser: (format-float) doesn't need to zero-terminate returned byte-array
2016-10-09 00:47:37 +02:00
John Benediktsson
8f6ac5d457
Revert "hash-sets,hashtables: make it so the array backing the hash is non-empty"
...
This reverts commit 6f10f06c27 .
2016-10-06 11:18:41 -07:00
John Benediktsson
db46b16d10
Revert "hash-sets,hashtables: improved key@ word"
...
This reverts commit 70c7f9e029 .
2016-10-06 11:18:35 -07:00
Björn Lindqvist
6f10f06c27
hash-sets,hashtables: make it so the array backing the hash is non-empty
...
Commit 70c7f9e029 made it so the code
assumes the array is not empty. But it can be empty if the hashtable is
created using "hashtable new" and then it can crash because it reads
uninitialized memory. Setting the initial of the array slot to
a valid hash-array should fix that.
2016-10-05 19:19:39 +02:00
Björn Lindqvist
a6df4168af
bootstrap.layouts: sync note in comments
2016-09-25 20:10:16 +02:00
Björn Lindqvist
70c7f9e029
hash-sets,hashtables: improved key@ word
...
Don't need to check the length of the backing array because it can be
assumed to be > 0. That should make hash lookups a little faster.
2016-09-25 20:07:08 +02:00
Alexander Iljin
3cfc4c69ff
checksums-docs: add link to checksums.process-docs
2016-09-19 20:18:06 -07:00
Björn Lindqvist
3bbf421043
io.files: the paths are absolute so cwd prepend-path isn't needed
2016-09-14 14:02:11 +02:00
Björn Lindqvist
20711a0fd3
Adding escaping to CHAR: " -> CHAR: \"
...
It is not necessary to escape the " character, but it doesn't hurt and
is necessary for syntax-highlighting (FUEL) to work correctly.
2016-09-04 06:40:43 +02:00
Björn Lindqvist
b82ea14af0
sets,compiler.cfg.stacks.global: putting the refine word in sets
2016-08-30 02:34:37 +02:00
John Benediktsson
acb4dec55d
Revert "io.pathnames: fix separator when appending paths in Windows"
...
This reverts commit b477c43293 .
2016-08-23 09:54:16 -07:00
masweeney
b477c43293
io.pathnames: fix separator when appending paths in Windows
2016-08-23 08:53:38 -07:00
Björn Lindqvist
67f38302d8
system: looks like the name>> accessor can be used here
...
So then the cpu>string and os>string words aren't needed.
2016-08-11 17:32:02 +02:00
John Benediktsson
fa5441f70a
Revert "assocs-docs: mark assoc-partition and partition as related words"
...
This reverts commit 892e41c1ce .
2016-08-10 19:42:41 -07:00
Alexander Iljin
892e41c1ce
assocs-docs: mark assoc-partition and partition as related words
2016-08-10 19:42:20 -07:00
Björn Lindqvist
ddc5ece757
alien.*: frontend varargs support! #1677
...
alien-invoke gets an extra parameter indicating if the call uses varargs
or not. In 99.9% of the cases, the parameter should be f, but is t if
varargs are indicated. E.g
: do-printf ( fmt d -- st ) int f "printf" { c-string double } t alien-invoke ;
2016-08-10 21:34:37 +02:00
Björn Lindqvist
dee9cf0a70
alien: replacing the alien-*-error family of errors with callsite-not-compiled
...
All the errors did the same thing anyway. Also adding a summary method
to it.
2016-08-04 11:51:59 +02:00
John Benediktsson
851398898b
checksums.crc32: verify checksum-state is working.
2016-08-02 13:16:30 -07:00
John Benediktsson
55df8437df
checksums: fix stack effect of with-checksum-state.
2016-08-02 10:58:48 -07:00
John Benediktsson
1b54f0a434
checksums: make checksum-state implement dispose.
2016-08-01 15:46:30 -07:00
John Benediktsson
83a7592a86
checksums: making "checksum-state" a universal concept.
...
I'm not super happy with the design yet, partly because OpenSSL doesn't
subclass ``checksum-state`` so all ``initialize-checksum-state`` will not
return a ``checksum-state`` instance. That could maybe be changed by making
``checksum-state`` a mixin, or perhaps some other way.
2016-07-30 09:31:10 -07:00
Alexander Iljin
acd22d1218
combinators-docs: fix wording
2016-07-30 09:25:30 -07:00
Alexander Iljin
1cec145e46
math: fix stack effect declaration for the neg? generic
2016-07-30 09:25:30 -07:00
Alexander Iljin
1aded9abdd
docs: replace $description with $class-description for class words
2016-07-30 09:25:30 -07:00
Alexander Iljin
2fd5654473
Add EOL at EOF for all authors.txt files for consistency
...
In some instances replaced CR/LF with LF.
2016-07-30 09:25:30 -07:00
Alexander Iljin
4e3dab7237
math-docs: fix a copy-paste error
2016-07-30 09:25:30 -07:00
John Benediktsson
ccbde89968
vocabs.loader: one vocab-exists? word.
2016-07-16 16:21:45 -07:00
John Benediktsson
8d077a96ad
using [ ... ] [ drop ] if* instead of dup [ ... ] [ 2drop ] if.
2016-07-11 21:01:03 -07:00
John Benediktsson
bd630d1464
math.integers: use must-fail instead of ignore-errors.
2016-07-10 20:28:28 -07:00