
2011/3/29 Bryan Edds
Hi Jake!
My only question is this: what does your language offer that others do not with respect to soft real time systems? The language you describe in the linked forum thread looks neat, but I think I'm missing the reasoning behind its design. Why is this design beneficial for soft real time compared to other high level languages?
The main thrust of the design is to provide nearly the power of Lisp and ML's semantics in a form that is syntactically palatable to the mass of intelligent industry programmers. While industry programmers typically prefer C-style languages, it's just not possible to build a C-style language with a reasonable macro development (language orientation) experience due to C's inherent syntactic complexities. Further, it seems to have been historically demonstrated that C-family programmers are not willing to make the a syntactic leap as far as say, Lisp or Ocaml.
Barring the provision of yet another C-style language, there's another set of languages many C-family programmers do rather like: Ruby and Python. So by finding a direct mapping from s-expressions to a language with an feel and visual appeal similar to Python that ALSO approaches the machine efficiency of C++, I hope to create a lisp- and ML-derived language that is accessible to an audience wider than existing functional languages seem to have reached.
As you can see, the design does admit some semantic compromises in the name of syntax and efficiency, but the compromise is surprisingly (at least to me) minimal. One compromise made in the name of C++ efficiency is the use of a machine word-sized default number type rather than the default number type used in lisp or Haskell. Of course, arbitrary number types can be made available naturally via a library using simple binary operation overrides, but they are not the default when you type the literal 5.
I've discovered, at least to my own current satisfaction, that bringing lisp- and ML-style semantics to the masses is possible with less semantic compromises than previously seemed possible. By providing a language that industry programmers feel comfortable with, I hope to move as many of them as possible into the functional / language-oriented world.
But more than that, I'm just designing the language I wish I could use everyday instead of C++ and C# :)
Hi, First of all, I wish you good luck in your project. Your mail made me think of my little syntactical[0] library. It needs some love but is in principle very flexible. It makes a clear mapping between distfix expressions and s-expressions. Distfix expressions are flexible enough to accomodate for a lot of the usual constructs one can find in programming languages. Maybe you'll find it useful. Cheers, Thu [0] http://hackage.haskell.org/package/syntactical