User loginNavigation |
DSLLogFun - Building Logics by Composing Functors
Logic Functors: A Toolbox of Components for Building Customized and Embeddable Logics - Sébastien Ferré and Olivier Ridoux :
Here's a bit more from the documentation (PDF): Logic Functors form a framework for specifying new logics, and deriving automatically theorem provers and consistency/completeness diagnoses. Atomic functors are logics for manipulating symbols and concrete domains, while other functors are logic transformers that may add connectives or recursive structures, or may alter the semantics of a logic. The semantic structure of the framework is model theoretic as opposed to the verifunctional style often used in classical logic. This comes close to the semantics of description logics, and we show indeed that the logic ALC can be rebuilt using logic functors. This offers the immediate advantage that variants of ALC can be explored and implemented almost for free. The use of OCaml functors here may be interesting even for those who aren't into logic languages. The system allows new logics to be created in OCaml itself, by simply composing OCaml functors. This is covered further in Implementation as ML Functors. The quickest way to get a feel for what this system does is to look at the examples. (If the story subject line looks familiar to anyone, I was recently reading Guy Steele's Building Interpreters by Composing Monads...) By Anton van Straaten at 2006-10-13 02:18 | DSL | Logic/Declarative | login or register to post comments | other blogs | 8201 reads
A Stepper for Scheme MacrosA Stepper for Scheme Macros. Ryan Culpepper, Matthias Felleisen.
Another paper from the Scheme workshop. Apart from being a nice exercise for macro lovers, a good macro debugger is essential for lowering the barrier to macro programming. Since macro programming is an important technique for building DSELs and for language oriented programming in general, having better macro debugging facilities is a Good Thing. By Ehud Lamm at 2006-10-08 13:34 | DSL | Meta-Programming | Teaching & Learning | login or register to post comments | other blogs | 7448 reads
SecPAL: Design and Semantics of a Decentralized Authorization LanguageSecPAL: Design and Semantics of a Decentralized Authorization Language. Moritz Y. Becker; Andrew D. Gordon; Cédric Fournet. September 2006
The SecPAL project lives here (MSR). The project aims are to develop a language for expressing decentralized authorization policies, and to investigate language design and semantics, as well as related algorithms and analysis techniques. Declarative Networking: Language, Execution and OptimizationDeclarative Networking: Language, Execution and Optimization, Boon Thau Loo, Tyson Condie, Minos Garofalakis, David A. Gay, Joseph M. Hellerstein, Petros Maniatis, Raghu Ramakrishnan, Timothy Roscoe and Ion Stoica.
I will be the first to admit that I somehow fundamentally do not get the logic programming style, but presenting a routing discovery protocol in about eight lines of code is pretty cool. By Tommy McGuire at 2006-08-23 22:46 | DSL | Logic/Declarative | 2 comments | other blogs | 8843 reads
CellML
An interesting XML based DSL, with a strong visual programming layer. I don't think we mentioned it in the past, and I'll be happy to hear what people here think of it. For the recored, I am speaking at the annual conference of the open source community here in Israel, this Friday. My talk is about e-learning, and cellML is one of the examples I am going to discuss. New blog: A Fistful of Languages
If our DSL department isn't enough for you, you might want to check out this newcomer. While you wait to see how this blog turns out, you might want to browse our DSL archive: here and here (we also have a fairly empty Ruby department, by the way). After all, we've been doing this for nearly six years now! Welcome to blogosphere, Dave & Tobias! By Ehud Lamm at 2006-07-20 08:32 | DSL | login or register to post comments | other blogs | 7047 reads
Scheme simulator for quantum computationWhile on the subject of quantum computing, I think some of you might enjoy playing with this Scheme DSEL for quantum computation from André van Tonder. Inform 7: A relational DSL for interactive fiction with natural language syntaxInform 7 is a radical revision of Graham Nelson's Inform language for interactive fiction (such as Zork). Whereas Inform 6 and its predecessors were (IMO) very low-level languages with a C-like syntax, Inform 7 is a relational language based on natural language syntax and a semantics based on predicate logic. Nelson describes Inform 7 in his usual erudite style, in: Graham Nelson. Natural Language, Semantic Analysis and Interactive Fiction. 2005. The Inform 7 implementation comes with a slick graphical interface (currently available for Mac OS X and Windows), and adopts the metaphor of a book, as indeed do aspects of the language itself. Well worth taking a look at it. (Credit to Peter J. Wasilko, from whose forum post on Human Factors I cherry-picked this link.) Hop: a Language for Programming the Web 2.0Hop, A Language for Programming the Web 2.0 From the abstract: "Hop is a new higher-order language designed for programming interactive web applications such as web agendas, web galleries, music players, etc. It exposes a programming model based on two computation levels. The first one is in charge of executing the logic of an application while the second one is in charge of executing the graphical user interface. Hop separates the logic and the graphical user interface but it packages them together and it supports strong collaborations between the two engines. The two execution flows communicate through function calls and event loops. Both ends can initiate communications." It appears to be implemented in Scheme. The Hop website has a nice demo. The Weird World of Bi-Directional ProgrammingBenjamin C. Pierce. The Weird World of Bi-Directional Programming, March 2006. ETAPS invited talk. This nice set of slides (related to Harmony) begins with a detailed exploration of the design space for lenses (the bi-directional constructs), which is quite fun even if you aren't interested in the the rest of the presentation. It's hard to convey to people what language design is about. I think these slides are a nice example. The process includes exploring various use cases, trying to come up with reasonable semantics, and specifying these decisions formally. Don't worry: Types are part of the story, as well... |
Browse archives
Active forum topics |
Recent comments
4 weeks 2 days ago
4 weeks 3 days ago
4 weeks 4 days ago
4 weeks 4 days ago
5 weeks 2 days ago
5 weeks 2 days ago
5 weeks 2 days ago
8 weeks 3 days ago
9 weeks 1 day ago
9 weeks 1 day ago