[PRL] review of proposal

Karl Lieberherr lieber at ccs.neu.edu
Mon May 23 11:40:40 EDT 2005


I left my feedback at:

http://www.ccs.neu.edu/home/lieber/s/review/

It is not in NSF format but describes my reactions to the proposals that
might help to improve them and also to further local interactions. 

-- Karl

> -----Original Message-----
> From: prl-bounces at lists.ccs.neu.edu
[mailto:prl-bounces at lists.ccs.neu.edu]
> On Behalf Of Matthias Felleisen
> Sent: Monday, May 23, 2005 11:30 AM
> To: PRL Mailing List
> Subject: [PRL] review of proposal
> 
> For the benefit of our junior members, I wrote a review that I would
> almost deliver to NSF for Mitch's proposal. You can hopefully tell
> where I use phrases that are inappropriate and where I left out
> explanations of detailed problems with the proposal. The format is
> almost completely what NSF demands. I left out a few ever-changing
> things. -- Matthias
> 
> MW, Foundational Studies in Programming
> 
> Summary: This proposal is really a combination of two separate,
disjoint
>   mini-proposals.
> 
> The first mini-proposal concerns proofs of observational equivalences.
> The
>   problem is to prove that two phrases in a language are
> indistinguishable
>   in all programs (context) in which they could occur. In the late
60s,
> 70s,
>   and 80s, people studied the theory of observational equivalence in a
>   purely functional context. In the 80s, they turned their attention
to
>   imperative languages. Meyer (later with Sieber) showed in several
> papers
>   how difficult it was to reason about observational equivalence in
the
>   presence of memory allocation and mutation (both in an Algol-like
> setting
>   and in a higher-order setting).
> 
> The PI proposes to study a modification of the bisimulation approach
to
>   this problem. A bisimulation is a maximal-fixpoint approach to
proving
>   observational equivalences (adapted from concurrency to the
sequential
>   world). Through a rather technical looking change to the
conventional
>   definition, the relation can apparently deal with allocation and
> mutation
>   in a surprisingly straightforward manner. The proposal claims (w/o
> proof)
>   that the technique can cope with all of Meyer's puzzles.
> 
> The second mini-proposal concerns the study of syntactic abstraction
> (aka
>   macros), specifically two different aspects: the notion of hygienic
> macros
>   (now standard in Scheme) and macros for languages with
old-fashioned,
>   stupid syntax :-). With respect to hygiene, the proposal first
explains
>   the problem (but see below) and then indicates that the PI and his
>   students have a new way of specifying hygiene as a variation of
>   alpha-equivalence. With respect to macros for conventional syntax,
the
>   proposal is based on Cardelli et al.'s work on extensible languages.
It
>   explains why this is not syntactic abstraction, how to use it for
macro
>   abstraction, and why the resulting system should expand macros in a
> "lazy"
>   rather than an "eager" fashion.
> 
> Evaluation:
> 
> A proposal should explain a problem, describe a solution approach in
>   sufficient detail (or several approaches), and sketch a realistic
> path. It
>   should also compare and contrast its approach with related attempts.
> 
> This proposal succeeds with this for the first mini-proposal but it
> fails
>   almost completely in the second half.
> 
> Observational equivalence: The PI should have explained the topic and
> its
>   relevance so that non-experts on this panel can understand it.
Having
> said
>   this, the proposal clearly forwards an idea on how to tackle this
>   extremely difficult problem from a new angle. I am impressed by the
> kind
>   of puzzles they can solve now. Earlier approaches based on
operational
>   semantics have succeeded in doing some of this, but the PI's
approach
>   appears to be powerful. -- The major problem I have with this part
are
> the
>   exaggerated claims that any of this may apply to OOP (possibly) or
AOP
>   (fantasy land).
> 
> I wish I understood how this compares to approaches based on
> denotational
>   semantics (especially:
> 
> @article{ abramsky99full,
>      author = "Samson Abramsky and Guy McCusker",
>      title = "Full abstraction for {Idealized Algol} with passive
> expressions",
>      journal = "Theoretical Computer Science",
>      volume = "227",
>      number = "1--2",
>      pages = "3--42",
>      year = "1999",
>      url = "citeseer.ist.psu.edu/abramsky98full.html" }
> 
> and other new approaches based on games.)
> 
> Macros: The hygiene problem is explained reasonably well -- for people
> who
>   like parentheses _and_ indentation, though I believe that "hygiene"
is
>   misrepresented in this proposal. (I personally transported the
phrase
> from
>   a Brandregt paper to the first hygiene paper. -- MF) The idea of
using
>   alpha equivalence to model this notion is obvious; almost everyone
who
>   studied the problem starting in 1986 had it. The plan sounds
>   reasonable. What is missing is a new idea. If it is in there, I
missed
>   it. Completely.
> 
>   For the concrete syntax part, the PI and his students are taking a
> novel
>   approach, using Cardelli et al.'s extensible language as a macro
> system. I
>   wish they had included some examples so that I can understand how
they
> did
>   this. I don't even know whether they did it for BASIC or SML/NJ with
>   higher-order functors. Given the writing, it is not obvious what
they
> have
>   accomplished, whether it's research or a cute hack. The discussion
of
> lazy
>   vs eager is entirely appropriate, though extremely abstract. Again,
I
> wish
>   they had explained this with examples. Worse, this part too entirely
>   misses an explanation of how they intend to do better than the
numerous
>   failed approaches from the past, starting with Daniel Weise all the
> way to
>   Maya.
> 
> Details:
> 
> The proposal feels "airy" that is, it wastes a lot of space. It
repeats
> the
>   summary inside the proposal, it doesn't use the full allotment of
> space. I
>   would have liked to see the PI use the extra space to explain things
in
>   sufficient detail.
> 
> -- marked in the proposal --
> 
> Example: You mention macro systems as part of the module system but
you
> completely fail to discuss
> 
> How would your concrete syntax system deal with something like this:
> 
> (module foo mzscheme
> 
>    (m 10)
> 
>    (define-syntax m
>      (syntax-rules ()
>        [(_ x) (printf ">>> ~s~n" x)]))
> 
>    )
> 
> in your system?
> 
> --- more details ---
> 
> PI: The PI is well-known for delivering theoretical results for many
> years,
>   and we can expect that he will do so in the future. According to the
> prior
>   results section, he has also graduated three PhD students over the
past
>   five years.
> 
> Broad Impact: The proposal attempts to explain its impact on the
> context of
>   PL research and CS but the prose is entirely boiler plate. So let's
> hope
>   it will have some.
> 
> 
> _______________________________________________
> PRL mailing list
> PRL at lists.ccs.neu.edu
> https://lists.ccs.neu.edu/bin/listinfo/prl




More information about the PRL mailing list