Commit Graph

45 Commits (b5eae48068384ff8fd53b5d6f4d268668c6d9c9a)

Author SHA1 Message Date
Doug Coleman 5a9e7cd374 classes.builtin: Add the BUILTIN: keyword which lets builtin classes show up in source files. Probably could use save-location to allow editing, but it seemed to break things. 2013-03-10 12:05:38 -07:00
John Benediktsson 12216b1246 core: some more cleanup of USING lists. 2013-03-05 10:48:14 -08:00
Slava Pestov 03d6665166 Fix ambiguity between 'initial: f' and no initial value in a slot spec. Fixes #382 2011-11-12 15:35:51 -08:00
John Benediktsson 378786599d Cleanup lint warnings. 2011-10-14 11:47:24 -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
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
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
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
Slava Pestov 11be5a4bd5 Rename update to assoc-union!, add assoc-filter! assoc-diff! words 2010-02-04 02:55:00 +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
Joe Groff 748ba4b833 give a better error message when an invalid slot name is used in a tuple/struct literal 2009-09-16 18:07:39 -05:00
Doug Coleman 26cc551049 fix another tuple definition bug 2009-09-01 11:36:06 -05:00
Doug Coleman d46d063f5f inheriting from itself would hang a tuple definition. only breaks if tuple is being redefined 2009-09-01 04:02:44 -05:00
Joe Groff c898593983 decouple struct parsing/printing from tuple parsing/printing a bit 2009-08-19 18:53:44 -05:00
Joe Groff 6fe7fe72c7 Merge branch 'master' of git://factorcode.org/git/factor 2009-08-14 10:55:05 -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
Joe Groff ca592b9654 extend T{ } syntax to build structs 2009-08-12 15:40:06 -04:00
Joe Groff 7a88c5ae8a variants vocab for ADTs 2009-06-26 16:31:20 -05:00
Slava Pestov 29327a787c Remove initial-quot feature 2009-06-15 13:07:15 -05:00
Doug Coleman 4bd06486fb make a word not generic, remove unit test for unimplemented feature 2009-06-11 20:20:21 -05:00
Doug Coleman 059eb399f0 add initial-quot: syntax for tuples 2009-06-11 19:48:14 -05:00
Slava Pestov 35ccf0231e Factor out parser note code into parser.notes vocabulary, and print a note if a using list contains duplicates 2009-05-16 09:40:17 -05:00
Joe Groff 0d03dea74b factor out tuple literal slot parsing from the rest of tuple literal parsing 2009-04-26 15:59:26 -05:00
Doug Coleman 7a1841f59b (( -- )) eval -> eval( -- ) 2009-04-17 15:49:21 -05:00
Doug Coleman aad6a3d504 fixing compiler error in core 2009-04-17 12:45:57 -05:00
Slava Pestov 38c6be94d4 Fixing some stack comments 2009-03-16 06:17:18 -05:00
Slava Pestov 6b25e99470 Add summary for heaps more vocabs 2009-02-16 21:05:13 -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 d2dd7288b3 Fix parser bug with multi-line tuple literals 2008-10-08 23:43:37 -05:00
Slava Pestov 78881e1368 Better error message with invalid tuple literals 2008-09-24 21:23:26 -05:00
Slava Pestov 44f53de164 Move make to its own vocabulary, remove fry _ feature 2008-09-10 20:07:00 -05:00
Doug Coleman b1d26e100a use if/when/unless-empty, docs 2008-09-06 17:10:32 -05:00
Slava Pestov 57ca685e26 New tuple syntax 2008-09-05 20:39:45 -05:00
Slava Pestov e1716d92b3 Remove delegation slot 2008-09-03 03:46:56 -05:00
Slava Pestov 4cb64aaeb8 Fixing unit tests for eval word being moved 2008-07-29 00:05:01 -05:00
Slava Pestov d66f887736 Create basis vocab root 2008-07-28 22:03:13 -05:00
Slava Pestov 817035099c Fix erg's tuple definition bugs 2008-07-13 21:06:50 -05:00
Slava Pestov 8160859c8b Fixes 2008-07-12 13:12:45 -05:00
Slava Pestov 537269447c Move mirrors out of the boot image 2008-07-02 00:20:01 -05:00
Slava Pestov f8fd065fc5 Initial value for alien slots is a BAD-ALIEN 2008-07-01 16:33:45 -05:00
Slava Pestov f7b7001f39 BOA constructors now check types 2008-06-30 01:44:58 -05:00
Slava Pestov 3b41e31584 More tuple declaration work 2008-06-29 21:37:57 -05:00
Slava Pestov 0be00f03e6 Mirrors now check sot t slot types, support type coercion for setters, instance? now infers, better transform for 'new', more efficient 'case' where keys are all wrappers 2008-06-29 02:12:44 -05:00
Slava Pestov b36e06d0d6 Builtinn types now use new slot accessors; tuple slot type declaration work in progress 2008-06-28 02:36:20 -05:00
Slava Pestov 6e0d35e615 Split up huge parser vocabulary 2008-06-25 03:25:08 -05:00