Commit Graph

27394 Commits (fce5d4353a55b73878be8fc1503fc42d3a27ccb4)

Author SHA1 Message Date
Björn Lindqvist fce5d4353a VM: replace binary_payload_start() with slot_count()
This should simplify a little the address calculations when visiting
slots of an object
2015-07-06 22:49:38 +02:00
Björn Lindqvist 46423dfebf VM: merge strings.hpp and tuples.hpp into layouts.hpp, because those
header files were so tiny
2015-07-06 22:49:38 +02:00
Björn Lindqvist 66eb9f1fe5 VM: split the size() method into base_size() and aligned_size() 2015-07-06 22:49:38 +02:00
Doug Coleman 892c62e1dc factor: second stab at [ ] [ ] unit-test -> { } [ ] unit-test 2015-07-03 09:39:59 -07:00
Doug Coleman 9e8ceb87d6 yaml.conversion: Use the R" syntax. No big deal, just easier to parse.... 2015-07-03 08:43:31 -07:00
Doug Coleman 0124e630f0 alien.parser: add a couple of commas 2015-07-02 17:29:12 -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 431ddcaf9f unix.ffi: Fix syntax for FUNCTION: 2015-07-02 17:27:18 -07:00
Doug Coleman 9bbba4dca8 math.floats.env: Make sure answers are array. So much metapgramming in these unit tests. 2015-07-02 16:05:42 -07:00
Doug Coleman a35d43303c multiline: trailing space is necessary. new parser handles this case now. 2015-07-02 15:29:41 -07:00
Doug Coleman 1b2b39133d extra: regularizing some unit tests. removing a """ literal.. 2015-07-02 15:06:08 -07:00
Doug Coleman 40892c0302 tests: prefer ${ } instead of 1array 2015-07-02 14:56:14 -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
John Benediktsson 2ff04469af editors.atom: make it work better with Mac OS X. 2015-06-30 17:37:26 -07:00
Doug Coleman edb61c9b24 math.combinatorics: private docs again. oops 2015-06-30 10:25:21 -07:00
Doug Coleman aadb5d0b70 help.syntax: Don't throw a sequence error when article is defined poorly. 2015-06-30 09:46:36 -07:00
Doug Coleman 380790f624 math.complex: Fix PRIVATE>
There's an IN: in the middle of a PRIVATE> and that breaks things.
2015-06-30 08:58:12 -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
Doug Coleman 2c08e9a089 vim: Add tabbed window option. 2015-06-29 10:35:36 -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
Björn Lindqvist 95fa3eba19 compiler.tree.propagation.known-words: better way to assign the
"outputs" to the mod words + some more tests
2015-06-27 16:14:58 +02: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 0d02ff8e40 compiler.tree.propagation.*: new and fixed tests for the new propagation
behaviour for mod
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
Björn Lindqvist e14d7a3508 VM: make the bignum_to_* family free functions, they don't need to be
members of factor_vm
2015-06-27 16:14:58 +02:00
Björn Lindqvist 72fe466ac9 compiler.tree.propagation.known-words: more precise output class
assignment for all mod words

The compiler can better optimize a quotation like [ 20 fixnum-mod 55 + ]
if it knows fixnum-mod outputs a fixnum.
2015-06-27 16:14:57 +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
Doug Coleman fdcbe26cbc compiler.graphviz: use graphviz finder word. 2015-06-24 19:25:16 -07:00
Doug Coleman 09e4606791 compiler.cfg.debugger: alien-invoke insn nodes were printing double quotes in the dot file output. If you would pprint a string, instead print that string so the double quotes are not present in the output. 2015-06-24 18:46:39 -07:00
Doug Coleman b3f953c6b4 graphviz.render: Find the graphviz binary using find-in-standard-login-path. 2015-06-24 18:45:51 -07:00
Doug Coleman 9d2c641a99 io.standard-paths: On mac when you launch Factor from the doc it doesn't have the login shell PATH variable for paths such as /usr/local/bin for homebrew. Add a word that finds things in this path as well.
Note that launching a binary found this way needs the full path, as the PATH variable itself is not modified and the binary will still not be in PATH if it wasnt before.
2015-06-24 18:44:09 -07:00
John Benediktsson 8325837b84 locals.parser: fix help-lint warning. 2015-06-22 18:42:16 -07:00
John Benediktsson 7ffd9db9c9 vocabs.parser: adding back unuse-words. 2015-06-22 16:32:22 -07:00
John Benediktsson e69d0a7b45 locals.parser: only need to clone manifest. 2015-06-22 15:59:15 -07:00
John Benediktsson fc467b72a5 functors: make sure to unuse functor-words, some cleanup. 2015-06-22 15:58:59 -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 16abe47b03 compiler.tree.propagation: fix tests for bit? inlining. 2015-06-17 20:52:05 -07: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