Commit Graph

53 Commits (7c30ae8ab6bcc681b52297177ecd993112723f18)

Author SHA1 Message Date
Doug Coleman f66c9cc206 classes.union/maybe: Check the members of the maybe{} in a different way. 2013-03-24 01:10:54 -07:00
Doug Coleman 48638b9188 classes.union: Fix circular reference between multiple definitions. Fixes #420 lol again.
Could be cleaner perhaps? I'm not seeing how right now.
2013-03-23 14:59:07 -07:00
Doug Coleman 980d5f44b2 classes.union: Disallow unions to refer to themselves. Fixes #420 lol. Thanks @mrjbq7 for the patch. 2013-03-23 13:18:25 -07:00
John Benediktsson 12216b1246 core: some more cleanup of USING lists. 2013-03-05 10:48:14 -08:00
Doug Coleman 3507b9bad7 classes:
- Allow methods to dispatch off union{ } and intersection{ } classes.
- Add not{ } anonymous-complement syntax.
- Define class-name for anonymous-union/intersection/complement and maybes, and clean up pprint.
- Change maybe: foo to maybe{ foo }
- Call sort-classes when making anonymous-union/anonymous-intersection classes so that they are canonicalized.
2012-05-03 19:45:30 -07:00
Doug Coleman 82c5388f68 classes: add syntax for intersection{ and union{ anonymous classes. make classoid a mixin. 2011-11-22 18:49:42 -08:00
Doug Coleman cab0369fec classes: Make methods dispatch on maybes. Fix a couple bugs in the implementation of maybe. classoid? is now a dumb test if an object could be a well-formed classoid; valid-classoid? tests for well-formedness. Move maybe tests. Make pprint* work better on methods. 2011-11-22 15:12:20 -08:00
Doug Coleman fac17c10ba classes.maybe: move maybe definition from classes.union to classes.maybe 2011-11-22 02:46:36 -08:00
Doug Coleman 067f9830ef classes.union: Define a maybe: word that makes a tuple that acts as an anonymous union for a type and f. Updated all the places we define UNION: ?foo foo POSTPONE: f ;. Fixes #416 and lots of headaches. 2011-11-22 01:56:13 -08:00
Doug Coleman c731dc6edb Rename lookup to lookup-word. 2011-11-06 16:00:00 -08:00
Slava Pestov c14f0ef698 classes.union: unions of built-in types now have more efficient predicates. Fixes #292 2011-10-29 17:11:03 -07:00
Slava Pestov 0f4c5d2bff classes.algebra: make it work better to fix bug reported by Sascha Matzke 2010-07-29 19:57:23 -04:00
Slava Pestov 09ead56652 Re-work flushed dependencies into new compiler cross-referencing framework 2010-01-30 09:29:00 +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 830e25c70b More changes so that mixins trigger even less recompilation 2010-01-30 09:28:53 +13:00
Slava Pestov e6d1388dcc Clean up class algebra a bit, and change mixins to recompile less, taking advantage of new semantics 2010-01-30 09:28:52 +13:00
Slava Pestov af41dc6169 Trying to fix mixin semantics 2010-01-30 09:28:51 +13:00
Slava Pestov 0612bc6177 Factor source files should not be executable 2009-11-21 17:50:43 -06:00
Slava Pestov c693587018 classes.algebra: cleanup 2009-11-10 17:41:47 -06:00
Keith Lazuka 405e5d015b docs: change $subsection to $subsections 2009-10-02 12:15:48 -04:00
Doug Coleman 9a876a5255 remove duplicate usings 2009-08-26 22:23:03 -05:00
Slava Pestov a0eb60906d Fix even more usings 2009-05-16 10:45:17 -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 a23a6a2870 Forgetting a predicate class now updates predicate-instance? word 2009-03-13 04:22:16 -05:00
Slava Pestov 667eca9410 Fix unit tests and help lint for 'see' move 2009-03-11 17:33:54 -05:00
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
Slava Pestov c19f2257f4 Fix permission bits 2008-10-02 08:34:49 -05:00
Doug Coleman b1d26e100a use if/when/unless-empty, docs 2008-09-06 17:10:32 -05:00
Slava Pestov 4cb64aaeb8 Fixing unit tests for eval word being moved 2008-07-29 00:05:01 -05:00
Slava Pestov a8b826e8ed Fix hang 2008-07-05 17:08:01 -05:00
Slava Pestov 44c1c1f679 Move tuple-class to classes.tuple where it belongs 2008-07-05 00:59:39 -05:00
Slava Pestov 07d2dc58cd Fix unit test 2008-07-04 01:32:38 -05:00
Slava Pestov 091484de98 Fix ERROR:, erg's mixin bug 2008-07-04 01:32:11 -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 6e0d35e615 Split up huge parser vocabulary 2008-06-25 03:25:08 -05:00
Slava Pestov ba8f1388ab Fixing everything for mandatory stack effects 2008-06-09 02:14:14 -05:00
Slava Pestov 315110eb09 Working on intersection classes 2008-05-10 18:09:05 -05:00
Slava Pestov 5a29b2e273 Class linearization 2008-05-02 02:51:38 -05:00
Slava Pestov f2440381cd More documentation updates 2008-04-03 21:29:49 -05:00
Slava Pestov 93d9722a6b Fix class resetting 2008-04-03 00:21:53 -05:00
Slava Pestov 7a596ce004 Debugging inheritancE 2008-04-02 02:44:10 -05:00
Slava Pestov f5e2389c04 Clean up tuple code and get hierarchy changes working 2008-03-29 02:46:29 -05:00
Slava Pestov d8abb49a9b Working on classes 2008-03-28 22:59:48 -05:00
Slava Pestov 690621ffb6 Change PREDICATE: syntax 2008-03-26 18:23:19 -05:00
Doug Coleman d0b348591a path+, prepend 2008-03-19 19:15:43 -05:00
Slava Pestov bb3468dc2b Fixing interaction between mixin classes and forget 2008-02-17 17:08:16 -06:00
Slava Pestov dee25cda13 New generic word implementation reduces compile time 2008-02-04 16:20:07 -06:00
Slava Pestov 60290fbf52 Fix littledan bug #2 2008-01-31 00:49:18 -06:00
Slava Pestov 3b311d3cb7 definition observers; move with-compilation-unit and related support to compiler.units 2008-01-09 04:52:08 -05:00