Slava Pestov
fbbaef70c4
Remove stream-peek and stream-peek1, re-implement dns vocab to not need this abstraction
2010-10-08 18:55:13 -07:00
Doug Coleman
d462355035
Implement and document stream-peek
2010-10-08 06:34:19 -07:00
Doug Coleman
046efe7798
Update alien.enums docs
2010-10-01 01:41:24 -05:00
Doug Coleman
3ac8847a15
Fix typo ohno
2010-09-29 17:29:28 -05:00
Doug Coleman
3cdc9ba650
Use create-class-in to get redefinition errors with enums
2010-09-29 16:24:25 -05:00
Doug Coleman
56c8d47d58
Make alien.enums create singletons so I can dispatch on them. Clean up the code a bit.
2010-09-28 15:15:55 -05:00
Slava Pestov
f9c9814e57
alien.data: remove deprecated malloc-object word
2010-09-20 21:36:20 -07:00
Slava Pestov
d450d12b2b
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
25ea734a8e
alien.parser: make int[3]* parse, make int[3][4 not parse
2010-08-15 02:37:17 -07:00
Slava Pestov
e8152e9098
alien.parser: array types where the base type was a pointer didn't parse (reported by Dmitry Shubin)
2010-08-15 02:32:12 -07:00
Slava Pestov
cc71799833
alien.prettyprint: fix unit test snafu
2010-08-11 21:52:37 -07:00
Joe Groff
04075be646
alien.c-types: classify typedefs of array/string types as typedef-words so they prettyprint correctly
2010-08-11 10:03:19 -07:00
Slava Pestov
a5f59e9cd6
alien.prettyprint: fix test failure
2010-07-29 21:09:05 -04:00
Slava Pestov
6142bd7335
alien.syntax: FUNCTION: and FUNCTION-ALIAS: now define inline words
2010-07-28 03:05:14 -04:00
Slava Pestov
b23aac1beb
compiler.cfg: open-code parameter boxing and unboxing for certain C types
2010-07-19 10:25:13 -04:00
Slava Pestov
446ee6896d
alien.data: remove second quotation parameter from with-out-parameters, now all values are copied properly and calling 'clone' on structs in this quotation is not necessary
2010-07-16 17:32:05 -04:00
Slava Pestov
5b31cbcb3c
alien.data: document with-scoped-allocation and with-out-parameters, and add initial: syntax
2010-07-16 17:13:38 -04:00
Slava Pestov
8a0525e5ce
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
4c4a86ee72
alien.data: fix unit test failure
2010-06-11 15:38:57 -04:00
Joe Groff
c8ea7ed0c7
alien.data: make binary-zero? public and move it from classes.struct.private
2010-06-10 17:05:43 -07:00
Slava Pestov
be1b5e6627
alien.prettyprint: fix wrapping when prettyprinting pointer:
2010-06-02 03:11:46 -04:00
Slava Pestov
adecd623d0
alien.prettyprint: fix prettyprinting of array types and CALLBACK: (reported by Anton Gorenko)
2010-05-30 16:21:43 -04:00
Slava Pestov
ba7cb61133
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
86358b1dc3
alien.data: add with-scoped-allocation combinator for stack-allocating C data
2010-05-19 00:33:36 -04:00
Slava Pestov
4d66f52777
alien.c-types: make a couple of words private
2010-05-18 22:34:42 -04:00
Slava Pestov
1834241e5a
alien.libraries, stack-checker.alien: check user inputs more carefully to ensure that invalid ABI descriptors don't slip through and break random stuff (reported by prunedtree)
2010-05-18 18:46:31 -04:00
Slava Pestov
ea726f5680
Move remaining sequence operations from generalizations to sequences.generalizations where they belong
2010-05-18 18:36:47 -04:00
Slava Pestov
5b48cd2a63
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
0cde5c8fb5
Eliminate compiler.alien
2010-05-11 23:24:47 -04:00
Slava Pestov
ee0640f176
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
c211c3e84e
FFI rewrite part 1: split up ##alien-invoke and friends into smaller instructions
2010-05-09 21:36:52 -04:00
Slava Pestov
627295f094
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
e763c74096
More FFI cleanups
2010-05-05 01:13:45 -04:00
Slava Pestov
de8e0ccd5c
alien.c-types: cleanup
2010-05-04 19:33:55 -04:00
Joe Groff
e5c65b2204
use word-props instead of singletons for enum>number conversion so there's not a big fat generic making the image buy another plane ticket
2010-04-21 22:22:06 -07:00
Joe Groff
4c7ab0e9a3
doll up ENUM: docs
2010-04-21 21:33:04 -07:00
Doug Coleman
339952697f
Fix alien.enum docs
2010-04-21 21:32:33 -05:00
Joe Groff
f9668be814
alien.enums: make enum>number foldable so it optimizes constant enums to constant ints, make number>enum a macro so it doesn't use c-type metadata at runtime
2010-04-20 17:05:14 -07:00
Erik Charlebois
fdeb305a3c
Use generic word for enum>number. Tests and documentations.
2010-04-19 20:08:40 -07:00
Erik Charlebois
baab8c060d
Remove ENUM: f and replace uses with CONSTANTs.
...
Fix bootstrap and load-all errors from enum classes.
2010-04-19 20:08:40 -07:00
Joe Groff
52903ee597
prettyprint ENUM: definitions
2010-04-19 20:07:18 -07:00
Joe Groff
d3f770d545
add alien.enums vocab with enum-c-types that convert between symbols and integer values in the FFI. update ENUM: to define symbolic enums, and take an optional base type
2010-04-19 20:07:18 -07:00
Joe Groff
e730d3b6d5
alien.c-types: use CONSULT: to define c-type-protocol methods on c-type-name
2010-04-19 20:07:17 -07:00
Joe Groff
6e55a3b8f5
alien.parser, alien.syntax: send ENUM: body to parse-enum
2010-04-19 20:07:17 -07:00
Joe Groff
f394cb4fdc
alien.parser: have define-enum handle the case when the enum name is f
2010-04-19 20:07:17 -07:00
Joe Groff
8c915e05f7
alien.parser, alien.syntax: refactor ENUM: to separate parsing from definition
2010-04-19 20:07:17 -07:00
Joe Groff
4bc915d526
C-ENUM: -> ENUM:
2010-04-19 20:07:16 -07:00
Slava Pestov
2eda6fc6aa
io.encodings: add a fast-path for ascii, utf8 and 8-bit encodings when string only contains ASCII characters
2010-04-19 01:14:00 -05:00
Joe Groff
37784cd356
rearrange stuff in alien.arrays and alien.data to eliminate libc dependency from alien.arrays, and by extension, alien.syntax
2010-04-14 21:40:29 -07:00
Joe Groff
54015782f3
document FUNCTION-ALIAS:
2010-04-14 16:14:33 -07:00