Slava Pestov
288090d993
math.parser: expose a format-float primitive for use by formatting vocabulary
2010-04-13 21:21:28 -07:00
Slava Pestov
da6bcbedfc
Replace 'untested' tag with 'not loaded' and 'not tested' tags
2010-04-13 18:43:01 -07:00
Slava Pestov
a3e6de5e6a
io.files: fix unit test for forget-tests? flag
2010-04-13 06:14:53 -07:00
Slava Pestov
3e91a7f280
sets: fix performance regression in all-unique? word
2010-04-13 04:43:47 -07:00
Slava Pestov
67e24b1d2a
compiler.codegen: need to do name decoration with fastcall as well
2010-04-12 18:10:25 -05:00
Slava Pestov
145e6428ba
Fixing load errors
2010-04-10 17:24:44 -07:00
Slava Pestov
0202c35d2a
alien: now that fastcall works better it doesn't need to be private
2010-04-10 16:57:07 -07:00
Slava Pestov
46a1fb2646
Merge remote branch 'origin/abi-symbols' into fastcall-madness
2010-04-10 00:10:33 -07:00
Slava Pestov
0d00160f4c
combinators: fix load error
2010-04-06 16:48:30 -04:00
Slava Pestov
e0196da1c8
combinators: call( now throws an error if a quotation that was declared as never returning actually returns
2010-04-06 16:42:30 -04:00
Joe Groff
c3f8f5067e
catch merge conflicts in source and report them as such
2010-04-06 13:34:26 -07:00
Joe Groff
3e0d86f355
Merge branch 'master' of git://factorcode.org/git/factor into abi-symbols
...
Conflicts:
basis/compiler/tests/alien.factor
2010-04-06 12:30:15 -07:00
Slava Pestov
d6fb134d5f
kernel: add examples for if, when, unless and if*
2010-04-05 19:07:10 -04:00
Slava Pestov
74640b7f71
Get green threads working on Windows
...
- store stack base and limit in TIB
- set up a frame-based structured exception handler in each context's callstack
- boot.x86.32.image has now been replaced by boot.winnt-x86.32.image and boot.unix-x86.32.image
2010-04-03 20:24:33 -04:00
Slava Pestov
be024c228c
continuations: faster with-datastack
2010-04-03 19:10:21 -04:00
Joe Groff
2240520e2d
update some more doc examples using old abi strings
2010-04-02 23:16:53 -07:00
Slava Pestov
0faa3bcf4a
vm: pre-allocate context alien
2010-04-02 00:02:21 -04:00
Joe Groff
c12424f834
update alien docs to mention abi symbols
2010-04-01 19:25:24 -07:00
Joe Groff
553b9fcd93
make "fastcall" symbol private since it doesn't really work in all cases
2010-04-01 18:34:15 -07:00
Joe Groff
ef884ef7f2
Merge branch 'master' into abi-symbols
2010-04-01 15:28:36 -07:00
Joe Groff
9d3326658c
alien: add singletons for thiscall and fastcall
2010-03-31 20:30:04 -07:00
Joe Groff
565e3383ab
add singletons for stdcall, cdecl, mingw abis
2010-03-31 19:17:06 -07:00
Slava Pestov
fb2ecab614
threads: delete old contexts immediately instead of handing them off to a 'context recycler' thread
2010-03-30 21:47:48 -04:00
Slava Pestov
c36d85ab47
sets, hash-sets, bit-sets: fix some typos in the documentation
2010-03-30 01:10:39 -04:00
Slava Pestov
c7142e4281
threads: use context-switching primitives
2010-03-29 20:40:17 -04:00
Slava Pestov
8ab0d12e8d
vm: callstack errors were flipped
2010-03-29 01:53:30 -04:00
Daniel Ehrenberg
240c6819a9
Merge branch 'master' into conditional
2010-03-28 19:49:32 -04:00
Slava Pestov
43ac59a9f4
kernel: don't test callstack overflow on OpenBSD or Windows
2010-03-28 17:58:05 -05:00
Slava Pestov
b6dfdcb909
set-context and start-context primitives can now pass parameters around
2010-03-27 08:13:57 -04:00
Slava Pestov
b5f7e91bdc
vm: report callstack overflow
2010-03-27 07:45:11 -04:00
Slava Pestov
1717b8d0f7
Implement start-context and set-context primitives
2010-03-27 02:56:11 -04:00
Slava Pestov
560c119cd2
vm: actually use context callstacks when running code
2010-03-26 22:44:43 -04:00
Slava Pestov
dde21c3cc4
lexer: fix output type of map-tokens
2010-03-26 16:31:48 -04:00
Slava Pestov
a566d8cc6b
lexer: each-token and map-tokens did not handle EOF properly
2010-03-26 03:42:07 -04:00
Daniel Ehrenberg
887c289c6c
Merge branch 'master' of git://factorcode.org/git/factor into conditional
2010-03-19 06:46:16 -04:00
Daniel Ehrenberg
7dd44bfccf
Docs for require-when
2010-03-19 06:45:55 -04:00
Daniel Ehrenberg
bcba3ab5ec
Untested tags for vocabs.loader.test.[mno]
2010-03-19 06:34:25 -04:00
Slava Pestov
6aee6b3adc
Add context-specific special object table, generalizing catchstack_save and current_callback_save fields of context struct
2010-03-18 22:06:00 +13:00
Daniel Ehrenberg
9e602d213f
Renaming require-if to require-when
2010-03-18 00:24:41 -04:00
Daniel Ehrenberg
043578ca1d
require-if loads vocabs conditionally, now or later
2010-03-18 00:00:32 -04:00
Daniel Ehrenberg
67912db5f1
Making <hash-set> faster
2010-03-17 20:12:25 -04:00
Daniel Ehrenberg
7fcc03b8b6
Fixing spacing in the sets docs
2010-03-16 21:30:17 -04:00
Daniel Ehrenberg
1da6ea957a
Fixing bugs with sets, including adding new within and without words
2010-03-16 20:17:26 -04:00
Daniel Ehrenberg
512fe14e4e
Merge branch 'bags' of git://github.com/littledan/Factor
...
Conflicts:
basis/compiler/cfg/ssa/construction/tdmsc/tdmsc.factor
basis/furnace/auth/auth.factor
basis/stack-checker/backend/backend.factor
2010-03-16 13:28:00 -04:00
Joe Groff
0d3015cd1c
fill out row variables docs
2010-03-11 11:57:12 -08:00
Joe Groff
64c064fb3e
another typo in effects syntax
2010-03-11 11:23:48 -08:00
Joe Groff
5bccc96498
typo in <effect> docs
2010-03-11 11:22:28 -08:00
Joe Groff
c35dd7c2ef
make effect<= work with univariable stack effects, deny all bivariable stack effects
2010-03-11 01:37:33 -08:00
Joe Groff
8b1b7b20d5
effect-variable -> row-variable
2010-03-11 01:25:13 -08:00
Joe Groff
d001c1f375
carve up effects.parser too
2010-03-11 01:03:40 -08:00
Joe Groff
6bf709429b
fix effect of <tuple-boa> primitive
2010-03-09 22:38:41 -08:00
Joe Groff
18f3df9d4a
more help-lint
2010-03-09 21:02:43 -08:00
Joe Groff
b9004a4fff
fix up sequences help-lint
2010-03-09 20:29:44 -08:00
Joe Groff
8a52aec6da
effects: docs for <effect>, <terminated-effect>, <variable-effect>
2010-03-09 13:50:58 -08:00
Joe Groff
e7968ceffc
mop up compiler errors from macosx load-all
2010-03-09 00:56:07 -08:00
Joe Groff
191ac353fd
generalize stack effects so we can bootstrap with the stricter stack effect checking
2010-03-08 23:38:10 -08:00
Joe Groff
10ca2ba695
add polymorphic effects for lexer:each-token, map-tokens
2010-03-08 18:55:46 -08:00
Joe Groff
cb656c6e6b
add polymorphic stack effects to continuations:recover, attempt-all
2010-03-08 18:36:40 -08:00
Joe Groff
5597ee691f
add documentation about stack effect variable syntax and the effect on the stack checker
2010-03-08 17:17:47 -08:00
Joe Groff
e5c2344ce4
sequences: effects of push-if and push-either were too strict
2010-03-07 21:56:40 -08:00
Joe Groff
83c81b288f
polymorphize splitting private combinators
2010-03-07 18:07:59 -08:00
Joe Groff
17df15280e
generalize stack effect of while, until, and produce
2010-03-05 23:01:22 -08:00
Joe Groff
a3033e885a
make effect variables part of effect syntax, stored out of band in effect tuple
2010-03-05 13:30:10 -08:00
Joe Groff
85f30987e2
spray some polymorphic stack effects on kernel, math, and sequences
2010-03-05 00:21:10 -08:00
Joe Groff
afaaf30679
Merge branch 'lexer-parsing-word-errors'
2010-03-02 20:46:23 -08:00
Daniel Ehrenberg
7364608417
Merge branch 'master' of git://factorcode.org/git/factor into bags
2010-03-02 17:04:45 -05:00
Joe Groff
ac979619e6
record the C++ compiler version in the VM, and expose it with a vm-compiler word
2010-03-01 13:32:07 -08:00
Joe Groff
2c5deba1d1
parse-tokens had two $notes sections. oops!
2010-03-01 11:50:16 -08:00
Joe Groff
51541bb35b
lexer, parser: update docs on "parse-tokens" and add docs for "each-token", "map-tokens"
2010-03-01 11:47:57 -08:00
Joe Groff
9bf5c76771
lexer: add "each-token" and "map-tokens", which are equivalent to "parse-token _ each/map" but incremental. update a smattering of parsing words (such as USING:, SYMBOLS:, etc.) to use each-token/map-tokens
2010-02-28 22:19:43 -08:00
Joe Groff
bb58cf4d16
classes.tuple.parser: throw bad-slot-name immediately when an invalid slot name in a tuple/struct literal is scanned
2010-02-28 20:14:16 -08:00
Joe Groff
163c26ad72
lexer, parser: show initial parsing word line as part of lexer-errors
2010-02-28 13:01:03 -08:00
Daniel Ehrenberg
da57436180
Finishing eliminating prune as a synonym of members
2010-02-27 14:52:24 -05:00
Daniel Ehrenberg
7ad324837b
Updated documentation for sets
2010-02-27 00:27:40 -05:00
Daniel Ehrenberg
7cd3360cdd
Fixing ambiguity between sets and namespaces in many unit tests and furnace.auth
2010-02-26 17:17:40 -05:00
Daniel Ehrenberg
6298203b4c
Making all of basis and extra unambiguous for sets/namespaces
2010-02-26 16:28:38 -05:00
Daniel Ehrenberg
7074979745
Moving new-sets to sets
2010-02-26 16:01:01 -05:00
Daniel Ehrenberg
73a990a4b8
Making it fast to create a new hashset
2010-02-26 13:24:26 -05:00
Daniel Ehrenberg
366f36d73f
Finishing porting sets features to new-sets
2010-02-26 13:22:56 -05:00
Daniel Ehrenberg
b76c82048d
Making propagation and tuple.parser refer to new-sets; adding some missing features from sets into new-sets
2010-02-26 12:07:37 -05:00
Daniel Ehrenberg
e43312d780
Moving new-sets and hash-sets to core
2010-02-26 11:01:57 -05:00
Slava Pestov
86b7ba95a8
sequences: fix help lint
2010-02-26 00:44:48 +13:00
Slava Pestov
7826543d2e
sequences: add cartesian-each, cartesian-map, cartesian-product words to eliminate some duplication throughout the codebase
2010-02-25 20:54:57 +13:00
Slava Pestov
e5aa02571f
sequences: add suffix! to destructive sequence ops article
2010-02-25 05:57:09 +13:00
Slava Pestov
17b095a524
Slices over specialized arrays can now be passed to C functions, written to binary output streams, and given to malloc-byte-array
2010-02-25 04:50:31 +13:00
Slava Pestov
af0ddd5985
Specialized arrays, structs and other objects responding to the >c-ptr / byte-length protocol can now be written to binary streams
2010-02-24 20:18:41 +13:00
Joe Groff
71d169e420
fix typos in alien docs
2010-02-23 11:56:10 -08:00
Joe Groff
818bbb4984
update docs about pointer types
2010-02-23 11:03:48 -08:00
Slava Pestov
ae25cfe712
Get foldable and flushable declarations working on typed words
2010-02-24 00:16:55 +13:00
Slava Pestov
f0aa694c7e
effects.parser: throw a proper no-word error if effect references an unknown class word
2010-02-23 23:57:13 +13:00
Joe Groff
21ab2ef6e7
repeated runs of classes.tuple test would fail because partially defined classes.tuple.tests:bad-superclass type would shadow classes.tuple:bad-superclass
2010-02-22 19:35:52 -08:00
Doug Coleman
949f658928
Fix a couple of typos in complex number docs
2010-02-22 17:39:30 -06:00
Slava Pestov
db3a23ffe0
parser: auto-use prefers non-private words to private words
2010-02-22 19:25:08 +13:00
Slava Pestov
2ab1be755c
vocabs.loader: tweak platform checking logic
2010-02-22 13:17:46 +13:00
Slava Pestov
2f70ebd4d0
vocabs: document platforms.txt
2010-02-21 20:38:09 +13:00
Slava Pestov
6367c8ec85
native-thread-test: clean up
2010-02-21 17:48:05 +13:00
Slava Pestov
6e516789d5
continuations: add a throw-continue word for resumable errors, and change vocabs.metadata to throw a resumable error if the current platform is not supported
2010-02-20 13:41:33 +13:00
Slava Pestov
1915b7e955
vocabs.loader.test.a: fix
2010-02-20 13:31:51 +13:00
Slava Pestov
95bfc8a240
vocabs.metadata: replace unportable tag with a platforms.txt file for more fine-grained control. Rename unportable tag to untested for remaining cases
2010-02-20 13:30:49 +13:00
Slava Pestov
51922a2fb9
make: documentation tweak
2010-02-20 12:18:29 +13:00
Slava Pestov
6501480a0e
Fix two problems with recompilation: predicate constant folding was recording unsatisfied dependencies in some cases, and literal tuple instances of forgotten classes would cause problems for method inlining
2010-02-20 12:01:47 +13:00
Philipp Brüschweiler
eb8344a5a5
assocs: doc fixes
2010-02-19 11:26:01 +01:00
Philipp Brüschweiler
caf978588b
sequences: clarify some stack effect and examlpes in docs
2010-02-19 11:26:01 +01:00
Philipp Brüschweiler
db663548f9
math: typo in rem docs
2010-02-19 11:23:20 +01:00
Slava Pestov
220dd88a2c
Update documentation for new help lint check
2010-02-19 12:31:52 +13:00
Joe Groff
e70fcf159d
Revert "fix append-path and vocab-dir to use path-separator"
...
This reverts commit 0f3026b871
.
2010-02-17 16:06:45 -08:00
Joe Groff
97654b67c1
Revert "io.pathnames: make absolute-path? public"
...
This reverts commit 48756c9fca
.
2010-02-17 16:06:30 -08:00
Joe Groff
1250a0fcfd
Revert "make io.pathnames tests path-separator-neutral"
...
This reverts commit f344c00629
.
2010-02-17 16:06:13 -08:00
Joe Groff
f26460450e
Revert "vocabs.loader: make vocab-dir+ use path-separator too"
...
This reverts commit 2dcc720629
.
2010-02-17 16:05:59 -08:00
Joe Groff
64a2748280
Merge branch 'master' of git://factorcode.org/git/factor
2010-02-17 12:50:46 -08:00
Slava Pestov
33bbd05507
io.pathnames: fix doc typo
2010-02-18 08:38:45 +13:00
Joe Groff
052a0cb6d4
Merge branch 'master' of git://factorcode.org/git/factor
2010-02-17 11:37:14 -08:00
Slava Pestov
31ccfa2e5d
Fix unit test failures
2010-02-18 04:58:30 +13:00
Slava Pestov
c5259f2e2c
classes.tuple: document final class declaration
2010-02-18 04:13:34 +13:00
Slava Pestov
c4c14c7ceb
classes.tuple: fix screwup
2010-02-18 03:00:43 +13:00
Slava Pestov
60296be964
typed: only unbox final classes. Fixes bug reported by littledan
2010-02-18 02:39:12 +13:00
Slava Pestov
01824d41be
Add support for final tuple classes which cannot be subclassed: TUPLE: foo ... ; final
2010-02-18 02:19:57 +13:00
Slava Pestov
41433da61b
core: minor cleanups
2010-02-18 01:57:22 +13:00
Slava Pestov
63928191e7
Minor documentation fixes
2010-02-18 01:19:39 +13:00
Slava Pestov
36cff8ed6e
combinators: better wrong-values error
2010-02-18 01:19:26 +13:00
Joe Groff
27cfeec43a
vocabs.loader: make vocab-dir+ use path-separator too
2010-02-16 19:29:42 -08:00
Joe Groff
6ac33f6dea
make io.pathnames tests path-separator-neutral
2010-02-16 19:28:51 -08:00
Joe Groff
f59f28d788
io.pathnames: make absolute-path? public
2010-02-16 19:01:44 -08:00
Joe Groff
4a182cfbad
fix append-path and vocab-dir to use path-separator
2010-02-16 18:40:40 -08:00
Slava Pestov
6620a12cde
Merge branch 'deploy-resources' of git://factorcode.org/git/factor into deploy-resources
2010-02-17 00:17:09 +13:00
Slava Pestov
bd0ca0e2aa
Clean up some tags
2010-02-17 00:12:55 +13:00
Slava Pestov
f01487eb83
A few documentation fixes
2010-02-17 00:05:36 +13:00
Slava Pestov
a495f8e099
assocs: move conjoin and conjoin-at to assoc docs
2010-02-16 15:29:46 +13:00
Joe Groff
bd2b72ad08
update vocabs and tools.deploy docs to mention icon files
2010-02-15 14:18:26 -08:00
Joe Groff
f06e278e17
Merge branch 'master' of git://factorcode.org/git/factor
...
Conflicts:
basis/tools/deploy/shaker/shaker.factor
2010-02-15 11:50:43 -08:00
Joe Groff
45c85d1851
update vocabs and deploy docs to mention resources.txt
2010-02-15 10:14:30 -08:00
Slava Pestov
cd1986a906
classes: fix regression from recent bug fix
2010-02-15 23:46:55 +13:00
Slava Pestov
3e5e3a6d3f
classes: call reset-generic on predicate word to avoid redefinition problems (reported by littledan)
2010-02-15 18:34:45 +13:00
Slava Pestov
a118f208dc
compiler.tree.propagation, compiler.tree.escape-analysis: make these passes handle constants in a more robust way in compilation units involving tuple reshaping
2010-02-12 02:50:59 +13:00
Joe Groff
09a4080772
Merge branch 'master' of git://factorcode.org/git/factor
2010-02-09 19:42:54 -08:00
Slava Pestov
a112e52fe7
sequences: remove outdated comment
2010-02-10 16:12:02 +13:00
Slava Pestov
1c9a95122a
math.integers: remove a -rot usage
2010-02-10 15:44:49 +13:00
Slava Pestov
1a1a61549f
sequences: remove a -rot usage
2010-02-10 15:44:15 +13:00
Slava Pestov
83410e23cc
classes.algebra: remove class<=> -- it's never used and has incorrect semantics
2010-02-10 15:04:48 +13:00
Joe Groff
a8e771c28f
update syntax-floats for changes to math.parser. clarify docs on hex float literals
2010-02-08 10:42:04 -08:00
Joe Groff
0f651c8506
math.parser: support leading + on significand and exponent so string>number can be a proper superset of C strto* functions
2010-02-07 14:21:59 -08:00
Joe Groff
ce1ff01851
math.parser: add unit tests to ensure that "1e2" parses as 100.0 in decimal and as integer 1E2 in bases >= 15 (it does now)
2010-02-07 13:09:59 -08:00
Joe Groff
90ea5796f4
math.parser: fix digit> bug found by Blei
2010-02-07 13:04:20 -08:00
Slava Pestov
747974f4ae
vm: nuke unused (string>float) primitive
2010-02-08 08:16:56 +13:00
Slava Pestov
4e766a0a12
math.parser: clean up and merge new-math-parser branch
2010-02-08 01:39:18 +13:00
Slava Pestov
afee6ccfcd
Merge branch 'new-math-parser' of git://factorcode.org/git/factor into new-math-parser
2010-02-07 23:28:18 +13:00
Joe Groff
98c9b79881
assocs: use collector-for in assoc>map to create a temporary vector appropriate for the exemplar
2010-02-06 23:59:34 -08:00
Slava Pestov
f20b4e5607
tools.deploy.shaker: don't try to intern all word props anymore
2010-02-04 17:40:53 +13:00
Slava Pestov
10fe9a811b
Fix classes.tuple tests and assocs help lint
2010-02-04 08:04:47 +13:00
Slava Pestov
35acd71551
compiler.units: fix bug that came up recently with nested compilation units
2010-02-04 03:20:48 +13:00
Slava Pestov
11be5a4bd5
Rename update to assoc-union!, add assoc-filter! assoc-diff! words
2010-02-04 02:55:00 +13:00
Slava Pestov
26cae00eeb
Add code heap introspection primitive to VM, and make a code-blocks word in tools.memory that wraps a useful interface around this. Add a lookup-return-address word and use this in tools.disassembler.utils
2010-02-03 23:11:32 +13:00
Slava Pestov
0b278adb5a
Test fixes
2010-02-03 23:11:31 +13:00
Slava Pestov
f8474c3856
Documentation improvements
2010-02-03 23:11:30 +13:00
Slava Pestov
3259ef4bec
vm: modify-code-heap primitive now takes a pair of parameters, update-existing? and reset-pics?. If no generic words were changed, PICs do not need to be reset. If no existing words were redefined, the code heap doesn't have to be traced at all. Speeds up compilation of PEGs since those create lots of compilation units
2010-02-03 23:11:28 +13:00
Slava Pestov
0b207caa87
combinators: fix typo
2010-02-03 23:11:28 +13:00
Slava Pestov
3e8d21b493
Clarify documentation for compilation units and 'undefined' error
2010-02-03 23:11:28 +13:00
Slava Pestov
2879299999
combinators: ricing call-effect
2010-02-03 23:11:26 +13:00
Slava Pestov
a005e678db
classes.tuple: make error slots read only for small space savings
2010-02-03 23:11:25 +13:00
Slava Pestov
55a89ec9c2
Better error message for call( when quotation has the wrong effect
2010-02-03 23:11:25 +13:00
Slava Pestov
df55fed478
generic: rename method-body predicate class to method
2010-02-03 23:11:24 +13:00
Slava Pestov
fbf078d4b3
words: undefined error now contains the word in question
2010-02-03 23:11:23 +13:00
Slava Pestov
e32d5fd0ac
Minor updates to string documentation
2010-02-03 23:07:53 +13:00
Slava Pestov
080609c281
Minor doc fixes
2010-02-03 22:56:32 +13:00
Brad Christensen
7381d47103
More documentation cleanup.
2010-02-03 00:05:04 -07:00
Brad Christensen
9b9322ea1e
A number of documentation fixes and cleanup.
2010-02-03 00:05:03 -07:00
Brad Christensen
1404bf71d5
Minor doc cleanup.
2010-02-03 00:05:02 -07:00
Slava Pestov
e929d906ce
classes: If a tuple class with subclasses is redefined into something that's not a tuple class, subclasses are changed to inherit from 'tuple' instead of being forgotten. Also, changing the metaclass of a union or intersection member no longer removes it from the union or intersection. Finally, make some internal words private
2010-02-01 02:48:39 +13:00
Slava Pestov
3addfcc2ad
classes: more robust code for detecting circular inheritance, move it out of classes.tuple since predicate classes need the same check too
2010-02-01 00:08:18 +13:00
Slava Pestov
8432f4c459
Fix a couple of unit tests that were relying on the old compiler crossref structures
2010-01-31 23:26:55 +13:00
erikc
0770b940b0
Merge up
2010-01-30 20:48:06 -08:00
erikc
f33c73bf94
Merge up
2010-01-30 20:39:43 -08:00
Slava Pestov
5ed0bc72aa
Merge git://github.com/littledan/Factor into littledan
2010-01-31 02:54:58 +13:00
Slava Pestov
a22fadaee4
words: fix unit test
2010-01-31 02:50:47 +13:00
Slava Pestov
2c63161c84
stack-checker.dependencies: make conditional dependencies more robust
2010-01-31 01:55:35 +13:00
Slava Pestov
e45816cf9b
math: docs fix
2010-01-30 21:14:41 +13:00
Slava Pestov
7189342c19
compiler.units: fix call-next-method call site recompilation
2010-01-30 09:29:01 +13:00
Slava Pestov
09ead56652
Re-work flushed dependencies into new compiler cross-referencing framework
2010-01-30 09:29:00 +13:00
Slava Pestov
26f311279c
Re-defining a tuple class now invalidates cached quotation stack effects
2010-01-30 09:28:59 +13:00
Slava Pestov
c027046857
New 'conditional dependency' mechanism for more accurate recording of recompilation information
2010-01-30 09:28:57 +13:00
Slava Pestov
29fc287618
classes.tuple: documentation fix
2010-01-30 09:28:56 +13:00
Slava Pestov
f031a97084
Work in progress: record constant-folds of predicate words, and call-next-method invocations, in the same way that method inlining are recorded, for greater recompilation accuracy
2010-01-30 09:28:56 +13:00
Slava Pestov
4f68808a72
Rename predicate-word to create-predicate-word and add a new predicate-word word
2010-01-30 09:28:55 +13:00
Slava Pestov
bd479db2f8
Fix regression when forgetting classes
2010-01-30 09:28:55 +13:00
Slava Pestov
34287fd9d6
Minor documentation updates
2010-01-30 09:28:54 +13:00
Slava Pestov
8b19b56a1c
classes.mixin: privacy please
2010-01-30 09:28:53 +13:00
Slava Pestov
830e25c70b
More changes so that mixins trigger even less recompilation
2010-01-30 09:28:53 +13:00
Slava Pestov
066bf9a42f
classes.algebra: couple more tests
2010-01-30 09:28:53 +13:00
Slava Pestov
e6d1388dcc
Clean up class algebra a bit, and change mixins to recompile less, taking advantage of new semantics
2010-01-30 09:28:52 +13:00
Slava Pestov
af41dc6169
Trying to fix mixin semantics
2010-01-30 09:28:51 +13:00
Doug Coleman
1f76ab2d45
try-find is just attempt-all. oops
2010-01-28 23:28:11 -06:00
Doug Coleman
88e20af800
add some unit tests for try-find
2010-01-28 23:12:31 -06:00
Doug Coleman
46f2515ba8
add try-find for random.windows
2010-01-28 22:44:31 -06:00
Slava Pestov
6cdf4de4eb
Fix and clean up stage1 bootstrap
2010-01-28 17:30:35 +13:00
Slava Pestov
d215c108f3
core: fix bad interaction between stage1 bootstrap and manifest update code
2010-01-28 03:02:54 +13:00
Slava Pestov
73cbf46760
vocabs.parser: a couple of fixes
2010-01-27 23:20:17 +13:00
Slava Pestov
ca19d44350
Throw a nice error at parse time if an attempt is made to declare a GENERIC: or MACRO: word inline. Such words cannot be inlined, and doing this before previously result in confusing error messages
2010-01-27 21:00:10 +13:00
Slava Pestov
3237e48b2d
vocabs.parser: The manifest is now a definition observer, and updates itself when compilation units complete. This helps keep listener's search path up to date if vocabularies and words are renamed, defined, and undefined
...
- This makes forget-vocab more reliable in the listener
- It also fixes the problem of listener sessions where QUALIFIED: was used referring to outdated words if the vocabulary in question was reloaded
2010-01-27 20:49:26 +13:00
Slava Pestov
b63ec30449
classes.tuple: tests were changing superclass of vocab tuple
2010-01-27 20:24:33 +13:00
Slava Pestov
94c93f0bc7
vm: 'become' primitive needs to update literal references in code blocks
2010-01-27 18:42:31 +13:00
Daniel Ehrenberg
19d551a544
Merge branch 'master' of git://factorcode.org/git/factor
2010-01-26 14:14:05 -06:00
Daniel Ehrenberg
52f2ac2bb9
Tests for propagation additions; making fixnum-bit? inline
2010-01-25 20:15:17 -06:00
Slava Pestov
de3168ad71
Various documentation improvements
2010-01-26 01:01:12 +13:00
Doug Coleman
a16d8db145
move sequence-hashcode-step to private
2010-01-22 16:30:22 -06:00
Doug Coleman
1519e0ba69
move (accumulate) to sequences.private
2010-01-22 15:04:13 -06:00
Doug Coleman
8c1d202b4c
Rename accumulator to collector, pusher to selector
2010-01-22 15:00:53 -06:00
Doug Coleman
40cf302d2d
Fix image save on Windows
2010-01-22 12:59:36 -06:00
Doug Coleman
bb2f455747
Save images to a temporary file first, then call MOVE_FILE to avoid writing incomplete and truncated images.
2010-01-22 12:59:20 -06:00
Daniel Ehrenberg
fbe3add21d
Merge branch 'master' of git://factorcode.org/git/factor
2010-01-20 00:16:55 -06:00
Daniel Ehrenberg
d3590ea210
Merge branch 'master' of git://factorcode.org/git/factor
...
Conflicts:
basis/compiler/tree/propagation/transforms/transforms.factor
2010-01-20 00:15:55 -06:00
Slava Pestov
ee71f87cfd
kernel: remove bogus test
2010-01-20 19:13:58 +13:00
Daniel Ehrenberg
aa1651032d
Adding compiler transforms in propagation
2010-01-20 00:10:49 -06:00
Slava Pestov
00328c85e0
vm: remove vm-ptr primitive
2010-01-20 17:06:49 +13:00
Slava Pestov
5606825e8b
vm: remove primitive table, non-optimizing compiler now looks up primitives with dlsym()
2010-01-19 20:00:33 +13:00
Slava Pestov
8836ce2581
Fix performance regression in vector ops on specialized arrays, tweak definition of <slice> and 2map-reduce to generate fewer conditionals
2010-01-19 17:48:10 +13:00
Slava Pestov
637a77c018
Stop wearing monocle and use the term "entry point" instead of "XT" throughout VM and compiler; also remove two unused relocation types
2010-01-18 20:54:00 +13:00
Slava Pestov
9bc328b50d
slots: fix declaration unit test
2010-01-17 00:30:36 +13:00
Slava Pestov
d0dc6ba8af
slots, classes.tuple: make 'integer'-declared slots call >integer on the new value before storing it in, and remove code duplication between type checks in writer methods and boa constructors
2010-01-16 19:29:19 +13:00
Slava Pestov
dd0571e69a
io.buffers: fix buffer-until for iota (reported by Sascha Matzke)
2010-01-16 18:44:24 +13:00
Slava Pestov
7f7e1e4e1d
Help lint fixes for iota
2010-01-15 17:04:14 +13:00
Doug Coleman
4e6a5a772f
Merge branch 'master' of git://factorcode.org/git/factor
...
Conflicts:
core/sequences/sequences-docs.factor
2010-01-14 17:22:02 -06:00
Doug Coleman
9356da6fb3
Fix a few integers-as-sequences in docs
2010-01-14 17:20:43 -06:00
Slava Pestov
4cce9259e1
math.parser: fix docs -- maximum radix is 16 not 36
2010-01-15 08:36:40 +13:00
Slava Pestov
ed37ed6b70
parser: make 'CONSTANT: foo<newline>3' work in the listener
2010-01-15 08:30:26 +13:00
Slava Pestov
e8378b3dc6
generic, sequences: update docs for iota
2010-01-15 08:23:27 +13:00
Doug Coleman
4c71d71907
random is generic now -- iota random -> random
2010-01-14 12:48:57 -06:00
Slava Pestov
df4fb4a3ee
Removing integers-as-sequences
2010-01-15 07:15:33 +13:00
Slava Pestov
47a5e96547
Rework min and max so that behavior with floats and NaNs is consistent between generic arithmetic and open-coded float intrinsics
2010-01-13 22:20:16 +13:00
Slava Pestov
1c10196c43
Rename kernel.private:getenv/setenv to special-object/set-special-object to mirror recent renaming on the VM side
2010-01-13 18:08:18 +13:00
Slava Pestov
9471fd1a33
alien: fix help lint
2010-01-07 20:54:27 +13:00
Slava Pestov
46a1b1cc46
alien: document alien-assembly
2010-01-07 17:57:48 +13:00
Slava Pestov
235f3238f5
Add alien-assembly form for inline assembler, works like alien-invoke except calls a user-supplied quotation instead of generating a subroutine call. Replaces FPU status control, SSE detection and read timestamp routines in vm/cpu-x86.*S
2010-01-07 17:39:22 +13:00
Slava Pestov
1219040865
compiler.units: fix faulty unit test
2010-01-06 23:52:14 +13:00
Slava Pestov
c04fef10c7
vm: ensure that non-optimized calls to generic words which have not yet been compiled can still work
2010-01-06 23:49:14 +13:00
Slava Pestov
36d2ac8921
vm: move c_to_factor, lazy_jit_compile_impl, throw_impl, set_callstack assembly routines into non-optimizing compiler for x86-64
2010-01-06 15:47:36 +13:00
Slava Pestov
ba5b90e063
Change how non-volatile register preservation is done in alien callbacks, with the aim of fixing callbacks on PowerPC, and to eventually eliminate assembly code from VM
...
- Simplify calculation of offset in relocation table
- Open-code %alien-callback
- Remove magic_frame hack from context objects
- Move magical return instruction from optimizing compiler backend into callback entry stub
2010-01-03 01:11:51 +13:00
Slava Pestov
38f06b8558
continuations: remove outdated comment
2009-12-28 12:42:25 +13:00
Slava Pestov
63023ae227
kernel: fix set-callstack docs
2009-12-28 12:41:45 +13:00
Slava Pestov
819e46f42b
kernel: fix stack effect declarations of call-clear and set-callstack, and add a unit test for call-clear
2009-12-26 15:38:01 +13:00
Slava Pestov
08cd0df788
primitives.factor: move call-clear into kernel.private since its unsafe
2009-12-26 15:27:39 +13:00
Slava Pestov
eb0a28aa54
Merge branch 'master' of git://factorcode.org/git/factor
2009-12-15 07:21:17 -05:00
Slava Pestov
f6c0c64518
threads, io.streams.c: cleanups
2009-12-15 07:20:41 -05:00
Slava Pestov
0068bce934
vm: big overhaul of non-optimizing compiler
...
- change some primitives into sub-primitives: fixnum+ fixnum- fixnum* inline-cache-miss inline-cache-miss-tail
- rename some relocation types for clarity
- some other minor re-organizations and cleanups
2009-12-15 07:20:09 -05:00
Doug Coleman
9fea67f3ff
triyng to rice crc32 a bit
2009-12-13 02:03:06 -06:00
Slava Pestov
4cea294cfd
sequences: fix map-reduce and 2map-reduce docs, reported by Ben Schlingelhof
2009-12-12 15:16:11 -05:00
Doug Coleman
26de809d57
link pusher and accumulator in docs
2009-12-07 16:26:24 -06:00
Joe Groff
67cc1c01be
Merge branch 'master' into simd-cleanup
2009-11-26 16:14:46 -08:00
Slava Pestov
0612bc6177
Factor source files should not be executable
2009-11-21 17:50:43 -06:00
Slava Pestov
24c3ddbbde
Clean up startup/shutdown hook code
2009-11-20 00:57:49 -06:00
Doug Coleman
adcb0df0c4
fix stack effects for nanosseconds, update io backends for nanos
2009-11-19 04:51:47 -06:00
Slava Pestov
40348ed0ce
combinators: fix typo in docs
2009-11-19 02:08:14 -06:00
Doug Coleman
f4450653a9
remove system-millis and update vocabs to use system-micros or nano-count
2009-11-18 20:56:09 -06:00
Doug Coleman
41b931a615
fix system docs
2009-11-18 18:34:16 -06:00
Doug Coleman
11c9c6004f
document nano-count, move monotonic-clock to hell
2009-11-18 16:33:10 -06:00
Doug Coleman
6f7ec206a1
rename millis to system-millis, micros to system-micros, add nano-count
2009-11-18 15:58:48 -06:00
Doug Coleman
b4206f5252
initial commit to nanos branch to replace micros
2009-11-18 04:20:05 -06:00
Slava Pestov
e30d275e41
compiler.cfg: 'basic-block new hashcode' should not throw an exception; fixes tools.deploy.test.11
2009-11-16 02:01:36 -06:00
Doug Coleman
cc194416f9
Merge branch 'master' into startup
...
Conflicts:
core/bootstrap/primitives.factor
vm/run.hpp
2009-11-15 02:52:50 -06:00
Joe Groff
f544982fda
Merge branch 'master' of git://factorcode.org/git/factor into simd-cleanup
...
Conflicts:
basis/math/vectors/simd/functor/functor.factor
2009-11-14 21:02:39 -06:00
Slava Pestov
11174a7ffe
hashtables: fix indentation
2009-11-14 02:01:30 -06:00
Slava Pestov
e32c167b7a
Merge branch 'master' of git://factorcode.org/git/factor
2009-11-14 01:59:32 -06:00
Slava Pestov
bb8eabba36
Unit test fixes
2009-11-13 23:00:50 -06:00
Doug Coleman
ccd35c2f4f
Merge branch 'master' of git://factorcode.org/git/factor
2009-11-13 15:03:16 -06:00
Slava Pestov
47087480a9
Bootstrap cleanups
2009-11-13 08:05:02 -06:00
Slava Pestov
ea36783fb3
Fix bootstrap
2009-11-13 07:55:47 -06:00
Slava Pestov
5470330c45
Fix another problem with call( inline caching
2009-11-13 07:17:00 -06:00
Slava Pestov
afecb9c758
Fixing call( inline caching
2009-11-13 04:32:33 -06:00
Slava Pestov
86da8ebed9
Instead of bumping the definition counter every time in the VM, bump it only if stack effects changed or macros were redefined
2009-11-13 03:52:14 -06:00
Slava Pestov
8dd8d70500
sequences: inline a couple of words
2009-11-13 03:01:28 -06:00
Slava Pestov
14a4535ad9
classes.algebra: output cleaner anonymous unions and intersections
2009-11-13 03:01:22 -06:00
Doug Coleman
b71d86a1dc
update more 8bit encoding usages
2009-11-12 18:36:47 -06:00
Doug Coleman
aec676edec
use surround/glue instead of 3append
2009-11-12 03:01:09 -06:00
Slava Pestov
41c17f0429
Fixing test failures
2009-11-11 02:40:24 -06:00
Slava Pestov
2afd7ce244
Faster identity-hashcode primitive; fast path now opencoded by the compiler
2009-11-11 02:27:19 -06:00
Slava Pestov
b551721dd9
Minor cosmetic fixes
2009-11-10 21:48:00 -06:00
Slava Pestov
064c00f78d
New identity-hashcode primitive
2009-11-10 21:18:54 -06:00
Slava Pestov
5d3c4a5404
io.pathnames: document resource: and vocab:
2009-11-10 18:57:46 -06:00
Slava Pestov
c693587018
classes.algebra: cleanup
2009-11-10 17:41:47 -06:00
Slava Pestov
0beec6befc
Merge branch 'master' of git://github.com/Blei/factor
2009-11-09 00:57:41 -06:00
Joe Groff
788289e51e
Merge branch 'master' into simd-cleanup
2009-11-08 21:54:53 -06:00
Slava Pestov
cd2e226afa
stack-checker: split off stack-checker.dependencies from stack-checker.state
2009-11-08 20:34:46 -06:00
Slava Pestov
a361e68f30
generic, words: update unit tests for deopt data structure change
2009-11-08 19:44:04 -06:00
Slava Pestov
5d79450d9d
Use a more compact representation for "compiled-uses" and "compiled-generic-uses" word-props; reduces image size
2009-11-08 06:08:04 -06:00
Joe Groff
6047f79996
pronouns deserve antecedents
2009-11-07 23:15:30 -06:00
Joe Groff
8894e9047c
Merge branch 'master' into simd-cleanup
2009-11-07 22:26:09 -06:00
Philipp Brüschweiler
8163c47b4a
sequences: rename virtual-seq to virtual-exemplar
2009-11-07 00:06:26 +01:00
Joe Groff
2352792502
factor "split-when" (split on predicate) from "split"
2009-11-06 16:29:33 -06:00
Joe Groff
ca7f07eed9
actually, no, it doesn't provide warnings for references to forgotten words
2009-11-06 15:25:33 -06:00
Slava Pestov
a46671e3ad
math.integers: fix help lint on 32-bit
2009-11-06 04:52:52 -06:00
Slava Pestov
a089163a40
math: fix test failures on 32-bit
2009-11-06 04:50:41 -06:00
Slava Pestov
209436071f
memory: fix help lint
2009-11-06 04:17:57 -06:00
Slava Pestov
734f18624c
generic.single: simplify stack shuffling
2009-11-06 04:15:46 -06:00
Slava Pestov
ba31abb301
Fix some test failures
2009-11-06 02:35:43 -06:00
Joe Groff
00ce8b6a33
deprimitivize tuck and put it to pasture
2009-11-05 22:47:05 -06:00
Joe Groff
4b0edb34d3
Merge branch 'master' of git://factorcode.org/git/factor
2009-11-05 22:23:21 -06:00
Slava Pestov
4061951d1c
vm: simpler object space implementation. begin-scan/next-object/end-scan primitives replaced by a single all-instances primitive
2009-11-05 21:49:03 -06:00
Joe Groff
61d579360d
remove non-primitive-related uses of tuck from basis
2009-11-05 17:03:24 -06:00
Joe Groff
6e9d369331
remove spin from core and retire it to basis/shuffle
2009-11-05 15:40:48 -06:00
Joe Groff
75d04922b9
Merge branch 'master' into simd-cleanup
...
Conflicts:
basis/math/vectors/simd/functor/functor.factor
2009-11-05 11:27:08 -06:00
Slava Pestov
47df580081
tools.time: overhaul
2009-11-05 01:07:59 -06:00
Slava Pestov
109aa88b06
compiler: update unit tests for 4-bit tag change
2009-11-03 21:40:29 -06:00
Slava Pestov
d7dceed096
slots: another bootstrap fix
2009-11-02 20:28:43 -06:00
Slava Pestov
2c0531b015
vm: faster immediate_p()
2009-11-02 20:21:21 -06:00
Slava Pestov
857d0ba1fd
core: bootstrap fixes
2009-11-02 20:21:10 -06:00
Joe Groff
e0ba0c5539
genericize vector ops
2009-11-02 14:21:19 -06:00
Slava Pestov
e4ad642134
vm: 4 bit tags, new representation of alien objects makes unbox-any-c-ptr more efficient (work in progress)
2009-11-02 04:25:54 -06:00
Slava Pestov
f21199005d
Merge branch 'master' into new_gc
2009-11-01 22:17:27 -06:00
Joe Groff
9184254f2c
move define-inline-method from classes.struct.private to generic.parser
2009-11-01 22:10:28 -06:00
Joe Groff
61a3e4e814
new, faster one-pass number parser
2009-11-01 01:59:12 -05:00
Joe Groff
60aecace7d
remove dangling PRIVATE> from math.parser
2009-11-01 00:42:25 -05:00
Joe Groff
3774c72591
rearrange destructive sequence ops docs
2009-10-31 16:53:39 -05:00
Joe Groff
2f90b13160
touch up quotation documentation
2009-10-31 16:40:10 -05:00
Joe Groff
9163e4e552
clean up cleave/spread/apply combinator articles
2009-10-31 15:41:34 -05:00
Joe Groff
d4a207662e
might want to accurately divide large negative fixnums too
2009-10-31 12:10:29 -05:00
Joe Groff
a7011fe087
use bignum/f to get accurate division of fixnums >= 2^53 on 64-bit platforms
2009-10-31 12:06:56 -05:00
Slava Pestov
b2ba465bcd
Merge optimizations from master branch
2009-10-31 03:02:19 -05:00
Joe Groff
07254fa823
Merge branch 'master' of git://factorcode.org/git/factor
2009-10-30 22:02:15 -05:00
Joe Groff
d55a3a3445
remove useless slot types from copy-state
2009-10-30 22:01:51 -05:00
Slava Pestov
37abac7407
Merge branch 'master' into new_gc
2009-10-30 21:04:37 -05:00
Slava Pestov
c05affdce3
Merge branch 'master' of git://factorcode.org/git/factor
2009-10-30 21:00:26 -05:00
Slava Pestov
0d24e65e4e
growable: M\ growable contract should be declared inline, fixes performance regression on stack benchmark
2009-10-30 20:53:47 -05:00
Joe Groff
3af3536404
clean up copy implementation for real
2009-10-30 19:39:46 -05:00
Joe Groff
3f15e028f7
exile roll and -roll to basis/shuffle and mark them deprecated
2009-10-30 17:11:45 -05:00
Joe Groff
9624b0c5c3
add inlinable assoc methods on f
2009-10-30 15:22:14 -05:00
Joe Groff
70ffa003ec
eliminate roll/-roll from core
2009-10-30 13:36:15 -05:00
Slava Pestov
6f9336c29e
Merge branch 'master' into new_gc
2009-10-30 03:03:05 -05:00
Joe Groff
1cf45abf06
Merge branch 'master' of git://factorcode.org/git/factor
2009-10-30 00:42:37 -05:00
Joe Groff
09e76591b1
start cleaning up internal implementation of copy (needs more work)
2009-10-30 00:42:21 -05:00
Joe Groff
eccf3fba9d
shun ugly shuffle words in the docs
2009-10-29 19:42:55 -05:00
Joe Groff
3cf641a87c
remove inaccurate comment from sequences docs example
2009-10-29 15:34:38 -05:00
Doug Coleman
1d12a6707d
sigma -> map-sum
2009-10-29 14:34:04 -05:00
Joe Groff
a8b9477fe7
clean up typos and improve synergy between locals and namespaces docs
2009-10-29 14:08:45 -05:00
Joe Groff
f21ba7a759
update the article on shuffle words to hide away the more troublesome ones
2009-10-29 14:07:46 -05:00
Joe Groff
2599993093
link vocabularies->words->quotations in synopsis documentation
2009-10-28 22:48:25 -05:00
Doug Coleman
e376a0ece2
(normalize-path) -> absolute-path, canonicalize-path -> resolve-symlinks
2009-10-28 17:25:50 -05:00
Doug Coleman
1738fb7c5e
link a word in docs
2009-10-28 16:17:08 -05:00
Doug Coleman
3e9593d3c0
add a unit test for accumulate!
2009-10-28 16:12:43 -05:00
Doug Coleman
def951ce9b
add accumulate! for joe
2009-10-28 16:10:05 -05:00
Doug Coleman
93de179c2f
over push -> suffix!, over push-all -> append!
2009-10-28 15:29:01 -05:00
Doug Coleman
bd13e018dd
memq? -> member-eq?, sorted-memq? -> sorted-member-eq?
2009-10-28 15:02:00 -05:00
Doug Coleman
1476cdb974
reverse-here -> reverse!
2009-10-28 14:40:15 -05:00
Doug Coleman
b0e3c7a1fc
add docs for append! and suffix!
2009-10-28 13:48:16 -05:00
Doug Coleman
7ce4b746e5
parsed -> suffix!, add append!
2009-10-28 13:38:27 -05:00
Slava Pestov
299b5b0f6c
filter-here -> filter!
2009-10-28 00:44:05 -05:00
Slava Pestov
50f5c3d116
remq -> remove-eq, delq -> remove-eq!
2009-10-28 00:23:08 -05:00
Slava Pestov
b7e05a525b
remove unused and really confusing remove-all word
2009-10-27 23:45:03 -05:00
Slava Pestov
951e3e9c83
delete-nth -> remove-nth!
2009-10-27 23:41:57 -05:00
Slava Pestov
f5a0a8b6e1
delete -> remove!
2009-10-27 23:25:35 -05:00
Slava Pestov
08e7d25dc5
change-each -> map!, deep-change-each -> deep-map!
2009-10-27 22:32:56 -05:00
Slava Pestov
d95a98eb9c
vm: add primitives for getting at GC events, data-room and code-room primitives now return structs instead of arrays
2009-10-27 03:32:28 -05:00