diff options
Diffstat (limited to 'edit.arc.t')
-rw-r--r-- | edit.arc.t | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/edit.arc.t b/edit.arc.t index 6272699b..3986cbfc 100644 --- a/edit.arc.t +++ b/edit.arc.t @@ -1,5 +1,30 @@ (load "mu.arc") +(on-init + (= types* (obj + ; Each type must be scalar or array, sum or product or primitive + location (obj size 1) + integer (obj size 1) + boolean (obj size 1) + boolean-address (obj size 1 address t) + byte (obj size 1) +;? string (obj array t elem 'byte) ; inspired by Go + character (obj size 1) ; int32 like a Go rune + character-address (obj size 1 address t elem 'character) + string (obj size 1) ; temporary hack + ; arrays consist of an integer length followed by the right number of elems + integer-array (obj array t elem 'integer) + integer-address (obj size 1 address t elem 'integer) ; pointer to int + ; records consist of a series of elems, corresponding to a list of types + integer-boolean-pair (obj size 2 record t elems '(integer boolean)) + ; editor + line (obj array t elem 'character) + line-address (obj size 1 address t elem 'line) + line-address-address (obj size 1 address t elem 'line-address) + screen (obj array t elem 'line-address) + screen-address (obj size 1 address t elem 'screen) + ))) + (reset) (new-trace "new-screen") ;? (set dump-trace*) |