News aggregator

question about using read and map

Haskell on Reddit - Wed, 10/15/2014 - 6:52pm

Hi, i have a list like ["5","4"] and i would like to use the function read to get the value of each elements in my list

i know that i can do

read "5" :: Int

but how can i apply that for an entire list?

I was thinking about using map like

map read ["5","4"] :: Int


map read ["5"::Int, "4":: Int]

but it does not work as far as i can tell.

Any help would be nice, sorry for the newbie question ^

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

Ask /r/haskell: Should I be signing up / getting involved with the libraries mailing list?

Haskell on Reddit - Wed, 10/15/2014 - 4:57pm

(This is partly a genuine question, but there's also a bit of musing in amongst it)

I've known about the existence of the libraries mailing list for a while, and thought it might be something I'd sign up for at some point in the future.

The discussion around adding Foldable and Traversable to the Prelude - and the fact that it was a surprise to a lot of folks - got me thinking that I should probably sign up in order to keep up with these kind of changes / get a chance to have my say if I spot a problem with a proposal.

Does anyone on or familiar with the list know if it's the kind of list where casual, non-expert users are useful rather than background noise? Or am I conflating the libraries committee and the libraries mailing list?

On one hand, I wouldn't want to be a (potential) distraction.

On the other hand, I want to get in there to keep an eye on what is being proposed, mostly out of curiosity.

I also want to get in there for statistical reasons - I figure having more people active on the list might help with the mandate / marketing of the decisions the library committee makes.

Of course, that would fall to bits if the distribution of people for or against a proposal was correlated with the distribution of people too busy to sign up to another mailing list :)

Any info or thoughts would be appreciated.

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

Deriving vs. type constructors

haskell-cafe - Wed, 10/15/2014 - 3:55pm
I'm struggling with a problem related to generic programming, boiling down to this: ----snip---- {-# LANGUAGE StandaloneDeriving, KindSignatures, UndecidableInstances #-} data Foo (v :: * -> *) = Foo (v Bar) deriving instance (Show (v Bar)) => Show (Foo v) data Bar = Bar deriving Show ----snip---- So the Show instance for Foo v wants the rather specific Show instance for v Bar. But now imagine that v is always something like Maybe, itself done using something like this presumably: instance Show a => Show (Maybe a) where ... Can I somehow state as a constraint that Foo v has a Show instance if v is a type constructor like Maybe, i.e. once with a Show instances for any arguments that has a Show instance? (You can't see *why* I want to do this in this example - I actually have something like 100 nested datatypes which thread v through, and *every single one of them* adds to the context I need for every one of them.) I feel I want to write something like this: deriving instance (Show a => Show (v a
Categories: Offsite Discussion

Optimizing Haskell games with minimal changes.

haskell-cafe - Wed, 10/15/2014 - 3:43pm
Hi Café, As you know, we are building Android games in Haskell, and efficiency is crucial. I often find myself trying to explain to other game programmers that the price to be paid in speed in exchange for the robustness and the clarity of the language is minimal; and that optimising and parallelising can be very easy. In our game we only had to apply very basic techniques (RWH, Chapter 25; Parallel & Concurrent Haskell, Chapter 2) to obtain a x7 speedup and reduce memory consumption from hundreds to 3MB on desktop. The number of changes to the codebase was minimal. I hope it helps support the case that using Haskell even for CPU demanding code is worth it. Our game now also runs smoothly on Android. Hopefully this will also help others trying to achieve the same thing. Cheers Ivan
Categories: Offsite Discussion

Missing or undocumented ARM architecture controls

haskell-cafe - Wed, 10/15/2014 - 3:23pm
I worked around a problem of a build of a simple cross ghc not finding (shared) libraries by setting the LIBRARY_PATH environment variable. Not ideal. Then I came to a problem with StcCRun.c using vldmia and related instructions which are part of ARMv6. I worked around this by putting #defines for arm_HOST_ARCH_PRE_ARMv6 and arm_HOST_ARCH_PRE_ARMv7 in mk/config.h Now it seems to make use of llvm at a later stage and that fails with "inplace/bin/ghc-stage1" -static -H64m -O0 -Iincludes -Iincludes/dist -Iincludes/dist-derivedconstants/header -Iincludes/dist-ghcconstants/header -Irts -Irts/dist/build -DCOMPILING_RTS -package-name rts -dcmm-lint -i -irts -irts/dist/build -irts/dist/build/autogen -Irts/dist/build -Irts/dist/build/autogen -O2 -c rts/Exception.cmm -o rts/dist/build/Exception.o '+v7' is not a recognized feature for this target (ignoring feature) UNREACHABLE executed! UNREACHABLE executed! Stack dump: 0. Program arguments: /usr/bin/llc -O3 -relocation-model=static /tmp/ghc2
Categories: Offsite Discussion

Any Haskell library for working with Buchi automata?

Haskell on Reddit - Wed, 10/15/2014 - 2:10pm

Hi everyone, I would like to play with Buchi automata und would rather not start from scratch. Thanks.

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

Hiding platform packages in Cabal sandboxes

haskell-cafe - Wed, 10/15/2014 - 2:07pm
As a maintainer of the various OpenGL-related packages I have the following problem: The Haskell platform has those packages (OpenGLRaw, GLURaw, ...) exposed, which is the right thing to do in general. When I want to work on those packages, I'd like to use Cabal sandboxes to avoid screwing up the platform versions of them, but things get a bit tricky then. Consider e.g. the GLURaw package, which depends on the OpenGLRaw package. Assume that I'd like to add some stuff to the OpenGLRaw package and use that in GLURaw. With cabal sandboxes I'll have to fight a little bit, because versions of these packages are already exposed: ----------------------------------------------------------------------------------------------------------------------- svenpanne< at >svenpanne[master]:~/repos/haskell-packages/GLURaw$ cabal sandbox init Writing a default package environment file to /usr/local/google/home/svenpanne/repos/haskell-packages/GLURaw/cabal.sandbox.config Creating a new sandbox at /usr/local/google/home/svenpanne/re
Categories: Offsite Discussion

Stepping through a huge Haskell codebase

Haskell on Reddit - Wed, 10/15/2014 - 2:00pm

I'm trying to step through the ghc (Haskell Compiler) codebase, which is huge.

  • What is the best way to step through a huge Haskell codebase ?
  • What tools could help with this task ?
  • Are there any tools like Visual Studio debugging ? (which I use when ramping up on huge C# projects)
  • Is there a better way than to put 'trace' statements all over the code ?

It seems like 'trace' debugging and breaking things into tiny bits of functions is fine when I'm the one developing code bit by bit. But I find that model to be not that great when I want to understand some huge codebase and run the app, stop it at points and examine its behavior at runtime (like Visual Studio debugging).

submitted by attilah
[link] [15 comments]
Categories: Incoming News

Douglas M. Auclair (geophf): September 2014 1HaskellADay problems and solutions

Planet Haskell - Wed, 10/15/2014 - 11:36am

September, 2014
  • September 1st, 2014: They tried to kill the Metal...I don't know where I'm going with that. But rock-n-roll with today's #haskell exercise
  • September 2nd, 2014: Good morning! Triangle Sums is our #haskell problem for today: No triangles were harmed in the solution of their sum (nor in the summation of their solution)

  • September 3rd, 2014: Pay It Forward. What? You didn't think I'd just say: today's #haskell problem is hard and leave it at that, did you? Paid. Or: a constructivist approach reduces the generated sets from 200M+ down to 8 possible solutions That's doable. ... and here is the 'Mr. Clean' version of the solution: fast, and neat. Groovy!
  • September 4th, 2014: Today's #haskell problem: Abacus words because MRFE says "I don't like your math problems; I want more word problems"
  • September 5th, 2014: These 'edgy' relationships these days!  Remember when today's #haskell problem didn't involve graph theory? Data.Graph FTW! A solution to today's 4sum #haskell problem, and it didn't require generating 1625702400 solutions!
  • September 8th, 2014: We have puzzles 1 and 5 from the "Montley Stew" problem set for today's #haskell problem The solution-style to Montley Stew isswimming in list-compression stew
  • September 9th, 2014: King Tut! Our #haskell problem for today is NOT a Pyramid Scheme. Maybe.
  • September 10th, 2014: 'Sed' is 'but(t)' just another word ... in "'laddin" Today's #haskell problem is mix-n-match words. "But(t) I sed ..." ARG! Enough with the 3rd-grade humor! On with the solution to the mix-n-match words!
  • September 11th, 2014: A-plus for you when you solve today's #haskell exercise But an F- (NOT an F# ... geddit?) for /usr/share/dict/words :/ A solution to today's injectInto #haskell problem
  • September 12th, 2014: Today's #Haskell problem comes from She. She who commands you solve it before coding it. So, you know: there it is. Okay, 'thurt' is a word in WHICH Universe? A solution to today's #haskell 'ditto' problem
  • September 15th, 2014: "The name of the game is Connect Four!" and today's #haskell problem as suggested by a tweet from @DrEugeniaCheng. I played Connect 4 against myself and lost! :/ A semi-solution to today's #haskell problem at

  • September 16th, 2014: There's more than one way to slice and dice a matrix for today's #haskell problem (follow-up to yesterday's Connect4) A Hack-n-slash solution to today's diagonal view of matrices. Thebonus solution is provided back at the Connect Four answer to make that game complete:
  • September 17th, 2014: Do you Yahoo!? Today's #haskell problem: connecting to Yahoo!'s financial webservice I like my java GREEN! (java means 'coffee') A solution to stock webservice #haskell problem.

  • September 18th, 2014: Star (Tuna?) Fish? A radial word-finding/matching game is today's #haskell puzzle. Wait. Quantum...WHAT? A solution to today's #haskell problem using quantum superpositions to solve it. I'm not joking. STAR POWER! A solution for pretty-printing the star-puzzle
  • September 19th, 2014: Continued fractions and dual inversionals are today's #haskell problem It even comes with (thoughts about) flowers. #Ult Today's problem was inspired by a comment, then the main article, from @aperiodical That was some LOOOOOOOONG Division! A solution to today's #haskell problem.
  • September 22nd, 2014: Oh, noes! The 'M'-word! for today's #haskell exercise. Project Eulerproblem 11'M' is for 'Monoid' A solution to today's #haskell problem.
  • September 23rd, 2014: "Oh, the snark bites, with his teeth, dear." MACD Knife ... geddit? Today's #haskell problem is a technical indicator.
  • September 24th, 2014: Jones, Smith, and Brown work at the Bank... but not Mr. Banks.A logic puzzle from 1957 for today's #haskell puzzle A pair of PhDs ( helped to solve today's #haskell problem. Neatly, too, I might add.
  • September 25th, 2014: Corned-beef hashi? No, that's not right, and now I'm hungry! :( Shoot! Well, anyway: today's #haskell problem.
  • September 26th, 2014: HA! I TOLD you we'd be getting to cipher-text! From the 1700's, still: it IS cipher text for today's #haskell problem. Ooh! The Plot Thickens (like pea soup)! "ALLMENHAVING" and "be mis T r U st ed " is a solution to today's problem.
  • September 29th, 2014: Big (Crypto) Generator! Today's #haskell problem is a follow-on to Friday's. Human Error ... WHAT human error? A solution to today's make-your-own-cypto-table #haskell problem
  • September 30th, 2014: "I wanna be a blue-collar man!" Yes, but who, and which occupation? Today's #haskell problem addresses this. Plumber, ... or painter? IDK! TWO-solutions to today's #haskell problem (one of them MAY be correct... :/ )
Categories: Offsite Blogs

Foreign function interface to an OCaml library

Haskell on Reddit - Wed, 10/15/2014 - 7:20am

I am interested in using an OCaml library in Haskell. Is that at all possible? Any resources of building an FFI? Or am I better off reimplementing the library?

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

Show /r/haskell: Parser for the TOML configuration file format

Haskell on Reddit - Wed, 10/15/2014 - 6:47am

Hi all.

I've just "kind of" finished a parser for the TOML configuration file format, and published it on Github. It is based on a toml-parser I found on Hackage, but I rewrote most of it in the process of making it compliant with the latest (v0.2.0) specification of TOML.

Since it is my first public-consumption-lib in Haskell (hope to publish it on Hackage and all), I want to ask for feedback here. Anything advice/critique/etc. is welcome.

The meat of the project is in these files: Types.hs and Parser.hs.

The Parser is, IMHO, pretty straight forward. I still want to look into a way to produce more helpful errors.

The Types are also quite straight forward, except for the insert function which is used to build TableNode trees; it deals with all the edge cases. I tried to simplify this code with an Evaluator monad as described here, but that only reduced about two lines of code, while needing monad+applicative+functor declarations.

In toml-arrays are not allowed to have mix-type content. At first I wanted to used Haskell's type-system to enforce this (even raised a question about this on StackExchange), but I ended up with a solution in the Parser (see the array and arrayOf functions in Parser.hs).

As explained in the project's README I want to look into the following:

  • using Lenses to ease pulling data from the TomlDoc data structure
  • getting more helpful error messages out of Attoparsec
  • using QuickCheck to test (but I dont know if that makes sense as I only supply a parser-from- and no serializer-to-Toml)

Any thoughts on these topics?

I hope it is a useful contribution, I certainly enjoyed working on it. Haskell starts to make ever more sense after having intoxicated myself for many years with Ruby's open-class-OO and duck-typing.

submitted by cies010
[link] [18 comments]
Categories: Incoming News