A discussion being had elsewhere that might interest some input from this group.
---------- Forwarded message ---------- From: Mark Tarver <dr.mtar...@gmail.com> Date: Mon, Apr 23, 2012 at 3:24 AM Subject: finding the schwerpunkt To: Qilang <qil...@googlegroups.com> The 'schwerpunkt' is a German word taken from blitzkrieg warfare; it means 'concentration point'. It refers to the policy of concentrating your forces at one decisive point and achieving breakthrough. It is opposed to the 'penny packet' doctrine of distributing your forces thinly and evenly and being strong nowhere. Schwerpunkt allowed numerically weaker German forces to achieve victory for several years. Rommel taught the British the schwerpunkt lesson in the desert. In the next stage of Shen we need to focus clearly on a schwerpunkt. If we do not, then the very strength of Shen, the ability to coexist on many platforms, will turn out to be a weakness and our limited but highly professional force will bleed along a thousand mile front grappling the various ins and outs of various platforms. The schwerpunkt must be an application for which Shen is ideally suited; one where its unique strengths will make it difficult to mount any effective opposition to our advance and which we can develop quickly. It must be an application that will attract people to use it and in using it, draw them deeper into using Shen and hence programming in it. The schwerpunkt I have in mind is a program editor of a different kind; in which programs are type checked and parsed in real time (i.e. as they are entered) and the system allows plugins for various formal languages to be loaded in. The application is ideal for Shen because an area to which Shen is totally suited is as a **metalanguage for describing other computer languages**; the programmable type system and the inbuilt compiler-compiler select for this ability. You will find that I have raised this project in this group in the past. You can see the potential in my example on LA; http://www.lambdassociates.org/studies/study02.htm. The structure of this editor would reflect something of the structure of my proof assistant in chapter 15 of TBoS. Essentially there are four components. 1. An area of text entry which can sustain the usual cut and paste. 2. A command line where expressions are evaluated relative to the document. 3. An area where (type/syntax) error messages are displayed. 4. A conventional Shen REPL in which programs and plugins to the editor can be loaded. The question of license came up and I conferred with some of the sponsors of my work. This is why I have delayed till now, formally fixing this schwerpunkt. We've agreed that the main program should be appear under either a BSD or Shen style license (maybe the former first and then as we evolve standards, the latter) but that we allow proprietary or closed-source plug-ins like software for microprocessor verification to be used in the editor by people who need to make money (which is all of us of course). I do not want to base this on top of Emacs; not only because we should steer clear of the GPL, but also because I do not want to be bound by design decisions I don't like. I'm not an Emacs fan. I believe we can do better than that 30 year old design. On blitzkrieg warfare, Wikipedia says of the Wehrmacht "Rather than receiving an explicit order, a commander would be told of his superior's intent and the role which his unit was to fill in this concept. The exact method of execution was then a matter for the low- level commander to determine as best fit the situation. " This is the attitude I'd like because there are people in this group who have a better on-the-ground sense of detail than I do. I'd like people to go away and figure out how best we can make this happen, and what is the best platform for the job. My view is that we should go for JS if possible, but we need to find a way of escaping the REPL and allowing people to save their work. Mark -- You received this message because you are subscribed to the Google Groups "Qilang" group. To post to this group, send email to qil...@googlegroups.com. To unsubscribe from this group, send email to qilang+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/qilang?hl=en.