Quantcast
Channel: Conal Elliott
Browsing latest articles
Browse All 10 View Live

Image may be NSFW.
Clik here to view.

Deriving parallel tree scans

The post Deriving list scans explored folds and scans on lists and showed how the usual, efficient scan implementations can be derived from simpler specifications. Let’s see now how to apply the same...

View Article



Image may be NSFW.
Clik here to view.

Composable parallel scanning

The post Deriving list scans gave a simple specification of the list-scanning functions scanl and scanr, and then transformed those specifications into the standard optimized implementations. Next,...

View Article

Image may be NSFW.
Clik here to view.

Parallel tree scanning by composition

My last few blog posts have been on the theme of scans, and particularly on parallel scans. In Composable parallel scanning, I tackled parallel scanning in a very general setting. There are five...

View Article

Image may be NSFW.
Clik here to view.

A third view on trees

A few recent posts have played with trees from two perspectives. The more commonly used I call "top-down", because the top-level structure is most immediately apparent. A top-down binary tree is...

View Article

Image may be NSFW.
Clik here to view.

Parallel speculative addition via memoization

I’ve been thinking much more about parallel computation for the last couple of years, especially since starting to work at Tabula a year ago. Until getting into parallelism explicitly, I’d naïvely...

View Article


Image may be NSFW.
Clik here to view.

Reimagining matrices

The function of the imagination is notto make strange things settled, so much asto make settled things strange.- G.K. Chesterton Why is matrix multiplication defined so very differently from matrix...

View Article

Image may be NSFW.
Clik here to view.

From Haskell to hardware via cartesian closed categories

Since fall of last year, I’ve been working at Tabula, a Silicon Valley start-up developing an innovative programmable hardware architecture called “Spacetime”, somewhat similar to an FPGA, but much...

View Article

Image may be NSFW.
Clik here to view.

Overloading lambda

Haskell’s type class facility is a powerful abstraction mechanism. Using it, we can overload multiple interpretations onto a single vocabulary, with each interpretation corresponding to a different...

View Article


Image may be NSFW.
Clik here to view.

Optimizing CCCs

In the post Overloading lambda, I gave a translation from a typed lambda calculus into the vocabulary of cartesian closed categories (CCCs). This simple translation leads to unnecessarily complex...

View Article


Image may be NSFW.
Clik here to view.

Circuits as a bicartesian closed category

My previous few posts have been about cartesian closed categories (CCCs). In From Haskell to hardware via cartesian closed categories, I gave a brief motivation: typed lambda expressions and the CCC...

View Article
Browsing latest articles
Browse All 10 View Live




Latest Images