Re: [Haskell-cafe] A Mascot
Apart from the whole big discussion about an official mascot for Haskell, I for one am SURELY adopting Da, the Lamb from now on on my desktop background and on the lid of my laptop! :D I think some cute animal to connect with is something nice to us, as a community :) Could you imagine Linux without Tux?! Now I cannot imagine Haskell without the Lamb Da. João Paulo Pizani Flor joaopiz...@gmail.com Computer Science Federal University of Santa Catarina - Brazil On Fri, Nov 18, 2011 at 7:23 AM, Ketil Malde ke...@malde.org wrote: John Meacham j...@repetae.net writes: People tend to concentrate on the lambda which cooresponds to the functional aspect of haskell when designing logos. Not nearly enough attention is paid to the other striking feature, the What about types? This is a distinguishing feature from many of the other lambda-users out there, isn't \lambda_\tau used to signify that? -k -- If I haven't seen further, it is by standing in the footprints of giants ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] A Brazilian community for Haskell
Very nice initiative Giovanni, I've already subscribed to everything! :) Let's now see how many we are, perhaps work together on some documentation... :D João Paulo Pizani Flor joaopiz...@gmail.com Computer Science - UFSC On Tue, Nov 8, 2011 at 3:06 PM, Giovanni Tirloni gtirl...@sysdroid.com wrote: Hello, To gather all Haskellers in Brazil, a new mailing list has been created: http://projects.haskell.org/cgi-bin/mailman/listinfo/haskell-br There is also the #haskell-br channel on Freenode as well as Twitter and Google+ feeds to keep everybody updated on recent activities. More information at: http://www.haskell-br.org/ []'s -- Giovanni ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Utrecht Summer School in Applied Functional Programming
Hi dear Haskellers! I'm a senior undergraduate Computer Science student in Brazil, and have always loved Haskell and wrote most of my lab assignments and course projects in it. Haskellers are a very rare species here in Brazil, but I always tried my best to motivate people around me presenting some seminars, writing some tutorials, etc. My personal Haskell project: http://launchpad.net/presto What joy I had then last Friday, when I found out I've been accepted to participate in the Utrecht Summer School 2011, in the course Applied Functional Programming in Haskell (http://www.utrechtsummerschool.nl/index.php?type=coursescode=H9). In fact, I got a scholarship from Utrecht University that covers tuition fees and housing, but not the plane tickets to/from the Netherlands. That's the point where I need your advice: without some sort of financial support I won't be able to buy the tickets and travel to Utrecht. I am already searching from grants here in Brazil, but I think it will be hard to find something, not to say impossible. So, do you know any program/fund/foundation to which I can apply and get the needed financial support? Best regards, João Paulo Pizani Flor joaopiz...@gmail.com Computer Science Federal University of Santa Catarina - Brazil ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] (automatic) type classes context inference
Hello everyone, I am developing a toolset in which I have several (multiparameter) type classes; It is often the case that I can only define a data-type X as an instance of one such class (say A), if X is an instance of another class (say B); The thing is that, while it is hard for me, because of all the type parameters that I have to deal with, to add 'X is an instance of B' to the context cxt_A in 'instance cxt_A = A X' ghc is always able to correctly infer all type parameters; In fact, I always get: 'Could not deduce (B X t1 ... tn) from the context cxt_A arising from ... Probable fix: add (B X t1 ... tn) to the context cxt_A ...' In my case, this is the fix that I always need: most of the times, I am just copy-pasting (B X t1 ... tn) to cxt_A! Is there a way, say a compilation option, to avoid this? can anyone please help me here? :) thank you very much -- João Paulo Fernandes Universidade do Minho www.di.uminho.pt/~jpaulo ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Happy GLR parser creation problem
Hi Paul, During my internship I developed a GLR parser generator and a grammar interpreter fully in Haskell, in a tool called HaGLR; You'll find documentation on the tool at: http://wiki.di.uminho.pt/twiki/bin/view/Research/PURe/HaGLR The tool is available as part of the UMinho Haskell libraries at: http://wiki.di.uminho.pt/twiki/bin/view/Research/PURe/PUReSoftware I have to say that the tool was maintained until 2005/2006, but that, unfortunately, not any more; Anyway, the tool itself consisted of very simple Haskell code, so it should easily be updated/altered; Hope it helps! Joao -- João Paulo Fernandes Universidade do Minho www.di.uminho.pt/~jpaulo Em 2010/06/02, às 11:55, Paul Jensen escreveu: [Apologies if this is the wrong place to ask -- there appears to be no Happy-specific list.] I'm interested in experimenting with using a GLR parser to parse some data that could be interpreted in different ways. I'm trying to use Happy's GLR mode but I am encountering an error building one of the examples (specifically http://darcs.haskell.org/happy/examples/glr/expr-eval/Expr.y): [Mac OS X 10.6.3] rhoda:expr-eval psj$ ghc --version The Glorious Glasgow Haskell Compilation System, version 6.12.1 rhoda:expr-eval psj$ happy --version Happy Version 1.18.4 Copyright (c) 1993-1996 Andy Gill, Simon Marlow (c) 1997-2005 Simon Marlow rhoda:expr-eval psj$ happy --glr --ghc Expr.y shift/reduce conflicts: 9 happy: src/ProduceGLRCode.lhs:190:11-76: Irrefutable pattern failed for pattern (pre, drop_me : post) It's the same error someone else encountered last year, described at http://www.haskell.org/pipermail/haskell-cafe/2009-July/063770.html . Does anyone have any insights into this? If Happy's GLR support isn't working just now, are there any other parser generators that produce GLR parsers that anyone would recommend having a look at? Many thanks, psj ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] GADT pattern match in non-rigid context
Dear all, The following is a (I'm afraid too large!) fragment of a program implementing a GADT-based generic zipper: ** data Zipper path where Zipper :: hole - Context (Up (left, hole, right) up) - Zipper (Up (left, hole, right) up) data Context path where ContTop :: Context (Up (Top, a, Top) Top) Cont:: Left l (h - r) - Right r h_parent - Context (Up (l_parent, h_parent, r_parent) path) - Context (Up (l, h, r) (Up (l_parent, h_parent, r_parent) path)) data Up a b data Top data Left contains expects where LeftUnit :: a - Left Top a LeftCons :: Left c (b - a) - b - Left (c - b) a data Right provides final where RightNull :: Right final final RightCons :: b - Right a final - Right (b - a) final data Erase c a = forall b. (Typeable b) = Erase (c b a) ff :: (Typeable l, Data h, Typeable r, Typeable up) = Zipper (Up (l, h, r) up) - Erase Left h ff (Zipper h c) = (gfoldl erased_left_cons erased_left_unit h) gg :: (Typeable l_down, Typeable h_down, Data h) = Erase Left h - Maybe (Left (l_down - h_down) h) gg (Erase l) = cast l move_down :: (Typeable l_down, Typeable h_down, Typeable l, Data h, Typeable r, Typeable up) = Zipper (Up (l, h, r) up) - Maybe (Zipper (Up (l_down, h_down, h) (Up (l, h, r) up))) move_down z@(Zipper h c) = case gg (ff z) of # Just (LeftCons l' h_down) - Just (Zipper h_down (Cont l' RightNull c)) Nothing - Nothing instance Typeable Top where typeOf _ = mkTyConApp (mkTyCon Top) [] instance Typeable2 Left where typeOf2 _ = mkTyConApp (mkTyCon Left) [] instance Typeable2 Up where typeOf2 _ = mkTyConApp (mkTyCon Up) [] erased_left_cons :: (Typeable b) = Erase Left (b - a) - b - Erase Left a erased_left_cons (Erase c) b = Erase (LeftCons c b) erased_left_unit :: a - Erase Left a erased_left_unit a = Erase (LeftUnit a) ** Compiling it with GHC 6.10.4 yelds the error: *** GADT pattern match in non-rigid context for `LeftCons' Solution: add a type signature In the pattern: LeftCons l' h_down[marked with # in the code] *** The suggestion is quite clear :D (in fact, I think this compiler suggestion is the result of previous interactions in this mailing list) The thing is that, in order to add a type signature to the suggested pattern, I believe I have to use the type variables in the signature of function 'move_down' (which I don't think is possible); Can anyone help me with this? I believe this code has compiled before, on previous GHC versions... Thank you very much, João -- João Paulo Fernandes Universidade do Minho www.di.uminho.pt/~jpaulo ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe