Cedalion is a democratic programming language. Most programming languages have a fixed syntax with fixed semantics, defined by either a small committee or by a single person, who, as benevolent as he or she may be, is still a dictator. Cedalion is different. It features a small core, that is only enough for users to extend the language, adding the language constructs they need for the problem and solution domains they are interested in. For that, Cedalion provides them nearly complete freedom over syntax and semantics. Unfortunately, a democracy is worthless without the people, and the people are yet to come to use Cedalion. One important reason for this is that so far we have failed to provide a simple way to use Cedalion programs outside the Cedalion IDE, mainly due to its pure-declarative nature.
I will start this talk with a short overview of Cedalion, followed by a short demo. Then I will describe our earlier attempts at creating a Web framework around Cedalion, and eventually dive into our current work on the subject. The current approach goes deep into the fundamentals of software, questioning the fine line between a programmer and a user, between a program and its state, and between a powerful generic IDE and good UI.