M
Manuel Chakravarty
cse.unsw.edu.au/~chak · Personal blog · on HN since 2009
Manuel Chakravarty, a computer science professor at UNSW, publishes papers on Haskell, GPU programming, type systems, and teaching functional programming.
What HN saysHN commenters link his papers page to establish his standing in the field, noting he made Haskell for Mac and is an old timer.
21HN people shared it
13linked it in comments
8stories submitted
31story points
9 years agolast shared
2009people per year2026
Most-shared posts
- 1ML modules and Haskell type classes: a constructive comparison [pdf]4 people · 2 points · first shared 2013 · discussion on HN
- 2Program Your GPU with Haskell3 people · 16 points · first shared 2009 · 1 comments on HN
- 3GPU Kernels as Data-Parallel Array Computations2 people · 1 points · first shared 2009 · discussion on HN
- 4Acc cuda.pdf2 people · first shared 2011
- 5Optimising Purely Functional GPU Programs1 people · 6 points · first shared 2013 · discussion on HN
- 6Type-Safe Runtime Code Generation: Accelerate to LLVM1 people · 2 points · first shared 2015 · discussion on HN
- 7The Risks and Benefits of Teaching Purely Functional Programming in First Year1 people · 2 points · first shared 2009 · discussion on HN
- 8The Risks and Benefits of Teaching Purely Functional Programming in First Year1 people · 1 points · first shared 2009 · discussion on HN
- 9An LLVM Backend For GHC [pdf]1 people · 1 points · first shared 2010 · discussion on HN
- 10Ffise5.html&1 people · first shared 2010
- 11Quotations1 people · first shared 2013
- 12Homepage1 people · first shared 2017
- 13Accelerate.pdf1 people · first shared 2009
- 14WC061 people · first shared 2012
- 15Polymer.pdf1 people · first shared 2012
What HN people wrote when they linked it
signal11 · 2017-11-20
IIRC Haskell for Mac was created by @tacticalgrace who's an Australian CS professor: http://www.cse.unsw.edu.au/~chak/
No idea if he created the demos though.
sriku · 2017-11-20
> a commercial IDE made by a guy named Manuel M T Chakravarty
He's not just "a guy". Check out http://www.cse.unsw.edu.au/~chak/papers/ . He's an old timer in the field.
eatonphil · 2016-07-14
I have ~4 years experience writing OCaml, and ~1 year experience writing Standard ML. I also once did contracting for a Play app in Scala for 3 months. A month ago, I started looking into Haskell for the first time for another side project and was immediately able to pick it up due to how similar it is to OCaml and Standard ML. In particular, the type syntax and function declarations are similar; understanding monads in SML/OCaml helps understand... everything in Haskell; and understanding of modules/functors/signatures transfers indirectly to type classes as well. (Here is a paper going into even more detail [0].) It felt like Haskell has some of the syntactic sugar I always wished Standard ML had as I learned its limitations.
[0] http://www.cse.unsw.edu.au/~chak/papers/modules-classes.pdf
SimHacker · 2013-12-29
The more important question of whether or not systems like C++ and X-Windows cause actual permanent brain damage in humans, will have to wait for the autopsies of human brain doners. That won't be soon, since they're still only in the animal experimentation stages. But I think it's reprehensible how they're exposing all those poor innocent bunnies to shoddy static class libraries without garbage collection, and high doses of raw Motif.
http://www.cse.unsw.edu.au/~chak/quotations.html
spacemanaki · 2013-04-29
No, I haven't, but does it add more to ML than a bunch of syntax changes? It looks like an attempt to make ML more palatable to programmers familiar with C and Java. I skimmed the docs on that site and saw that it does have ML-style modules and functors, but does it also include something like typeclasses? I thought combining the two was still almost an open research question, although tbh I haven't slogged through this paper yet: http://www.cse.unsw.edu.au/~chak/papers/modules-classes.pdf
To be completely honest, I'm a little skeptical given that the first page in the "Mythryl for SML programmers" highlights adding special-cases to the front-end to support printf: http://www.mythryl.org/my-Mythryl_printf.html I don't really miss printf in SML, although if I wanted it I think I would rather reach for this kind of type hackery instead: http://mlton.org/Printf
gtani · 2012-06-20
TYpe classes and the ML module system overlap in capabilities
http://www.cse.unsw.edu.au/~chak/papers/WC06.html
dons · 2012-04-10
I think we're going to see some clever optimizing DSLs (a la FFTW) -- restricted languages for the kinds of embedded programs you write on such an architecture will be easier to optimize than general purpose languages. Particularly if they have a clear cost model.
The Haskell embedding is very likely to head in that direction.
(See e.g. in this style : http://www.fftw.org/faq/section4.html#whyfast or this style : http://www.cse.unsw.edu.au/~chak/papers/polymer.pdf -- code generation + DSL + constraint solver for instruction level timings).
At least, that's what I'd do.
sigil · 2011-07-10
Hmm. Are you referring to this?
http://www.cse.unsw.edu.au/~chak/papers/acc-cuda.pdf
iman · 2010-01-22
unsafePerformIO is part of the the Haskell 98 Foreign Function Interface, which is "An Addendum to the Haskell 98 Report". (See chapter 5 Marshalling <http://www.cse.unsw.edu.au/~chak/haskell/ffi/ffi/ffise5.html>) All haskell compilers support the foreign function interface, and it will be a required part of the next haskell standard.
Use of unsafePerformIO (or any other unsafe function) should rarely be needed in real world programs though.
ionfish · 2009-09-11
Original PDF link: http://www.cse.unsw.edu.au/~chak/papers/accelerate.pdf (15MB)
esessoms · 2009-09-11
It's too easy to tease, but I will try to resist.
But, seriously, they've been talking about this GPU work for upwards of a 1.5 years now. Usually we get something to play with, even if it's pretty badly broken (I'm thinking NDP here), so the lack of code here is pretty atypical. The accelerate link above is news to me, though, so that's helpful. Hope to see more soon!
* EDIT (to back up my 1.5 years claim):
earliest mention, May 15, 2008:
http://www.cs.chalmers.se/Cs/Grundutb/Kurser/svh/Slides/may-15-2008-Ob…
Chak's own work, Jan 10, 2009:
http://www.citeulike.org/user/iff/article/3872848
http://www.cse.unsw.edu.au/~chak/papers/LCGK09.html
and, of course, accelerate ("reference implementation") was only released Aug 17, 2009:
http://hackage.haskell.org/package/accelerate
khafra · 2009-01-06
Thanks for the read--now, how 'bout another? http://www.cse.unsw.edu.au/~chak/papers/gpugen.pdf, another Haskell-embedded GPU DSL, claims to work at a higher abstraction level than Obsidian, but still provide high performance general-purpose GPU programming capabilities.
catnaroek · 2016-03-29
> My point with this arguments is not that "polymorphic instances" are as powerful as functors (they aren't!). Rather in this (and similar examples) it's higher-kinded types vs modules, no type classes involved.
This paper disagrees: http://www.cse.unsw.edu.au/~chak/papers/modules-classes.pdf . See below.
> The Haskell equivalent is just a plane[sic] function, not a polymorphic instance, and there is things that can be done in the term language but not the module language.
A plain function can't return fresh new types. A functor can.
> SML/OCaml with higher-kinded types would annihilate this argument
As I said above, OCaml's higher-order modules let you encode arbitrarily higher-kinded types. Even if OCaml didn't have parametric polymorphism in the core language, you can express it in the module language with applicative functors (although the result would be a lot more verbose). If you don't believe me, give me an arbitrary higher-kinded type, and I'll tell you how to encode it in OCaml.