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