Re: [livecode] Katahdin: Modifying your programming language as it runs

From: Julian Rohrhuber <rohrhuber_at_uni-hamburg.de>
Date: Fri, 22 Jun 2007 14:16:19 +0200

as you hint toward, the general point is in how far it is required to
enter into the compiler itself to change the logic of the program in
a non-trivial way. One shouldn't have to do this in a turing-complete
language. On the other hand it is interesting to see what happens
when it happens.

Object orientation in a way tries to abstract from the idea of a
single compiler altogether (although there is one), and make every
object a dispatch of a "sentence".


>On 6/21/07, alex <alex_at_slab.org> wrote:
>>"Katahdin is a programming language where you can define new language
>>constructs such as expressions and statements as easily as new types or
>>functions. For example, you could define a new operator, a new type of
>>loop, implement a syntax from another language that you like.
>
>hmm... technically, I'm not sure how this is different from most other
>programming languages... operators and statements are just "weird"
>functions, AFAIK. (of course, the fact that languages such as C are
>implemented to make these very difficult to interchange is another
>matter. ultimately that's something of a "turing complete" debate,
>but I think we're concerned with syntactic/human ease here.)
>
>>After
>>defining a new construct you can use it on the next line in the same
>>file, so there is no need to recompile each time you want to add a new
>>construct. Katahdin is powerful enough that you can define an entire
>>existing language, or design a new language from scratch, making
>>Katahdin a universal language interpreter."
>
>ah, now this sounds an awful lot like FORTH and its interactive
>compiler (or "meta-compiler").
>
>http://en.wikipedia.org/wiki/FORTH#Structure_of_the_compiler
>
>>http://lambda-the-ultimate.org/node/2303
>>
>>Not sure how novel this is though, you could say the same about many
>>languages I'm sure.
>>
>>alex
>
>seems so.


-- 
.
Received on Fri Jun 22 2007 - 12:16:51 BST

This archive was generated by hypermail 2.4.0 : Sun Aug 20 2023 - 16:02:23 BST