-+ allot refactoring:
-
-- sometimes fep when closing window
-- mov 0x0(%esi),%ecx why?
-- %allot-bignum-signed-2 is broken on both platforms
-
+ ui:
+- sometimes fep when closing window
- windows rollover broken again
- docs: don't pass volatile aliens to callbacks
- live search: timer delay would be nice
+ compiler/ffi:
+- %allot-bignum-signed-2 is broken on both platforms
- callback scheduling issue
- amd64 structs-by-value bug
- intrinsic fixnum>float float>fixnum fixnum>bignum bignum>fixnum
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-: vsum ( vector-of-vectors --- vec ) { 0 0 } [ v+ ] reduce ;
+: vsum ( vector-of-vectors -- vec ) { 0 0 } [ v+ ] reduce ;
: vaverage ( seq-of-vectors -- seq ) dup vsum swap length v/n ;
TUPLE: coroutine resumecc exitcc ;
-: cocreate ( quot - co )
+: cocreate ( quot -- co )
#! Create a new coroutine, which will execute the quotation
#! when resumed. The quotation will have the coroutine
#! on the stack and an initial value (received from coresume)
! Grammar for JSON from RFC 4627
USE: tools
-: [<&>] ( quot - quot )
+: [<&>] ( quot -- quot )
{ } make unclip [ <&> ] reduce ;
-: [<|>] ( quot - quot )
+: [<|>] ( quot -- quot )
{ } make unclip [ <|> ] reduce ;
LAZY: 'ws' ( -- parser )
: deserialize-tuple ( -- array )
deserialize
- deserialize array>tuple
+ deserialize >tuple
[ intern-object ] keep ;
: deserialize-byte-array ( -- byte-array )
"unbox_unsigned_1"
"uchar" define-primitive-type
+! This is a hack; we need better ways of handling arrays
+! inline structs
+[ swap <displaced-alien> alien>char-string ]
+[ swap <displaced-alien> swap set-alien-unsigned-1 ]
+1
+f
+f
+"char[]" define-primitive-type
+
[ alien-unsigned-4 zero? not ]
[ 1 0 ? set-alien-unsigned-4 ]
4