Commit Graph

77 Commits (9ae3b50a5306fdc29ee70c12433faf3a462fa5f5)

Author SHA1 Message Date
John Benediktsson 80e1c8e3f2 Eliminate duplicate syntax for stack effects "(" no longer drops and is identical to the old "((", which is now removed. 2011-10-18 13:19:39 -07:00
Doug Coleman f21fee3b73 Rename complete-effect to scan-effect 2011-10-17 10:25:27 -07:00
Doug Coleman 671f19d70f Remove all non-core uses of (scan-token)
Add scan-datum
Add scan-number
Document more words
Fixes #225.
2011-10-02 12:00:08 -07:00
John Benediktsson 2a234bec02 effects: removing split-shuffle. 2011-10-02 09:26:40 -07:00
Doug Coleman 76580da5d5 Refactor the lexer/parser to expose friendlier words for scanning tokens. The preferred top-level words now throw an exception on EOF.
CREATE -> scan-new
CREATE-CLASS -> scan-new-class
CREATE-WORD -> scan-new-word
CREATE-GENERIC -> scan-new-generic
scan -> (scan-token)
scan-token now throws on eof
(scan-word) returns word/number/f
scan-word now throws on eof
scan-word-name expects a non-number
Fixes #183.
Fixes #209.
2011-09-29 11:28:28 -07:00
Keita Haga 2a6e6517a0 effects: add missing right parenthesis in description of stack-effect word 2011-01-23 21:51:52 +09:00
Keita Haga 58c0a3835b effects: fix typo in docs 2011-01-04 21:30:37 +09:00
Slava Pestov 8a0525e5ce Add a scan-token word which is like scan, except throws an error on EOF; document scan-object word; mention that scan-token/scan-object are preferred over scan/scan-word 2010-07-06 16:20:08 -04:00
Doug Coleman 6b24617bac Fix typo in stack effect docs 2010-05-21 12:48:04 -05: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 8a52aec6da effects: docs for <effect>, <terminated-effect>, <variable-effect> 2010-03-09 13:50:58 -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 a3033e885a make effect variables part of effect syntax, stored out of band in effect tuple 2010-03-05 13:30:10 -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
Slava Pestov df4fb4a3ee Removing integers-as-sequences 2010-01-15 07:15:33 +13:00
Slava Pestov b551721dd9 Minor cosmetic fixes 2009-11-10 21:48:00 -06:00
Doug Coleman 93de179c2f over push -> suffix!, over push-all -> append! 2009-10-28 15:29:01 -05:00
Joe Groff 19b10fb85e bring back ( x: type y: type -- ) stack effect syntax, and automatically hint words based on types in their declared effect 2009-09-01 14:39:22 -05:00
Doug Coleman 679a7c9b01 temporary fix for core/effects 2009-08-22 20:56:28 -04:00
Doug Coleman 3f3d57032b Delete empty unit tests files, remove 1- and 1+, reorder IN: lines in a lot of places, minor refactoring 2009-08-13 19:21:44 -05:00
Doug Coleman 686b3e348e use ERROR: in several places instead of throwing strings 2009-08-11 23:09:02 -05:00
Slava Pestov e5cdb7ac2d call( fast-path now supports curry and compose 2009-04-30 21:08:29 -05:00
Slava Pestov c2fe2a4fea Improve stack checker documentation 2009-04-23 03:48:32 -05:00
Slava Pestov 99b8400e56 Documentation updates 2009-04-06 03:00:46 -05:00
Daniel Ehrenberg 9e9116f0ea Better error message for syntax error in : foo ( : bar 2009-03-31 23:18:52 -05:00
Slava Pestov e0d48e3ab6 New utility word: complete-effect 2009-03-22 17:59:40 -05:00
Slava Pestov c0154c1391 Change (:) to parse effect immediately, and remove ( parsing word 2009-03-21 03:17:35 -05:00
Slava Pestov be4fb1e7d9 Move call( and execute( to core 2009-03-16 20:11:36 -05:00
Slava Pestov 1559b74640 Add new check-datastack primitive and re-implement call( with it, instead of using with-datastack. call( is now 5x faster 2009-03-16 06:16:51 -05:00
Slava Pestov ca7a155b72 Merge branch 'master' into new_ui 2009-03-01 20:13:05 -06:00
Slava Pestov 03cb32ad9c Make execute( faster, add execute-unsafe( and make effect tuple slots read only 2009-03-01 20:12:35 -06:00
Slava Pestov 25a877e50b Merge OneEyed's patch 2009-02-28 17:06:55 -06:00
Slava Pestov cd53c2bd37 produce and produce-as: don't need third quotation either 2009-02-28 15:31:34 -06:00
Slava Pestov ce1bc1d6ed Fixing conflicts from stack checker changes 2009-02-24 01:21:10 -06:00
Slava Pestov 421ee726b8 Merge branch 'master' into new_ui 2009-02-16 21:22:12 -06:00
Slava Pestov 6b25e99470 Add summary for heaps more vocabs 2009-02-16 21:05:13 -06:00
Slava Pestov 2f5d4ff512 effects: fix typo 2009-02-09 18:07:40 -06:00
Slava Pestov 3bd22a39f6 effects: fix bug reported by Joe where printing { f } { } <effect> kills the listener; simpler implementation of 'shuffle'; add compiler transform to 'shuffle' if effect is constant 2009-02-09 16:26:56 -06:00
Slava Pestov f1d20719b2 inferred-effect word prop is just a boolean now, not an effect object 2009-02-23 20:51:14 -06:00
Slava Pestov 1951d739a0 Stack effect declarations are mandatory on all words now
define-temp now takes an effect parameter
Fix compiler bug that Dan found
Stricter enforcement of * effects
Move compile-call from compiler.units to compiler
2009-02-23 20:27:05 -06:00
Slava Pestov f34c14a0f5 Remove some usages of tuck 2009-01-23 18:20:47 -06:00
Slava Pestov c5160d76e9 Merge qualified, alias, symbols, constants into core 2008-12-17 18:10:01 -06:00
Doug Coleman 0e14f767ee core: swap 3append -> glue 2008-12-03 19:12:48 -06:00
Slava Pestov 93e9e34175 Add $maybe markup element 2008-11-16 06:02:13 -06:00