User loginNavigation |
Logic/DeclarativeMicrosoft AtlasA screencast about Microsoft's Atlas toolkit (Flash, Windows Media and QuickTime formats available). Atlas it ASP.Net's AJAX solution, and it seems quite well thought out from what I can tell. Both the ASP.Net Atlas code and the Atlas XML Script DSL provide a declarative programming model, which should help build AJAX applications which otherwise require a somewhat confusing programming model for beginners. It sohuld be interesting to see how this approach compares with web frameworks such as Rails (whose DWIM approach makes it quite DSL-ish), and with the approach Wadler takes with Links. By Ehud Lamm at 2006-04-06 13:57 | DSL | Logic/Declarative | Software Engineering | XML | 3 comments | other blogs | 10506 reads
Uniform Proofs as a Foundation for Logic ProgrammingUniform Proofs as a Foundation for Logic Programming (Dale Miller, Gopalan Nadathur, Frank Pfenning & Andre Scedrov 1989/1991) introduces the concept of unirform provability, which is fundamental to abstract logic programming, which in turn drives much of the more principled work in modern logic programming. In particular, this paper (i) shows that logics that support uniform provability support goal-directed proof search, and so may be used as the foundation of a logic programming language, and (ii) the notion of uniform provability may be used to explore new forms of logic programming, in particular introducing the class of hereditary Harrop formulae which underlies lambda-Prolog. A classic... Abstract logic programming is expored in a more introductory manner in this paper. ACL2 in DrSchemeVia the plt-scheme mailing list:
There's a tutorial with screenshots and some examples on the ACL2 in DrScheme web page. I'm always happy to see reasoning about programs introduced at the undergraduate level. I wonder what the LtU community would do with a tool like this. What cool things would you teach with a beginner's theorem prover? By Dave Herman at 2006-03-08 14:21 | Functional | Logic/Declarative | Teaching & Learning | 8 comments | other blogs | 15983 reads
Constraint Programming
Constraint Programming
I will not quote this introduction/manifesto/historical overview, as every page of it is worth reading. It is not only a nice introduction into a promising field, but also a demonstration of how language design issues can be (to some extent) separated from high-level fundamental intuitions. It is also quite interesting to follow the historical lines of the paper, it reads like an epic! Ah, and by the way, that's the same constraint programming that underlies Oz. By Andris Birkmanis at 2006-01-06 14:09 | Logic/Declarative | Parallel/Distributed | Semantics | 2 comments | other blogs | 10408 reads
The Reasoned SchemerGuess what I stumbled across at my local bookstore? Previously mentioned on LtU, and now available... When the book was announced, Ehud said: Authored by two of my favorites, Dan Friedman and Oleg, I have such high expectations, that however great the book is going to be, I am sure to be disappointed... After working through the first five chapters (and sneaking a look at the implementation at the end), I'm pleased to announce that no one is likely to be disappointed... It's a real tour de force. As expected, the focus this time is logic programming, in the form of a new set of primitives elegantly implemented around a backtracking monad in Scheme. Of course the format is familiar and comfortable, and of course it's charmingly illustrated by Duane Bibby. So, get your copy today, and congratulations to the authors on a job well done! By Matt Hellige at 2005-11-08 20:49 | Fun | Functional | Logic/Declarative | Misc Books | 17 comments | other blogs | 33244 reads
Propositional Satisfiability and Constraint Programming: A comparative Survey
Propositional Satisfiability and Constraint Programming: A comparative Survey.
Lucas Bordeaux; Youssef Hamadi; L. Zhang.
Propositional Satisfiability (SAT) and Constraint Programming (CP) have developped as two relatively independent threads of research, cross-fertilising occasionally. These two approaches to problem solving have a lot in common, as evidenced by similar ideas underlying the branch and prune algorithms which are most successful at solving both kinds of problems. They also exhibit differences in the way they are used to state and solve problems, since SAT's approach is in general a black-box approach, while CP aims at being tunable and programmable. This report overviews the two areas in a comparative way, emphasizing the similarities and differences between the two and the points where we feel that one technology can benefit from ideas or experience acquired from the other. This is a long and detailed survey, that may serve as an introduction to the two fields. How useful these searching strategies are as programming language constructs is open to debate, of course. NetKernel - XML processing pipelineIt rapidly became clear that a single language runtime is too limited for general applications ... as a minimum we needed both a linear-flow language and a recursive tree composition language ... while declarative languages are excellent for rapid assembly of XML operations, they are terrible for expressing business logic and logical flow-control ... Our other declarative language is XML Recursion Language (XRL). XRL is like XInclude with services, in which inclusion references fire service invocations into the URI address space in order to recursively compose an XML document. XRL is an elegant and powerful way of building XHTML applications ... The active URI, in combination with the local NetKernel environment, is a functional program - Introducing NetKernel. It's another XML pipeline (there's a Freshmeat project that lets Coccoon apps run in NetKernel), apparently from HP, which might interest people here. By andrew cooke at 2005-09-26 18:12 | Functional | Logic/Declarative | Python | XML | 2 comments | other blogs | 7747 reads
A Type Discipline for Authorization Policies
Cedric Fournet; Andrew D. Gordon; Sergio Maffeis. A Type Discipline for Authorization Policies. ESOP 2005.
Distributed systems and applications are often expected to enforce high-level authorization policies. To this end, the code for these systems relies on lower-level security mechanisms such as, for instance, digital signatures, local ACLs, and encrypted communications. In principle, authorization specifications can be separated from code and carefully audited. Logic programs, in particular, can express policies in a simple, abstract manner. We consider the problem of checking whether a distributed implementation based on communication channels and cryptography complies with a logical authorization policy. We formalize authorization policies and their connection to code by embedding logical predicates and claims within a process calculus. We formulate policy compliance operationally by composing a process model of the distributed system with an arbitrary opponent process. Moreover, we propose a new dependent type system for verifying policy compliance of implementation code. Using Datalog as an authorization logic, we show how to type several examples using policies and present a general schema for compiling policies. Another "extreme" use of static typing... By Ehud Lamm at 2005-09-23 18:57 | Logic/Declarative | Parallel/Distributed | Type Theory | 1 comment | other blogs | 9674 reads
The essence of Dataflow Programming by Tarmo Uustalu and Varmo VeneThe Essence of Dataflow Programming
If you've ever wondered about dataflow or comonads, this paper is a good read. It begins with short reviews of monads, arrows, and comonads and includes an implementation. One feature that stood out is the idea of a higher-order dataflow language. By shapr at 2005-09-21 22:23 | Functional | Implementation | Logic/Declarative | Theory | 12 comments | other blogs | 28637 reads
Programming Paradigms of the Andorra Kernel Language
Programming Paradigms of the Andorra Kernel Language
The Andorra Kernel Language (AKL) is introduced. It is shown how AKL provides the programming paradigms of both Prolog and GHC. This is the original goal of the design. However, it has also been possible to provide capabilities beyond that of Prolog and GHC. There are means to structure search, more powerful than plain backtracking. It is possible to encapsulate search in concurrent reactive processes. It is also possible to write a multi-way merger with constant delay. In these respects AKL is quite original. Although AKL is an instance of our previously introduced Kernel Andorra Prolog framework, this exposition contains important extensions, and a considerable amount of unnecessary formal overhead has been stripped away.That's the AKL that is a predecessor of Oz (and was codeveloped by a coauthor of CTM, Seif Haridi). While not the latest word in its area (published in 1991), it is well worth reading (and I don't remember seeing links to it on LtU). |
Browse archives
Active forum topics
|
Recent comments
14 weeks 1 day ago
18 weeks 3 days ago
20 weeks 5 hours ago
20 weeks 5 hours ago
22 weeks 5 days ago
27 weeks 2 days ago
27 weeks 2 days ago
27 weeks 5 days ago
27 weeks 5 days ago
30 weeks 4 days ago