Commit Graph

101 Commits (0a7b50f208faa758a98f82f20d84e6a06185a694)

Author SHA1 Message Date
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 a7814b9358 classes: unset defining-class in define-class. 2016-04-13 16:41:42 -07:00
John Benediktsson 71ef8a22c2 disambiguate namespaces:set and sets:set. 2016-03-29 17:14:42 -07:00
John Benediktsson 9cc73c9492 graphs: move to core and simplify.
1. remove add-vertex* and remove-vertex* that contradicted the documentation.
2. graphs use hash-sets of edges instead of hashtables of {edge,edge} pairs.
3. make graphs:closure work like classes:closure, use in classes.
2016-03-21 10:20:38 -07:00
John Benediktsson e477f6996f Fix comments to be ! not #!. 2015-09-08 16:15:10 -07: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 e0d1b14e5c factor: don't need FROM: namespaces => set or namespaces:set anymore 2015-08-12 11:25:57 -05:00
John Benediktsson 5eec781b40 use ``if*`` instead of ``dup [ ] [ drop ] if``. 2015-07-20 22:24:30 -07:00
Doug Coleman e4c39bcf3c factor: superclass -> superclass-of, superclasses -> superclasses-of 2015-07-20 00:46:33 -07: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
John Benediktsson aa00d59d59 words: rename reset-props to remove-word-props. 2015-06-09 11:53:46 -07:00
Doug Coleman 6e60c811ac core: Rename create to create-word, create-in to create-word-in. 2015-06-08 12:47:35 -07:00
Doug Coleman 8c19602ae9 assocs: Add of and ?of. Change all the things at once! Fixes #701. 2013-03-23 14:59:07 -07:00
Doug Coleman 5bcdeee745 classes: Add a check that arguments to classoids are themselves classoids.
Introduce a new word-prop that makes tuple-class words classoids at parse-time so that
self-referential tuple definitions with maybe{} work, e.g. TUPLE: node { next maybe{ node } } ;
Add unit test.
Fixes #766.
2013-03-22 16:00:46 -07:00
John Benediktsson af29a16aeb classes: finish converting update-map to use hash-sets. 2013-03-08 23:23:39 -08:00
John Benediktsson f84df9d190 classes: change class-usage to return a sequence like it's documented to do. 2013-03-08 23:06:16 -08:00
John Benediktsson bca13622f5 classes: use faster closure in class-usages. 2013-03-08 23:04:31 -08:00
John Benediktsson 4da798920e Revert "graphs: change closure to use a set and operate on sequences."
This reverts commit 2cc201a38a.
2013-03-08 18:08:09 -08:00
John Benediktsson 67e3cfae22 graphs: change closure to use a set and operate on sequences. 2013-03-08 17:53:31 -08:00
John Benediktsson f06bfef276 classes: store implementors in hash-sets. 2013-03-08 10:29:50 -08:00
John Benediktsson 559b5bfa5b using the new H{ } make. 2012-07-19 09:50:09 -07:00
John Benediktsson 5e16810075 using reverse! when possible. 2012-04-25 20:09:36 -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 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 f9257959fd Rename class to class-of 2011-10-24 06:47:42 -05:00
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
Daniel Ehrenberg 7074979745 Moving new-sets to sets 2010-02-26 16:01:01 -05:00
Slava Pestov cd1986a906 classes: fix regression from recent bug fix 2010-02-15 23:46:55 +13:00
Slava Pestov 3e5e3a6d3f classes: call reset-generic on predicate word to avoid redefinition problems (reported by littledan) 2010-02-15 18:34:45 +13:00
Slava Pestov e929d906ce classes: If a tuple class with subclasses is redefined into something that's not a tuple class, subclasses are changed to inherit from 'tuple' instead of being forgotten. Also, changing the metaclass of a union or intersection member no longer removes it from the union or intersection. Finally, make some internal words private 2010-02-01 02:48:39 +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
Slava Pestov c027046857 New 'conditional dependency' mechanism for more accurate recording of recompilation information 2010-01-30 09:28:57 +13:00
Slava Pestov 4f68808a72 Rename predicate-word to create-predicate-word and add a new predicate-word word 2010-01-30 09:28:55 +13:00
Slava Pestov 830e25c70b More changes so that mixins trigger even less recompilation 2010-01-30 09:28:53 +13:00
Joe Groff 06eeedcb4c change-tracking-tuple class. subclasses will have a "changed?" slot that gets set to true when any slot is modified 2009-07-31 21:48:17 -05:00
Slava Pestov 8414693142 stack-checker: trust word declarations instead of recursively checking them 2009-04-20 18:44:45 -05:00
Slava Pestov 7bf0a46d3d Updating tests for method-spec removal 2009-04-06 04:16:39 -05:00
Slava Pestov 6080c6e734 Fix stack effect redefinition 2009-03-22 20:16:31 -05:00
Slava Pestov 8f1240cf96 Forgetting a word doesn't call reset-word anymore, fixing an issue where a word calling a forgotten word wouldn't compile because the 'declared-effect' word prop was not set 2009-03-13 00:40:18 -05: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
Slava Pestov 4fd1767768 Old fix for classes-intersect? no-method bug was incorrect; we were
ignoring anonymous classes in compiled-generic-crossref. Also,
forget* now calls reset-word so that references to predicates of
forgotten classes don't break the compiler with a similar error.
2008-11-05 18:32:02 -06:00
Slava Pestov 9b492b55e0 Fix minor leak: class-caches were not reset if a class was forgotten 2008-11-04 02:17:37 -06:00
Slava Pestov c19f2257f4 Fix permission bits 2008-10-02 08:34:49 -05:00
Slava Pestov 34952ff5c4 Faster call-next-method 2008-10-01 08:20:49 -05:00
Slava Pestov 44f53de164 Move make to its own vocabulary, remove fry _ feature 2008-09-10 20:07:00 -05:00
Slava Pestov f5fbd94a4c New compiled crossref implementation 2008-08-31 01:34:00 -05:00
Slava Pestov 86e04a81dc Fix conflict 2008-08-30 02:32:17 -05:00