User loginNavigation |
Logic/DeclarativeDeclarative 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 | 8839 reads
Concoqtion: Mixing Indexed Types and Hindley-Milner Type InferenceFrom the "Whoa!" files: Concoqtion: Mixing Indexed Types and Hindley-Milner Type Inference
Another tough-to-categorize one: dependent types, the Curry-Howard Correspondence, logic programming, theorem provers as subsystems of compilers, implementation issues... it's all in here. Update: A prototype implementation is available here, but it took a bit of Google-fu to find, and it's brand new, so be gentle. Update II: The prototype implementation isn't buildable out of the box, and includes a complete copy of both the Coq and O'Caml distributions, presumably with patches etc. already applied. So it's clearly extremely early days yet. But this feels very timely to me, perhaps because I've just started using Coq within the past couple of weeks, and got my copy of Coq'Art and am enjoying it immensely. Update III: It occurs to me that this might also relate to Vesa Karvonen's comment about type-indexed functions, which occurs in the thread on statically-typed capabilities, so there might be a connection between this front-page story and the front-page story on lightweight static capabilities. That thought makes me happy; I love it when concepts converge. By Paul Snively at 2006-07-23 18:15 | Functional | Implementation | Logic/Declarative | Semantics | Type Theory | 3 comments | other blogs | 12607 reads
Socially Responsive, Environmentally Friendly LogicSocially Responsive, Environmentally Friendly Logic
This paper seems to unify multiple interesting directions - logic, game semantics, concurrent constraint programming (and concurrent programming in general). At the same time it remains very accessible, without overwhelming amount of math, so can be hopefully useful not only for academics. I, for one, was waiting for exactly this kind of paper for two years (and my interest is very practical). Multiplayer Curry-Howard correspondence, anyone? Or Curry-Howard for web services? By Andris Birkmanis at 2006-07-10 17:28 | Category Theory | Logic/Declarative | Semantics | 10 comments | other blogs | 11086 reads
The First 10 Prolog Programming Contests
For your enjoyment... By Ehud Lamm at 2006-07-01 17:00 | Fun | Logic/Declarative | login or register to post comments | other blogs | 8259 reads
Nested commits for mobile calculi: extending JoinNested commits for mobile calculi: extending Join
To me the main interest lies in section 4.2, which shows an encoding of a subset of AKL in cJoin. By Andris Birkmanis at 2006-06-05 08:07 | Logic/Declarative | Parallel/Distributed | Semantics | login or register to post comments | other blogs | 7437 reads
Continuations for Parallel Logic ProgrammingContinuations for Parallel Logic Programming
This paper happens to combine several topics that interest me lately - AKL (a precursor of Oz), denotational semantics, continuations, and implementing programming languages in Haskell. If you share at least some of these interests - take a look! By Andris Birkmanis at 2006-06-02 15:44 | Logic/Declarative | Parallel/Distributed | Semantics | 11 comments | other blogs | 8258 reads
Constraint ProgrammingI have been reading a bit of late on Constraint Programming and thought I'd dump some of the links that have helped me along the way. One problem I find with learning Constraint Programming is that I easily get bogged down in the details of implementation and theory. In basic terms, CP consists of a three stage process: (1) Declare the domain (range) of the variables; (2) Declare the constraints on those variables; and (3) Search for solutions. The 1st and 2nd stages can be combined without too much loss, but there seems to be a general consensus that search should be kept separate as much as possible, since it usually is the most expensive and the least declarative. Most of the resources concentrate on the details about how to go about defining programs in these three stages, as well as giving hints about limiting the combinatorial explosion of the search. The best tutorial I've found is Finite Domain Constraint Programming in Oz which gives a pretty good practical introduction to the subject. Constraint Programming in Alice is a related work in progress that follows the same general outline. For those who like slide presentations, the lecture notes of Christian Schulte and Guido Tack are good resources. Both Christian and Guido are working on the implementation of Gecode, which is a set of libraries (in C++) that seek to take the model of computation spaces, as first realized in Oz, and extend their reach into other programming languages (Christian uses Java, while Guido uses Alice). For a more detailed look, Christian Schulte's PhD thesis on Programming Constraint Services is an in depth treatise on the use of computation spaces for CP. One book I've been eyeing is Constraint Based Local Search which uses COMET as the PL. My only hesitation is that I don't quite grok the concept of Local Search - a search method that is supposed to be quite efficient but not guaranteed to find a solution. Anyone care to hit me with a clue-by-four on Local Search? Micro-KanrenHere's a very simple implementation of Kanren that gives the barest minimum to get the taste of logic programming in very simple Scheme. I am told that the code was written in about three hours at the meeting of a Functional Programming Group (Toukyou/Shibuya, Apr 29, 2006), as a quick illustration of logic programming. The code is very easy to read, and the comments are instructive and helpful. Enjoy! Typed Concurrent Programming with Logic VariablesTyped Concurrent Programming with Logic Variables
You may want to compare this with The Oz Programming Model (OPM), which
Another paper on OPM is The Operational Semantics of Oz. In short, the model of Plain is based on that of Oz with the main differences being:
By Andris Birkmanis at 2006-05-05 08:33 | Functional | Logic/Declarative | Object-Functional | Semantics | Type Theory | 4 comments | other blogs | 8619 reads
A Monadic Semantics for Core CurryA Monadic Semantics for Core Curry
While being primarily an "interpreter as semantics" paper, it looks like a nice example of a DSL in Haskell. As a bonus, it also discusses some features of logic programming. By Andris Birkmanis at 2006-05-03 08:41 | DSL | Implementation | Logic/Declarative | Semantics | login or register to post comments | other blogs | 6835 reads
|
Browse archives
Active forum topics |
Recent comments
4 weeks 10 hours ago
4 weeks 1 day ago
4 weeks 2 days ago
4 weeks 2 days ago
5 weeks 12 hours ago
5 weeks 13 hours ago
5 weeks 13 hours ago
8 weeks 1 day ago
8 weeks 6 days ago
8 weeks 6 days ago