Commit Graph

450 Commits (1e2a4df88c010670a6b22ca10648032d0b740127)

Author SHA1 Message Date
John Benediktsson d44cc17161 update docs for help.lint checks. 2013-08-24 11:39:31 -07:00
Doug Coleman 31e1fe54e3 core/extra tests: Fix word -> last-word 2013-03-24 01:11:54 -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 5fab749dcc words: Change word -> last-word, set-word -> set-last-word. 2013-03-23 16:12:03 -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 8c19602ae9 assocs: Add of and ?of. Change all the things at once! Fixes #701. 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
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
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 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 ac67935ef0 classes.tuple: require boa words to have tuple-class arguments. 2013-03-08 14:56:07 -08:00
John Benediktsson f06bfef276 classes: store implementors in hash-sets. 2013-03-08 10:29:50 -08:00
John Benediktsson 12216b1246 core: some more cleanup of USING lists. 2013-03-05 10:48:14 -08:00
John Benediktsson 02d45f1ac8 classes.algebra: fix docs for class<=. 2012-09-22 21:20:54 -07:00
John Benediktsson 81a894f05f classes.tuple: adding set-slots and from-slots. 2012-09-22 13:48:25 -07:00
John Benediktsson f70932040d classes.builtin: fold type>class. 2012-09-21 11:44:14 -07:00
Doug Coleman af9ac34db2 classes.tuple: Fix unit test. 2012-08-03 15:11:30 -07:00
Doug Coleman cd9dd9d752 core: Throw an error when assigning a bignum to a fixnum tuple slot if the bignum doesn't fit. Fixes #594. 2012-08-03 14:59:59 -07:00
Doug Coleman c26ad1eb10 classes.tuple: Fix unit tests related to coerce 2012-07-30 18:41:22 -07:00
Doug Coleman 178f79decf classes.tuple: Save slot name and tuple in no-slot error. 2012-07-24 14:05:58 -07:00
John Benediktsson 30a198e2ab classes.tuple: moving get-slot-named and set-slot-named from db.types. 2012-07-24 11:55:16 -07:00
John Benediktsson 559b5bfa5b using the new H{ } make. 2012-07-19 09:50:09 -07:00
Doug Coleman 7441fa81fc issue #358: Rename check-method and check-mixin-class TUPLE:s to ERROR:s. 2012-06-21 08:35:41 -07:00
Doug Coleman cee0b9e854 classes.tuple: Better error message for tuples that try to inherit from themselves. Add must-fail tests for tuples that try to inherit from themselves and for inheriting from a generic.
Fixes #412.
2012-06-01 16:59:03 -07: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
John Benediktsson 5e16810075 using reverse! when possible. 2012-04-25 20:09:36 -07:00
John Benediktsson 837b22336e classes.algebra: make class= and only-classoid? use short-circuit logic. 2012-04-18 12:00:24 -07:00
Doug Coleman 64bbd248d5 classes.maybe: Change the type of maybe's class slot. As a result, maybe: maybe: integer is valid now, so fix the unit tests and its prettyprinting. 2011-11-23 01:43:02 -08:00
Doug Coleman 0700dca792 classes.maybe: make maybe's slot type a classoid so you can do maybe: union{ }. Fix prettyprinting of anonymous-union/intersection. Fixes #427, fixes #428. 2011-11-23 01:19:09 -08:00
Doug Coleman f90bc5cdb6 classes: optimize instance? for classoids 2011-11-22 20:38:07 -08: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
Slava Pestov 07ef058fb0 Fix bootstrap 2011-11-12 16:45:04 -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
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
Doug Coleman df64529fb5 Forget some classes after unit tests so that running "classes" test succeeds multiple times in a row 2011-10-24 16:59:46 -07:00
Doug Coleman f9257959fd Rename class to class-of 2011-10-24 06:47:42 -05:00
John Benediktsson 5a943b32c4 Remove stack effects from HELP: declarations. 2011-10-20 19:36:11 -07: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
John Benediktsson 378786599d Cleanup lint warnings. 2011-10-14 11:47:24 -07:00
Doug Coleman cca76e0f6e Rename forget-struct-slot-accessors -> forget-slot-accessors 2011-10-06 13:21:18 -07:00
John Benediktsson 7a4ffd92ed classes.tuple: can't assume hashcode* returns fixnum. 2011-10-06 11:53:50 -07:00
Doug Coleman be3eebf719 Document reset-class, forget-class, forget-method. Use lookup-method in see, fix gpu.render for method->lookup-method renaming. Fixes #232. 2011-10-04 10:40:48 -07:00