
New Releases 99 Haskell: A web service by Bram Hoskin Solve live Haskell coding problems based on H-99 in the browser to strengthen your understanding of the language. http://www.99haskell.org/ https://github.com/bramgg/99haskell/ Magic Cookies A commercial Android game is released that is written in Haskell using SDL2 for multimedia and the Arrowized Functional Reactive Programming DSL Yampa. The authors had to "escape their functional comfort zones and come up with smarter abstractions that mutable reality and performance demand". The game consists of 2K lines of code, of which 1K is game specific and 400 are Yampa code. The most complex parts were certain Yampa constructs (arrow-based, with lots of tupling/untupling). http://keera.co.uk/blog/2015/03/19/magic-cookies-released-google-play/ https://play.google.com/store/apps/details?id=uk.co.keera.games.magiccookies https://github.com/keera-studios/keera-hails https://github.com/ivanperez-keera/Yampa Discussion Finding a GHC bug by Neil Mitchell A write up of the hunt for bug #10176 http://neilmitchell.blogspot.it/2015/03/finding-ghc-bug.html https://ghc.haskell.org/trac/ghc/ticket/10176 What are your most persuasive examples of using Quickcheck? Quickcheck helped many people in a number of areas — compiler optimisations, date/time validation, regular expressions, encoding/decoding, topological sort, fuzzing HTTP APIs and even exhibiting classical voting paradox! Apart from the obvious benefit of helping to find big juicy bugs as well as valid but potentially harmless tiny bugs in edge cases that no-one cares about, Quickcheck can help attain enlightenment in the sense that spelling out Quickcheck properties in itself can be rewarding because this can reveal assumptions that have been made without realizing it. Roman Cheplyaka reminds us about SmallCheck and that it should be used instead of Quickcheck when one has a good idea about what depth is needed and when exhaustive search at that depth is affordable. https://www.reddit.com/r/haskell/comments/308ps6/what_are_your_most_persuasi... http://stackoverflow.com/questions/20092191/how-much-should-one-control-the-... What is the difference between free monads and free monoids? A comment by Edward Kmett. https://www.reddit.com/r/haskell/comments/2znhjk/what_is_the_difference_betw... Type-Checked Pseudo-Code Tom Ashworth argues that Haskell is an excellent tool for fleshing out ideas and prototyping solutions, and that it makes one generalize and shake out many conceptual bugs before concepts become code. https://phuu.net/2015/03/24/type-checked-pseudo-code.html Where does GHC spend most of it's time during compilation? Optimisation and codegen, it seems. Also, GHC compilation times went up substantially from version 7.6 to 7.8. https://www.reddit.com/r/haskell/comments/309430/where_does_ghc_spend_most_o... Quotes of the Week "Haskell doesn't feel like code. It feels like a language for thinking in: it's expressive, terse and simple, especially as type-checked pseudo-code." (Tom Ashworth) https://phuu.net/2015/03/24/type-checked-pseudo-code.html "Well that's not in the spec. If you want to change the requirements you have to renegotiate the contract =P" (sccrstud92) https://www.reddit.com/r/haskell/comments/2zxekg/while_learning_haskell_i_ma... "Unit tests are double entry bookkeeping" (EvanDaniel) https://www.reddit.com/r/haskell/comments/308ps6/what_are_your_most_persuasi... augustss> "Well, type checking is worst case exponential…" barsoap> "Yep. That's also the reason why I don't really get the insistence of dependently-typed languages to have to be total at the type level: I don't care whether type-checking takes ten or infinitely many years, both figures are too large." https://www.reddit.com/r/haskell/comments/309430/where_does_ghc_spend_most_o... "Our prophet Djistra said that a testing shows the presence, not the absence of bugs … <snip> … Today Djistra would have been stoned under a myriad of inutile unit tests that people perform for a sense of false security, in a sort of superstitious sacrificial ritual, a waste of time to convince himself and others that his software is right." (agocorona) https://www.reddit.com/r/haskell/comments/308ps6/what_are_your_most_persuasi... "You might also consider these sorts of infelicities as teachable moments" (ericpashman) https://www.reddit.com/r/haskell/comments/2zxekg/while_learning_haskell_i_ma... "Nice gradual progression there. Big O notion, smoothly divided into 3 easy parts, then bam, Coyoneda. =) I approve. [Yes, I realize it is a bag of topics, not a course outline, but it still grabbed me.]" (edwardkmett) https://www.reddit.com/r/haskell/comments/2zqyes/we_released_a_video_library...