User loginNavigation |
archivesLogFun - 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 | 7887 reads
Flapjax - Functional Reactive AjaxFlapjax s a functional reactive compiler and Javascript library for creating interactive web GUIs, created by Brown PLT. You can try the compiler online, or read the docs to get more of an idea of how the language works. If you've used OO style MVC before, but not functional reactive programming (FRP), take a look at Flapjax for a different, and in my opinion, cleaner approach to the same problem. If you're familiar with FrTime you'll recognise the elements of Flapjax -- Flapjax is essentially a Javascript implementation of FrTime, and a compiler from the Flapjax language to Javascript to make writing code less verbose. The key differences compared to the Haskell FRP tradition are that FrTime is asynchronous and uses mutable state. This means behaviours (time varying values) can be sampled at any time, whereas in Haskell FRP behaviours are all sampled at the same time, and it isn't necessary to use the arrow combinators to hide accumulators. Of course it isn't all roses: the implementation is more complex, and doesn't work well in, say, a continuation based web server as mutable state will mess up resumptions of previous continuations. (Don't get the idea that this is a problem for Flapjax -- it runs on the client, not the server.) A Madman Dreams of Turing MachinesHere's something a little unusual... a novel. A Madman Dreams of Turing Machines. Janna Levin.
The potential interest to this audience should be fairly obvious, although the book is centered at least as much on their substantial personal struggles as on their work. Here is the New York Times review, perhaps it would be nice to have an LtU review as well... By Matt Hellige at 2006-10-13 21:31 | Fun | login or register to post comments | other blogs | 7789 reads
|
Browse archivesActive forum topics |
Recent comments
22 weeks 5 hours ago
22 weeks 9 hours ago
22 weeks 9 hours ago
44 weeks 1 day ago
48 weeks 3 days ago
50 weeks 17 hours ago
50 weeks 17 hours ago
1 year 4 days ago
1 year 5 weeks ago
1 year 5 weeks ago