I understand that AST-editing and even things like TurleScript are
cumbersome for many reasons, and that "trapped" is a good way to describe
their limitations.  But automatically generating IDEs doesn't require the
IDEs it generates require rigid user inputs and modal interaction.

If anything, playing Devil's Advocate, I would call the act of trying to
build an IDE from a grammar a "perverted curiosity", and argue that
heuristics for each language work just as well and probably better than
anything a fancy algorithm could generate.

Not losing the forest for the trees, either.  The root question is: You've
got a bunch of problem-oriented languages, how do you expose tools for
them?  John Regehr criticized the FONC project for lacking an answer here
[1] [2]. I wrote a rebuttal [3].

[1] Can Simplicity Scale?  http://blog.regehr.org/archives/663
[2] It's All About Interfaces  http://blog.regehr.org/archives/666
[3] http://lambda-the-ultimate.org/node/4436#comment-69040

On Thu, Apr 12, 2012 at 8:56 PM, Alan Kay <alan.n...@yahoo.com> wrote:

> Hi John
>
> Yes you are right about Teitelbaum ...
>
> As far as "Hansen" the time period is right -- but I think there were
> several such ... the one I remember seeing was "syntax driven ..." There
> was a feeling of being trapped ...
>
> Cheers,
>
> Alan
>
>
>   ------------------------------
> *From:* John Zabroski <johnzabro...@gmail.com>
> *To:* Alan Kay <alan.n...@yahoo.com>; Fundamentals of New Computing <
> fonc@vpri.org>
> *Sent:* Thursday, April 12, 2012 5:34 PM
>
> *Subject:* Re: [fonc] Kernel & Maru
>
> By the way, I think you are referring to the work done by Reps's thesis
> advisor, Tim Teitelbaum, and his Cornell Program Synthesizer.  Teitelbaum
> and Reps still work together to this day.  Over a year ago I e-mailed Reps
> asking, "Why did the Synthesizer Generator fail to become mainstream?"
>  Reps, from what I could tell, hated my question.  My word choice was poor.
>  I think he took the word "Fail" personally.  Also, he claims that his
> company still uses the Synthesizer Generator internally for their static
> analysis tools, even though they no longer sell the Synthesizer Generator.
>
> The only earlier approach I know of, superficially, is a 1971 paper linked
> to on Wikipedia [1] that I have not read.
>
> [1] http://en.wikipedia.org/wiki/Structure_editor#cite_note-hansen-0
>
> On Thu, Apr 12, 2012 at 7:31 PM, Alan Kay <alan.n...@yahoo.com> wrote:
>
> Hi John
>
> The simple answer is that Tom's stuff happened in the early 80s, and I was out
> of PARC working on things other than Smalltalk.
>
> I'm trying to remember something similar that was done earlier (by someone
> can't recall who, maybe at CMU) that was a good convincer that this was not
> a great UI style for thinking about programming in.
>
> An interesting side light on all this is that -- if one could avoid
> paralyzing nestings in program form -- the tile based approach allows
> language building and extensions *and* provides the start of a UI for doing
> the programming that feels "open". Both work at Disney and the later work
> by Jens Moenig show that tiles start losing their charm in a hurry if one
> builds nested expressions. An interesting idea via Marvin (in his Turing
> Lecture) is the idea of "deferred expressions", and these could be a way to
> deal with some of this. Also the ISWIM design of Landin uses another way to
> defer nestings to achieve better readability.
>
> Cheers,
>
> Alan
>
>
>   ------------------------------
> *From:* John Zabroski <johnzabro...@gmail.com>
> *To:* Florin Mateoc <fmat...@yahoo.com>; Fundamentals of New Computing <
> fonc@vpri.org>
> *Sent:* Thursday, April 12, 2012 3:59 PM
>
> *Subject:* Re: [fonc] Kernel & Maru
>
> It depends what your goals are. If you want to automatically derive an IDE
> from a grammar then the best work is the Synthesizer Generator but it is
> limited to absolutely noncircular attribute grammars IIRC. But it had
> wicked cool features like incremental live evaluation. Tom Reps won a ACM
> Disssrtation award for the work. The downside was scaling this approach to
> so-called very large scale software systems. But there are two reasons why
> I feel that concern is overblown: (1) nobody has brute forced the memory
> exhaustion problem using the cloud (2) with systems like FONC we wouldnt be
> building huge systems anyway.
> Alternatively, "grammarware" hasn't died simply because of the SG scaling
> issue. Ralf Lammel, Eelco Visser and others have all contributed to ASF+SDF
> and the Spoofax language environment. But none of these are as cool as SG
> and with stuff like Spoofax you have to sidt thru Big And Irregular APIs
> for IME hooking into Big And Irregular Eclipse APIs. Seperating the
> intellectual wheat from the chaff was a PITA.... Although I did enjoy
> Visser's thesis on scannerless parsing which led me to apprrciate boolean
> grammars.
> Alan,
> A question for you is Did SG approach ever come up in desivn discuszions
> or prototypes for any Smalltalk? I always assumed No due to selection
> bias... Until Ometa there hasnt been a clear use case.
> Cheers,
> Z-Bo
> On Apr 11, 2012 10:21 AM, "Florin Mateoc" <fmat...@yahoo.com> wrote:
>
> Yes, these threads are little gems by themselves, thank you!
>
> I hope I am not straying too much from the main topic when asking about
> what I think is a related problem: a great help for playing with languages
> are the tools. Since we are talking about bootstrapping everything, we
> would ideally also be able to generate the tools together with all the
> rest. This is a somewhat different kind of language bootstrap, where
> actions and predicates in the language grammar have their own grammar, so
> they don't need to rely on any host language, but still allow one to
> flexibly generate a lot of boilerplate code, including for example classes
> (or other language specific structures) representing the AST nodes,
> including visiting code, formatters, code comparison tools, even 
> abstract(ideally with a flexible level of abstraction)evaluation code over 
> those AST nodes, and debuggers. This
> obviously goes beyond language syntax, one needs an execution model as well
> (perhaps in combination with a worlds-like approach). I am still not sure
> how far one can go, what can be succinctly specified and how.
>
> I would greatly appreciate any pointers in this direction
>
> Florin
>
>   ------------------------------
> *From:* Monty Zukowski <mo...@codetransform.com>
> *To:* Fundamentals of New Computing <fonc@vpri.org>
> *Sent:* Wednesday, April 11, 2012 12:20 AM
> *Subject:* Re: [fonc] Kernel & Maru
>
> Thank you everyone for the great references.  I've got some homework
> to do now...
>
> Monty
>
> On Tue, Apr 10, 2012 at 2:54 PM, Ian Piumarta <piuma...@speakeasy.net>
> wrote:
> > Extending Alan's comments...
> >
> > A small, well explained, and easily understandable example of an
> iterative implementation of a recursive language (Scheme) can be found in
> R. Kent Dybvig's Ph.D. thesis.
> >
> > http://www.cs.unm.edu/~williams/cs491/three-imp.pdf
> >
> > Regards,
> > Ian
> >
> > _______________________________________________
> > 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
>
>
> _______________________________________________
> 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