Live data from Hacker News

GHC 7.8.1 released

haskell.org

11–20 of 103 posts

Re: GHC 7.8.1 released

#11
post #2

I'm intrigued by "full iOS support." Does this mean it's now possible to write iOS apps using a Haskell backend?

While this is nice, it results in a big static lib(27M) to include in your app. This might be okey for some games, but maybe not for small apps. I was very interested in a Haskell app, but eventually gave up because of this...

Re: GHC 7.8.1 released

#14
post #2

I'm intrigued by "full iOS support." Does this mean it's now possible to write iOS apps using a Haskell backend?

While this is nice, it results in a big static lib(27M) to include in your app. This might be okey for some games, but maybe not for small apps. I was very interested in a Haskell app, but eventually gave up because of this...

the twitter app is 30M, we have already past the point of sensible app sizes. edit: fb messenger is 60M, a ghc-ios app with the elm compiler baked in is 24M.

Re: GHC 7.8.1 released

#15

One really cute feature that some systems folks might like is there's now support for calling the CPU/hardware prefetch instruction where applicable. http://www.haskell.org/ghc/docs/7.8.1/html/libraries/ghc-pri...

Even better, if you use vector library, prefetch instructions are automatically (and nearly optimally) inserted for your loops written in higher-order functions like fold.

Details here: http://research.microsoft.com/en-us/um/people/simonpj/papers...

Re: GHC 7.8.1 released

#16
I don't recall ever being excited about a compiler release before, but this has got me excited. Typed holes, overloaded lists, pattern synonyms, new IO manager, new code generator, interruptible FFI calls, parallel compilation, and tons of other new features.

One thing I'm particularly excited about is the switch to use the system's dynamic linker instead of a custom one in GHCi. The custom linker GHCi used before didn't support some features used by C++ code, which meant that some of my FFI-based projects weren't usable in GHCi. This also affected other things that used a GHCi-like code path like Template Haskell and the GHC APIs used by ghc-mod/hdevtools. This will be huge for usability for me when working on projects that link to C++.

Hat tip to all the GHC developers for a truly amazing release!

Re: GHC 7.8.1 released

#17
post #15

One really cute feature that some systems folks might like is there's now support for calling the CPU/hardware prefetch instruction where applicable. http://www.haskell.org/ghc/docs/7.8.1/html/libraries/ghc-pri...

Even better, if you use vector library, prefetch instructions are automatically (and nearly optimally) inserted for your loops written in higher-order functions like fold. Details here: http://research.microsoft.com/en-us/um/people/simonpj/papers...

Nope. That's not in the release version. Simd is still second class in ghc. Should be viable for ghc 7.10 though. Note well, the prefetches in that paper aren't optimal. In many cases prefetch is over issued.

You should only use prefetch when benchmarks show that the hardware prefetch isn't performing up to sniff. Or when your access pattern for data doesn't have good locality and doesn't resemble a linear arithmetic sequence. (Just rules of thumbs mind you. For more precise heuristics, please read your CPU vendors optimization manual. The intel manual has quite a few tricks that should apply to most modern CPUs overall)

Re: GHC 7.8.1 released

#18
post #13

What will be the easiest way to get GHC 7.8.1 running alongside the official GHC packages for Debian (specifically Jessie)? Should I download a package from http://deb.haskell.org/ ? If so, where can I find 7.8.1?

That is maintained by an active ghc contributor, so should be safe to use!

Re: GHC 7.8.1 released

#19
post #2

I'm intrigued by "full iOS support." Does this mean it's now possible to write iOS apps using a Haskell backend?

I'm also intrigued. How would one program for iOS in a practical sense with Haskell? A great deal of iOS programming, as I understand it, is navigating the APIs and libraries provided by the SDK... is this a simple task in Haskell? The FFI is something I haven't really dealt with much yet. I guess people could/will start writing wrapper libraries?
Post reply on HN