A discussion being had elsewhere that might interest some input from this

---------- 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;

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
 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.


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
For more options, visit this group at

Reply via email to