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

From: Julian Rohrhuber <rohrhuber_at_uni-hamburg.de>
Date: Fri, 22 Jun 2007 17:59:32 +0200

>On 6/22/07, Julian Rohrhuber <rohrhuber_at_uni-hamburg.de> wrote:
>>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.
>
>my understanding of "interactive programming" is that the distinction
>between "programming language" (and thus applications) and "compiler"
>need not exist at all.
>
>http://en.wikipedia.org/wiki/Interactive_programming

They do exist in each instance, but they are a matter of perspective.
But what do you mean when you say that the "programming language"
equals the "applications" ? I would have agreed in the flexibility of
the concept of interpretation / compilation, but isn't the
language/application relation the connection which is at least
nontrivial?


>
>>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".
>
>sure... because OOP is also a "shadow" of the Actor Model... (Alan
>Kay was a student of Carl Hewitt, IIRC.) so, yes, we get into
>asynchronous message-passing concurrency and distributed systems
>programming. (of which I'm quite fond.)
>
>http://en.wikipedia.org/wiki/Actor_model


Yes, this is what I had in mind..

>
>I've tinkered with learning Erlang for a few years, and recently I
>started reading the Pragmatic Programmer's book on it. so far I think
>it's quite excellent for clarifying alot of murky issues about what's
>really going on in Erlang.
>
>http://www.pragmaticprogrammer.com/titles/jaerlang/


good tip, thank you.


>
>> >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 - 16:00:05 BST

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