Commit Graph

7892 Commits (4b41d8e83e93807439749ae9c8d6c42755cd2217)

Author SHA1 Message Date
Slava Pestov 11be5a4bd5 Rename update to assoc-union!, add assoc-filter! assoc-diff! words 2010-02-04 02:55:00 +13:00
Slava Pestov 8d3c11c176 compiler: remove some unnecessary complexity 2010-02-04 01:36:52 +13:00
Slava Pestov c011380a19 compiler: tweak recompilation logic. speeds up '"terrain" require' by 8 seconds 2010-02-04 01:09:57 +13:00
Slava Pestov 22fbe01c17 Compiled code size optimizations for x86-64 resulting in development image size reduction of about 350kb
- RIP-relative LEA is now used to load program counter in prolog and tail calls; saves 3 bytes of code and 4 bytes of relocation information over an immediate MOV
- VM field accesses no longer involve a redundant addition
2010-02-03 23:11:35 +13:00
Slava Pestov eed0b27d5d tools.memory: display some more code heap stats 2010-02-03 23:11:34 +13:00
Slava Pestov 87665c8f40 math.statistics: rename histogram* to histogram! and rename sequence>assoc* to sequence>assoc! 2010-02-03 23:11:33 +13:00
Slava Pestov 662eba7a67 compiler.tree.propagation.call-effect: hack so that call( doesn't clear the last error 2010-02-03 23:11:33 +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 03c5293e68 binary-search: improve docs 2010-02-03 23:11:32 +13:00
Slava Pestov f8828aef8d strings.tables: fix a logic error 2010-02-03 23:11:31 +13:00
Slava Pestov 0b278adb5a Test fixes 2010-02-03 23:11:31 +13:00
Slava Pestov 7846074b3b db: update for ERROR: change 2010-02-03 23:11:31 +13:00
Slava Pestov 0438e4983b macros: handle compile-time stack effect check of macro body more elegantly than previous attempt 2010-02-03 23:11:31 +13:00
Slava Pestov 7e64810a00 tuple-arrays: cleanup 2010-02-03 23:11:30 +13:00
Slava Pestov 7de81976a5 Revert "macros: macro body is now defined in its own subword, for compile-time stack effect checking"
This reverts commit 24de7c52f0c3f21cfcdb80235cac7296b0401c85.
2010-02-03 23:11:29 +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 3e8d21b493 Clarify documentation for compilation units and 'undefined' error 2010-02-03 23:11:28 +13:00
Slava Pestov cde6a2c5f7 prettyprint: make callstack output needlessly fancier 2010-02-03 23:11:26 +13:00
Slava Pestov 31cf64eb84 listener: add tools.walker to default interactive vocab path 2010-02-03 23:11:26 +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 b7fde7af27 macros: macro body is now defined in its own subword, for compile-time stack effect checking 2010-02-03 23:11:22 +13:00
Slava Pestov e32d5fd0ac Minor updates to string documentation 2010-02-03 23:07:53 +13:00
Slava Pestov ed9251c56c Merge branch 'master' of git://github.com/littledan/Factor 2010-02-03 22:58:25 +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
Slava Pestov c6bc1d702e Merge branch 'master' of git://github.com/erikcharlebois/factor 2010-02-02 04:04:29 -06:00
Slava Pestov bf05a901c4 Fix ffi-test library to work with Windows SDK. Turns out MINGW has a different ABI for struct returns than MS's compiler; make the MS ABI the default for cdecl on Windows, and add mingw ABI for libraries that use the MINGW ABI 2010-02-02 04:01:12 -06:00
Joe Groff 8cf05e9909 vector-friendlier math.quaternions 2010-02-02 00:30:21 -08:00
Joe Groff 1ee05e38fb missed an alien.fortran test 2010-02-02 00:13:13 -08:00
Daniel Ehrenberg 8d0705805b Updating docs to say Unicode 5.2 2010-02-02 01:49:24 -06:00
Daniel Ehrenberg 6cc2d0f1d7 Updating Unicode to version 5.2 2010-02-02 01:38:17 -06:00
erikc e82aca026c Merge branch 'master' of git://github.com/slavapestov/factor 2010-02-01 22:13:05 -08:00
erikc 03966e4fb2 Move collada viewer to extra/model-viewer 2010-02-01 22:12:22 -08:00
Joe Groff f1bbeec198 wrap alien.fortran c-type conversion tests in with-manifest 2010-02-01 22:03:51 -08:00
erikc e1223e056f Unify obj and collada loading under a common models umbrella loader 2010-02-01 18:44:09 -08:00
Joe Groff 9adfda095f alien.fortran: convert fortran types to word c-types 2010-02-01 12:06:10 -08:00
Slava Pestov 2022c2a83e io.launcher.windows: include launch descriptor in error thrown when launching a process fails 2010-02-01 12:39:29 -06:00
Slava Pestov e7de95e72b compiler.crossref: clean up and fix bug with forgotten classes 2010-02-01 17:20:08 +13:00
Slava Pestov 823e2fd3e9 tools.test: run-test-file is public now, fix no-method error if unit test forgets a vocab 2010-02-01 17:09:57 +13:00
erikc 98a71d3521 Merge branch 'master' of git://github.com/slavapestov/factor 2010-01-31 16:57:12 -08:00
erikc 676673fc7e Factored collada implementation a bit more and fixed some bugs 2010-01-31 16:56:26 -08:00
Doug Coleman fa042f6578 Make sure we're not reading 0 bits in the lzw decompression loop -- this causes a hang 2010-01-31 16:29:20 -06:00
Doug Coleman c6b37f4da4 Rewrite mnapply to be a combinator instead of a macro. Write nspread* to implement mnapply 2010-01-31 14:48:01 -06:00
Doug Coleman 4a7845e52c Add [1,b) to math.ranges. Use [1,b] in random.sfmt 2010-01-31 14:48:01 -06:00
Doug Coleman 28adde8542 Fix using 2010-01-31 14:48:01 -06:00
Doug Coleman f15ec31559 Better implementation of sample, fix docs formatting 2010-01-31 14:48:01 -06:00
Slava Pestov 0d939f731a tools.deploy.shaker: fix load error 2010-02-01 06:02:09 +13: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
Slava Pestov d762c8bfb3 Merge branch 'master' of git://github.com/erikcharlebois/factor 2010-01-31 18:29:15 +13:00
Slava Pestov c5c94ef1f9 compiler.cfg.intrinsics.simd: ignore dummy assert-positive word 2010-01-31 18:19:14 +13:00
erikc 0770b940b0 Merge up 2010-01-30 20:48:06 -08:00
erikc f4865e0f9a FFI bindings for Win32 RawInput 2010-01-30 20:40:41 -08:00
erikc cfcd983bb4 Temporary xinput backend for game.input 2010-01-30 20:40:16 -08:00
erikc f33c73bf94 Merge up 2010-01-30 20:39:43 -08:00
Erik Charlebois e28c23c860 Refactored collada loader significantly 2010-01-30 19:48:10 -08:00
Slava Pestov 5ed0bc72aa Merge git://github.com/littledan/Factor into littledan 2010-01-31 02:54:58 +13:00
Slava Pestov 03d2b77faa tools.deploy.shaker: update for new crossref word props 2010-01-31 02:50:55 +13:00
Slava Pestov 2c63161c84 stack-checker.dependencies: make conditional dependencies more robust 2010-01-31 01:55:35 +13:00
Slava Pestov 9bc4e662c6 compiler.crossref: word props were stored the wrong way round 2010-01-30 22:33:27 +13:00
Slava Pestov 22e3b71ae2 grouping: tweak inheritance to make method precedence explicit 2010-01-30 21:14:41 +13:00
Slava Pestov 6eceff6acb compiler.crossref: cleanup 2010-01-30 21:14:40 +13:00
Joe Groff 54e0221de5 images: extend pixel-at/set-pixel-at with versions that select/replace rows of pixels 2010-01-29 16:30:34 -08:00
Erik Charlebois 1c8b4f08a4 Merge branch 'master' of git://github.com/slavapestov/factor 2010-01-29 15:57:31 -08:00
erikc e44973e2c7 Working collada viewer, temporary vocab 2010-01-29 15:48:50 -08:00
Slava Pestov 36618bc46e typed: update for dependency changes 2010-01-30 10:53:42 +13:00
Slava Pestov ea9dbf2ea1 compiler.crossref: more space-efficient storage of dependency information 2010-01-30 09:29:02 +13:00
Slava Pestov fa4f7d8ccf Clean up some code in preparation for a refactoring 2010-01-30 09:29:02 +13:00
Slava Pestov 015a9d365d compiler.crossref: memoize dependency evaluation 2010-01-30 09:29:01 +13:00
Slava Pestov c438e84bd0 compiler.crossref: add next-method dependency 2010-01-30 09:29:01 +13:00
Slava Pestov a13c2fb856 compiler.crosssref: rename word property 2010-01-30 09:29:00 +13:00
Slava Pestov 6cc68e889e stack-checker.dependencies: add tuple layout dependencies for use by 'new' and 'boa' 2010-01-30 09:29:00 +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 c058343167 Add some utility words to stack-checker.dependencies in preparation for a refactoring 2010-01-30 09:28:59 +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 817bc02392 compiler.tree.propagation.call-effect: clear out dependency tracking variables to ensure that infer calls made by call( as part of the compile process doesn't pollute the dependencies of the word being compiled 2010-01-30 09:28:57 +13:00
Slava Pestov ab428fc259 Code cleanups 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 bd479db2f8 Fix regression when forgetting classes 2010-01-30 09:28:55 +13:00
Slava Pestov 238ec94e06 tools.deploy.shaker: don't strip "mixin" word prop 2010-01-30 09:28:54 +13:00
Slava Pestov 830e25c70b More changes so that mixins trigger even less recompilation 2010-01-30 09:28:53 +13:00
Slava Pestov d58f73453f Add test case for mixin bug Doug found, seems to be fixed now 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 d3db7e0225 Add mnapply, smart-apply. Docs incoming soon 2010-01-29 13:47:06 -06:00
Doug Coleman 1f76ab2d45 try-find is just attempt-all. oops 2010-01-28 23:28:11 -06:00
Doug Coleman 9a8bd26786 Remove an iota from images.jpeg 2010-01-28 23:13:28 -06:00
Doug Coleman 4edc37b70c clean up random.windows init hook, and add another crypto provider 2010-01-28 22:45:19 -06:00
erikc ef20b40093 Merge branch 'master' of git://github.com/slavapestov/factor 2010-01-28 14:14:33 -08:00
Slava Pestov 6cdf4de4eb Fix and clean up stage1 bootstrap 2010-01-28 17:30:35 +13:00
Slava Pestov ce60f3c6b6 vocabs.prettyprint: fix error when printing auto-use 2010-01-28 16:46:24 +13:00
erikc a0e3f01a88 Merge branch 'master' of git://github.com/slavapestov/factor 2010-01-27 15:31:23 -08:00
Slava Pestov 0fa425b03a combinators.smart: smart-if was declared inline, and had no unit tests, and so was broken. This was not caught until inline macros became a parse error. Add unit tests for it 2010-01-27 22:23:04 +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 7fe96f3eff math.ranges: doesn't need an equal? method, since sequence doesn't define one, and default tuple equal? is fine for ranges 2010-01-27 19:28:45 +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
erikc 66aaebe08d Targa image file loading and saving for RGB and ARGB uncompressed images 2010-01-25 16:38:04 -08:00
Slava Pestov 6306d58f77 help.crossref, tools.crossref: improved help cross-referencing 2010-01-26 01:18:10 +13:00
Slava Pestov 13e2de5cae help.lint: flush 2010-01-26 01:01:27 +13:00
Slava Pestov cb9261d975 grouping: add a unit test 2010-01-26 01:01:22 +13:00
Slava Pestov de3168ad71 Various documentation improvements 2010-01-26 01:01:12 +13:00
Slava Pestov d4435ed32a command-line: if -e= is passed, don't run main vocab after evaluation ends 2010-01-25 21:05:42 +13:00
Slava Pestov aadf2873d1 ui.gadgets: make fast-children-on more flexible and take a quotation instead of always calling loc>> on elements of the children array. This enables a bug fix for M\ grid children-on, discovered from UI mis-rendering of '\ blend-mode help' 2010-01-25 21:05:42 +13:00
Joe Groff 14de77d435 inline specialized-vector byte-length 2010-01-24 20:16:10 -08:00
Slava Pestov 942f6e0943 Update Win64 support 2010-01-25 15:39:34 +13:00
Doug Coleman af96673458 Better fix for ipv6 2010-01-24 15:57:06 -06:00
Doug Coleman ef5baa5b67 Handle IPv6 addresses of the form ::127.0.0.1 2010-01-24 15:40:34 -06:00
Joe Groff 230630c78a Merge branch 'master' of git://factorcode.org/git/factor 2010-01-24 12:48:17 -08:00
Joe Groff 6ec4f4ef8b more fussing over locals docs grammar 2010-01-24 10:05:56 -08:00
Doug Coleman c50682c6f0 make unix.utilities unportable 2010-01-23 10:12:25 -06:00
Doug Coleman 1a5768030b Make unix.debugger unportable 2010-01-23 10:03:02 -06:00
Doug Coleman 7c40fc1a36 unix-system-call io-error -> unix-system-call drop
make unix.ffi, unix.ffi.linux unportable
fix spacing in io.cpp before refactoring
2010-01-23 09:07:35 -06:00
Joe Groff 7d0c67adf0 remove redundant text from docs for locals docs 2010-01-22 18:40:00 -08:00
Doug Coleman 2bf53dde61 Fix netbsd load error 2010-01-22 17:10:32 -06:00
Joe Groff f0f3252113 unicode.case: rename title-word to capitalize and make it public 2010-01-22 15:06:04 -08:00
Doug Coleman 4857c737d3 Fix getgrent call in unix.groups 2010-01-22 16:55:05 -06:00
Doug Coleman afdb7f6329 remove a stray character 2010-01-22 15:07:01 -06:00
Doug Coleman 760746e2ff Fix using 2010-01-22 15:01:38 -06:00
Doug Coleman 8c1d202b4c Rename accumulator to collector, pusher to selector 2010-01-22 15:00:53 -06:00
Doug Coleman f144a36ad0 Move netbsd.structs into netbsd 2010-01-22 14:49:32 -06:00
Doug Coleman bbff91e0ed Fix load error 2010-01-22 14:45:15 -06:00
Doug Coleman f7ee9223ae Fix using 2010-01-22 13:24:50 -06:00
Doug Coleman 3c09c7052c Fix using 2010-01-22 12:59:33 -06:00
Doug Coleman b7b84fc5b7 fix using 2010-01-22 12:59:27 -06:00
Doug Coleman 8d952277a2 Handle EINTR in a lot of cases where it wasn't handled before. Split off unix into unix.ffi and unix. 2010-01-22 12:59:24 -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
Doug Coleman 07fcb43a06 Make unix-system-call retry the call immediately upon hitting EINTR. Use unix-system-call wherever EAGAIN or EINPROGRESS are not handled. Handle EINTR if connect returns it. 2010-01-22 12:59:17 -06:00
Slava Pestov 790c7afeaf io.launcher: since process timeouts only kick in when wait-for-process is called, try-output-process would hang indefinitely. Fix this by splitting up wait-for-process and wrapping stream-contents in a with-timeout 2010-01-22 12:20:37 -06:00
Slava Pestov 098ef42202 compiler: fix docs 2010-01-23 00:46:04 +13:00
Slava Pestov ea5e168d77 compiler.test: fix 2010-01-23 00:40:56 +13:00
Slava Pestov f804c9c422 Move compile-call and related words only meant to be used for debugging to compiler.test 2010-01-23 00:39:56 +13:00
Slava Pestov 892522f8bd alien.c-types: ensure that long and ulong types are defined with define-primitive-type and not typedef 2010-01-23 00:15:08 +13:00
Slava Pestov 638fbb13b0 alien.c-types: clean up and fix for win64 2010-01-22 23:14:20 +13:00
erikc d63c2fefc9 Fix missing vocab USINGs and mispelled d2dbasetypes 2010-01-21 23:33:37 -08:00
erikc 407399b86a Add iota call in game.input.dinput fill-mouse-state. 2010-01-21 18:39:23 -08:00
Doug Coleman 97668156d9 NetBSD 64 blas abi changed 2010-01-21 05:02:39 -06:00
Slava Pestov e68996c511 game.input.dinput: fix load error 2010-01-20 07:02:48 -06:00
Slava Pestov 5279845ee0 tools.deploy.shaker: also include tools.errors if user requests debugger to be part of image. This ensures useful printouts of parse errors 2010-01-20 07:01:29 -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
Daniel Ehrenberg aa1651032d Adding compiler transforms in propagation 2010-01-20 00:10:49 -06:00
Slava Pestov 21c07397d2 Merge branch 'master' of git://github.com/erikcharlebois/factor 2010-01-20 18:10:25 +13:00
erikc 281103ec7e Move windows.dinput to windows.directx.dinput. 2010-01-19 21:08:28 -08:00
Slava Pestov 9d41492aa0 windows.psapi: add unportable tag 2010-01-20 18:02:10 +13:00
Slava Pestov 8b366c108f Merge branch 'master' of git://github.com/erikcharlebois/factor 2010-01-20 17:51:40 +13:00