Language Design

You might also like

Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 1

consider:

0000000000001260 <xcb_composite_query_version_reply@@Base>:
1260: f3 0f 1e fa endbr64
1264: e9 27 fe ff ff jmp 1090 <xcb_wait_for_reply@plt>
1269: 0f 1f 80 00 00 00 00 nopl 0x0(%rax)
this is literally a "jump to a block of code, which in turn also simply
jumps" (with the addition of some `endbr64` and `nopl` around it)
well, it can be modeled as essentially a void function with no parameters,
but there is a significant difference between "call" (which couples with "return")
and "jump" (!)
(!) either way, the idea is to bring back the "goto", or to make "jump" part
of the language's basis (!); also, code should be modelable more as a "graph", not
just as a "chain of stack frames" (!)
I mean, I want to be able to "forget the return path(s)", I want to be
able to "migrate a co-routine to another stack", to be able to "just jump without
affecting the return path, but still manage the code in different scopes", etc.
(*?)

a function/block of code/scope should be able to define "state points"; now,


especially when returning, composition-wise it is of interest to know how to
continue the composition based on the "sequential-last, state point" (*)
now, I am thinking about "state points projection", and mostly with interest
for the 2-state {TRUE, FALSE}, which would directly control the execution in the
form of "boolean expressions" (*)
but, boolean expressions do have certain limitations: they typically do
not exhibit parallelism, as they are evaluated sequentially, in a certain order
(typically left to right ?); they also "short-circuit" when an AND fails (and this
might be - often times, but maybe not always - desireable); they also do "skipping"
when an OR encounters its first TRUE; therefore, the order of
"terms"/"substitutables" in an "OR sub-expression" is quite relevant; also, it is
important to precede certain "AND terms" (as opposed to "OR terms" *) with their
"pre-conditionals" (*?)
it would also be possible to "give a name, to a state point" corresponding to
"one of a set of states" in an FSA machine (!), or perhaps to an "intervals
expression"

You might also like