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