Commit Graph

42 Commits (5aa89e6251938c64b76250622990bef91e76d19a)

Author SHA1 Message Date
Björn Lindqvist 350de8f171 classes.mixin,classes.union: moves the check-self-reference test
Should make it so you can't define self-referencing mixins, just like
you can't define self-referencing unions.
2017-01-03 06:10:12 +01:00
Björn Lindqvist 7abe91732f classes.*: new words contained-classes and all-contained-classes
it is to generalize the logic used for checking if union classes
self-references
2016-12-06 09:00:01 +01:00
John Benediktsson ceb75057da change ERROR: words from throw-foo back to foo. 2015-08-13 16:13:05 -07:00
Doug Coleman 02008979d9 factor: Change ERROR: foo ; to define ``throw-foo`` instead of having ``foo`` throw implicitly. The old ``foo`` still throws implicitly because this is a big change to get right in one patch, but it should be removed soon. 2015-08-12 15:26:18 -05:00
Doug Coleman 28dcd0667a factor: rename set to unordered-set. 2015-08-12 10:54:19 -05:00
Doug Coleman 2adeed9cb3 factor: rename classes:members to class-members so it doesn't conflict with sets:members. ugh. 2015-07-20 00:32:42 -07:00
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 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
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
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 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 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 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 a96457cecc Initial import 2007-09-20 18:09:08 -04:00