about summary refs log tree commit diff stats
path: root/edit.arc.t
diff options
context:
space:
mode:
authorKartik K. Agaram <vc@akkartik.com>2014-10-10 15:04:14 -0700
committerKartik K. Agaram <vc@akkartik.com>2014-10-10 15:08:19 -0700
commit630e93635c1fe2f0c2bde7823ddeb49fb48f6872 (patch)
tree9b2654e95e86072150986c137da6e2189c006518 /edit.arc.t
parent99ff20c8881af6407255129b0e4b83628c9da11f (diff)
downloadmu-630e93635c1fe2f0c2bde7823ddeb49fb48f6872.tar.gz
123 - experiment: build the reading flow around the *test* file
Diffstat (limited to 'edit.arc.t')
-rw-r--r--edit.arc.t25
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*)