<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-9702160</id><updated>2011-12-14T19:05:09.999-08:00</updated><title type='text'>Chomsky &amp; Alexander</title><subtitle type='html'>Integrating the current ideas and results of Noam Chomsky &amp;amp; Christopher Alexander, the two people &lt;i&gt;outside&lt;/i&gt; computing (a linguist and an architect) who have had the greatest effect &lt;i&gt;on&lt;/i&gt; the field, may be the most sensible approach available to make real progress in computer science.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://chomskyalexander.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9702160/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://chomskyalexander.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Greg Bryant</name><uri>http://www.blogger.com/profile/13408526593029789018</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>7</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-9702160.post-8784832522967425362</id><published>2010-03-21T09:52:00.001-07:00</published><updated>2010-03-21T09:57:01.540-07:00</updated><title type='text'>Cross-reference</title><content type='html'>After many less interesting attempts to make practical engineering use of Chomsky's rationality and Alexander's results, in late 2009 I stumbled upon a real winner. The accompanying posts can be found at the &lt;a href="http://grogix.blogspot.com"&gt;grogix blog&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9702160-8784832522967425362?l=chomskyalexander.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chomskyalexander.blogspot.com/feeds/8784832522967425362/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9702160&amp;postID=8784832522967425362' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9702160/posts/default/8784832522967425362'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9702160/posts/default/8784832522967425362'/><link rel='alternate' type='text/html' href='http://chomskyalexander.blogspot.com/2010/03/cross-reference.html' title='Cross-reference'/><author><name>Greg Bryant</name><uri>http://www.blogger.com/profile/13408526593029789018</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9702160.post-2665071224504991732</id><published>2010-03-15T10:26:00.000-07:00</published><updated>2010-03-28T15:22:06.571-07:00</updated><title type='text'>Depth and Innate Judgements</title><content type='html'>&lt;span style="font-style:italic;"&gt;I moved this essay here from the &lt;a href="http://grogix.blogspot.com"&gt;Grogix&lt;/a&gt; Blog.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Which mental faculties are involved in programming? If we knew more about them, could we invent programming languages that were both easier to use and more powerful?&lt;br /&gt;&lt;br /&gt;This is not a well-studied area, and very few aspects of programming languages, old or new, are evaluated formally for the quality of their "human factors" or "user experience". For example, among the features of artificial languages, there has been no attempt to separate experimentally those features that are cultural artifacts, from those that reflect our innate, genetically-endowed mental capacities.&lt;br /&gt;&lt;br /&gt;Clearly, much of the mental functionality required to program is shared by our faculty of language, a statement that appears to be also true of our capacity for symbolic manipulation within mathematics and music. To find out more than this, however, we need to construct some investigative theory.&lt;br /&gt;&lt;br /&gt;Linguists, in order to investigate a native speaker's unconscious knowledge of language, will construct experiments that use the speaker's unconscious judgment. For example, a speaker (who could be the linguist) is presented one sentence, and asked whether or not it is grammatical. The subject doesn't usually know why, but only knows that it either is grammatical, or isn't, to some degree. In another case, the speaker may be presented two sentences and asked if they mean the same thing.&lt;br /&gt;&lt;br /&gt;Throughout our daily lives, we make judgments about quality. Sometimes we judge something "by itself" for "some quality", perhaps relative to our experience, perhaps with our innate judgment. Sometimes we compare things to each other, as in visual preference surveys, to determine whether one has "more" of "some quality" than another. &lt;br /&gt;&lt;br /&gt;We also &lt;span style="font-style:italic;"&gt;rank&lt;/span&gt; things: and I'd like to differentiate these temporarily into two additional categories, because it points to an abstraction:&lt;br /&gt;&lt;br /&gt;1) A rank relative to some quality&lt;br /&gt;2) A rank relative to a sense of order, or form&lt;br /&gt;&lt;br /&gt;One can imagine a linguistic study of the construction of a line in a poem, where two &lt;span style="font-style:italic;"&gt;words&lt;/span&gt; are compared with each other to see which is "more profound", say, or "more juicy". This substantive judgment is of type (1). One can also imagine a question like: "is it better to put the first part of the sentence in front of the second, or to reverse them?" This is an appeal to an innate judgment about order, and so would seem to fall into category (2), however, it is also a comparison between two sentences, or possibly among multiple lists of items, and so, really, falls into category (1), using "good order" or "good form" as a judgment quality. This judgment is suspiciously grammatical in nature, even though it could easily apply to order outside the realm of human language, say, for the order of the steps in building a table -- a point we'll return to later.&lt;br /&gt;&lt;br /&gt;The action in (2) gives us an inductive procedure to build something larger, in pairs, lists, forms, etc. It sound like Aristotle's use of a hierarchy of forms, or formal cause, to resolve the question of whether the "Ship of Theseus", whose boards are all gradually replaced, is still the same ship. Aristotle's answer was that the form is all that is actually important ... although we have a constitutional habit of stopping the subdivision of form at certain 'substances'. If you believe that you are the same person you were ten years ago, then you agree with Aristotle, because your body's materials are completely replaced in that time.&lt;br /&gt;&lt;br /&gt;For reasons I won't go into right here, (1) is also really (2). All judgment is a judgment of form. Let's accept this Aristotelian position for a moment. This allows Christopher Alexander to comes into our discussion of evaluation procedures, which we'll need to discover better forms of programming languages.&lt;br /&gt;&lt;br /&gt;In &lt;span style="font-style:italic;"&gt;A Pattern Language&lt;/span&gt;, which inspired the Design Patterns movement among programmers, Alexander puts patterns into a natural order, and also marks each pattern's quality, according to its level of profundity. In the first book published in the same series, &lt;span style="font-style:italic;"&gt;The Oregon Experiment&lt;/span&gt;, he also made maps of the University of Oregon campus to determine which areas worked best. At the time, he was simply using intuition, feeling and group agreement to determine these qualities. But he was &lt;span style="font-style:italic;"&gt;pursuing&lt;/span&gt; more.&lt;br /&gt;&lt;br /&gt;He was pursuing a procedure of innate judgment, an experimental procedure, and a creative tool, that would allow someone to pursue greater depth of quality in form.&lt;br /&gt;&lt;br /&gt;Published over 20 years after &lt;span style="font-style:italic;"&gt;A Pattern Language&lt;/span&gt;, Alexander explained his findings at length in the series &lt;span style="font-style:italic;"&gt;The Nature of Order&lt;/span&gt;. &lt;br /&gt;&lt;br /&gt;He describes 'depth of quality' in many ways, and, humans being linguistic communicators, these descriptions are themselves part of the teaching the method of finding increasing depth. To boil down his descriptions: things that are truly &lt;span style="font-style:italic;"&gt;good&lt;/span&gt; have a &lt;span style="font-style:italic;"&gt;living quality&lt;/span&gt; which the possess because they unfolded through an ordered, stepwise differentiation, producing a field of strong centers (itself a center) that are ordered and mutually reinforcing.&lt;br /&gt;&lt;br /&gt;Clearly, biological organisms fit this description. And human artifacts can too, if people follow a natural process to create something complex, coherent and full of life.&lt;br /&gt;&lt;br /&gt;The use of &lt;span style="font-style:italic;"&gt;feeling&lt;/span&gt; as an evaluation procedure has the effect, Alexander finds, of eliciting profound work. Most human creative work of a high caliber already uses this procedure. He believes it produces certain identifiable properties in the results (see &lt;span style="font-style:italic;"&gt;The 15 Properties&lt;/span&gt; in the first volume).&lt;br /&gt;&lt;br /&gt;In the fourth volume, called &lt;span style="font-style:italic;"&gt;The Luminous Ground&lt;/span&gt;, he goes even further to describe &lt;span style="font-style:italic;"&gt;levels of identification&lt;/span&gt; with centers, which act as evaluation procedures that will produce increasing depth of quality:&lt;br /&gt;&lt;br /&gt;1) I find it pleasing.&lt;br /&gt;2) I feel related to it.&lt;br /&gt;3) I feel this relationship in me.&lt;br /&gt;4) It touches the core of me.&lt;br /&gt;5) I begin to identify with it.&lt;br /&gt;6) Its spirit and mine are intertwined.&lt;br /&gt;7) Its spirit and mine are of one substance.&lt;br /&gt;8) I am &lt;span style="font-style:italic;"&gt;in&lt;/span&gt; it, and it is &lt;span style="font-style:italic;"&gt;in&lt;/span&gt; me.&lt;br /&gt;9) I &lt;span style="font-style:italic;"&gt;am&lt;/span&gt; it, and it &lt;span style="font-style:italic;"&gt;is&lt;/span&gt; me.&lt;br /&gt;10) We are, together, part of the &lt;span style="font-style:italic;"&gt;universal&lt;/span&gt; I.&lt;br /&gt;&lt;br /&gt;(Note that these are &lt;span style="font-style:italic;"&gt;my&lt;/span&gt; quick summaries of Alexander's work, but he and I worked together for a few years, so I don't think I'm too far off. Still, I &lt;span style="font-style:italic;"&gt;highly&lt;/span&gt; recommend studying the original books, whose nuance is quite important.)&lt;br /&gt;&lt;br /&gt;The point here is to obtain some &lt;span style="font-style:italic;"&gt;descriptive&lt;/span&gt; adequacy of the phenomena of "comparative quality" used by people. I have not &lt;span style="font-style:italic;"&gt;begun&lt;/span&gt; to explain it, and so there is no explicit theory here with any &lt;span style="font-style:italic;"&gt;explanatory&lt;/span&gt; adequacy. One does not need to, for example, "believe" in the "universal I" to understand that there are innate human capacities revealed by these procedures.&lt;br /&gt;&lt;br /&gt;Alexander uses these evaluation procedures not just for good design, but to create good tools for good design. His primary tool in the past few decades is the &lt;span style="font-style:italic;"&gt;sequence&lt;/span&gt;, a set of ordered steps which one follows in order to design something good -- if the sequence is good. Each step applies to everything in the design that is appropriate, and so the sequences tend to elicit critical boundaries and large structures first, followed by steps that create increasingly small detail.&lt;br /&gt;&lt;br /&gt;Each step takes a lot of work to get right: it needs to make sense in itself, it needs to relate to the steps around it in the sequence, and it needs to be in the right place in the sequence. It must be evocative, inspiring, but not overwhelming. It must be declarative, rather than instructive: "There are beautiful, alternating spaces in the fence" rather than "put alternating spaces in the fence". Most importantly, the sequences need to be tried and debugged, until they produce wonderful results.&lt;br /&gt;&lt;br /&gt;In &lt;a href="http://www.corememory.org"&gt;this paper&lt;/a&gt;, I tried to use this application of evaluation procedures on the smooth unfolding of a single program, working on it over and over, until I had some consistent satisfaction that the unfolding of the sequence, for this one program, was good.&lt;br /&gt;&lt;br /&gt;But this doesn't easily or immediately help the actual writing of programs. It is instructive to build a program-unfolding sequence, and I &lt;a href="http://www.grogix.org/home/listitem"&gt;built a tool&lt;/a&gt; that makes these sequences easier to write, test and edit. It's a useful collaboration and research exercise, similar to analysis by design patterns. Unfortunately, it is one step removed from the necessary engineering. One writes a program to unfold a program, rather than my preference: to simply &lt;span style="font-style:italic;"&gt;program&lt;/span&gt; using some kind of sequence that actually &lt;span style="font-style:italic;"&gt;defines&lt;/span&gt; a system, and re-writing it until one's evaluation procedures are satisfied, and the system works properly.&lt;br /&gt;&lt;br /&gt;I needed a new kind of programming language for that. &lt;br /&gt;&lt;br /&gt;Now, programming languages are human artifacts. We make them. Some are better in some respects than others. For some qualitative comparisons among them, there is near universal agreement. Since we already make qualitative comparisons about artificial languages, and since our use of artificial languages is only possible because of our use of unexamined human faculties, I believe there may be some advantage to using Alexander's procedures of quality evaluation to create a better artificial language.&lt;br /&gt;&lt;br /&gt;Earlier, I said that my goal is to bridge the gap between the expressive power of the genetic code, and the expressive power of the best modern programming languages. The chasm is vast. And it is &lt;span style="font-style:italic;"&gt;not&lt;/span&gt; clear that it &lt;span style="font-style:italic;"&gt;can&lt;/span&gt; be bridged: there is no reason to accept an &lt;span style="font-style:italic;"&gt;a priori&lt;/span&gt; dogma that such a powerful notation "must" exist. We are not ribosomes ... and ribosomes are not human. The 3 billion ordered base pairs (essentially bits) that become a human being are not necessarily structured in a way that will be useful to our comprehension of complex systems. But, it's a little early to give up. After all, the problem has barely been recognized.&lt;br /&gt;&lt;br /&gt;Also, the gap between the expressive power of genetic and man-made formalisms, is best characterized by the gap in the resulting complexity and coherence. These are exactly those qualities that characterized the challenge Alexander faced in the design of cities and living spaces, complex problems that I believe he has tackled with increasing success.&lt;br /&gt;&lt;br /&gt;When I loosen my mind and open my heart, in order to use Alexander's evaluation procedures, I begin to whittle down my basic questions about programming languages, further and further. I first discard all of my thoughts about axiomatic reduction, logical consistency, derivation and denotation. I simply look for the natural geometry that underlies all good programming, something that keeps it all coherent, keeps it all together, and gives it &lt;span style="font-style:italic;"&gt;life&lt;/span&gt;. At the end of my whittling, I have one question: what organization of symbols, in any system, gives me the most expressive power?&lt;br /&gt;&lt;br /&gt;The symbolic system needs self-reference: that is, recursion or feedback. It needs to reflect the ordered unfolding of living organisms. It needs to stay coherent no matter how complex it becomes. It needs unity, and wholeness.&lt;br /&gt;&lt;br /&gt;The answer that came to me seemed strange at first: &lt;span style="font-style:italic;"&gt;a formal grammar&lt;/span&gt;. My internal critic pointed out that grammars are great for pattern-matching and transformation, but that's a kind of parsing, really, and not exactly fully expressive of all computation. Right? Well, my internal response was that we really don't know what grammars are ... sets of pattern-transform-action rules are only the major use of grammars in computer science today. There may be others. In Noam Chomsky's half-century of study, syntactic structures are in the &lt;span style="font-style:italic;"&gt;middle&lt;/span&gt;, mediating all expression of thought, giving form to the connections among memory, innate ideas, and the sensorimotor interfaces. Aristotle also says that form is everything. So, maybe my result from the use of the evaluation procedure is correct. Anyone going through the same process should be able to corroborate this, if the evaluation procedure itself is effective. My conclusion is that any &lt;span style="font-style:italic;"&gt;good&lt;/span&gt; program must be a kind of grammar. And like any program, the 'meaning' of these grammar-like structures would then be identical with their mechanical function, as we make use of them in the outside world.&lt;br /&gt;&lt;br /&gt;Given the idea of a grammar-program, my follow-up question in October of 2009 was: how do I &lt;span style="font-style:italic;"&gt;do&lt;/span&gt; this? L-systems of productions create a &lt;span style="font-style:italic;"&gt;static&lt;/span&gt; structure, and I'd used this idea &lt;a href="http://www.grogix.org/home/listitem"&gt;here&lt;/a&gt; to generate code, but I didn't really know how to make a grammar &lt;span style="font-style:italic;"&gt;do&lt;/span&gt; anything besides parse, re-write, and map actions to patterns ...&lt;br /&gt;&lt;br /&gt;Then I looked at the original point of the generator I'd built before, for a kind of &lt;a href="http://www.corememory.org"&gt;wiki&lt;/a&gt;, and thought, wait, there's a hierarchically unfolding structure in the &lt;span style="font-style:italic;"&gt;function&lt;/span&gt; of this program. It does very simple things to start, and then the increasingly complex things it does are built of the earlier simpler things it does. It's basically a grammar augmented by a secondary state machine, that is, it does real-time evaluation of productions, which are selected depending upon the state.&lt;br /&gt;&lt;br /&gt;The formal grammar acts as a kind of "pump". The system flows through the core grammar. You could think of the productions a being like functions, but a &lt;span style="font-style:italic;"&gt;group&lt;/span&gt; of functions &lt;span style="font-style:italic;"&gt;rarely&lt;/span&gt; conveys a sense of a whole, in the way that a single grammar does.&lt;br /&gt;&lt;br /&gt;Outside of the grammar are interfaces to the world. In the case of this first working program, the grammar passes HTML pages to the interface, which passes them to the outside world, which in turn passes responses back to the interface and the grammar. Parts of the grammar are used at different times based on states and needs, but they are part of one grammar representing the whole system.&lt;br /&gt;&lt;br /&gt;Since they helped me to uncover a good primary organizing principle for 'blooming logic', I should use these Alexandrian evaluation procedures to develop good secondary features in the language. I'm not completely satisfied with the ones I developed rapidly in order to make the primary idea work. But I'll use the procedures to repair and improve the situation, and to create simpler interfaces, so that the power of the grammar is increasingly clear to whichever human faculties are involved in expressing thought, and expressing desired functionality, with this notation.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_d3u4MHOJotc/S56xsqqi5AI/AAAAAAAAANs/53x89LwxHJs/s1600-h/Picture+38.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 373px; height: 400px;" src="http://1.bp.blogspot.com/_d3u4MHOJotc/S56xsqqi5AI/AAAAAAAAANs/53x89LwxHJs/s400/Picture+38.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5448987980089975810" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9702160-2665071224504991732?l=chomskyalexander.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chomskyalexander.blogspot.com/feeds/2665071224504991732/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9702160&amp;postID=2665071224504991732' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9702160/posts/default/2665071224504991732'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9702160/posts/default/2665071224504991732'/><link rel='alternate' type='text/html' href='http://chomskyalexander.blogspot.com/2010/03/depth-and-innate-judgements.html' title='Depth and Innate Judgements'/><author><name>Greg Bryant</name><uri>http://www.blogger.com/profile/13408526593029789018</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_d3u4MHOJotc/S56xsqqi5AI/AAAAAAAAANs/53x89LwxHJs/s72-c/Picture+38.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9702160.post-3177173741489977986</id><published>2009-11-04T11:29:00.001-08:00</published><updated>2009-11-04T22:09:49.125-08:00</updated><title type='text'>Sequences: linear and differentiaing</title><content type='html'>A &lt;span style="font-style:italic;"&gt;sequence&lt;/span&gt; of instructions typical in, say, a computer "howto", allows for a few values to be set, and choices to be made, but is essentially one long instruction with parameters:&lt;br /&gt;&lt;br /&gt;1. do this&lt;br /&gt;2. do that&lt;br /&gt;3. name this&lt;br /&gt;4. choose between this and that&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;Let's call this a "linear sequence".&lt;br /&gt;&lt;br /&gt;Let's contrast this with the &lt;span style="font-style:italic;"&gt;sequence&lt;/span&gt; that a living organism undergoes during its growth and development: i.e. morphogenesis.&lt;br /&gt;&lt;br /&gt;Each step in a sequence of this sort sets the stage for multiple parallel results that follow, and for each of these steps, the number of effects multiplies. This allows the cells or parts of an organism to differentiate further at each step, along a &lt;span style="font-style:italic;"&gt;morphogenetic gradient&lt;/span&gt; that increases the complexity of the structure, and moves it closer to a specific purpose in the general scheme.&lt;br /&gt;&lt;br /&gt;Note that each step's &lt;span style="font-style:italic;"&gt;description&lt;/span&gt; is small, at any stage, relative to the size of its effects. This effect, while not infinite in the case of a human body, is still vastly disproportionate, and reminiscent of human language, which generates infinite variety from finite means. The same is true for the &lt;span style="font-style:italic;"&gt;variety&lt;/span&gt; of life generated by a small set of DNA.&lt;br /&gt;&lt;br /&gt;I assume that Chomsky is right that the small but powerful definitions of recursive enumeration make up for this difference, in these three case (morphogenesis, diversity, language). &lt;br /&gt;&lt;br /&gt;The question for computing is: if this is so clearly effective, why do we do anything else? Why do we use "linear sequences" and simple instructions when "differentiating sequences" and recursion are massively more effective? And, it seems, more natural.&lt;br /&gt;&lt;br /&gt;Part of the problem is that, based perhaps on indoctrination, we don't automatically see recursion as natural, as it is generally represented notationally. Although it is possible that this is because we are the products of recursion, and we use it physically, unconsciously, to perform mental and linguistic tasks, I think that deep down, we think recursively. We can often see patterns where recursion would apply, but our initial reaction (unless we do a lot of work with LISP or YACC) is to approach the problem as a linear path. This gets very complex for hard problems, and so we lean on solutions, provided by others, who have often found the patterns and reduced them to recursive procedures in toolkits and frameworks. But we still don't actually approach a problem as a gradient, differentiating sequence of recursive, grammar-driven resolutions.&lt;br /&gt;&lt;br /&gt;If this is right, the solution would be to create an artificial language whose recursive representations are closer to the way we think innately. And then to work on problems with that language, so we learn to approach a problem in such a mindset and sensibility, that we begin to automatically spot the recursive principles and switching parameters required to cast our imagination into a software product.&lt;br /&gt;&lt;br /&gt;I don't think this is lambda calculus i.e. LISP, or attribute grammars i.e. YACC, or anything very much like formal logic in its current state. In some sense, when Frege made his point -- that effective problem-solving can be done without concern for the way we think -- he set us up for a century of cognitive pain. That said, it's hard to see how he could have done anything else, because discovering the "way we think" is still a woefully distant scientific goal today.&lt;br /&gt;&lt;br /&gt;A method I use that helps can be found in Alexander's work -- and when we worked together he always asked me to use, explicitly, &lt;span style="font-style:italic;"&gt;feeling&lt;/span&gt; as a &lt;span style="font-style:italic;"&gt;shortcut&lt;/span&gt; to good results in the realm of computing. This also, perhaps not strangely, also works in the sphere of approaching the structure of innate cognition -- in my work, starting in the early 1980's, designing artificial languages, I listened carefully to engineers expressing their thoughts within the problem domain, and created computer-recognizable notations to provide limited transformation effort on their part: they could &lt;span style="font-style:italic;"&gt;write&lt;/span&gt; what they &lt;span style="font-style:italic;"&gt;thought&lt;/span&gt;, wanted the machine to do, within this limited domain.&lt;br /&gt;&lt;br /&gt;Finding examples of natural, &lt;span style="font-style:italic;"&gt;cognitively natural&lt;/span&gt; patterns of recursive enumeration in computing, patterns that &lt;span style="font-style:italic;"&gt;feel&lt;/span&gt; good, is what I would like from people. I'm finding some of my own, but we need lots of examples, before we can tell what this new, more human language of computation should look like.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9702160-3177173741489977986?l=chomskyalexander.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chomskyalexander.blogspot.com/feeds/3177173741489977986/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9702160&amp;postID=3177173741489977986' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9702160/posts/default/3177173741489977986'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9702160/posts/default/3177173741489977986'/><link rel='alternate' type='text/html' href='http://chomskyalexander.blogspot.com/2009/11/sequences-linear-and-differentiaing.html' title='Sequences: linear and differentiaing'/><author><name>Greg Bryant</name><uri>http://www.blogger.com/profile/13408526593029789018</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9702160.post-4415110145586823342</id><published>2009-09-20T12:04:00.000-07:00</published><updated>2009-09-21T13:58:43.064-07:00</updated><title type='text'>A Synthesis of Grammar and Life</title><content type='html'>In 1996, Christopher Alexander and I were sitting in his Berkeley kitchen, talking about "latent centers", those ripe places in the world from which certain things will naturally emerge. At some point, I said something like "well, latent centers are like non-terminals in a formal grammar ... ".&lt;br /&gt;&lt;br /&gt;We'd been talking about creating computer tools that would guide people through generative sequences, that is, tools which would let people generate physical objects in a natural way, like the unfolding of a living organism. In that context, I said something like  "... if latent centers are non-terminals, organic unfolding can be reasonably represented by a formal grammar: productions, terminals and non-terminals". In fact, a rather primitive form of this analogy was already famous: L-Systems or Lindenmayer re-writing systems ... which admittedly only make rather dead-looking approximations to organic forms.&lt;br /&gt;&lt;br /&gt;I said something like "Chomsky intended these grammars to be generative, but we rarely use them this way in computing ... we use them for the recognition of artificial languages. Anyway, let's create a Sequence Description Language -- I can write a parser for it very quickly, using tools that were themselves inspired by his linguistic work ..."&lt;br /&gt;&lt;br /&gt;Chris paused and said, pretty gravely, "That's not the right direction. Reality is not just a generative grammar." &lt;br /&gt;&lt;br /&gt;We only revisited the topic once, later in the year, sitting in a train in London, where I mentioned that the description languages of digital geography might be useful to us. Chris said something like "Yes, we should look into that. It might have the geometric depth we need." I remember thinking this was a way to pull Chris back into generative grammars, which, with the appropriate attribute passing, up and down, really &lt;span style="font-style:italic;"&gt;can&lt;/span&gt; describe anything about natural geometry that humans can understand &lt;span style="font-style:italic;"&gt;cognitively&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;The difficulty that Alexander had with Chomsky reflected quite a deep history for him. In fact, &lt;span style="font-style:italic;"&gt;A Pattern Language&lt;/span&gt; (APL) is named for, and clearly structured by, an analogy between generative grammar and the generation of living structure ... in APL, Alexander had already jumped to the analogy of the morphogenetic sequence, describing APL as a "base map". He spelled out a grammar-like use of APL to generate ontogenetic sequences as if they were sentences:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;"... when we use the network of a language, we always use it as a sequence, going through the patterns, moving always from the larger patterns to the smaller, always from the ones which create structures, to the ones which embellish those structures, and then to those which embellish those embellishments ..."&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Given this history, and the emerging synthesis regarding language and biology, what problem could Alexander possible have with Chomsky?&lt;br /&gt;&lt;br /&gt;Well, for Alexander, the most important thing is an appreciation for the fullness and depth of life's geometry, and a devotion to understanding the richness of the real world.&lt;br /&gt;&lt;br /&gt;We can describe a living thing &lt;span style="font-style:italic;"&gt;logically&lt;/span&gt;, and yet, without the intervention of a person with artistic sensibilities, the resulting geometry from any automatic generation &lt;span style="font-style:italic;"&gt;using&lt;/span&gt; this logical description is woefully and obviously incorrect. The "dead-like" appearance of L-systems, and consequently much Hollywood CGI, is evidence that grammar and automatic generation are simply not enough.&lt;br /&gt;&lt;br /&gt;That's a fair critique: it takes people, or living organisms, to make a full, rich tapestry. And Christopher Alexander wants to know why. It clearly has something to do with geometry, with physics, with proportion, and with some fundamentally unknown thing. But Chomsky doesn't answer that question for Alexander. It took Alexander four large volumes of &lt;span style="font-style:italic;"&gt;The Nature of Order&lt;/span&gt; to explain his current thinking on these qualities of &lt;span style="font-style:italic;"&gt;life&lt;/span&gt; and &lt;span style="font-style:italic;"&gt;feeling&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;This is a bit unfair to both of them, but I'm going to quote from an interview with Christopher Alexander in Stephen Grabow's biography:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;"Chomsky's work on generative grammar will soon be considered very limited ... it does not deal with the interesting structure of language because the real structure of language lies in the relationship between words -- the semantic connections. The semantic network -- which connects the word "fire" with "burn", "red" and "passion" -- is the real stuff of language. Chomsky makes no attempt to deal with that .. in that sense, pattern languages are not like generative grammars. What they are like is semantic structure, the really interesting part of language and which only a few people have begun to study ... is much more like the structure which connects patterns in a pattern language ... the real heart of language which has hardly been described yet."&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So, to paraphrase Alexander: What is missing from the mathematics of analytic biolinguistics, is &lt;span style="font-style:italic;"&gt;life.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Well, Chomsky &lt;span style="font-style:italic;"&gt;is&lt;/span&gt; interested in life's richness ... in fact, most of his work has been aimed at thinking clearly about what we know about our own creative powers. And Chomsky's opinion is that we know "almost nothing", and that some of it may not be knowable, in the same way that we don't know where the forces of gravity, electro-magnetism, chemical attraction, or free will, actually come from. I'm sure these two would not disagree about that. And, obviously, we all share a desire to understand more about these fundamental mysteries.&lt;br /&gt;&lt;br /&gt;In Chomsky's "Cartesian Linguistics", he emphasizes that Descartes sees human language as free from the &lt;span style="font-style:italic;"&gt;control&lt;/span&gt; of stimulus, providing a faculty for the expression of thought. Language is not just a mechanical survival tool. From Descartes, Chomsky traces a thread through 18th century philosophy (most of which was lost until the late 20th century) that lands squarely on Christopher Alexander's doorstep -- quoting Goethe, Wilhelm von Humboldt, A.W. Schlegel and, below from 1818, S. T. Coleridge on natural form:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;"The form is mechanic, when on any given material we impress a predetermined form, not necessarily arising out of the properties of the material ... the organic form, on the other hand, is innate; it shapes, as it develops, itself from within, and the fullness of its development is one and the same with the perfection of its outward form. Such as the life is, such is the form."&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The paragraph above could be a summary of Christopher Alexander's &lt;span style="font-style:italic;"&gt;The Nature of Order&lt;/span&gt;, published almost 200 years later.&lt;br /&gt;&lt;br /&gt;Completely independently, &lt;span style="font-style:italic;"&gt;The Nature of Order&lt;/span&gt; opens with a praise of Descartes, with a berating of the mis-interpretation of his work by subsequent generations:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;"The mechanistic idea of order can be traced to Descartes, around 1640. His idea was: if you want to know how something works, you can find out by pretending that it is a machine. You completely isolate the thing you are interested in -- the rolling of a ball, the falling of an apple, the flowing of the blood in the human body -- from everything else, and you invent a mechanical model, a mental toy, which obeys certain rules, and which will then replicate the behavior of the thing. It was because of this kind of Cartesian thought that one was able to find out how things work in the modern sense."&lt;br /&gt;&lt;br /&gt;"However, the crucial thing which Descartes understood very well, but which we most often forget, is that this process is only a &lt;/span&gt;method.&lt;span style="font-style:italic;"&gt; This business of isolating things, breaking them into fragments, and of making machinelike pictures (or models) of how things work, is not how reality actually &lt;/span&gt;is. &lt;span style="font-style:italic;"&gt;It is a convenient mental exercise, something we do to reality, in order to understand it."&lt;br /&gt;&lt;br /&gt;"Descartes himself clearly understood his procedure as a mental trick. He was a religious person who would have been horrified to find out that people in the 20th century began to think that reality &lt;/span&gt;itself &lt;span style="font-style:italic;"&gt;was actually like this. But in the years since Descartes lived, as his idea gathered momentum, and people found out that you really could understand how the bloodstream works, or how the stars are born, by seeing them as machines -- and after people had used the idea to find out almost everything mechanical about the world from the 17th to 20th centuries -- then, sometime in the 20th century, people shifted into a new mental state that began treating reality as if this mechanical picture really were the &lt;/span&gt;nature &lt;span style="font-style:italic;"&gt;of things, as if everything really&lt;/span&gt; were&lt;span style="font-style:italic;"&gt; a machine."&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;In other writings, Chomsky observed that educated people today typically think the mechanical model of the universe was laid to rest by Quantum Mechanics in the 20th century -- when, for working scientists, Newton had done this explicitly in the 18th Century. That said, clearly the new mechanistics Alexander alludes to, propagating the life-draining technocratic organization of society, is on the &lt;span style="font-style:italic;"&gt;increase&lt;/span&gt;, something we should all be fighting against. Chomsky and Alexander are clearly in agreement about this.&lt;br /&gt;&lt;br /&gt;So since, in my modeling of their opinions, I can find no remaining disagreement between them, I've embarked on the road Alexander and I did &lt;span style="font-style:italic;"&gt;not&lt;/span&gt; take in 1996. The cognitively understood portions of the real world can be completely described by a generative grammar, and the emotionally understood portions can be described by the same when they are written by people -- especially with the addition of a notation for morphogenetic sequences, which describes gradients of emerging structures across a whole developing system.&lt;br /&gt;&lt;br /&gt;I call this project "Blooming Logic" for obvious reasons. It's expressed first as an artificial language for expressing the human-driven process of "growing" a bit of engineering or software. The generator, and tool, I call "&lt;a href="http://www.grogix.org"&gt;Grogix&lt;/a&gt;". I'm hoping that this can help us to tap nature's successful and coherent developmental methodology, and bring holistic thinking explicitly into computing.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9702160-4415110145586823342?l=chomskyalexander.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chomskyalexander.blogspot.com/feeds/4415110145586823342/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9702160&amp;postID=4415110145586823342' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9702160/posts/default/4415110145586823342'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9702160/posts/default/4415110145586823342'/><link rel='alternate' type='text/html' href='http://chomskyalexander.blogspot.com/2009/09/synthesis-blooming-logic.html' title='A Synthesis of Grammar and Life'/><author><name>Greg Bryant</name><uri>http://www.blogger.com/profile/13408526593029789018</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9702160.post-110355076657456612</id><published>2004-12-20T04:54:00.000-08:00</published><updated>2004-12-20T05:52:46.573-08:00</updated><title type='text'>The stack</title><content type='html'>Noam Chomsky, talking about the social responsibility of the intellectual, said that most facts about US foreign policy are, even when in official records, not open for discussion with scholars, for example, in political science. &lt;br /&gt;&lt;br /&gt;By contrast, he mentions some papers that he presented to computer people in the late 1950's. He wasn't in their field at all. But they listened to his findings, analyzed them, and used what they could.&lt;br /&gt;&lt;br /&gt;Well, these findings revolutionized the creation of computer languages. Chomsky's most influential result was the one-to-one mapping between the capabilities of pushdown automata, what we call a "stack", and languages describable by context-free grammar productions. He also noted that finite state machines mapped to regular expressions.&lt;br /&gt;&lt;br /&gt;Within twenty years, all significant computer languages, and much data processing, were implemented using these tools. Human-readable computer languages were recognized by stack-based parsers, generated automatically from descriptions shaped by context-free productions. The compilers were, and still are, functionally compartmentalized into the regular-expression and grammar components. &lt;br /&gt;&lt;br /&gt;The effect this had on language design &amp; development is incalculable. At the very least, it leads to compiler-compilers such as Lex &amp; Yacc, developed with Unix at Bell labs, along with the movement towards software tools, and the endless applications and extensions of regular expressions.  At most, one might say that it crystalized context-switching, the basis for all multi-process computing, bringing on the heyday of the stack, whose use was now easily defined due to Chomsky's work.&lt;br /&gt;&lt;br /&gt;Note that this is the way it appears to &lt;i&gt;me&lt;/i&gt;, having entered the field in 1974. I'll amend this speculation, as people who were &lt;i&gt;there&lt;/i&gt; provide me with more material.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9702160-110355076657456612?l=chomskyalexander.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chomskyalexander.blogspot.com/feeds/110355076657456612/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9702160&amp;postID=110355076657456612' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9702160/posts/default/110355076657456612'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9702160/posts/default/110355076657456612'/><link rel='alternate' type='text/html' href='http://chomskyalexander.blogspot.com/2004/12/stack.html' title='The stack'/><author><name>Greg Bryant</name><uri>http://www.blogger.com/profile/13408526593029789018</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9702160.post-110354659763242892</id><published>2004-12-20T04:35:00.000-08:00</published><updated>2004-12-20T04:49:16.166-08:00</updated><title type='text'>The Approach</title><content type='html'>Exhaustive listing of the influences of two influential people would be incredibly boring, for you &lt;i&gt;and&lt;/i&gt; for me. And I simply don't want to ask anyone "how have you been effected by Noam Chomsky or Christopher Alexander?" Nonetheless, when I come across a good story, of course I'll tell it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9702160-110354659763242892?l=chomskyalexander.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chomskyalexander.blogspot.com/feeds/110354659763242892/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9702160&amp;postID=110354659763242892' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9702160/posts/default/110354659763242892'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9702160/posts/default/110354659763242892'/><link rel='alternate' type='text/html' href='http://chomskyalexander.blogspot.com/2004/12/approach.html' title='The Approach'/><author><name>Greg Bryant</name><uri>http://www.blogger.com/profile/13408526593029789018</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9702160.post-110353929831821393</id><published>2004-12-20T02:25:00.000-08:00</published><updated>2004-12-20T03:02:00.510-08:00</updated><title type='text'>Chomsky &amp; Alexander</title><content type='html'>The computer was the invention of curious people. Not computer scientists.&lt;br /&gt;&lt;br /&gt;It's your choice where to start the history of computing. Use any point along the evolution of counting or mathematics. Or start with Euclid's logic or Blaise Pascal's calculator. You can begin with Descartes methodology or Charles Babbages' difference engine or Alan Turing's models of computation.&lt;br /&gt;&lt;br /&gt;But note: these weren't "computer people". They were just people.&lt;br /&gt;&lt;br /&gt;Fast forward, past the explosion of business &amp; government use of systems of advanced calculation, past philosophical &amp; practical contributions from the generation of Norbert Weiner &amp; John von Neumann. There are now millions of contributors to computing, who &lt;i&gt;are&lt;/i&gt; computing people. &lt;br /&gt;&lt;br /&gt;But there are two very odd professors who are not. They are not particularly interested in computers. But their profound influence on computing is an amazing story.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9702160-110353929831821393?l=chomskyalexander.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chomskyalexander.blogspot.com/feeds/110353929831821393/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9702160&amp;postID=110353929831821393' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9702160/posts/default/110353929831821393'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9702160/posts/default/110353929831821393'/><link rel='alternate' type='text/html' href='http://chomskyalexander.blogspot.com/2004/12/chomsky-alexander.html' title='Chomsky &amp; Alexander'/><author><name>Greg Bryant</name><uri>http://www.blogger.com/profile/13408526593029789018</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
