Commit Graph

134 Commits (7fb6dfd376d66c472351efdea06b6fc4a068913a)

Author SHA1 Message Date
John Benediktsson f2741b34a4 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 fd853f9958 Cleanup some lint warnings. 2011-10-15 19:19:44 -07:00
John Benediktsson f419934d6a Cleanup lint warnings. 2011-10-14 11:47:24 -07:00
Doug Coleman 60b1115452 Rename forget-struct-slot-accessors -> forget-slot-accessors 2011-10-06 13:21:18 -07:00
Doug Coleman 921c81d92a 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
Doug Coleman ad83aed13a Forget struct slot accessors when structs classes are redefined 2011-10-03 17:12:49 -07:00
Doug Coleman e75e2b1f14 Make M\ throw an error upon lookup failure. Change method -> ?lookup-method, lookup-method is the throwing version of ?lookup-method. Fixes #229. 2011-10-03 15:49:49 -07:00
Doug Coleman 0a198ccdf1 Less use of eval( in unit tests 2011-10-03 13:54:34 -07:00
Doug Coleman f82de335e5 Fix using list in classes.struct tests 2011-10-03 01:06:02 -07:00
Doug Coleman b78fa2c9d9 Define reset-class for struct-classes, add unit tests. Fixes #206. 2011-10-02 20:08:23 -07:00
Doug Coleman 94f3ca3b8c Remove all non-core uses of (scan-token)
Add scan-datum
Add scan-number
Document more words
Fixes #225.
2011-10-02 12:00:08 -07:00
Doug Coleman 300138eb4d Refactor the lexer/parser to expose friendlier words for scanning tokens. The preferred top-level words now throw an exception on EOF.
CREATE -> scan-new
CREATE-CLASS -> scan-new-class
CREATE-WORD -> scan-new-word
CREATE-GENERIC -> scan-new-generic
scan -> (scan-token)
scan-token now throws on eof
(scan-word) returns word/number/f
scan-word now throws on eof
scan-word-name expects a non-number
Fixes #183.
Fixes #209.
2011-09-29 11:28:28 -07:00
Doug Coleman ced1795a04 Fixes the symptom but not the problem. See bug #201. 2011-09-26 17:32:34 -07:00
Doug Coleman 4c3418b3ee Trim down a few using lists 2011-09-26 13:42:46 -07:00
John Benediktsson 0e3d598e69 specialized-arrays: performed some cleanup.
Specifically,
    •   Created >c-array to be replacement for >T-array.
    •   Created cast-array to be generic replacement for all T-array-cast words.
    •   Created c-array@ to be generic replacement for T-array@ words.
    •   Replaced usages of <T-array> with T <c-array>
    •   Replaced usages of <direct-T-array> with T <c-direct-array>
    •   Replaced usages of >T-array with T >c-array
    •   Replaced usages of T-array-cast with T cast-array
    •   Replaced usages of malloc-T-array with T malloc-array.
    •   Removed malloc-T-array.
    •   Removed T-array-cast.
    •   Removed T-array@.
    •   Removed >T-array.

I also added (but didn't change any code to use):
    •   T c-array-type, returns T-array
    •   T c-array?, returns T-array?
    •   c-array{ T ... }, returns T-array{ ... }

Bootstraps just find on Mac OS X.  Also `load-all test-all` works for me.
2011-09-26 11:37:51 -07:00
John Benediktsson 9da1297c57 classes.struct: add test cases for see on structs. 2011-09-25 17:25:28 -07:00
John Benediktsson 1432d49feb classes.struct: Fix prettyprint for PACKED-STRUCT. Fixes #162. 2011-09-24 17:55:13 -07:00
Slava Pestov eea41b6d17 Merge classes.struct.packed into classes.struct and remove duplication 2011-08-25 21:02:25 -07:00
Erik Charlebois 1ed2bc6231 32 and 64 bit Linux PPC support 2011-05-23 23:36:14 -04:00
Slava Pestov 206508e016 classes.struct: fields with a type that's an array of pointers (eg int*[3]) now work 2010-08-15 02:44:21 -07:00
Slava Pestov bd473cb970 classes.struct: make hashcode and equal? work on structs wrapping null pointers, to fix another obscure issues arising with tuple arrays 2010-08-06 00:15:22 -07:00
Slava Pestov e935681743 Add a scan-token word which is like scan, except throws an error on EOF; document scan-object word; mention that scan-token/scan-object are preferred over scan/scan-word 2010-07-06 16:20:08 -04:00
Slava Pestov c7e5055eb3 classes.struct: remove conflict marker from unit tests 2010-06-22 14:35:49 -04:00
Doug Coleman 2403486156 conflicts 2010-06-16 16:23:29 -05:00
Joe Groff 99bc1b483e classes.struct: fix some bugs in binary-zero?, add unit tests 2010-06-16 16:23:29 -05:00
Joe Groff 2ab97370da alien.data: make binary-zero? public and move it from classes.struct.private 2010-06-10 17:05:43 -07:00
Joe Groff 7e0ade0972 classes.struct: fix some bugs in binary-zero?, add unit tests 2010-06-10 16:49:59 -07:00
Joe Groff e45373d1ce classes.struct: implement "group-words" method on struct-class so that struct classes can be used as a CONSULT: protocol 2010-06-08 12:52:46 -07:00
Slava Pestov b8ec5c6176 Stack allocation improvements
- New with-out-parameters combinator
- Inhibit tail call optimization in frames with local allocation, to ensure that passing a stack allocated value to the last word in the quotation works
- local allocations are now aligned properly
- spill slots are now aligned properly aligned in frames which have parameter and local allocation areas
2010-05-22 02:37:00 -04:00
Slava Pestov 35bd2bca06 FFI rewrite part 5: return value boxing and callback parameter boxing now uses vregs; simplify return value unboxing 2010-05-16 03:43:23 -04:00
Slava Pestov 5a102c717d Eliminate compiler.alien 2010-05-11 23:24:47 -04:00
Slava Pestov b92c67fc2c Move flatten-c-type to death row so that it can be executed in part 5 2010-05-11 22:26:31 -04:00
Slava Pestov 5054bb4b25 FFI rewrite part 4: parameter and return value unboxing redesign 2010-05-11 19:11:44 -04:00
Slava Pestov 3d66820344 FFI rewrite part 1: split up ##alien-invoke and friends into smaller instructions 2010-05-09 21:36:52 -04:00
Slava Pestov d2d466de29 Language change: tuple slot setter words with stack effect ( value object -- ) are now named FOO<< instead of (>>FOO) 2010-05-06 17:21:02 -04:00
Slava Pestov 7e8add87fe More FFI cleanups 2010-05-05 01:13:45 -04:00
Slava Pestov ae24eb8f97 alien.c-types: cleanup 2010-05-04 19:33:55 -04:00
Daniel Ehrenberg 4cf75e97b5 Documenting bitfields in structs 2010-04-25 18:09:58 -05:00
Daniel Ehrenberg d9878f81d7 Changing require-when usages to the new syntax for require-when 2010-04-18 14:29:24 -05:00
Slava Pestov f733693ec7 classes.struct, specialized-arrays: fix unit tests to work when forget-tests? is on 2010-04-12 18:29:47 -07:00
Daniel Ehrenberg f2f80dadc7 Updating code to use require-when rather than vocab [ require ] when 2010-03-18 01:13:37 -04:00
Joe Groff 0f34795200 classes.struct: raise an error in STRUCT: if there are duplicate slot names 2010-02-25 11:52:21 -08:00
Slava Pestov c1e7a3ffc2 Specialized arrays, structs and other objects responding to the >c-ptr / byte-length protocol can now be written to binary streams 2010-02-24 20:18:41 +13:00
Joe Groff 96ab4492d2 rename current string-mangling "char*" to "c-string". char* is now just a boring old pointer to char 2010-02-23 11:42:02 -08:00
Joe Groff 9a79427f00 classes.struct: reader-quot was checking struct-slot-spec for array-ness, not the type! derp 2010-02-22 23:57:10 -08:00
Joe Groff 4875169d0c alien.arrays/classes.struct: ensure specialized array types for struct array slots get instantiated at parse time 2010-02-22 12:21:29 -08:00
Joe Groff 21936bfe20 classes.struct: set dependency on slot types in slot accessors, so that accessors update when types change. enables pointers to make circular references between struct types 2010-02-21 22:46:52 -08:00
Joe Groff 4d89097467 add missing using to classes.struct tests 2010-02-21 22:04:23 -08:00
Joe Groff 64e6f08b59 use a "pointer" wrapper tuple to indicate pointer types instead of the current slipshod approach 2010-02-21 16:27:36 -08:00
Joe Groff 75359a59d5 remove string c-types from classes.struct tests 2010-02-21 13:01:29 -08:00