Commit Graph

70 Commits (6ff37d295135c435696367a4c3973dcfb442e809)

Author SHA1 Message Date
Doug Coleman 3c408342ef renaming: contain? -> any?, deep-contains? -> deep-any?, pad-left -> pad-head, pad-right -> pad-tail, trim-left -> trim-head, trim-right -> trim-tail 2009-01-29 22:19:07 -06:00
Doug Coleman 1a1ed1b7a3 split-last "." on windows 2009-01-29 21:11:35 -06:00
Slava Pestov 1dca238581 make-image can now generate images with Unicode strings 2009-01-27 00:03:19 -06:00
Slava Pestov c440b889ea Fix make-image 2009-01-26 04:51:59 -06:00
Slava Pestov 7851aac222 Replace some usages of prepose with fry 2009-01-25 23:04:35 -06:00
Slava Pestov d4122b5715 Update Unicode docs 2009-01-25 23:03:49 -06:00
Slava Pestov f34c14a0f5 Remove some usages of tuck 2009-01-23 18:20:47 -06:00
Slava Pestov a8d1459c08 Rename compiled slot of words to optimized, to reflect what it really means (all words are compiled) 2009-01-23 00:37:02 -06:00
Slava Pestov d6e7eefde3 Fix mnestic's bug and remove math.complex.prettyprint hack 2009-01-14 01:02:27 -06:00
Slava Pestov 4204fd495f Move formatted stream output words to io.styles; they didn't belong in core, and this reduces deployed image size 2009-01-13 17:12:43 -06:00
Daniel Ehrenberg 8d8efb6dce Fixing Unicode bootstrap issue (hopefully) 2009-01-08 22:49:24 -06:00
Slava Pestov 977837143b Load help.lint by default 2009-01-08 17:03:06 -06:00
Daniel Ehrenberg 501fb3ccf1 Unicode docs 2009-01-07 17:59:01 -06:00
Slava Pestov c5160d76e9 Merge qualified, alias, symbols, constants into core 2008-12-17 18:10:01 -06:00
Slava Pestov daf2857d7b define-inline now takes an effect parameter
C: now sets the stack effect of the new word to slot names
add new basis/constants vocab; CONSTANT: foo bar is equivalent to : foo bar ; inline
(going to fold CONSTANT:, ALIAS: and qualified into core soon perhaps)
tighten the screws: inline words now need a stack declaration too
update some usages of inline words
2008-12-15 19:44:56 -06:00
Slava Pestov 59a5e554d4 Split up io.directories further, move file types to io.files.types. Bunny demo no longer pulls in file-info and file-system-info code, reducing image size by 35kb 2008-12-15 00:01:06 -06:00
Slava Pestov 50e214c152 io.files split up and general refactoring work in progress 2008-12-14 20:03:00 -06:00
Slava Pestov 93b7215f1b Returning from boot quotation wouldn't exit Factor if run loop MX was in use 2008-12-13 04:10:39 -06:00
Slava Pestov b3428c61e6 Better bootstrap error handling 2008-12-12 21:06:16 -06:00
Slava Pestov ec23584f48 Finish up O(1) byte array allocation 2008-12-09 18:17:04 -06:00
Slava Pestov 7940020491 Untangling more dependencies 2008-12-08 16:02:31 -06:00
Slava Pestov 4f0a9f311e Untangling some dependencies 2008-12-08 14:58:00 -06:00
Doug Coleman 14fb58f448 swap ... 3append -> surround in basis 2008-12-06 18:58:45 -06:00
Slava Pestov 145b635eb6 More optimization intended to reduce compile time. Another 10% speedup on compiling empty PEG parser
- new map-flat combinator replaces usages of 'map flatten' in compiler
- compiler.tree.def-use.simplified uses an explicit accumulator instead of flatten
- compiler.tree.tuple-unboxing uses an explicit accumulator instead of flatten
- fix inlining regression from last time: custom inlining results would sometimes be discarded
- compiler.tree's 3each and 3map combinators rewritten to not use flip
- rewrite math.partial-dispatch without locals (purely stylistic, no performance increase)
- hand-optimize flip for common arrays-of-arrays case
- don't run escape analysis and tuple unboxing if there are no allocations in the IR
2008-12-06 11:17:19 -06:00
Slava Pestov e256846acd Tweak string representation; high bit indicates if character has high bits in aux vector. Avoids memory access in common case. Split set-string-nth into two primitives; set-string-nth-fast is open-coded by optimizing compiler. 13% improvement on reverse-complement 2008-12-05 06:38:51 -06:00
Slava Pestov a558f91d5d Better command-line processing 2008-12-01 16:10:48 -06:00
Doug Coleman ed2c3a22fe remove >r r> 2008-11-29 13:40:43 -06:00
Slava Pestov ab689c098b Clean up direct literal code and make a first attempt at PowerPC support 2008-11-24 08:16:14 -06:00
Slava Pestov d86524f4bc Non-optimizing compiler now compiles dip, 2dip, 3dip, if, with direct branches instead of indirect branches. 8% bootstrap time improvement on Core Duo 2 2008-11-24 00:23:17 -06:00
Slava Pestov 7788b3e0db Merge branch 'master' into microseconds 2008-11-23 03:06:32 -06:00
Slava Pestov a4d9cdfeb3 Refactor all usages of >r/r> in core to use dip, 2dip, 3dip
Non-optimizing compiler now special-cases dip, 2dip, 3dip following a
literal quotation: this allows us to break the dip/slip meta-circle
without explicit calls to >r/r>
2008-11-23 02:44:56 -06:00
Slava Pestov 7c61cf190f Circularity between vocabularies no longer causes an infinite loop; loading a vocabulary like json or furnace no longer loads certain files twice 2008-11-23 00:04:18 -06:00
Slava Pestov f5513877ec Don't load listener into deployment image 2008-11-22 19:58:05 -06:00
Slava Pestov 8819f23312 Replace millis primitive with micros primitive
Add millis as a library word
sleep now takes either a duration or a microsecond count; code using durations doens't need to be updated, code using millisecond counts updated to use durations for the most part
2008-11-19 01:50:05 -06:00
unknown 93c8f5a2f4 Use our MD5 library instead of OpenSSL so that we can run builder without OpenSSL being installed 2008-11-17 18:43:59 -06:00
Slava Pestov cfa82cb474 New calling convention for VM primitives:
instead of the Factor side passing the stack pointer as the first parameter, and having the VM save it to stack_chain->top, we instead have the Factor side save it. Eliminates a lot of crud in the VM
2008-11-13 03:20:34 -06:00
Eduardo Cavazos 2489ac5205 bootstrap.stage2: Factor out 'print-time' 2008-11-10 21:27:48 -06:00
Eduardo Cavazos 78d9452b7e basis/bootstrap/stage2: Show core bootstrap time in report 2008-11-10 20:05:50 -06:00
Slava Pestov 9cc193ea5b Add unportable tags and fix my-arch word 2008-11-07 22:37:40 -06:00
Slava Pestov 000affca5a Merge branch 'master' of git://factorcode.org/git/factor 2008-11-07 21:09:45 -06:00
Slava Pestov 1b744ab14b Updating code for boot image renaming 2008-11-07 21:09:42 -06:00
unknown 7365959f01 Starting work on Win64 port 2008-11-07 20:33:32 -06:00
Slava Pestov 29279f305e Fix 32-bit bootstrap 2008-11-06 01:58:07 -06:00
Slava Pestov 5def7c5dea Don't load random number generator on bootstrap 2008-11-06 01:30:59 -06:00
Slava Pestov 53cd75b06c Add string-nth intrinsic 2008-11-06 01:11:28 -06:00
Slava Pestov be798dd5e9 We need to internalize tuple layouts in bootstrap, but since they're arrays we have to use a predicate class to detect them 2008-11-06 00:01:50 -06:00
Slava Pestov cc879fa9b7 Tuple layouts are now arrays, instead of built-in types. The superclass
array is now part of the tuple layout object itself, and class hashcodes
are stored alongside class words there. This removes 2 indirections when
reading a superclass, and 3 when reading a superclass hashcode.
2008-11-05 22:20:29 -06:00
Slava Pestov cdb5c30bd3 Only build a generic word once, even if a compilation unit defines several methods on it, by adding generics to a set and building them at the end. 25% improvement on bootstrap time 2008-11-03 03:51:28 -06:00
Slava Pestov 7fb39a14c1 Compile compiler early 2008-10-23 02:49:55 -05:00
Slava Pestov c19f2257f4 Fix permission bits 2008-10-02 08:34:49 -05:00