Another way to define semantics is the "kernel language" approach
where the kernel language has a formal (possibly Operational)
semantics.  Van Roy and Haridi used this in CTM [1] for Oz/Mozart.

My Humus language [2] is a sort of "kernel language" based on a pure
implementation of the Actor model.  This language has been used to
explore the semantics of a variety of other computational models
including Object-Oriented Method Invocation (ala COLA) [3] and
pure-functional Lambda Calculus [4].

My strategy in using Humus has been to create "live" objects (actors,
really) which represent various software constructs (variables,
patterns, expressions, statements, etc.).  These actors respond to
events which initiate computation.  They generate events with cause
effects, modeling the "state" of the system.

A prototype implementation of Humus generates a graph of actors from
the AST resulting from parsing language text.  The graph of actors
represents the "program".  Execution occurs when an "eval/exec"
message (which carries the context/environment for execution) is sent
to the entry-point of the actor graph.

[1] http://c2.com/cgi/wiki?ConceptsTechniquesAndModelsOfComputerProgramming
[2] http://www.dalnefre.com/wp/humus/
[3] 
http://www.dalnefre.com/wp/2010/07/message-passing-part-2-object-oriented-method-invocation/
[4] 
http://www.dalnefre.com/wp/2010/08/evaluating-expressions-part-1-core-lambda-calculus/

On Mon, Nov 22, 2010 at 8:33 AM, Alan Kay <alan.n...@yahoo.com> wrote:
> Actually, I think it would be a good exercise for you to ask "what is
> semantics?", especially with regard to computing, and some of the ways it
> might be useful..... and report back to this list. It will make a good topic
> for discussion.
>
> This is easier than it was 50 years ago because there are more examples and
> more formalisms. So, in what ways are e.g. "operational semantics" and
> "denotational semantics similar, and how are they different? What do you
> lose or gain going from one to the other?
>
> Cheers,
>
> Alan
>
>
> ________________________________
> From: Ondřej Bílka <nel...@seznam.cz>
> To: Fundamentals of New Computing <fonc@vpri.org>
> Sent: Mon, November 22, 2010 6:21:30 AM
> Subject: Re: [fonc] Describing Semantics
>
> Hello
> Can you explain benefits of operational semantics.
> I skimmed through few papers  and it looks that they define yet another
> language with its abstract syntax tree.
> On Sun, Nov 21, 2010 at 04:55:45PM -0800, Alan Kay wrote:
>>    Hi Casey,
>>
>>    You might enjoy looking at "operational semantics" -- whose idea has
>> been
>>    around longer than the term. There is also "denotational semantics",
>> which
>>    goes back to Christopher Strachey in the 60s.
>>
>>    The latter is more amenable to automated reasoning processes, and the
>>    former is more amenable to lower level translations that create working
>>    machinery.
>>
>>    We are more interested in the former, and doing something about it is
>> on
>>    our list, but this is not likely to happen for quite a few months.
>>
>>    So it would be great for folks on the fonc list to weigh in. For
>> example,
>>    Nile is currently translated by OMeta into a variety of targets,
>> including
>>    Javascript, Squeak, and C -- and soon into a STEPS lower level language
>>    (which could be thought of as a kind of "operational semantics").
>>
>>    It would be nice to have more schemes for semantics which allow both
>>    reasoning and translation into efficient lower level code.
>>
>>    Cheers,
>>
>>    Alan
>>
>>
>> --------------------------------------------------------------------------
>>
>>    From: Casey Ransberger <casey.obrie...@gmail.com>
>>    To: Fundamentals of New Computing <fonc@vpri.org>; "om...@vpri.org"
>>    <om...@vpri.org>
>>    Sent: Sun, November 21, 2010 3:40:31 PM
>>    Subject: [fonc] Describing Semantics
>>    So I was in a heated debate with a good friend about Ometa. He pointed
>>    out, inadvertently, that matters of syntax and grammar are only the
>> easy
>>    part of the problem.
>>
>>    Ometa, I think, is the most elegant language we've seen for binding
>>    syntactic/grammatical constructs to semantics implemented in a host
>>    language, but the host language, as cool as it's gotten (e.g.,
>> JavaScript
>>    has some decent semantics, once one can work around the syntax) is
>> still
>>    resistant, and Ometa leaves it up to us to express the semantics we
>> want
>>    in whatever host language we've chosen.
>>
>>    How many hoops do we want to jump through in order to express our
>>    semantics? Obviously JavaScript isn't ideal for that.
>>
>>    I imagine I'm not the only person thinking about this. Ometa seems to
>>    *want* to be embedded in a language that expresses diverse semantics
>>    compactly.
>>
>>    What language is that?
>>
>>    My friend presented me with a construct that looked very much like a
>>    dictionary but where the keys and values could be only of certain types
>> in
>>    the target language (this in an argument about the value of source to
>>    source translation.)
>>
>>    I wonder if the way to describe those requirements and relationships
>>    doesn't look like a Prolog.
>>
>>    If anyone on the list has some experience in this area, I'd love
>> pointers
>>    to interesting research.
>>
>>    Thanks in advance, and sorry if the topic has come up before!
>>
>>    C
>>    _______________________________________________
>>    fonc mailing list
>>    [1]f...@vpri.org
>>    [2]http://vpri.org/mailman/listinfo/fonc
>>
>> References
>>
>>    Visible links
>>    1. mailto:fonc@vpri.org
>>    2. http://vpri.org/mailman/listinfo/fonc
>
>> _______________________________________________
>> fonc mailing list
>> fonc@vpri.org
>> http://vpri.org/mailman/listinfo/fonc
>
>
> --
>
> Computers under water due to SYN flooding.
>
> _______________________________________________
> fonc mailing list
> fonc@vpri.org
> http://vpri.org/mailman/listinfo/fonc
>
>
> _______________________________________________
> fonc mailing list
> fonc@vpri.org
> http://vpri.org/mailman/listinfo/fonc
>
>

_______________________________________________
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc

Reply via email to