News aggregator

Detecting type errors with GHCi commands?

Haskell on Reddit - Sat, 01/09/2016 - 5:36am

I do a lot of exploratory coding in GHCi, and as such, I'm tinkering with a script to persist definitions across GHCi sessions and reloads like so:

*> :sr narp = putStrLn "Narp!" *> :do m <- return "Ok" *> narp Narp! *> m "Ok" *> :q ...>ghci *> :ls *> narp Narp! *> m "Ok"

... and I've run into a snag. If I use :sr to define a function which does not type check, I still persist it. Now, I do have a :dl command to delete the last definition persisted with :sr, but that is subject to human error. Is there any fairly simple trick I'm overlooking that would let me catch this automatically?

Alternatively, is there something that already does this so I don't have to?

submitted by WarDaft
[link] [4 comments]
Categories: Incoming News

Is there any tutorial about the reducers package ?

Haskell on Reddit - Sat, 01/09/2016 - 3:32am

The question is in the title. I know that with the reducers, I can transform

getSum $ mconcat (map Sum xs)

to something like getSum $ reduce?? xs


??? getSum xs

But it always take me half an hour to figure out which import to do and which function to call. This package seems great though.

In the example I gave, it doesn't look really usefull, but it is when you reducing tuples and could do thing like

(getSum a, getSum b, getMax c) = reduce??? [(1,2,3), (4,5,6)] submitted by maxigit
[link] [2 comments]
Categories: Incoming News

Haskell Weekly News

General haskell list - Fri, 01/08/2016 - 1:34pm
Folks: Recall the quote from the May Day 2015 issue: <> The MLs and Haskell remind me of Brian Eno's line about how the first Velvet Underground album only sold 30,000 copies, but "everyone who bought one of those 30,000 copies started a band". This issue spotlights Elm and Idris, two languages implemented in Haskell. Enjoy! *Top Picks:* - Evan Czaplicki of the Elm web-front-end language leaves Prezi for NoRedInk <>. A startup dedicated to improving high-school English grammar, NoRedInk already employs 5 engineers writing Elm full-time. A HN comment hyperbolizes that Elm <> "is Clojure without parens, it's Haskell without academy, it's Redux without facebook, it's duck-typing without quacks, it's MVC without objects, and last but not least Evan Czaplicki (the creator) is the new Aaron Patterson (bright a
Categories: Incoming News

Data declaration vs type classes

haskell-cafe - Fri, 01/08/2016 - 11:55am
Dear haskellers, What is the difference between writing data Task = GroceryTask String | LaundryTask Int doTask :: Task -> IO () doTask (GroceryTask s) = print "Going to " ++ s doTask (LaundryTask n) = print (show n ++ " pieces washed" and class Task a where work :: a -> IO () data GroceryTask = GroceryTask String data LaundryTask = LaundryTask Int instance Task GroceryTask where .. instance Task LaundryTask where .. doTask :: Task a => a -> IO () doTask = work They seem to be similar functionality wise, except that one is on the data level and another is on the class level. How should one go about deciding to use data or class? Is there a semantic difference? Which is more appropriate here? Happy new year, Hon _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe< at >
Categories: Offsite Discussion

New gtk2hs 0.12.4 release

gtk2hs - Wed, 11/21/2012 - 12:56pm

Thanks to John Lato and Duncan Coutts for the latest bugfix release! The latest packages should be buildable on GHC 7.6, and the cairo package should behave a bit nicer in ghci on Windows. Thanks to all!


Categories: Incoming News