Commit Graph

1820 Commits (f4530a743dc3a3bfe4a622d90712c7bff4e4ce8c)

Author SHA1 Message Date
Slava Pestov b8fff571b4 More robust amended-use behavior 2008-11-29 15:21:40 -06:00
Slava Pestov 267ab0aa4d Implement /i on floats 2008-11-29 12:21:26 -06:00
Slava Pestov f675223873 Minor optimization in unclip-slice 2008-11-29 10:38:43 -06:00
Slava Pestov e8a69a3aea Fix conflict 2008-11-29 05:14:49 -06:00
Doug Coleman bc60af6187 Merge branch 'master' of git://factorcode.org/git/factor 2008-11-29 00:45:43 -06:00
Slava Pestov c43690a8fb Didn't pass help lint because of obsolete example 2008-11-29 00:37:46 -06:00
Doug Coleman 9d03a591cf trivial doc for error-stream 2008-11-29 00:35:50 -06:00
Doug Coleman 8c7a3c8a81 better docs for io.encodings 2008-11-29 00:30:36 -06:00
Eduardo Cavazos cb815a965b kernel-docs: Fix '2dip' docs 2008-11-28 12:33:42 -06:00
Slava Pestov 92cc760070 Fixes 2008-11-28 01:11:03 -06:00
Slava Pestov 94ec0c9d1f Oops 2008-11-28 01:08:33 -06:00
Slava Pestov 817510cdb9 Another attempt at size reduction 2008-11-28 01:08:16 -06:00
Slava Pestov c8f227ccf7 Tweak standard-next-method-quot to produce smaller quotations 2008-11-28 00:56:54 -06:00
Slava Pestov 6dfce7d4e7 load-locals is a primitive now, change semantics of get-locals to bum out 2 instructions from the sub-primitive 2008-11-27 22:30:29 -06:00
Slava Pestov 51a2aa6037 Tweak case>quot so that it works with lambdas 2008-11-25 23:04:13 -06:00
Slava Pestov d3a40ff438 Merge branch 'emacs' of http://git.hacks-galore.org/jao/factor into faster_overflow_checks 2008-11-28 21:05:31 -06:00
Slava Pestov eb8c621b6f Faster generic arithmetic on fiixnums: both-fixnums? sub-primitive performs a check if the top two stack items are both fixnums with a single conditional branch 2008-11-28 08:35:02 -06:00
Slava Pestov b19e87ea75 Fix corner case where auto-use didn't print using list 2008-11-24 16:28:35 -06:00
slava fbc0f33c86 The deploy tool would coalesce equal quotations into one. This created a problem
for the non-optimizing compiler because if the new 'leader' quotation was not
compiled but some of the ones that it replaces were, then calls to the quotation
from contexts where they have to be compiled (eg, compiled if and dip) would no
longer work. Add a `jit-compile' primitive to compile quotations, and call it
as appropriate in `compress-quotations`.
2008-11-24 15:59:27 -06:00
Slava Pestov 8678ff091f Fix docs for spread and apply combinators 2008-11-24 12:01:20 -06:00
Slava Pestov fb511f4fe8 Fix help lint 2008-11-24 00:51:46 -06:00
Slava Pestov 1d6e389d18 Fixing walker, adding traceback tests 2008-11-23 21:40:54 -06:00
Slava Pestov f520823d5c Minor speedup 2008-11-23 04:22:38 -06:00
Slava Pestov 7788b3e0db Merge branch 'master' into microseconds 2008-11-23 03:06:32 -06:00
Slava Pestov 6466ebaed7 Add comment explaining what's going on 2008-11-23 02:46:43 -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 2a0c92eb89 Use assoc-filter-as 2008-11-23 01:01:21 -06:00
Slava Pestov 2fe561ffca Add assoc-filter-as 2008-11-23 01:01:15 -06:00
Slava Pestov dd6f9bced5 Rename (append) to append-as, (3append) to 3append-as, take them out of private 2008-11-23 01:01:04 -06:00
Slava Pestov 51787c2022 Add some error checking to CHAR: 2008-11-23 00:25:01 -06:00
Slava Pestov c2c07f8b22 Fix bootstrap 2008-11-23 00:24:36 -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 d42affbc76 Merge branch 'master' of git://factorcode.org/git/factor 2008-11-22 22:50:26 -06:00
Slava Pestov f0716b3a0d 1% image size reduction by not storing empty compiled-generic-uses and compiled-uses props 2008-11-22 22:46:57 -06:00
Doug Coleman 75c32bde5a cleaner unit-tests 2008-11-22 20:34:25 -06:00
Doug Coleman 35b7b74b97 Merge branch 'master' of git://factorcode.org/git/factor 2008-11-22 20:31:32 -06:00
Doug Coleman 374ad0752e add using 2008-11-22 20:31:23 -06:00
Doug Coleman 3a8f1b4966 Merge branch 'master' of git://factorcode.org/git/factor 2008-11-22 20:02:52 -06:00
Doug Coleman fb8bdfe7e5 rename last-slice1 to slice1-last 2008-11-22 20:00:37 -06:00
Doug Coleman 26cb48b0ab rename last-slice1 to slice1-last. add slice1-slice and slice1-last-slice, docs, and tests 2008-11-22 19:59:43 -06:00
Slava Pestov 3e7afcac29 (call-next-method) now takes a method instead of a class and a generic 2008-11-22 19:57:25 -06:00
Slava Pestov 9628bcd646 New 'expect' word, which is a more correct version of the 'scan assert=' idiom 2008-11-22 17:27:40 -06:00
U-SLAVA-DFB8FF805\Slava 82a83496f3 Merge branch 'master' of git://factorcode.org/git/factor 2008-11-22 02:47:00 -06:00
U-SLAVA-DFB8FF805\Slava 21856550e3 show doesn't need to print \r\n 2008-11-22 02:44:35 -06:00
Slava Pestov d504d6b8de slice-errors now report the parameters to the slicing operation 2008-11-21 21:00:30 -06:00
Slava Pestov 420ff0a447 Fry now throws a parse time error if it detects >r r> usage, tweak fry to better interact with locals 2008-11-21 05:17:51 -06:00
Slava Pestov 3e29a31493 Residual fixes for curry/compose change 2008-11-21 05:17:20 -06:00
Slava Pestov 89440b2a23 curry and compose now check their inputs 2008-11-21 04:37:17 -06:00
Slava Pestov af29312a9e Fix parser tests 2008-11-21 02:25:43 -06:00
Slava Pestov ae4f9a2809 Add fixnum/mod-fast and fixnum/i-fast subprimitives 2008-11-21 02:11:36 -06:00
Slava Pestov 1addde1567 If 'search' was called outside of the parser, note. might be called, which would fail if no lexer was set 2008-11-21 00:18:25 -06:00
Slava Pestov 2e2856b9a4 Document auto-use? feature 2008-11-20 21:54:38 -06:00
Slava Pestov 98d109a9a8 Rename do-what-i-mean? to auto-use? 2008-11-20 20:35:01 -06:00
Slava Pestov 3d8f432856 Clarify math.bitwise -vs- bitwise-arithmetic docs 2008-11-19 19:23:11 -06:00
Slava Pestov eb6cdcc06e Fix parser tests 2008-11-19 17:41:39 -06:00
Slava Pestov 57c933f98a Merge branch 'master' of git://factorcode.org/git/factor 2008-11-19 16:28:51 -06:00
Slava Pestov 002563ce44 Add DWIM mode 2008-11-19 16:27:16 -06:00
Doug Coleman 199bdfdbe6 Merge branch 'master' of git://factorcode.org/git/factor 2008-11-19 16:24:23 -06:00
Doug Coleman 25d9fd68fc translate directory-type flags to our factor symbols 2008-11-19 16:22:42 -06:00
Slava Pestov 6085557116 Parser now prints an IN:/USING: form if restarts were invoked; add more restarts for certain errors 2008-11-19 16:03: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
Slava Pestov 281657dd82 Fix conflict 2008-11-18 22:18:14 -06:00
Slava Pestov d62a6c4b09 Minor core cleanup 2008-11-18 22:08:02 -06:00
Slava Pestov a9a28a3231 Trying to blindly fix Win64 unit tests 2008-11-17 20:28:52 -06:00
Slava Pestov f29300c6ba Better error message when vocab top level forms leave crap on the stack 2008-11-16 19:47:52 -06:00
Slava Pestov 251f9213c3 Fix typo 2008-11-16 19:19:53 -06:00
Slava Pestov fbe29ceca8 format-table should not be private since ui.gadgets.grids uses it 2008-11-16 15:31:17 -06:00
Slava Pestov e6218fdc71 Move words from compiler.errors.private to compiler.errors 2008-11-16 13:46:21 -06:00
Slava Pestov acc1dc23fa More usages of $quotation 2008-11-16 09:08:38 -06:00
Slava Pestov 9bf63b1613 New $quotation markup element 2008-11-16 09:03:30 -06:00
Slava Pestov 93e9e34175 Add $maybe markup element 2008-11-16 06:02:13 -06:00
Slava Pestov 99fd539b01 Rename io.streams.string:null to null-encoding 2008-11-16 05:59:38 -06:00
Slava Pestov 2fe364a7bb Specialized arrays work in progress 2008-11-14 20:18:16 -06:00
Slava Pestov ff95802c46 Change tags a bit 2008-11-14 20:17:27 -06:00
Slava Pestov dffbb120a3 SLOT: now defines the accessor words instead of just deferring them 2008-11-14 00:39:28 -06:00
Slava Pestov 4858a2ea74 Simplify inline? now that generic words can't be inline anymore 2008-11-13 09:33:18 -06:00
Slava Pestov ef6206d4bb Try to optimize generic dispatch to speed up + on fixnums, nth on arrays for example 2008-11-13 03:51:04 -06:00
Slava Pestov 9f52ee50b0 Another speedup to >alist: create vector with right size up-front. 10 second bootstrap time reduction 2008-11-12 00:10:50 -06:00
Slava Pestov eed1dd3d2b Fix byte vector prettyprinting 2008-11-11 23:38:19 -06:00
Slava Pestov 57cf756c0e Use eq? instead of number= in a few places 2008-11-11 23:04:15 -06:00
Slava Pestov ed3a81a503 Faster M: hashtable >alist performs less dispatch and allocates less junk 2008-11-11 23:03:50 -06:00
Doug Coleman 0edfc83d50 document file-systems 2008-11-11 15:41:27 -06:00
Doug Coleman 78ab09d8bb move file-systems word to core 2008-11-11 14:04:05 -06:00
Slava Pestov a32acdcff0 Tweak grouping code for better method inlining 2008-11-11 12:11:13 -06:00
Slava Pestov 1d630b6cf2 Minor documentation fixes 2008-11-11 10:51:15 -06:00
Slava Pestov e49ee006d1 Fix loop combinator docs 2008-11-11 08:50:48 -06:00
Slava Pestov 33a082c361 Fix reference to obsolete G: word 2008-11-10 02:43:16 -06:00
Slava Pestov 57242951b9 Better error reporting in FROM: and RENAME: words 2008-11-08 19:33:15 -06:00
unknown 78eeaddcf2 Add winnt-x86.64 boot image name 2008-11-07 20:34:26 -06:00
unknown cc7ab11881 Add more unit tests 2008-11-07 20:34:04 -06:00
Slava Pestov 63a9975a0e Support inline, foldable, flushable on methods; add declarations in a couple of places for ricing purposes 2008-11-06 13:13:37 -06:00
Slava Pestov d2b2cda596 Sort methods by tag, this speeds up >fixnum in the common case where the input is a fixnum 2008-11-06 10:44:06 -06:00
Slava Pestov 1c1333fbe9 Compile not and >boolean as branchless intrinsics by having the CFG builder detect certain code patterns 2008-11-06 09:09:21 -06:00
Slava Pestov a95bb533b5 Remove more redundant branches from tuple type predicates and generic words with methods on tuple classes 2008-11-06 09:08:17 -06:00
Slava Pestov 9160e667a7 Fix tuple>array and tuple reshaping 2008-11-06 01:10:56 -06:00
Slava Pestov bfd119e3b5 I/O ricing: various hints added so that UTF8 and ASCII fastpaths compile with less dispatch. 25% improvement on reverse-complement 2008-11-06 00:02:44 -06:00
Slava Pestov aac256324f lo-tag-dispatch-engine now sorts tags, this ensures that >fixnum compiles more efficiently 2008-11-06 00:02:10 -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 4e98751ce0 Remove a conditional branch from all tuple dispatches, since we don't have to check if the class height is at least 1; and remove memory accesses from tuple dispatch where all tuples are height 1 2008-11-05 20:23:38 -06:00
Slava Pestov 4fd1767768 Old fix for classes-intersect? no-method bug was incorrect; we were
ignoring anonymous classes in compiled-generic-crossref. Also,
forget* now calls reset-word so that references to predicates of
forgotten classes don't break the compiler with a similar error.
2008-11-05 18:32:02 -06:00
Slava Pestov fb64c1cb45 Fix class<=; a predicate class derived from a union was not reported as being contained in the union 2008-11-04 04:59:54 -06:00
Slava Pestov cc94894441 Fix notorious classes-intersect? bug, or at least one manifestation thereof. Turns out that we may temporarily end up with forgotten classes in the compiled-generic-crossref table. This is not a problem, since subsequently the words that reference forgotten classes will presumably be redefined and recompiled, but it does mean that (compiled-generic-usage) does need to handle this case 2008-11-04 03:38:44 -06:00
Slava Pestov 9b492b55e0 Fix minor leak: class-caches were not reset if a class was forgotten 2008-11-04 02:17:37 -06:00
Slava Pestov 7134fad54c Add more unit tests highlighting the problem: predicate -vs- union comparison is broken 2008-11-04 02:17:22 -06:00
Slava Pestov b4d3473d5e Tuple parsing didn't handle line breaks properly; if scan returns f, must throw unexpected-eof 2008-11-03 21:01:50 -06:00
Slava Pestov dc85ed3d56 Fix help lint: links to obsolete article 2008-11-03 08:08:28 -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 44a2499c17 fixnum-shift-fast and fixnum-mod subprimitives 2008-11-03 01:18:35 -06:00
Slava Pestov 998637109a Merge branch 'master' into new_codegen 2008-11-02 03:10:40 -06:00
Slava Pestov 673fda2281 Fix bogus error message 2008-11-02 03:10:27 -06:00
Slava Pestov b5c3c19ebe Merge branch 'master' of git://factorcode.org/git/factor into new_codegen 2008-11-01 16:38:04 -05:00
Slava Pestov 7fc44aa444 Add failing tests 2008-10-31 21:07:57 -05:00
Slava Pestov 2fb17458e3 Fix duplication 2008-10-28 16:22:54 -07:00
Doug Coleman 03d96cc1bd rename name to mount-point 2008-10-23 13:18:00 -05:00
Slava Pestov 69a0ad5e42 Ricing locals 2008-10-23 05:49:32 -05:00
Slava Pestov 1c7d9c1066 Merge branch 'master' into new_codegen 2008-10-23 05:29:09 -05:00
Slava Pestov d922afa0a4 Merge branch 'master' of git://factorcode.org/git/factor 2008-10-23 05:28:32 -05:00
Slava Pestov 94fa3929a8 Rice 2008-10-23 05:28:22 -05:00
Slava Pestov 95eb0f696b Rice 2008-10-23 05:28:04 -05:00
Doug Coleman 1d750b26d2 Merge branch 'master' of git://factorcode.org/git/factor 2008-10-21 23:44:02 -05:00
Doug Coleman b9e043effe move >file-system-info 2008-10-21 23:43:36 -05:00
Slava Pestov dc74d1a9b6 Merge branch 'master' into new_codegen 2008-10-21 23:40:03 -05:00
Slava Pestov 84820244dd Merge branch 'master' into new_codegen 2008-10-21 23:19:20 -05:00
Doug Coleman 2f3fe3c8ec docs for file-system-info 2008-10-21 22:55:48 -05:00
Slava Pestov 4b20266235 Merge branch 'master' into new_codegen 2008-10-20 22:06:11 -05:00
Slava Pestov 325dbf3eef Fix regression 2008-10-20 21:07:55 -05:00
Slava Pestov 0c89575632 Merge branch 'master' into new_codegen 2008-10-20 05:56:44 -05:00
Slava Pestov ab61e5cd8c Fix performance problem 2008-10-20 05:56:13 -05:00
Slava Pestov af6b8c4e97 Merge branch 'master' into new_codegen 2008-10-20 01:59:52 -05:00
Slava Pestov a4f1d4f243 Merge branch 'master' of git://factorcode.org/git/factor 2008-10-20 01:58:24 -05:00
Slava Pestov f721105993 Add 3dip 2008-10-20 01:58:17 -05:00
Doug Coleman 0121d0f678 add file-system-info 2008-10-20 00:30:24 -05:00
erg bccf9d9698 add device-name and type to file-system-info 2008-10-22 20:28:30 -05:00
erg 278b55ee57 include mount point in file-system-info 2008-10-22 20:04:10 -05:00
Slava Pestov b6ec4dc6ff Merge branch 'master' of git://factorcode.org/git/factor into new_codegen 2008-10-19 18:10:48 -05:00
Doug Coleman dfef28e715 make a word generic 2008-10-21 01:27:15 -05:00
Doug Coleman a71ca7242a fix typo in docs, fix load error 2008-10-19 13:34:00 -05:00
Doug Coleman dfc3c2cc78 Merge branch 'master' of git://factorcode.org/git/factor 2008-10-19 13:31:21 -05:00
Doug Coleman 78a529b1c3 remove directory from the vm 2008-10-19 13:27:59 -05:00
Doug Coleman 83638c35da change up the way you read directories 2008-10-19 12:55:48 -05:00
Slava Pestov 8734b82105 Merge branch 'master' into new_codegen 2008-10-19 03:36:58 -05:00
Slava Pestov adb0ada7ae Add delq, filter-here 2008-10-19 03:34:58 -05:00
Slava Pestov b5f9d47968 Merge branch 'master' into new_codegen 2008-10-19 01:12:20 -05:00
Doug Coleman 27c36974a7 remove primitives from core, update usages 2008-10-18 21:42:01 -05:00
Doug Coleman ab0ed9f988 redo home implementation 2008-10-18 21:24:14 -05:00
Doug Coleman 3e24ff97fe remove os-env docs and tests from core/ 2008-10-18 21:18:58 -05:00
Slava Pestov 7d6e919929 Fix conflict 2008-10-17 18:46:56 -05:00
Slava Pestov 225097a5d3 Fix some bugs in locals 2008-10-17 16:54:07 -05:00
Slava Pestov c54668596d More efficient hi-tag accessor 2008-10-11 13:58:41 -05:00
Slava Pestov f1286a353f Fix typo 2008-10-10 13:43:58 -05:00