|
|
|
|
|
by catnaroek
3046 days ago
|
|
> In lisp, everything's can be expressed in terms of other lisp code. Um, and how exactly are primitive forms defined? > most keywords get the explanation of "this is how the computer will act" and then explanations of new behaviors. Have you heard of Hoare logic? The meaning of ordinary ALGOL-style imperative programs can be given in terms of relating preconditions to postconditions. Suppose that you have the Hoare triples: {P} foo {Q}
{Q} bar {R}
Then you can derive the Hoare triple: {P} foo; bar {R}
Note that `Q` is not mentioned at all. Hence, any implementation is free to translate the program foo; bar
into something that doesn't have `Q` as an intermediate state. |
|
My point was that you don't typically see c constructs explained in terms of other c constructs. This is quite common in lisp. To see lisp constructs explained in terms of other lisp constructs. In large because there are few constructs.
You showing me that you can explain using other logic is kind of my point. It is awesome that you can do this. I recommend the skill. It is still not showing c or Java or Haskell or whatever in terms of themselves.
Note that I think you actually can do this, in large. It is not typically done, though.