Commit Graph

4288 Commits (dbfeeebe381dd0c2386238f10eaa25e1777aee93)

Author SHA1 Message Date
Doug Coleman 8e8b5f59f5 factor: update sorting functor by adding a name type to functors2. 2017-12-02 19:05:25 -06:00
Doug Coleman 3964553ed5 functors: use in compiler. 2017-12-02 18:07:34 -06:00
Doug Coleman 56d437a1e7 alien.destructors: new functors. 2017-12-02 17:21:49 -06:00
Doug Coleman 7616f6e95d factor: add inlined quotations in stack effects 2017-12-02 16:38:11 -06:00
Doug Coleman 1950722e04 functors2: Fix IN: for same-functor 2017-12-02 10:12:04 -06:00
Doug Coleman 43e0ce4977 functors2: terrible duplication but about to reimplement it in terms of functors. 2017-12-02 08:05:27 -06:00
Doug Coleman ec05bf7be9 core: Add support for quotations inside stack-effects.
Disabled: Preconditions for functors are awkward to implement without creating new syntax. Instead, allow stack effects of the form ( x: [ 1 + ] -- y ) everywhere.
2017-11-25 18:44:37 -06:00
Doug Coleman 384ffc1025 specialized-arrays: Works as a new functor!! 2017-11-24 21:46:16 -06:00
Doug Coleman f8c54fd2bf core: Move new functors to core.
Also move enough to implement them in an ok style. I would prefer to use formatting in core, but it depends on calendar, etc.
2017-11-24 20:06:44 -06:00
Doug Coleman bc285f7072 core: Move multiline and interpolate to core.
caveats: peg.ebnf needs to find :> and let[ in "syntax" not locals anymore.
- You have to define a word ``IN: syntax`` before Factor picks up syntax changes
- You have to add a syntax word to core/bootstrap/syntax.factor
2017-11-24 19:12:04 -06:00
Doug Coleman 43628c8340 core: Move more things to core.
Tricky things:
f props>> == @ _ are not defined in syntax
2017-11-24 18:42:30 -06:00
Doug Coleman 085dbe716f core: Move hashtables.identity and hashtables.wrapped into core. 2017-11-24 16:46:47 -06:00
Doug Coleman b19b521b9c namespaces.extras: Add a new functors prototype.
IN: foo
FUNCTOR: foo goes into the vocab where it's declared

Instantiated ``FOO: bar`` go into ``foo:functors:foo:bar:92801082101``
2017-11-22 15:39:46 -06:00
Doug Coleman bf82be86b1 Merge branch 'master' into modern-harvey 2017-11-11 11:45:46 -06:00
Doug Coleman 0319ff7920 math: rename >fraction to fraction>parts 2017-10-27 20:21:48 -05:00
John Benediktsson 013adec055 source-files.errors: rename <definition-error> to new-source-file-error. 2017-10-25 10:45:46 -07:00
John Benediktsson 37794a326c sequences: rename setup-each to (each).
...to match (each-from), (2each), and (3each), etc.
2017-10-24 17:22:55 -07:00
John Benediktsson 26b7b20622 sequences: fix map-reduce to have ..a on the stack for the first call. 2017-10-23 18:01:15 -07:00
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