Recursion patterns are one of my favorite aspects of functional programming, but when our objective is checking how our functions behave in terms of performance instead of just writing beautiful functions, we need to be careful which pattern to use. Using the list definition: We can define simple functions such as sum: and: This kind [...]
Archive for the ‘Haskell’ Category
Foldr vs Foldl – A small survey with the help of GHC
Posted in !*, Computer Science, Haskell, tagged foldl, foldr, GHC, Haskell, heap profilling, optimisations, recursion patterns on December 1, 2010 | Leave a Comment »
Haskell Session Types with (Almost) No Class
Posted in Computer Science, Haskell, Papers, Programming Languages, tagged Haskell, Pi-Calculus, type sessions on November 24, 2010 | Leave a Comment »
Unfortunately I think the project of a paper per day is a but unrealistic since I also want to have a life outside the box. So I’ve decided to post as I’m reading the papers with the promise of at least write about a paper a week. Today’s paper is Haskell Session Types with (Almost) [...]
Supercompilation by Evaluation and Rethinking Supercompilation
Posted in Compilers, Computer Science, Haskell, Papers, tagged Compiler Optimisation, Compilers, Functional Programming, GHC, Haskell, Max Bolingbroke, Neil Mitchell, Simon Peyton Jones, Supercompilation on November 19, 2010 | Leave a Comment »
Today’s topic is supercompilation! I read two papers to get the general idea of a supercompilation is and does: Supercompilation by Evaluation, Max Bolingbroke and Simon Peyton Jones. Rethinking Supercompilation, Neil Mitchell As a definition of a supercompilation I quote Turchin: A supercompiler is a program transformer of a certain type. It traces the possible [...]
A small survey on testing Haskell programs (part 0)
Posted in Computer Science, Haskell, Papers, Testing, tagged Functional Programming, Haskell, HPC, QuickCheck, SmallCheck, Test on November 17, 2010 | Leave a Comment »
Last year I read most of the Fun of Programming which is quite a cool book (kind of a real world haskell type of book) although some of the chapters are outdated. It was the first time I really took a closer look into QuickCheck as a testing tool for Haskell since one of the [...]
Combining Syntactic and Semantic Bidirectionalization
Posted in Haskell, Papers, Programming Languages, tagged Bidirectionalization, Programming Languages, Programming Techniques on November 17, 2010 | Leave a Comment »
I’ve decided to start a 365 project which consists on reading a paper per day and then make a small post about it. Unfortunately, I don’t think I will have much time to dive into all the papers, but at least it will serve as a reference for all the papers that I read and [...]
Optimized search of BST in Haskell
Posted in Computer Science, Data Structures, Haskell, tagged Binary Search Tree Property, Binary Search Trees, BST, Haskell, Optimisation on May 16, 2010 | Leave a Comment »
Binary Search Trees (BST) are ordered trees with theĀ property that in a given node, the elements that compose the left sub-tree are smaller than the node and those in the right sub-tree are greater. This property is referenced as the binary search tree property. The property is propagated to the sub-trees (Figure 1). One [...]