User loginNavigation |
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 | 234 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 | 2713 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 | 2523 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. Hardware Acceleration of Matrix Multiplication on a Xilinx FPGAvia Jeff Newbern in the discussion forum comes the writeup from the winning entry in the MEMOCODE 2007 contest:
Wow! This is much cooler than the kinds of programs I write :-) This MIT/Bluespec team won the first contest at MEMOCODE 2007 and the second in MEMOCODE 2008. The results for 2008 are very interesting: The Bluespec team had the highest performance by an order of magnitude, the next fastest program was written by one guy in straight C without using the FPGA, and the rest were mostly in a hybrid of C and (V?)HDL. Does this make Bluespec the programming tool of choice for discriminating hardware hackers? Hardware Design and Functional Programming: a Perfect MatchHardware Design and Functional Programming: a Perfect Match by Mary Sheeran, Journal of Universal Computer Science, Special issue devoted to the Brazilian Symposium on Programming Languages, 2005.
|
Browse archivesActive forum topics |