interpreter evaluates our script
following norvig interpreter example (in lisp )
Q - what if accidently unknowingly use lisp functions in script?
to find more examples of interpreters mostly written using macros
Q - how to go from strings to lists = read-from-string and list functions
note again: (print(eval(read)))
Q - building an interpreter with macros (Q if read-eval works with those macros?) Q of environment also
eg:
(loop(print(eval(get-node))))
is node space thus lisp environment - space of relations
now define that environment of trajectories, macros-functions, relations, levels, scenes, scripts, machine-nodes
from environment to language
Q - parse syntax into lisp expressions or build syntax on top of lisp expressions?
Q - interactive or non-interactive. interactive = ability to modify nodes and environment at top-level - always as nodes are environment
process:
1) find nodes ( extract node from stream/body) = container-extract - of data what could eventually become node) parsing
2) add to environment-trajectories
3) process/evaluate according to trajectories (do we include velocity?), levels crossed and data
that nodes can be added by simply being in file-space - entering net-space or within interpreter enviroment
Q - again of shared environment
parsing? of basic tokens? (eg. tenses etc) for subject, object, verb etc - english grammar at low level but still q of non-functional operations - tokens, relations of word-node trajectories
aug bcn notes
is question now of embed/interpreter approaches:
1) eval does not work with surrounding lexical context - cannot refer to surrounding variables (but does it refer to previously evalled stuff?) - alos we can pass own env to own eval - this is the interpreter approach as exampled in norvig p756 chapter22 - scheme interpreter in CL. - note use of symbol-function and apply
2) interpreter must allow for language redefinition - of its own environments
q is of interpreted (norvig example) or embedded (can we expand lisp into the diagrammatic?)
q is of ability to redefine language in interpreted model - that nodes themselves are interpreters abd should maybe represent this interp loop,
also idea that raw paranthetical lisp syntax is quite suited to spacings
also like use of quote unquote - quote (' for no evaluation) is reflexivity unquote (, to evaluate within ' expression) is performative
and string->symbol->string
need some examples here
quote is foreground unquote is to be filmed/as filmed
also note in p236 Paul Graham Common Lisp - read-macro for list delimiters - to such as change { to do stuff with lists if surrounds them