User loginNavigation |
Practical Set TheorySteven Kieffer, Jeremy Avigad, Harvey Friedman (2008). A language for mathematical knowledge management. Carnegie-Mellon tech. report CMU-PHIL-181. The authors present a compact language for articulating mathematics, PST, which is syntactic sugar for an extension of Zermelo-Frankel set theory, DZFC, previously proposed by Harvey Friedman, which allows the naming of partially defined functions. The article gives some examples which show how for some mathematics, PST allows rather straightfoward expression. The article also gives some statistics gathered from an encoding of Suppes' Set Theory and Munkres' Topology, showing how PST allows a drastic compression compared to plain first-order ZFC. A System to Understand Incorrect ProgramsAn ancient paper (July 1978: 30 years ago) from the long gone Lisp Bulletin by Harald Wertz. The system describes attempts to improve incompletely specified Lisp programs, without however resorting to more information, in the form of specifications, test cases or the like. A second paper on the system is Stereotyped Program Debugging: an Aid for Novice Programmers. By Ehud Lamm at 2008-07-21 11:44 | Functional | History | Teaching & Learning | 5 comments | other blogs | 1687 reads
Partial vectorisation of Haskell programsPartial vectorisation of Haskell programs. Manuel M. T. Chakravarty, Roman Leshchinskiy, Simon Peyton Jones, and Gabriele Keller, Proc ACM Workshop on Declarative Aspects of Multicore Programming, San Francisco, Jan 2008.
The idea is fairly simple, and utilizes conversion between vectorized and unvectorized representations of the datatypes. A formal translation scheme is provided. Data Parallel Haskell papers are here. By Ehud Lamm at 2008-07-20 16:05 | Functional | Parallel/Distributed | login or register to post comments | other blogs | 1718 reads
The Development of Intuitionistic LogicMark van Atten (2008). The Development of Intuitionistic Logic. Stanford Encyclopedia of Philosophy. This article gives an excellent account of the development of intuitionistic logic, from its roots in Brouwer's theological metaphysics, through to its formal presentation by Heyting in 1956. The account is strong on the tensions between the subjectivist motif and the urge to formalise. Via Richard Zach. Ada, the Ultimate Lambda?Chris Oakasaki has a blog post about teaching functional programming using Ada. He says
The idea of crossing paradigms has been around awhile. SICP rather famously introduces object orientation by building it on top of Scheme. What do you think about teaching or learning paradigm A in a language strongly oriented towards paradigm B? What's gained? What's lost? Catch me if you can: Towards type-safe, hierarchical, lightweight, polymorphic and efficient error management in OCamlCatch me if you can: Towards type-safe, hierarchical, lightweight, polymorphic and efficient error management in OCaml, by David Teller, Arnaud Spiwack, Till Varoquaux:
Exhaustively checked, user-friendly exception handling was a bit of an open problem for awhile. As the paper details, languages supported either cumbersome, exhaustively checked polymorphic exceptions, as in Haskell, or we had unchecked easily extensible monomorphic exceptions, as in ML, or we had checked, extensible exceptions using a universal type as in Java. Supporting exhaustively checked, easily extensible polymorphic exceptions seemed quite a challenge, which this paper solves using monadic error handling and nested polymorphic variants. The paper also gives a good overview of current techniques of exception checking in OCaml, ie. ocamlexc. The performance of such exceptions is understandably lower than native exceptions, given all the thunking and indirection that monads entail. The authors attempt various implementations and test their performance against native exceptions. Ultimately, monadic error management seems acceptable for actual error handling, but not for control flow as native exceptions are sometimes used in OCaml. One interesting extension is to consider how efficient the implementations would be given more sophisticated control flow operators, such as continuations, coroutines, or delimited continuations, or whether native exceptions can be salvaged using a type and effects system in place of monads. By naasking at 2008-07-11 15:16 | Functional | Implementation | Software Engineering | 8 comments | other blogs | 2952 reads
ICFP contest starts tomorrowJust a quick reminder -- the 2008 ICFP Programming Contest starts tomorrow. Functional NetlistsFunctional Netlists, Sungwoo Park, Jinha Kim, Hyeonseung Im. ICFP 2008.
Given the recent discussion about hardware synthesis languages, the appearance of this paper seems timely. The use of linear types is perhaps unsurprising from a technical point of view, but it's surprising when you consider how frequently and in how many different contexts they appear. Also, one thing I don't understand: there's apparently a difference between a "hardware description language" and a "hardware synthesis language". If anyone could explain what the difference means, I'd appreciate it. :) Lisp’s 50th Birthday CelebrationSee the Dusty Decks announcement. By Ehud Lamm at 2008-07-05 07:34 | History | login or register to post comments | other blogs | 2728 reads
Non-Deterministic Recursive Ascent ParsingNon-Deterministic Recursive Ascent Parsing, Renee Leermakers. 1991 conference on European chapter of the Association for Computational Linguistics.
How LR parsers worked always confused me until I learned about their presentation in terms of recursive ascent. |
Browse archivesActive forum topics |