Minor alien fixes
parent
c1803e1a4e
commit
e76ba67cbf
|
@ -1,12 +1,8 @@
|
||||||
- remove F_USERENV rel
|
- remove F_USERENV rel
|
||||||
- method ordering and interpreter algorithm sections need updates
|
|
||||||
- update walker for new interpreter
|
- update walker for new interpreter
|
||||||
- quotations should store their originating word
|
- quotations should store their originating word
|
||||||
- core foundation should use unicode strings
|
- core foundation should use unicode strings
|
||||||
- alien>utf16-string, utf16-string>alien words
|
- alien>utf16-string, utf16-string>alien words
|
||||||
- can <void*> only be called with an alien?
|
|
||||||
- remove <char*>, <ushort*>, set-char*-nth, set-ushort*-nth since they
|
|
||||||
have incorrect semantics
|
|
||||||
- fix compiled gc check
|
- fix compiled gc check
|
||||||
- 3 >n fep
|
- 3 >n fep
|
||||||
- code walker & exceptions
|
- code walker & exceptions
|
||||||
|
@ -22,6 +18,19 @@
|
||||||
- yield in a loop starves i/o
|
- yield in a loop starves i/o
|
||||||
- "localhost" 50 <client> won't fail
|
- "localhost" 50 <client> won't fail
|
||||||
|
|
||||||
|
+ help:
|
||||||
|
|
||||||
|
- method ordering and interpreter algorithm sections need updates
|
||||||
|
- document that can <void*> only be called with an alien
|
||||||
|
- help search
|
||||||
|
- fix remaining HTML stream issues
|
||||||
|
- automatically update help graph when adding/removing articles/words
|
||||||
|
- document conventions
|
||||||
|
- new turtle graphics tutorial
|
||||||
|
- better line spacing in ui and html
|
||||||
|
- tabular formatting - for inspector, changes and $values in help
|
||||||
|
- grid layout
|
||||||
|
|
||||||
+ ui/help:
|
+ ui/help:
|
||||||
|
|
||||||
- implement handlers for open, quit events, and whatever else
|
- implement handlers for open, quit events, and whatever else
|
||||||
|
@ -33,7 +42,6 @@
|
||||||
- speed up ideas:
|
- speed up ideas:
|
||||||
- only do clipping for certain gadgets
|
- only do clipping for certain gadgets
|
||||||
- use glRect
|
- use glRect
|
||||||
- help search
|
|
||||||
- reimplement tab completion
|
- reimplement tab completion
|
||||||
- x11 input methods
|
- x11 input methods
|
||||||
- x11 title bars are funny
|
- x11 title bars are funny
|
||||||
|
@ -45,14 +53,7 @@
|
||||||
- saving the image should save window configuration
|
- saving the image should save window configuration
|
||||||
- make the UI look better, something like this:
|
- make the UI look better, something like this:
|
||||||
http://twb.ath.cx/~twb/darcs/OBSOLETE/factor/final.html
|
http://twb.ath.cx/~twb/darcs/OBSOLETE/factor/final.html
|
||||||
- fix remaining HTML stream issues
|
|
||||||
- fix up the min thumb size hack
|
- fix up the min thumb size hack
|
||||||
- automatically update help graph when adding/removing articles/words
|
|
||||||
- document conventions
|
|
||||||
- new turtle graphics tutorial
|
|
||||||
- better line spacing in ui and html
|
|
||||||
- tabular formatting - for inspector, changes and $values in help
|
|
||||||
- grid layout
|
|
||||||
- variable width word wrap
|
- variable width word wrap
|
||||||
|
|
||||||
+ compiler/ffi:
|
+ compiler/ffi:
|
||||||
|
|
|
@ -7,8 +7,6 @@ parser sequences strings words ;
|
||||||
|
|
||||||
: <c-type> ( -- type )
|
: <c-type> ( -- type )
|
||||||
H{
|
H{
|
||||||
{ "setter" [ "Cannot read struct fields with type" throw ] }
|
|
||||||
{ "getter" [ "Cannot write struct fields with type" throw ] }
|
|
||||||
{ "boxer" [ "boxer-function" get %box ] }
|
{ "boxer" [ "boxer-function" get %box ] }
|
||||||
{ "unboxer" [ "unboxer-function" get %unbox ] }
|
{ "unboxer" [ "unboxer-function" get %unbox ] }
|
||||||
{ "reg-class" T{ int-regs f } }
|
{ "reg-class" T{ int-regs f } }
|
||||||
|
@ -77,8 +75,7 @@ SYMBOL: c-types
|
||||||
[ define-c-type ] keep "alien"
|
[ define-c-type ] keep "alien"
|
||||||
2dup init-c-type
|
2dup init-c-type
|
||||||
2dup define-deref
|
2dup define-deref
|
||||||
2dup define-set-nth
|
over c-setter [ 2dup define-set-nth define-out ] when ;
|
||||||
define-out ;
|
|
||||||
|
|
||||||
: typedef ( old new -- )
|
: typedef ( old new -- )
|
||||||
over "*" append over "*" append (typedef) (typedef) ;
|
over "*" append over "*" append (typedef) (typedef) ;
|
||||||
|
|
|
@ -103,10 +103,6 @@ USING: alien compiler kernel kernel-internals math namespaces ;
|
||||||
|
|
||||||
[
|
[
|
||||||
[ alien-unsigned-cell <alien> alien>string ] "getter" set
|
[ alien-unsigned-cell <alien> alien>string ] "getter" set
|
||||||
[
|
|
||||||
>r >r string>alien alien-address r> r>
|
|
||||||
set-alien-unsigned-cell
|
|
||||||
] "setter" set
|
|
||||||
bootstrap-cell "width" set
|
bootstrap-cell "width" set
|
||||||
bootstrap-cell "align" set
|
bootstrap-cell "align" set
|
||||||
"box_c_string" "boxer-function" set
|
"box_c_string" "boxer-function" set
|
||||||
|
@ -115,7 +111,6 @@ USING: alien compiler kernel kernel-internals math namespaces ;
|
||||||
|
|
||||||
[
|
[
|
||||||
[ alien-unsigned-4 ] "getter" set
|
[ alien-unsigned-4 ] "getter" set
|
||||||
[ set-alien-unsigned-4 ] "setter" set
|
|
||||||
bootstrap-cell "width" set
|
bootstrap-cell "width" set
|
||||||
bootstrap-cell "align" set
|
bootstrap-cell "align" set
|
||||||
"box_utf16_string" "boxer-function" set
|
"box_utf16_string" "boxer-function" set
|
||||||
|
|
|
@ -7,15 +7,25 @@ sequences strings words ;
|
||||||
|
|
||||||
! Some code for interfacing with C structures.
|
! Some code for interfacing with C structures.
|
||||||
|
|
||||||
|
: c-getter* ( name -- quot )
|
||||||
|
c-getter [
|
||||||
|
[ "Cannot read struct fields with type" throw ]
|
||||||
|
] unless* ;
|
||||||
|
|
||||||
: define-getter ( offset type name -- )
|
: define-getter ( offset type name -- )
|
||||||
#! Define a word with stack effect ( alien -- obj ) in the
|
#! Define a word with stack effect ( alien -- obj ) in the
|
||||||
#! current 'in' vocabulary.
|
#! current 'in' vocabulary.
|
||||||
create-in >r c-getter swap add* r> swap define-compound ;
|
create-in >r c-getter* swap add* r> swap define-compound ;
|
||||||
|
|
||||||
|
: c-setter* ( name -- quot )
|
||||||
|
c-setter [
|
||||||
|
[ "Cannot write struct fields with type" throw ]
|
||||||
|
] unless* ;
|
||||||
|
|
||||||
: define-setter ( offset type name -- )
|
: define-setter ( offset type name -- )
|
||||||
#! Define a word with stack effect ( obj alien -- ) in the
|
#! Define a word with stack effect ( obj alien -- ) in the
|
||||||
#! current 'in' vocabulary.
|
#! current 'in' vocabulary.
|
||||||
"set-" swap append create-in >r c-setter swap add* r>
|
"set-" swap append create-in >r c-setter* swap add* r>
|
||||||
swap define-compound ;
|
swap define-compound ;
|
||||||
|
|
||||||
: define-field ( offset type name -- offset )
|
: define-field ( offset type name -- offset )
|
||||||
|
|
Loading…
Reference in New Issue