News aggregator

Is there a Haskell implementation of the Lindley-Wadler-Yallop arrow calculus?

Haskell on Reddit - Tue, 07/29/2014 - 5:19am

Lindley, Wadler, and Yallop published The Arrow Calculus way back in 2009, and though this work appears to significantly advance reasoning about and expression of computation with arrows beyond Paterson's refinements (represented in the current Control.Arrow module) on Hughes' foundational work, I can't find any Haskell implementations of it. Does such code exist?

submitted by ribald_eagle
[link] [7 comments]
Categories: Incoming News

early adopters rejoyce! Haskell Platform 2014.2.0.0Release Candidate 2

haskell-cafe - Tue, 07/29/2014 - 4:31am
The long anticipated Haskell Platform 2014.2 release, including GHC 7.8.3, and numerous updated packages, is almost here! We have created "Release Candidate 2" installers for OS X and Windows, and believe, barring show stopper issues, creepers exploding, or unexpected trips to the nether, these will likely be blessed as the final by the end of the week. If you would like to be an early adopter, please try 'em out... - source tarball: haskell-platform-2014.2.0.0-RC2.tar.gz <http://www.ozonehouse.com/mark/platform/haskell-platform-2014.2.0.0-RC2.tar.gz> - source repo: haskell/haskell-platform at 2014.2.0.0-RC2 <https://github.com/haskell/haskell-platform/tree/2014.2.0.0-RC2> - windows 32bit: hskellPlatform-2014.2.0.0-i386-RC2-setup.exe <http://www.ozonehouse.com/mark/platform/hskellPlatform-2014.2.0.0-i386-RC2-setup.exe> - windows 64bit:hskellPlatform-2014.2.0.0-x86_64-RC2-setup.exe <http://www.ozonehouse.com/mark/platform/hskellPlatform-2014.2.0.0-x86_64-RC2-setup.exe> - os x 64b
Categories: Offsite Discussion

Munich Haskell Meeting

haskell-cafe - Mon, 07/28/2014 - 9:10pm
Dear all, on Wednesday, 30th of July, once again our monthly Haskell Meeting takes place. We meet at 19h30 at Max-Emanuel-Brauerei in Munich. If you plan to join, please go here to find the details and don't forget to click the button: http://www.haskell-munich.de/dates Have a nice evening, Heinrich
Categories: Offsite Discussion

RV 2014: Call for Participation

General haskell list - Mon, 07/28/2014 - 8:16pm
****************************************************************** CALL FOR PARTICIPATION RV 2014: 14th International Conference on Runtime Verification September 22 - September 25, 2014, Toronto, Canada http://rv2014.imag.fr ****************************************************************** ***************** OVERVIEW ***************** Runtime verification is concerned with monitoring and analysis of software and hardware system executions. Runtime verification techniques are important for system correctness, reliability, and robustness; they are complementary to conventional testing, and more practical than exhaustive formal verification. Runtime verification can be used prior to deployment, for testing, verification, and debugging purposes, and after deployment for ensuring reliability, safety, and security and for providing fault containment and recovery as well as online system repair. Topics of interest to the conference include: - specification languages - specification mining - pr
Categories: Incoming News

Looking for improvements/suggestions for a simple Tictactoe game!

Haskell on Reddit - Mon, 07/28/2014 - 6:00pm

I am looking for any and all feedback on improving the organization or style of the code to make it more idiomatic (code).

The things I'm considering doing are

  • Making a dedicated Index type (instead of using Word) to constrain indices to only 3 values

  • Making Board a newtype

  • Removing StateT (I'm not exactly sure what benefits it brings other than making it explicit that there is state)

but I'm not sure if these are idiomatic either.

One question I have is why don't libraries use Word instead of Int when representing size or indices?

submitted by precalc
[link] [5 comments]
Categories: Incoming News

New Functional Programming Job Opportunities

haskell-cafe - Mon, 07/28/2014 - 5:00pm
Here are some functional programming job opportunities that were posted recently: Senior Haskell Developer at Plow Technologies http://functionaljobs.com/jobs/8726-senior-haskell-developer-at-plow-technologies CTO / Tech Co-Founder at Capital Match http://functionaljobs.com/jobs/8725-cto-tech-co-founder-at-capital-match Cheers, Sean Murphy FunctionalJobs.com
Categories: Offsite Discussion

Hac φ (Philadelphia): Oct 17-19, 2014

haskell-cafe - Mon, 07/28/2014 - 3:27pm
Hac φ, the annual Haskell Hackathon held in Philadelphia, PA, USA, will take place Fri-Sun, Oct. 17-19, 2014. Registration is free, and all levels of Haskellers are welcome. Come join us for a weekend of programming and camaraderie. Bring your own project to work on or organize on the wiki page to join another's project. All the info, including registration link, is here: http://www.haskell.org/haskellwiki/Hac_Phi Professional Haskellers: if you work for an organization that might want to help sponsor this event, please email me. Note: This event has previously taken place during summer, but will be in October this year. Hope to see you in Philly this fall! Richard_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe< at >haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Categories: Offsite Discussion

If-Then-Else Type Family

Haskell on Reddit - Mon, 07/28/2014 - 1:44pm

While designing a REST API client, I hit a problem where the data types I'm serializing to/from JSON differ only in a few fields for GET and POST requests. Rather than write two separate instances, I was wondering about using type families:

{-#LANGUAGE DataKinds #-} {-#LANGUAGE TypeFamilies #-} {-#LANGUAGE TypeOperators #-} module Main where data Method = GET | POST type family (m :: Method) := (n :: Method) :: Bool type instance GET := GET = True type instance GET := POST = False type instance POST := GET = False type instance POST := POST = True type family (b :: Bool) :? c :: * type instance True :? (x, y) = x type instance False :? (x, y) = y type x :. y = (x, y) data Resource (m :: Method) = Resource { param1 :: GET := m :? Int :. () , param2 :: POST := m :? Int :. () , param3 :: Int }

This is still very much a sketch, but I was wondering if there are any other examples of if-then-else computations at the type level (or if this is even a good idea at all).

EDIT: Actually, I'm not sure how to get this to work. When I try

get :: Resource GET get = Resource 1 () 0

I get the following type error:

Couldn't match type `()' with `(('POST := 'GET) :? Int, ())' Expected type: (('POST := 'GET) :? Int) :. () Actual type: () In the second argument of `Resource', namely `()' In the expression: Resource 1 () 0 In an equation for `get': get = Resource 1 () 0

EDIT: Fixed with help from jozefg: http://lpaste.net/108310

submitted by markandrus
[link] [9 comments]
Categories: Incoming News

Looking for Haskell Summer Course

Haskell on Reddit - Mon, 07/28/2014 - 12:30pm

I heard about a online summer school for the haskell programming language. AFAIK it is free. I just can't remember neither the name of the lecturer nor the course.

Does anybody know such a online cours/summer school for haskell this year or is able to give some hints?

Thanks in advance

Edit: Solved!

submitted by haskellsummer
[link] [2 comments]
Categories: Incoming News

What would your ideal Monad combiner API look like?

Haskell on Reddit - Mon, 07/28/2014 - 8:58am

Both mtl and extensible-effects try to provide a simple, type-safe, performant way of combining two Monads into 1 to get the effects of both, but most would a agree that they fall flat in one area or another. My question is: What would the API of the perfect solution look like if issues like performance were ignored?

submitted by sccrstud92
[link] [17 comments]
Categories: Incoming News

Fusion of list functions

libraries list - Mon, 07/28/2014 - 8:03am
David, and other Haskell library folk You’ve been doing lots of work on making more Prelude functions fusible – thank you! This is really a library question, so I have not been following the details of the discussion, but I hope Edward and the Core Libraries Committee have been doing so; I’m cc’ing them. I’m more than happy to help with any questions if you all get stuck. Don’t forget to update the user manual http://www.haskell.org/ghc/docs/latest/html/users_guide/rewrite-rules.html#idp25099648 to say which functions are good producers/consumers. Actually, it might be better instead to state this in their Haddock comments, and remove or shrink this section of the user manual instead. It’s very hard to keep it up to date. I think it pre-dates Haddock. Many thanks. Simon From: Libraries [mailto:libraries-bounces< at >haskell.org] On Behalf Of Michael Snoyman Sent: 27 July 2014 06:08 To: Carter Schonwald Cc: Haskell Libraries Subject: Re: Am I missing something about unfo
Categories: Offsite Discussion