Welcome to SubScript, a way to extend common programming languages aimed to ease event handling and concurrency. Typical application areas are GUI controllers, text processing applications and discrete event simulations. SubScript is based on a mathematical concurrency theory named Algebra of Communicating Processes (ACP). Continue reading
It is already two months after my presentation at EPFL. I am lagging behind here.
I spent two and a half very nice days at EPFL. The Scala team impressed with the ongoing projects. I gave a presentation on SubScript. This went fine except for two things:
- we made a video recording using the same MacBook that ran the Keynote presentation and application demo’s. After a while the recording made the MacBook unresponsive, so we had to stop it.
- when presenting axioms for the disrupt operator (“/“) someone at the audience noted that these were inconsistent. That was a bit embarrassing. Fortunately it is not that hard to repair the axioms. This is done in an updated version of the presentation slides, available here. At least I am glad that this error has been repaired now.
The day after the presentation, Eugene Burmako told me he wanted to see less local variables in the scripts. I realized he was right; local variables make scripts less elegant and concise. So I started working on some new language constructs to get rid of variables and to enhance data flow. I am quite happy with the result. I intend to create a new post on this soon.
During this work it became clear that I should make a minor language change: the question marks for script output parameters should precede these parameters, rather than come behind them: n? becomes ?n. That also makes script call expressions much easier to parse. I have meanwhile changed the question mark positions on the pages of this website; however, the SubScript compiler has not yet been changed, and neither have the example program files in the GitHub project. Older documents and presentation slides will not change at all, so beware for some inconsistency.
This weekend I also changed the SubScript Actors page. I hope SubScript may ease programming Akka actors in the same way it eases programming GUI controllers.
tl;dr: after a few months of doing other things it becomes now time again for me to work on the implementation.
André van Delft
The Scala team at EPFL Lausanne is this year again a mentoring organization for the Google Summer of Code, “a global program that offers students stipends to write code for open source projects”. Following a presentation André van Delft gave there a month ago, the Scala team has included two projects for GSoC related to his language extension named SubScript. More information is here at the Scala site and below.
Dataflow programming is a programming paradigm that models a program as adirected graph of the data flowing between operations. It is mainly used in Unix shell languages: small single-purpose tools are easily glued together using the pipeline symbol: |. Mainstream programming languages do not support it, though there are some libraries around.
SubScript supports dataflow programming though its network operator ==> and communication scripts ending in a double arrow (<= and =>). Continue reading
Today we announced subscript-lang.org on Reddit and Lambda-the-Ultimate. We hope this will raise interest from programming language researchers, and that some developers will get aboard on the project. If you like this web site, please share it on Facebook and Twitter.
In the second half of February 2013 we will probably give a presentation and a hands on workshop at EPFL in Lausanne, the place where Scala is developed. We hope have a SubScript compiler ready then, branched from the Scala compiler. A more detailed announcement will follow here by the end of January.