Commit Graph

467 Commits (81c6196dc488d73c9c47e5ccf94e6e8c94e75ad4)

Author SHA1 Message Date
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 24a02a1c8f compiler.*: Backend implementation of varargs
It is turned off by default. Support for using it coming soon. :)
2016-08-08 12:02:19 +02:00
Björn Lindqvist 120807c827 stack-checker.*: infer doesn't need to be generic 2016-08-06 19:04:41 +02:00
Björn Lindqvist 0c7b871de7 stack-checker.alien: new word stack-shape which replaces alien-inputs/outputs 2016-08-06 19:00:23 +02:00
Björn Lindqvist a79309680c compiler.*, stack-checker.*: fixes to make the tests work on 32bit too 2016-08-05 16:44:19 +02:00
Björn Lindqvist b43221770c stack-checker.*: new tests 2016-08-04 20:30:58 +02:00
Björn Lindqvist e67745aaba stack-checker.*: removes the in-d and out-d slots from the alien-node-params tuple
That data is already on the #alien-node tuple so it doesn't need to be
stored twice.
2016-08-04 20:30:58 +02:00
Björn Lindqvist 8d982780f5 stack-checker.*: change pop-literal stack effect to ( -- obj )
The rstate return value is never used so we can remove it
2016-08-04 20:30:58 +02:00
Björn Lindqvist 875357c1bf stack-checker.*: init-known-values word not needed 2016-08-04 20:30:58 +02: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 1e0bf40b7f docs: minor fixes and amendments. 2016-05-22 07:53:21 -07:00
John Benediktsson 331483ab98 classes.algebra: removing valid-classoid? (enforced in constructors). 2016-04-13 14:29:24 -07:00
Björn Lindqvist 39d0177ddd bootstrap.image.primitives: attempt 2 at putting all primitives in this vocab
See ca82929ffb. This time it should work
because the USING: list is not updated!
2016-03-31 03:32:34 +02:00
John Benediktsson ca82929ffb Revert "bootstrap.image.primitives: make more primitives properties be declared here"
This reverts commit 80f30119c0.
2016-03-30 11:53:38 -07:00
Björn Lindqvist 80f30119c0 bootstrap.image.primitives: make more primitives properties be declared here
This commit merges the input/output-classes and flush/foldable
declarations from stack-checker.known-words to this vocab. This should
make adding primitives a little simpler (#1134).
2016-03-30 18:59:10 +02:00
John Benediktsson 71ef8a22c2 disambiguate namespaces:set and sets:set. 2016-03-29 17:14:42 -07:00
John Benediktsson 7038e8a55e stack-checker: a little cleanup. 2016-03-27 10:01:56 -07:00
John Benediktsson 292e95f867 stack-checker.known-words: simpler infer-ndip and infer-builder. 2016-03-26 18:37:25 -07:00
Doug Coleman d3bc2035a2 factor: remove rest of double paren words. 2016-03-25 03:13:27 -07:00
Björn Lindqvist bce3a88287 stack-checker.known-words: fix input class declaration for <string>
it should be { integer-array-capacity integer } ofcourse
2016-03-19 18:59:19 +01:00
Björn Lindqvist 6f9ff8813e compiler.*, stack-checker.known-words: adds the integer-array-capacity
This commit adds the integer-array-capacity declaration on a few
words. It should make loopy code compile faster and fix #1339
2016-03-18 20:46:41 +01:00
Jon Harper 19fadb6c96 prettyprinter, locale independant float printing 2016-03-08 07:55:25 -08:00
Björn Lindqvist a915d3bdb4 stack-checker.known-words: nicer stack-effect declaration code
I think it looks better to put the primitives in groups and declare them
that way than one big block.
2015-11-15 11:10:03 +01:00
John Benediktsson b644afb019 stack-checker.inlining: fix help-lint. 2015-09-23 17:10:43 -07:00
Björn Lindqvist c5b92cedcb compiler.*: even more compiler docs 2015-09-22 08:52:59 +02:00
John Benediktsson e477f6996f Fix comments to be ! not #!. 2015-09-08 16:15:10 -07:00
Björn Lindqvist cee0b19324 VM: the ffi-signal-handler and ffi-leaf-signal-handler primitives are unused 2015-09-02 21:54:15 +02:00
Björn Lindqvist 59b7a50567 VM: removing the get_datastack/retainstack/callstack primitives
they can all be implemented using the
datastack/retainstack/callstack-for primitives and the less primitives
the better!
2015-08-23 18:36:30 -07:00
John Benediktsson ceb75057da change ERROR: words from throw-foo back to foo. 2015-08-13 16:13:05 -07:00
Doug Coleman dc71bd4caa stack-checker: old bug, float>fixnum was not foldable!! 2015-08-13 14:47:01 -07:00
Doug Coleman c21a154056 core: callstack is a builtin type and a class name. rename the *stack words that grab the current stack get-foostack to avoid the callstack builtin conflict and for better symmetry with set-foostack. 2015-08-13 10:11:59 -07:00
Doug Coleman b6be8685c3 basis: ERROR: changes. 2015-08-13 03:20:39 -07:00
Doug Coleman e0d1b14e5c factor: don't need FROM: namespaces => set or namespaces:set anymore 2015-08-12 11:25:57 -05:00
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 00338f62f3 factor: put inline on same line as ; for experimentation 2015-08-10 12:55:27 -05:00
John Benediktsson dea7e0f50d stack-checker: too tired to figure out which using is required but not used. 2015-07-31 21:57:37 -07:00
John Benediktsson 31ecc5ef86 stack-checker: using cleanup. 2015-07-31 20:41:46 -07:00
John Benediktsson 5eec781b40 use ``if*`` instead of ``dup [ ] [ drop ] if``. 2015-07-20 22:24:30 -07:00
Doug Coleman 2c257f399c factor: Rename MACRO: and MACRO: to have quot as the output in stack effects. 2015-07-18 22:16:11 -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
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
Doug Coleman 892c62e1dc factor: second stab at [ ] [ ] unit-test -> { } [ ] unit-test 2015-07-03 09:39:59 -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 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 35b04f8ec1 VM: fixes a bug with the handling of 0 bignums, and declares bignum/mod
to maybe output fixnums
2015-06-27 16:14:58 +02:00
Björn Lindqvist 2f835d3666 compiler.tree.propagation.*: implements downgrading to fixnum for the
mod word, maybe a first step in solving #224

factor_vm::primitive_bignum_mod is changed so that it outputs a fixnum
if the value is small enough. Then the compiler can take advantage of
knowing that expressions like [ >bignum 10 mod ] always result in a
fixnum [-9,9] and inline more arithmetic.
2015-06-27 16:14:58 +02:00
John Benediktsson b366a06c41 use reject instead of [ ... not ] filter. 2015-05-12 18:50:34 -07:00
John Benediktsson e1d18579e7 cpu/stack-checker: fix some help-lint warnings. 2015-05-10 10:13:57 -07:00