[Haskell-cafe] GeneralizedNewtypeDeriving and TypeFamilies

2010-06-14 Thread Max Cantor
So I understand from http://hackage.haskell.org/trac/ghc/ticket/4083 that GeneralizedNewtypeDeriving doesn't play well with TypeFamilies. But, if a typeclass is only using type synonyms, is there any reason why newtype deriving would not work? For a toy example: class Cls a where type

[Haskell-cafe] Haddock Problem

2010-06-14 Thread Dominic Steinitz
..\ThirdParty\Haskell_Platform\2010.1.0.0\bin\haddock.exe BackendC\Core.hs haddock.exe: can't find a package database at E:\ghc\ghc-6.12.1lib\package.conf.d But if I do haddock --help there is no option to set the package database and I don't even have an E: drive. I'm on windows in case that

Re: [Haskell-cafe] How to browse code written by others

2010-06-14 Thread Jean-Marie Gaillourdet
Hello, On 13.06.2010, at 22:32, Martin Drautzburg wrote: I need your advice about how to browse code which was written by someone else (Paul Hudak's Euterpea, to be precise, apx. 1 LOC). I had set some hopes on leksah, and it indeed shows me the interfaces, but I have not yet

Re: [Haskell-cafe] Haddock Problem

2010-06-14 Thread David Waern
2010/6/14 Dominic Steinitz domi...@steinitz.org: ..\ThirdParty\Haskell_Platform\2010.1.0.0\bin\haddock.exe BackendC\Core.hs haddock.exe: can't find a package database at E:\ghc\ghc-6.12.1lib\package.conf.d But if I do haddock --help there is no option to set the package database and I

Re: [Haskell-cafe] learning advanced haskell

2010-06-14 Thread Chris Eidhof
On 14 jun 2010, at 07:42, Aran Donohue wrote: Hi Cafe, I've been doing Haskell for a few months, and I've written some mid-sized programs and many small ones. I've read lots of documentation and many papers, but I'm having difficulty making the jump into some of the advanced concepts

Re: [Haskell-cafe] How to Show an Operation?

2010-06-14 Thread Claus Reinke
As others have pointed out, you can't go from operation to representation, but you can pair operations and expressions with their representations. This idea is also implemented in my little 'repr' package: http://hackage.haskell.org/package/repr And probably more completely/comfortably!-)

Re: [Haskell-cafe] learning advanced haskell

2010-06-14 Thread Ivan Lazar Miljenovic
Aran Donohue aran.dono...@gmail.com writes: I've been doing Haskell for a few months, and I've written some mid-sized programs and many small ones. I've read lots of documentation and many papers, but I'm having difficulty making the jump into some of the advanced concepts I've read about.

[Haskell-cafe] Re: Haddock Problem

2010-06-14 Thread Dominic Steinitz
Try --optghc=-package-conf --optghc=file, to point Haddock at the custom DB. Hi David, Thanks for the quick response. No dice I am afraid. Dominic. BTW this (using optghc) used to work on previous versions of haddock (iirc 2.4 and 2.5).

Re: [Haskell-cafe] Re: Haddock Problem

2010-06-14 Thread David Waern
2010/6/14 Dominic Steinitz domi...@steinitz.org: Try --optghc=-package-conf --optghc=file, to point Haddock at the custom DB. Hi David, Thanks for the quick response. No dice I am afraid. Dominic. BTW this (using optghc) used to work on previous versions of haddock (iirc 2.4 and 2.5).

Re: [Haskell-cafe] Re: Haddock Problem

2010-06-14 Thread David Waern
2010/6/14 David Waern david.wa...@gmail.com: OK, it seems like the path from the ghc-paths package overrided what you specified. I'm not sure this will work, but you could try:  haddock -B c:\p4wksp\steinitd_fpf_exdate_ws\FPF_Dev.br\ThirdParty\haskell_packages\fpf.package.conf Sorry, that

Re: [Haskell-cafe] parsec: how to get end location

2010-06-14 Thread Stephen Tetley
Hi Roman You would need different behaviour for the /lexeme/ parser in Parsec.Token at least - this is the combinator that promotes a parser to also consume trailing whitespace. I suspect you would have to recode most of Parsec.Token module - the TokenParser is a parameterized module (in the

Re: [Haskell-cafe] learning advanced haskell

2010-06-14 Thread Neil Brown
On 14/06/10 06:42, Aran Donohue wrote: Hi Cafe, I've been doing Haskell for a few months, and I've written some mid-sized programs and many small ones. I've read lots of documentation and many papers, but I'm having difficulty making the jump into some of the advanced concepts I've read

[Haskell-cafe] Re: Haddock Problem

2010-06-14 Thread Dominic Steinitz
David Waern david.waern at gmail.com writes: 2010/6/14 David Waern david.waern at gmail.com: OK, it seems like the path from the ghc-paths package overrided what you specified. I'm not sure this will work, but you could try:  haddock -B

Re: [Haskell-cafe] Re: Haddock Problem

2010-06-14 Thread David Waern
2010/6/14 Dominic Steinitz domi...@steinitz.org: So I created one and copied our custom package databse into it but still no luck: ..\ThirdParty\Haskell_Platform\2010.1.0.0\bin\haddock.exe -B c:\p4wksp\steinitd_fpf_exdate_ws\FPF_Dev.br\ThirdParty\haskell_packages backendc\PAD2C.hs haddock:

Re: [Haskell-cafe] Re: Difficulties with tagless - create primitives or compose them

2010-06-14 Thread Jacques Carette
Günther Schmidt wrote: I have recently found something new that might also prove to be useful for EDSLs. http://blog.sigfpe.com/2009/05/three-projections-of-doctor-futamura.html Dan's blog post doesn't give any code or implementation but in a way it tackles the same problem, and since you

Re: [Haskell-cafe] learning advanced haskell

2010-06-14 Thread Martijn van Steenbergen
On 6/14/10 10:39, Ivan Lazar Miljenovic wrote: By being told that using them would solve some problem you're complaining about on #haskell or the mailing lists, you look at examples, read up on them, etc. Short version: don't worry about advanced concepts until you have to. If all else fails,

Re: [Haskell-cafe] learning advanced haskell

2010-06-14 Thread Ivan Lazar Miljenovic
Martijn van Steenbergen mart...@van.steenbergen.nl writes: 1) What's a type of this function? I say *a* type because there are multiple correct answers. debugWith f = do putStrLn (f True) putStrLn (f 'c') Don't ask the compiler to infer the type for you; it won't be able to. One of

Re: [Haskell-cafe] parsec: how to get end location

2010-06-14 Thread Martijn van Steenbergen
On 6/14/10 0:10, Roman Cheplyaka wrote: Of course most parsers don't consume trailing newlines. But I was writing general function to use in many places in the code which would recover the end location. In most cases it just subtracts 1 from the column number, but what if it just happened so

[Haskell-cafe] Re: Mining Twitter data in Haskell and Clojure

2010-06-14 Thread braver
I've supplied a profile report there. Since I load the graphs in memory and then walk them a lot, the time seems expected. It allocates a lot, though. The main graph type is type Graph = M.Map User AdjList type AdjList = M.Map Day Reps type User = B.ByteString type Day = Int type Reps = M.Map

Re: [Haskell-cafe] How to browse code written by others

2010-06-14 Thread Job Vranish
I've been using the geany http://www.geany.org/ editor recently and I was shocked to find that it has decent source browsing capabilities (that work with haskell even!). You can find where something is defined and find other usages of things. It's a bit crude, but gets the job done well enough. -

Re: [Haskell-cafe] Re: Mining Twitter data in Haskell and Clojure

2010-06-14 Thread John Van Enk
Would it be possible to use an IntMap instead of your OrdMap? Perhaps zip your users with [0..] and key off the integer? As a side note, I threw this package onto Hackage a while ago and may suit your needs if you decide to move to something like IntMap: http://hackage.haskell.org/package/EnumMap

Re: [Haskell-cafe] Re: Mining Twitter data in Haskell and Clojure

2010-06-14 Thread Don Stewart
deliverable: I've supplied a profile report there. Since I load the graphs in memory and then walk them a lot, the time seems expected. It allocates a lot, though. The main graph type is type Graph = M.Map User AdjList type AdjList = M.Map Day Reps type User = B.ByteString type Day =

[Haskell-cafe] Re: learning advanced haskell

2010-06-14 Thread John Lato
From: Aran Donohue aran.dono...@gmail.com Hi Cafe, I've been doing Haskell for a few months, and I've written some mid-sized programs and many small ones. I've read lots of documentation and many papers, but I'm having difficulty making the jump into some of the advanced concepts I've read

[Haskell-cafe] Re: Iteratee rest and monad instance

2010-06-14 Thread John Lato
From: Tilo Wiklund notevent...@gmail.com I am probably missing something obvious or something relating to optimisation/server software but defining iteratees as Iteratee s a = Cont (s - Either (s, a) (Iteratee s a)) seems to lead to a more natural monad instance, and does not suffer from

Re: [Haskell-cafe] learning advanced haskell

2010-06-14 Thread Patrick LeBoutillier
Hi all, On Mon, Jun 14, 2010 at 1:42 AM, Aran Donohue aran.dono...@gmail.com wrote: resources. John Lato's recent Iteratee article is a notable exception*. Can anyone provide a link to the article (if it's available online)? Thanks, Patrick -- = Patrick LeBoutillier

[Haskell-cafe] Vague: Assembly line process

2010-06-14 Thread Martin Drautzburg
Hello all, this is a problem which has haunted me for some time. If this is simply hillarious, please tell me so. Or it may be some well known unsolvable problem... An assembly process takes inputs and produces outputs. I could say a Process is a function canProduce :: [Input]-[Output]-Bool

[Haskell-cafe] Re: Mining Twitter data in Haskell and Clojure

2010-06-14 Thread braver
On Jun 14, 11:40 am, Don Stewart d...@galois.com wrote: Oh, you'll want insertWith'. You might also consider bytestring-trie for the Graph, and IntMap for the AdJList ? Yeah, I saw jsonb using Trie and thought there's a reason for it. But it's very API-poor compared with Map, e.g. there's

Re: [Haskell-cafe] learning advanced haskell

2010-06-14 Thread Stephen Tetley
On 14 June 2010 18:00, Patrick LeBoutillier patrick.leboutill...@gmail.com wrote: Hi all, On Mon, Jun 14, 2010 at 1:42 AM, Aran Donohue aran.dono...@gmail.com wrote: resources. John Lato's recent Iteratee article is a notable exception*. Can anyone provide a link to the article (if it's

Re: [Haskell-cafe] learning advanced haskell

2010-06-14 Thread John Lato
From: Martijn van Steenbergen mart...@van.steenbergen.nl On 6/14/10 10:39, Ivan Lazar Miljenovic wrote: By being told that using them would solve some problem you're complaining about on #haskell or the mailing lists, you look at examples, read up on them, etc. Short version: don't worry

Re: [Haskell-cafe] learning advanced haskell

2010-06-14 Thread Andrew Coppin
Neil Brown wrote: I'd second Ivan's suggestion to learn-by-need. I'd go along with that too. The advanced Haskell stuff is a tool. It solves particular problems. You learn about it when you have one of the problems it's applicable to. If you don't have one of those problems, keep it simple.

Re: [Haskell-cafe] learning advanced haskell

2010-06-14 Thread John Lato
From: Neil Brown nc...@kent.ac.uk For example, if you find yourself writing the Nth boilerplate function that pattern-matches all cases in your ADT just to apply a function in its sub-types, that's when you'll want some form of generic programming like SYB.  And by that point you'll

Re: [Haskell-cafe] learning advanced haskell

2010-06-14 Thread Andrew Coppin
John Lato wrote: I sort of agree with this, with some very large caveats. Well, yes. If you don't know what a feature does, then you won't know that it solves the problem you have. However, there's a lot to be said for both intellectual curiosity and learning for the sake of knowledge.

[Haskell-cafe] Heist template splice functions and custom monad

2010-06-14 Thread Kevin Jardine
I'd like to run Heist template splice functions in my own custom monad. I can define a splice function as: mySplice :: Splice MyMonad However, when I try to call functions that return values in my monad in mySplice, I get a compile error: Couldn't match expected type TemplateMonad MyMonad a

Re: [Haskell-cafe] Heist template splice functions and custom monad

2010-06-14 Thread Gregory Collins
Kevin Jardine kevinjard...@yahoo.com writes: I'd like to run Heist template splice functions in my own custom monad. I can define a splice function as: mySplice :: Splice MyMonad However, when I try to call functions that return values in my monad in mySplice, I get a compile error:

[Haskell-cafe] Terminology

2010-06-14 Thread Emmanuel Castro
I am looking for the name of the property linking two functions f and g when : [f(a),f(b),f(c)] = g([a,b,c]) Is there a standard name? In practice, g is an optimised version of f when working on large amount of elements. Thank you ___ Haskell-Cafe

Re: [Haskell-cafe] Terminology

2010-06-14 Thread Ivan Lazar Miljenovic
Emmanuel Castro emmanuel.cas...@laposte.net writes: I am looking for the name of the property linking two functions f and g when : [f(a),f(b),f(c)] = g([a,b,c]) Is there a standard name? g = map f ? In practice, g is an optimised version of f when working on large amount of elements.

Re: [Haskell-cafe] Terminology

2010-06-14 Thread Philippa Cowderoy
On 14/06/2010 23:17, Ivan Lazar Miljenovic wrote: Emmanuel Castroemmanuel.cas...@laposte.net writes: In practice, g is an optimised version of f when working on large amount of elements. It's a list, and map is lazy; not too sure you can get anything more optimised than that for

Re: [Haskell-cafe] Terminology

2010-06-14 Thread Ivan Lazar Miljenovic
Philippa Cowderoy fli...@flippac.org writes: On 14/06/2010 23:17, Ivan Lazar Miljenovic wrote: Emmanuel Castroemmanuel.cas...@laposte.net writes: In practice, g is an optimised version of f when working on large amount of elements. It's a list, and map is lazy; not too sure you

Re: [Haskell-cafe] How to browse code written by others

2010-06-14 Thread Luke Palmer
On Mon, Jun 14, 2010 at 2:02 AM, Jean-Marie Gaillourdet j...@gaillourdet.net wrote: Hello, On 13.06.2010, at 22:32, Martin Drautzburg wrote: I need your advice about how to browse code which was written by someone else (Paul Hudak's Euterpea, to be precise, apx. 1 LOC). I had set some

Re: [Haskell-cafe] Vague: Assembly line process

2010-06-14 Thread Luke Palmer
So hang on, what is the problem? You have described something like a vague model, but what information are you trying to get? Say, perhaps, a set of possible output lists from a given input list? Luke On Mon, Jun 14, 2010 at 11:16 AM, Martin Drautzburg martin.drautzb...@web.de wrote: Hello

[Haskell-cafe] Possible solution to the FGL naming/compatability issue

2010-06-14 Thread Ivan Miljenovic
Last night (AEST), Edward Kmett semi-convinced (in the sense that I'm not sure whether his examples are really those that someone would want/need or just thinking of possible future problems) me that some users may have a need for FGL to keep having explicit graphs with kind * - * - *. With his

Re: [Haskell-cafe] Vague: Assembly line process

2010-06-14 Thread Alexander Solla
On Jun 14, 2010, at 4:40 PM, Luke Palmer wrote: So hang on, what is the problem? You have described something like a vague model, but what information are you trying to get? Say, perhaps, a set of possible output lists from a given input list? I think he's trying to construct a production

[Haskell-cafe] Reactive and 'real live' problem

2010-06-14 Thread Maciej Piechotka
I tried to experiment with reactive[1] and rewrite NeHe tutorials using reactive-glut. However I run into problems. I tried to write first tutorial and exit on escape. However there were 2 problems: 1. Optimized constant functions 2. Continuous behaviour In reactive the final step is Behaviour

[Haskell-cafe] Re: Mining Twitter data in Haskell and Clojure

2010-06-14 Thread braver
OK, sample data is uploaded to data/sample in the git repo, and README.md updated with the build and run command lines. I've achieved a bit more strictness, again with great help from @dons, @dafis, and other great folks here and #haskell, but it's still slower than Clojure and occupies a bit

Re: [Haskell-cafe] How to browse code written by others

2010-06-14 Thread Edward Z. Yang
Excerpts from Luke Palmer's message of Mon Jun 14 19:35:16 -0400 2010: If you go this route, I will shamelessly promote hothasktags instead of ghci. It generates proper tags for qualified imports. Ooh, that's a good time. (Ditches hasktags for hothasktags).

Re: [Haskell-cafe] Terminology

2010-06-14 Thread Edward Z. Yang
Excerpts from Emmanuel Castro's message of Mon Jun 14 18:10:09 -0400 2010: I am looking for the name of the property linking two functions f and g when : [f(a),f(b),f(c)] = g([a,b,c]) Is there a standard name? In practice, g is an optimised version of f when working on large amount of

[Haskell-cafe] Re: Mining Twitter data in Haskell and Clojure

2010-06-14 Thread braver
In fact, the tag cafe2, when run on the full dataset, gets stuck at 11 days, with RAM slowly getting into 50 GB; a previous version caused ghc 6.12.1 to segfault around day 12 -- -debug showing an assert failure in Storage.c. ghc 6.10 got stuck at 30 days for good, and when profiling crashed