Live data from Hacker News

GHC 7.8.1 released

haskell.org

91–100 of 103 posts

Re: GHC 7.8.1 released

#91

For those who write large scale applications, web or otherwise, the mio io manager improvements should be especially exciting. See http://www.reddit.com/r/haskell/comments/1k6fsl/mio_a_highpe... for a prior discussion.

I was reading the paper and got stuck somewhere when I saw this:

> With Mio, realistic HTTP servers in Haskell scale to 20 CPU cores, achieving peak performance up to factor of 6.5x compared to the same servers using previous versions of GHC. The latency of Haskell servers is also improved: under a moderate load, reduces expected response time by 5.7x when compared with previous versions of GHC

> Available with GHC 7.8.1

Nice job.

Re: GHC 7.8.1 released

#92
post #71

Earlier quoted context omitted.

Can you elaborate? Perhaps you are talking about the Char8 ByteString instance? It was a mistake to declare that instance, I think.

Perhaps you are talking about the Char8 ByteString instance? Yes. Data.ByteString.Char8.pack does not form an isomorphism with Data.ByteString.Char8.unpack . It is thus not interchangeable with String. Example: Prelude Data.ByteString.Char8> putStrLn . unpack . pack $ "Российская Федерация" >AA89A:0O $545@0F8O And here the correct result with Data.Text: Prelude Data.Text> putStrLn . unpack . pack $ "Российская Федера…

That's an issue with Data.ByteString.Char8, not with OverloadedStrings.

Re: GHC 7.8.1 released

#93

I really want to get into Haskell, but I just don't understand it. The tutorial on the official site doesn't do it for me. Can anyone suggest alternative resources for learning? I'm used to C-like languages. Thanks for all the responses. I'll start with LYAH.

(hi!)

You might like this:

http://www.haskell.org/haskellwiki/Haskell_Tutorial_for_C_Pr...

And the Gentle Introduction is not very gentle but is a good reference:

http://www.haskell.org/tutorial/

Re: GHC 7.8.1 released

#94

Great! Can't wait until the next release of the Haskell Platform now.

Don't. There's no benefit to handcuffing yourself to the platform. Just install ghc and cabal, and enjoy yourself.

... and use cabal sandboxes! Otherwise the "enjoy yourself" bit may be a little short-lived ;)

Re: GHC 7.8.1 released

#95
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?

The binary distributions install alongside your system packages or other bindists quite nicely (they might overwrite the /usr/bin/ghc symlink, but that's it) and you can select which ghc version you want to use when using cabal with the `-w` flag. Each will keep a separate package db, etc. So be bold!

Thank you for your comment. I've ended up installing 7.8.1 from the binary distributions from the GHC site: http://www.haskell.org/ghc/download_ghc_7_8_1

As easy as:

  tar -xJvf ghc-7.8.1-i386-unknown-linux-deb7.tar.xz
  cd ghc-7.8.1
  ./configure --prefix=/opt/ghc-7.8.1
  make install

Re: GHC 7.8.1 released

#96

I really want to get into Haskell, but I just don't understand it. The tutorial on the official site doesn't do it for me. Can anyone suggest alternative resources for learning? I'm used to C-like languages. Thanks for all the responses. I'll start with LYAH.

I've found the "24 Days of Hackage" series incredibly useful - each day is a brief introduction to a useful Haskell library, many of which show off features of Haskell that aren't available in 'standard' languages. Even better, each one comes with working example source on GitHub, so you've got a starting point if you do want to experiment.

http://ocharles.org.uk/blog/

(I'm a Haskell beginner, currently experimenting with using Scotty, Persistent and Esqueleto to make a web API - and these articles have been so useful to me - I'm finally getting my head around monad transformers, using them to extend the standard Scotty one. Proud moment for me.)

Re: GHC 7.8.1 released

#97

I really want to get into Haskell, but I just don't understand it. The tutorial on the official site doesn't do it for me. Can anyone suggest alternative resources for learning? I'm used to C-like languages. Thanks for all the responses. I'll start with LYAH.

I'm lurching through the wikibook: http://en.wikibooks.org/wiki/Write_Yourself_a_Scheme_in_48_H... with a side order of the Haskell Report/Reference for when things are not clear to me.

Both are helping my limited experience of Haskell greatly.

Re: GHC 7.8.1 released

#98
post #71

Earlier quoted context omitted.

Perhaps you are talking about the Char8 ByteString instance? Yes. Data.ByteString.Char8.pack does not form an isomorphism with Data.ByteString.Char8.unpack . It is thus not interchangeable with String. Example: Prelude Data.ByteString.Char8> putStrLn . unpack . pack $ "Российская Федерация" >AA89A:0O $545@0F8O And here the correct result with Data.Text: Prelude Data.Text> putStrLn . unpack . pack $ "Российская Федера…

That's an issue with Data.ByteString.Char8, not with OverloadedStrings.

When you use OverloadedStrings in conjunction with Data.ByteString.Char8 it becomes OverloadedStrings' issue as well. Compile-time transformations are not supposed to break your program.

Re: GHC 7.8.1 released

#99

Earlier quoted context omitted.

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.

To me that makes it clear that a minimum size of over 20M is a serious problem.

How crazy would it be if the Twitter app was over 50M, or Facebook Messenger over 80M?

Re: GHC 7.8.1 released

#100
post #98

Earlier quoted context omitted.

That's an issue with Data.ByteString.Char8, not with OverloadedStrings.

When you use OverloadedStrings in conjunction with Data.ByteString.Char8 it becomes OverloadedStrings' issue as well. Compile-time transformations are not supposed to break your program.

I don't think of it as a compile-time transformation but instead a weakening of the semantics of string literals. Without we have

    "foo" :: String
and with we have

    "foo" :: IsString a => a
much like

    3 :: Num a => a
It inherits all of the same weaknesses and strengths that we have with the Num typeclass.
Post reply on HN