News aggregator

projects.haskell.org Pipermail not Google-indexed?

haskell-cafe - Mon, 09/01/2014 - 12:56pm
Hi, I noticed that I couldn't find this http://projects.haskell.org/pipermail/quickcheck/2014-July/000158.html on Google. Is the quickcheck list archive, or any of the other sites of projects.haskell.org actually reachable from via any path from some top level web site (like Haskell.org)?
Categories: Offsite Discussion

Race conditions with threadWait(Read/Write) andcloseFdWith

haskell-cafe - Mon, 09/01/2014 - 9:17am
I was very tangentially involved with a use-after-close IO descriptor fault recently, and I came to realize that descriptor indexes are typically allocated by the smallest available index, Previously, I had erroneously believed that the indexes were sequentially allocated by an ever-increasing counter, until wrap-around occurs. Obviously, the smallest available index allocation strategy makes use-after-close faults rather more significant, because in a server application that is constantly closing and allocating descriptors, it makes it rather more likely that an erroneous operation will actually have a tangible effect, and not simply return an EINVAL or similar errno. So in my low-level linux-inotify binding, I felt it wise to add protection against use-after-close faults. The approach I'm currently investigating is the obvious one: to (conceptually) represent the inotify socket by a "MVar (Maybe Fd)" value. However, if there's no file system events to read from the socket, we want to cal
Categories: Offsite Discussion

ICFP 2014 Workshops (Videos)

Haskell on Reddit - Mon, 09/01/2014 - 7:10am
Categories: Incoming News

Paresc's homepage is gone

Haskell on Reddit - Mon, 09/01/2014 - 5:09am

Hi,

I just visited parsec's homepage and it's gone.

Anyone knows where I can find it?

LE: Meanwhile, I found this: https://research.microsoft.com/en-us/um/people/daan/download/parsec/parsec.pdf

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

Douglas M. Auclair (geophf): August Haskell Daily puzzles and solutions

Planet Haskell - Mon, 09/01/2014 - 4:11am

August, 2014
  • August 1st, 2014: "But programming isn't math, so ..." Today's #haskell problem? 'Fix' yesterday's solution to be less ... 'icky.' http://lpaste.net/108559 π, fast (So you're not eating π? ... okay: 'quickly.') A solution set to today's exercises with Wow-o-wow results. http://lpaste.net/108576
  • Bonus: August 1st, 2014: This is Embarrassing(ly parallel) to have π in da face!  http://lpaste.net/108562
  • A-to-the-ST for da D-down-low-on-the-SL. Today's #haskell exercise is write your own language, then some rules. Yeah. http://lpaste.net/108733. LAWLZ! NAND on the A-to-the-ST! http://lpaste.net/108758 A solution to the first 2 exercises to today's problem. YMMV: not pretty nor generic.
  • Baby needs a new pair of shoes! And you need a new daily #haskell problem to solve. http://lpaste.net/108820 Done! ;) Love is the Universal Language. No, wait. We were talking about Money, yes? Me confused. Solution to today's exercise http://lpaste.net/108829. I have a Yen for Thinking Japanese, or so I think so ... a solution to the bonus #haskell exercise http://lpaste.net/108871
  • Bayes was a man of letters. A Bayesian classifier for letter-recognition? Sure, let's give it a go for today's #haskell exercise. http://lpaste.net/108901 So now we know 'M' looks like 'W' to some peeps but 'B', 'I', 'O' check out fine, so WE ARE READING WITH HASKELL! YAY http://lpaste.net/108916 ... added definitions to do test runs over the entire data set and then did various runs, tweaking the system. Results noted. Informative.
  • Today's #haskell exercise. An expert system for blood donation. I use the term 'expert' loosely, eh? ;) http://lpaste.net/108989 Have at it! "I vant to drinq yur bloot! Bwa-hahaha!" Okay. That quote is just ... creepy. A solution to today's exercise is at http://lpaste.net/108994
  • Veni, Vidi, ... Duci? http://lpaste.net/109043 Today's #haskell exercise. It is a relief to know that no tactical nukes were launched by testing the solution to today's #haskell exercise. http://lpaste.net/109061 or How do you count Mississippi's in Roman numerals?
  • August 11th, 2014, Monday: You've heard of 'Rock Management'? How about ROCK LOBSTERS! GIVE ME A ROCK, NAOW!!!1!!!!11! Today's #haskell exercise http://lpaste.net/109188 
  • August 12th, 2014, Tuesday: To Fract or Not to Fract: why are we even considering this question? Today's #haskell exercise http://lpaste.net/109219 

  • Ooh! Bonus problem? On a Tuesday? Wowsers! Today's #haskell #bonus problem: "Continuum spectrum maximum... uh, 'thing'um" http://lpaste.net/109205
  • August 13th, 2014, Wednesday. No problem! (literally), but: "Fract! The Cylons!" No... wait: Starbuck used a different word. A solution to yesterday's fracting problem is at http://lpaste.net/109341
Flatliners. No fracting, no 'peak'ing, just a baseline data set of initializeSpectrum defined with flatline function.
Twin Peaks. Still not fracted, but data set with two spikes rolled into the base data set with smoothSpike fn 
Fracted. Data set with peaks, fracted using the frackedSpike function
  • August 14th, 2014, Thursday: Pining for that next fibo date-time before 2584. Today's #haskell problem inspired by @AlgebraFact http://lpaste.net/109349. Updated problem. Tightened up return value, removing unnecessary semideterminism. So, it gives, leik, a septatuple answer, leik. ... Yeah. Time keeps flowing like a (Fibonacci) river, to the sea. http://lpaste.net/109389 A solution to  the 'next Fibonacci' problem posted today.
  • Hail, Eris! or the Law of Fives or today's #haskell problem (implementing a Ripple-down rule set). Do it to it! http://lpaste.net/109350. One of three-parter solution to today's problem: Forall Existential(ism) http://lpaste.net/109458 A solution allowing forall-quantified values. Two of the three-part solution: All you need is fnord (la-di-da-di-dah)! Rippling down (and accumulating fired) rules http://lpaste.net/109433. Third of three-part solution: RippleDownRuleto ergo sum, adding rules to the RDR system http://lpaste.net/109473.  Updated the 3rd solution to the RDR (Writer monad definition) to ripple down to left and right, fixing inconsistency in rule findings.
  • August 18th, 2014: What's FP good for? Crypto and technical (financial) indicators. Why? Um, let's do today's #haskell exercise! http://lpaste.net/109553. Full on, all the way! Double Rain-... wait: line-graph. Solution to today's #haskell exercise http://lpaste.net/109597


  • August 19th, 2014: What does it all mean? All the way! No, wait: this is just today's #haskell exercise (backtesting SMA indicator ). http://lpaste.net/109617 Take the monoid and run(State-WriterT), or WAAH! WAAH! I lost 100 corn chips on my investment strategy or, solution: http://lpaste.net/109687 But, as solace, it does come with a pretty picture, illustrating today's solution. Ooh! 

  • August 20th, 2014: Next up for today's #haskell exercise is the Exponential Moving Average. http://lpaste.net/109689 A solution to the E(xponential)M(oving)A(verage) #haskell problem: Stately Conformance http://lpaste.net/109707 


  • August 21st, 2014: My Jeans. No ... I meant: 'GENES'! That's it. Today's #haskell exercise. http://lpaste.net/109749 A solution to (not even CLOSE to) 'yesterday's' #haskell exercise: Nature or Nurture? We present a genetic algorithm http://lpaste.net/110330
  • August 22nd, 2014: Today's (much delayed) #haskell problem: the Silver Ratio http://lpaste.net/109817 (from @AlgebraFact Every cloud has a silver lining .. Every Haskell problem has a solution. (sometimes) (except noncomputable problems) http://lpaste.net/109831


  • August 25th, 2014: LYADCFGG! Today's #haskell exercise? (automated/learned) Document classification. http://lpaste.net/109980/
  • August 26th, 2014: "Join me, Luke, on the Dark Side of the Force, and help me go #FORTH to solve today's #haskell exercise! MWA-HAHA!" http://lpaste.net/110062 The World's smallest DSL: Forth. A solution to today's #haskell exercise http://lpaste.net/edit/110085
  • August 28th, 2014: "As I compose this #haskell problem ... p.s. I love you ... You! You! You!" #1960s #song http://lpaste.net/110135 A little card logic problem. Oh, NOES! LOOK OUT! IT'S A CARD-#SHARKNADO! Nah, it's just 'today's #haskell solution, is all http://lpaste.net/110334
 
  • August 29th, 2014: Groovitudes! WordNet Themes! or: today's #haskell exercise http://lpaste.net/110171 A 3x3 matrix has 36 possible solutions. A 5x5 matrix? Over 200M poss solutions? YIKES! A solution to the themed-words http://lpaste.net/110293
Notes
  • The Forth language problem solution given on August 26th gives a very snazzy RPN ('reverse Polish notation') calculator, but that's all it does the ':'-defining word needs access and look-ahead to the program parsed stream, and that's a bit more to ask than pushing and popping stack operators.
  • For the August 29th problem(WordNet themes) the raw generated solution set is over 209M possibilities. My little Haskell program was not finished scanning them over four hours when I killed the process. However, my dear wife solved the problem in under five minutes. Setting aside the fact that she's a genius, the program needs to be better. It needs to use the ontology of English-language words to eliminate fruitless endeavors during their generation, not afterwards during the test phase.
Categories: Offsite Blogs

LFM for Haskell bittorrent effort

haskell-cafe - Sun, 08/31/2014 - 9:04pm
Hi, For this or another reason, no bittorrent libraries/clients available today seem to suit my needs: they are either too slow, too memory inefficient, bundled with a client which often can't run in a headless environment or broken in some other way or don't implement all the common BEPs. I came to the conclusion that I'll probably have to write one. Happily, whenever I mentioned the topic in #haskell, there was quite a bit of interest each time so I'm looking to recruit people to join me in this effort. First a brief overlook of what's already available in the Haskell environment: * Combinatorrent[1] – a rather old client, no longer maintained with the last Hackage upload in 2010. Only supports few BEPs and was not able to load in the .torrent file provided by Ubuntu. I have spoken to jlouis who wrote this, you can read the conversation at [2]. He himself says that nowadays you can do better performance wise with available libraries. Additionally, this comes with a client on top rather than just being
Categories: Offsite Discussion

Planning Yesod 1.4

Haskell on Reddit - Sun, 08/31/2014 - 6:30pm
Categories: Incoming News

Yesod Web Framework: Planning Yesod 1.4

Planet Haskell - Sun, 08/31/2014 - 6:00pm

Now that persistent 2.0 is out the door, it's time to start talking about Yesod version 1.4. First question you might ask: what happened to Yesod 1.3? Answer: a few of the Yesod libraries (e.g., yesod-auth) are already on version 1.3, so to avoid confusion, we're jumping straight to 1.4.

Second question: what are we planning on breaking this time? Answer: hopefully nothing! The main purpose of this release is actually to just remove some backwards-compatibility hacks in the Yesod codebase for older versions of dependencies, like shakespeare pre-2.0, conduit pre-1.2, WAI pre-3.0, and persistent pre-2.0.

There are few exceptions to this, which should hopefully have minimal impact on users. You can see these in the detailed change list. One change I'd like to call out is the updated routing system. This is a fundamental change to how yesod-routes works. The generated code is drastically simpler as a result. Instead of constructing a data structure that allows for efficient pattern matching of the request path and then attempting to parse the resulting pieces, the new code simply generates a series of clauses, one for each route, and ensures proper parsing using view patterns. In my initial benchmarking, this made routing twice as fast as Yesod 1.2. I would release this as part of 1.2, but it introduces a new requirement on the ViewPatterns language extension. So instead, I held it off for the 1.4 release.

If there are other breaking changes that people would like to propose, now's the time to do it. But be aware that I'll likely push back hard on any breakage. If there's a very good reason for it, we can do it. But I'd rather keep stability wherever possible.

There's one exception to that rule, which is the purpose of the rest of this blog post: the scaffolded site. Making changes to the scaffolded site never breaks existing application, and therefore we can be much more liberal about changing things there. There is a downside in terms of education: all existing tutorials on the scaffolding would need to be updated. But one of my points below addresses that.

So here are my proposed scaffolding changes:

  • Let's move away from config files towards environment variables for configuration. A config file is still a convenient way to record configuration, but injecting that configuration through environment variables means configuration can also be stored in a database or elsewhere and injected through environment variables the same way.
  • Along the same lines, we would no longer need a command line argument to indicate which environment we're in (devel vs production, etc). All such settings would be controlled via environment variables.
  • To allow for easy development, we would have a single YESOD_DEVEL environment variables which would indicate if we're currently in development. If so, it would apply a number of default environment variable values to avoid the need to set these in your shell manually.
  • Finally, and I expect this to be controversial: let's use classy-prelude-yesod in the Import module, instead of just taking Prelude with a few objectionable functions filtered out.

This is just a first pass at a scaffolding cleanup, I'm sure there are other improvements that can be made as well.

I don't have a specific date on a Yesod 1.4 release, but I'm not expecting it to be a long development process. The vast majority of the work is already done (on the yesod-1.4 branch), and that codebase is already being used extensively in a rather large Yesod application, so I'm not too worried about regressions having slipped in.

Categories: Offsite Blogs

ANNOUNCE: hemokit 0.6.3 - Now with OpenVibecompatibility

haskell-cafe - Sun, 08/31/2014 - 5:09pm
Heya, out is Hemokit 0.6.3, which can now be connected to the OpenVibe EEG framework. OpenVibe allows fancy stuff like spelling words with your mind: Video: https://www.youtube.com/watch?v=08GNE6OdNcs Docs: http://openvibe.inria.fr/coadapt-p300-stimulator-tutorial There is a new tutorial on how to set up Hemokit+OpenVibe at: https://github.com/nh2/hemokit/wiki/OpenVibe If you set up something cool with that, don't forget to tell me about it! Grab Hemokit: https://hackage.haskell.org/package/hemokit Stand-alone Linux and Windows binaries are also available: https://github.com/nh2/hemokit/releases
Categories: Offsite Discussion

RTS options to control name of eventlog file.

haskell-cafe - Sun, 08/31/2014 - 3:55pm
Is there any? Because when running and profiling two same programs they will write into same eventlog file. Not a good situation. _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe< at >haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Categories: Offsite Discussion

[ANN] haddock-2.15-0, haddock-api-2.15-0,haddock-library-1.1.1

General haskell list - Sun, 08/31/2014 - 2:50pm
Hello, I'd like to announce the release of Haddock 2.15.0. Before we dive in, I'd like to announce that Haddock development has moved out of the GHC tree and is now done against the latest compiler release. If in the past you wanted to contribute but were intimidated by having to make sure it works against GHC HEAD then here's your chance. Additionally, it now should also work with GHC 7.8.2 so if for whatever reason you're forced to use that, you can now get the latest Haddock features. If you want to contribute then please let us know, we're understaffed! Come chat at #haddock or send us an e-mail. If you have been using 2.14.x, you should be good to simply ‘cabal install haddock’. Now the changes: This is an API-breaking bugfix release so any tickets originally scheduled for 2.15.0 were pushed towards 2.16. Perhaps the biggest change is that ‘cabal install haddock’ will now only give you the Haddock binary. To use Haddock API, please depend on ‘haddock-api’ from now on. I have sent out an
Categories: Incoming News

cabal sdist and auto-generated modules

haskell-cafe - Sun, 08/31/2014 - 5:45am
I am trying to run cabal sdist on a package where one of exposed modules does not exists because it is automatically generated by setup.hs. cabal refuses to do that because it cannot find the file corresponding to that module. Is there a solution to that problem? The package builds just fine.
Categories: Offsite Discussion

Haskell Program Help!

Haskell on Reddit - Sat, 08/30/2014 - 8:52pm

Our task is to enter three numbers (grades), find its average and tell whether it's passed (greater than 75) or failed (less than 75). I already know how to find the average, I just wanted to know how to program the passed or failed thing. Thanks

submitted by legendaryDrake
[link] [11 comments]
Categories: Incoming News

Monads vs Linear regions

haskell-cafe - Sat, 08/30/2014 - 8:36pm
How do they compare? Can Linear regions handle all uses of monads or does they lack some applications? _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe< at >haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Categories: Offsite Discussion