On 07/27/2011 06:39 AM, John Zabroski wrote:
Barry,

So is this "Step 1"?

If only the work were linear! In a sense, we were boys with a hammer, looking for nails. Pattern calculus (combines the extensional behaviour of functions with the intentional behaviour of queries in a small, yet powerful package. As many others have noted, language implementation is all about pattern matching. Perhaps this is because the program being compiled (or interpreted) is both a function and, as code, a data structure. Anyway, since pattern calculus set out to build pattern matching right into the foundations, it has a better set-up, especially a better type theory, so typed implementers work out. Jose is pushing this idea hard. In a related development, Jens Palsberg and I have developed a language that supports a typed self-interpreter. This will soon appear in ICFP.



To me, it would seem that you should go in the direction of using your approach to subsume the work done by Uwe Assmann on Invasive Software Composition. bondi itself would be situated as an ideal tool for building software composition abstractions, being built from basic primitives. Most of the examples Assmann and his students focused on were from very mainstream domains or the domain of composition itself (e.g., implementing MDSOC, AOP [1], etc.).

But there are other, cool domains to look at. For example, Tim Foley at Intel/Stanford is currently pursuing a Ph.D. that applies aspect-oriented programming concepts to shader languages to cover duplicate code created by "cross-cutting concerns". [2]

Of course, this is only one approach of four avenues you have set-up for yourself - an object-oriented research direction, relating how to build meta object protocols out of pattern combinators. You still have three other avenues, functional, logical and relational.

Thanks for the links, Z-Bo.
Barry

Cheers,
Z-Bo

[1] I believe I once read that the standard lambda calculus can only implement a subset of AOP. But I could be wrong.
[2] http://graphics.stanford.edu/papers/spark/spark_preprint.pdf

On Thu, Jul 21, 2011 at 5:34 AM, Barry Jay <[email protected] <mailto:[email protected]>> wrote:

    Hi everyone,

    the paper "Growing a language in pattern calculus" is now
    available from

    http://www-staff.it.uts.edu.au/~cbj/Publications/glpmf.pdf
    <http://www-staff.it.uts.edu.au/%7Ecbj/Publications/glpmf.pdf>

    The material of the paper links to many of the concerns of this
    list.  It shows how to add features to an existing language in a
    convenient and principled fashion.  Each (new) feature is isolated
    within its own object-oriented class that describes all phases of
    its implementation. The unifying principle is that all computation
    is pattern matching, an idea which is quite familiar to readers of
    this list, but pushed to the limits within pattern calculus.
    Comparisons are made with OMeta, Fortress and severl other
    approaches to language growth.

    As relative newcomers to this world, we will appreciate any feedback.

    Yours,
    Barry Jay
    Jose Vergara

    _______________________________________________
    fonc mailing list
    [email protected] <mailto:[email protected]>
    http://vpri.org/mailman/listinfo/fonc



_______________________________________________
fonc mailing list
[email protected]
http://vpri.org/mailman/listinfo/fonc

_______________________________________________
fonc mailing list
[email protected]
http://vpri.org/mailman/listinfo/fonc

Reply via email to