The theory Algebra of Communicating Processes (ACP) offers non-determinism (as in Meta II) plus concurrency. I will present a paper on extending Scala with ACP next month at Scala Days 2012. For an abstract, see http://days2012.scala-lang.org/node/92
A non-final version of the paper is at http://code.google.com/p/subscript/downloads/detail?name=SubScript-TR2012.pdf André Op 15 mrt. 2012, om 03:03 heeft Alan Kay het volgende geschreven: > Well, it was very much a "mythical beast" even on paper -- and you really > have to implement programming languages and make a lot of things with them to > be able to assess them .... > > But -- basically -- since meeting Seymour and starting to think about > children and programming, there were eight systems that I thought were really > nifty and cried out to be unified somehow: > 1. Joss > 2. Lisp > 3. Logo -- which was originally a unification of Joss and Lisp, but I > thought more could be done in this direction). > 4. Planner -- a big set of ideas (long before Prolog) by Carl Hewitt for > logic programming and "pattern directed inference" both forward and backwards > with backtracking) > 5. Meta II -- a super simple meta parser and compiler done by Val Schorre > at UCLA ca 1963 > 6. IMP -- perhaps the first real extensible language that worked well -- by > Ned Irons (CACM, Jan 1970) > 7. The Lisp-70 Pattern Matching System -- by Larry Tesler, et al, with some > design ideas by me > 8. The object and pattern directed extension stuff I'd been doing > previously with the Flex Machine and afterwards at SAIL (that also was > influenced by Meta II) > > One of the schemes was to really make the pattern matching parts of this > "work for everything" that eventually required "invocations and binding". > This was doable semantically but was a bear syntactically because of the > different senses of what kinds of matching and binding were intended for > different problems. This messed up the readability and desired "simple things > should be simple". > > Examples I wanted to cover included simple translations of languages (English > to Pig Latin, English to French, etc. some of these had been done in Logo), > the Winograd robot block stacking and other examples done with Planner, the > making of the language the child was using, message sending and receiving, > extensions to Smalltalk-71, and so forth. > > I think today the way to try to do this would be with a much more graphical > UI than with text -- one could imagine tiles that would specify what to > match, and the details of the match could be submerged a bit. > > More recently, both OMeta and several of Ian's matchers can handle multiple > kinds of matching with binding and do backtracking, etc., so one could > imagine a more general language that could be based on this. > > On the other hand, trying to stuff 8 kinds of language ideas into one new > language in a graceful way could be a siren's song of a goal. > > Still .... > > Cheers, > > Alan > > From: shaun gilchrist <shaunxc...@gmail.com> > To: fonc@vpri.org > Sent: Wednesday, March 14, 2012 11:38 AM > Subject: Re: [fonc] [IAEP] Barbarians at the gate! (Project Nell) > > Alan, > > "I would go way back to the never implemented Smalltalk-71" > > Is there a formal specification of what 71 should have been? I have only ever > read about it in passing reference in the various histories of smalltalk as a > step on the way to 72, 76, and finally 80. > > I am very intrigued as to what sets 71 apart so dramatically. -Shaun > > On Wed, Mar 14, 2012 at 12:29 PM, Alan Kay <alan.n...@yahoo.com> wrote: > Hi Scott -- > > 1. I will see if I can get one of these scanned for you. Moore tended to > publish in journals and there is very little of his stuff available on line. > > 2.a. "if (a<b) { ... }" is easier to read than "if a<b then ..."? There is no > hint of the former being tweaked for decades to make it easier to read. > > Several experiments from the past cast doubt on the rest of the idea. At > Disney we did a variety of "code display" generators to see what kinds of > transformations we could do to the underlying Smalltalk (including syntactic) > to make it something that could be subsetted as a "growable path from Etoys". > > We got some good results from this (and this is what I'd do with Javascript > in both directions -- Alex Warth's OMeta is in Javascript and is quite > complete and could do this). > > However, the showstopper was all the parentheses that had to be rendered in > tiles. Mike Travers at MIT had done one of the first tile based editors for a > version of Lisp that he used, and this was even worse. > > More recently, Jens Moenig (who did SNAP) also did a direct renderer and > editor for Squeak Smalltalk (this can be tried out) and it really seemed to > be much too cluttered. > > One argument for some of this, is "well, teach the kids a subset that doesn't > use so many parens ...". This could be a solution. > > However, in the end, I don't think Javascript semantics is particularly good > for kids. For example, one of features of Etoys that turned out to be very > powerful for children and other Etoy programmers is the easy/trivial parallel > methods execution. And there are others in Etoys and yet others in Scractch > that are non-standard in regular programming languages but are very powerful > for children (and some of them are better than standard CS language ideas). > > I'm encouraging you to do something better (that would be ideal). Or at least > as workable. Giving kids less just because that's what an existing language > for adults has is not a good tactic. > > 2.c. Ditto 2.a. above > > 2.d. Ditto above above > > Cheers, > > Alan > > > > From: C. Scott Ananian <csc...@laptop.org> > To: Alan Kay <alan.n...@yahoo.com> > Cc: IAEP SugarLabs <i...@lists.sugarlabs.org>; Fundamentals of New Computing > <fonc@vpri.org>; Viewpoints Research <a...@vpri.org> > Sent: Wednesday, March 14, 2012 10:25 AM > Subject: Re: [IAEP] [fonc] Barbarians at the gate! (Project Nell) > > On Wed, Mar 14, 2012 at 12:54 PM, Alan Kay <alan.n...@yahoo.com> wrote: > The many papers from this work greatly influenced the thinking about personal > computing at Xerox PARC in the 70s. Here are a couple: > > -- O. K. Moore, Autotelic Responsive Environments and Exceptional Children, > Experience, Structure and Adaptabilty (ed. Harvey), Springer, 1966 > -- Anderson and Moore, Autotelic Folk Models, Sociological Quarterly, 1959 > > Thank you for these references. I will chase them down and learn as much as > I can. > > 2. Separating out some of the programming ideas here: > > a. Simplest one is that the most important users of this system are the > children, so it would be a better idea to make the tile scripting look as > easy for them as possible. I don't agree with the rationalization in the > paper about "preserving the code reading skills of existing programmers". > > I probably need to clarify the reasoning in the paper for this point. > > "Traditional" text-based programming languages have been tweaked over decades > to be easy to read -- for both small examples and large systems. It's > somewhat of a heresy, but I thought it would be interesting to explore a > tile-based system that *didn't* throw away the traditional text structure, > and tried simply to make the structure of the traditional text easier to > visualize and manipulate. > > So it's not really "skills of existing programmers" I'm interested in -- I > should reword that. It's that I feel we have an existence proof that the > traditional textual form of a program is easy to read, even for very > complicated programs. So I'm trying to scale down the thing that works, > instead of trying to invent something new which proves unwieldy at scale. > > b. Good idea to go all the way to the bottom with the children's language. > > c. Figure 2 introduces another -- at least equally important language -- in > my opinion, this one should be made kid usable and programmable -- and I > would try to see how it could fit with the TS language in some way. > > This language is JSON, which is just the object-definition subset of > JavaScript. So it can in fact be expressed with TurtleScript tiles. > (Although I haven't yet tackled quasiquote in TurtleScript.) > > d. There is another language -- AIML -- introduced for recognizing things. I > would use something much nicer, easier, more readable, etc., -- like OMeta -- > or more likely I would go way back to the never implemented Smalltalk-71 > (which had these and some of the above features in its design and also tried > to be kid usable) -- and try to make a version that worked (maybe too hard to > do in general or for the scope of this project, but you can see why it would > be nice to have all of the mechanisms that make your system work be couched > in kid terms and looks and feels if possible). > > This I completely agree with. The AIML will be translated to JSON on the > device itself. The use of AIML is a compromise: it exists and has > well-defined semantics and does 90% of what I'd like it to do. It also has > an active community who have spend a lot of time building reasonable dialog > rules in AIML. At some point it will have to be extended or replaced, but I > think it will get me through version 1.0 at least. > > I'll probably translate the AIML example to JSON in the next revision of the > paper, and state the relationship of JSON to JavaScript and TurtleScript more > precisely. > > 3. It's out of the scope of your paper and these comments to discuss "getting > kids to add other structures besides stories and narrative to think with". > You have to start with stories, and that is enough for now. A larger scale > plan (you may already have) would involve a kind of weaning process to get > kids to add non-story thinking (as is done in math and science, etc.) to > their skills. This is a whole curriculum of its own. > > I make these comments because I think your project is a good idea, on the > right track, and needs to be done > > Thank you. I'll keep your encouragement in mind during the hard work of > implementation. > --scott > > -- > ( http://cscott.net ) > > > > _______________________________________________ > 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