Eric Holk
Eric Holk
Harlan hardcodes a couple of paths now, such as where to find the OpenCL includes and libraries. These change from machine to machine, so hard coding them is a bad...
It seems like we have a subtle hygeine bug. Strangely, this issue seems to have been triggered by an unrelated change. More details to come.
This came up while working on a library version of reduce: ``` (define (vector_sum xs) (while (> (length xs) 1) ;;(print "vector_sum length = "); ;;(print (length xs)) ;;(print "\n")...
Many GPU algorithms are formulated with lots of mutation, and Harlan doesn't handle these with the greatest performance. We should consider some restricted forms of mutation. Some of them may...
Named fields would let them work more like structs. Alternatively, we could just add structs or records as a separate entity from ADTs.
We avoided these originally because we wanted Harlan to feel like a dynamically-typed language--that is, the programmer would never have to see or write a type annotation. We've strayed away...
Unary ADTs is a pretty common pattern in Harlan as a way of getting structs and tuples. For these cases, it'd be nice to be able to destructure them in...
For a lot of array programming, a rectangular shape is perfectly fine and has some nice efficiency advantages over a vector-of-vectors representation. It'd be nice to be able to work...
Currently to do a matrix sum you have to do something like this: ``` (reduce + (kernel ((row matrix)) (reduce + row))) ``` Having to do two reduces and a...
It'd be nice to be able to have local definitions, such as `define` and `define-datatype`. We have most of the machinery needed already, it's basically just a matter of finding...