Re: [Haskell-cafe] Proposal: Australian Hackathon
Ivan Miljenovic wrote: Would other Australians be interested in having our own Hackathon (why should all those northerners have all the fun)? Agreed! I'm thinking about organising it to be in the July break between university semesters. I'm a working programmer who has no idea when the university semesters start and end. Please don't leave me out :-). * LLVM if David Terei comes I'm definitely interested in that one. I spent some time last night starting to package LLVM and its dependencies for Debian. So, at least as an initial listing, we'd need to have a listing of: 1) Who's interested 2) What dates are good As the father of a school age child, I have some rather high demands on my 4 weeks of annual leave. For me, it would be advantageous if this could be arranged to overlap a weekend or better yet a long weekend. 3) What projects people want to work on Ben's DDC compiler is another interesting project people could work on. Cheers, Erik -- -- Erik de Castro Lopo http://www.mega-nerd.com/ ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] how to listen on a specific IP using the network library
On Mar 15, 2010, at 12:09 PM, Jeremy Shaw wrote: In happstack we use a really horrible trick involving template haskell where we see if the SockAddrInet6 constructor exists at compile time and conditionally compile different versions of the code that way. But it is really ugly. Maybe a simpler code generator would be a better fit, since this task isn't really parametrized over types? I'm not familiar with cabal really -- can you drop down to bash? Can you run an arbitrary program? Or at least one in the cwd? Or at the very least, one you just built? If so, a simple bash script (or Haskell program) can emit valid Haskell to compile. It can (potentially) be as simple as concatenating your IPv6 instances/data to the end of the default IPv4 code. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Proposal: Australian Hackathon
Erik de Castro Lopo mle...@mega-nerd.com writes: I'm a working programmer who has no idea when the university semesters start and end. Please don't leave me out :-). [snip] As the father of a school age child, I have some rather high demands on my 4 weeks of annual leave. For me, it would be advantageous if this could be arranged to overlap a weekend or better yet a long weekend. At ANU, the holidays are from the 27th June to the 18th July; I have no idea about UNSW, etc. The plan was to have it on a weekend, though there seems to be a dearth of public holidays during that time period. -- Ivan Lazar Miljenovic ivan.miljeno...@gmail.com IvanMiljenovic.wordpress.com ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Code that doesn't compile - but should :)
Hi! Can anyone tell me why this code does not work? I cannot seem to figure why it is broken... {-# LANGUAGE MultiParamTypeClasses, FunctionalDependencies, FlexibleInstances, UndecidableInstances, FlexibleContexts, EmptyDataDecls, ScopedTypeVariables, TypeOperators, TypeSynonymInstances #-} data Data k = Pair Integer (() - k) data RecData = RecData (Data RecData) mk_data x = RecData(Pair x (\() - mk_data (x+1))) class Converter a f where convert :: a - f a instance Converter RecData Data where convert (RecData r) = r class Selector s a where select :: s - a f :: (Selector s (a-f a), Converter a f) = s - (a-a) f s = let method = select s in (\x - let res = method x in convert res) -- Giuseppe Maggiore Ph.D. Student (Languages and Games) Microsoft Student Partner Mobile: +393319040031 Office: +390412348444 ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Code that doesn't compile - but should :)
Giuseppe Maggiore giuseppe...@gmail.com writes: Hi! Can anyone tell me why this code does not work? I cannot seem to figure why it is broken... The error message (and how you got it) would help... {-# LANGUAGE MultiParamTypeClasses, FunctionalDependencies, FlexibleInstances, UndecidableInstances, FlexibleContexts, EmptyDataDecls, ScopedTypeVariables, TypeOperators, TypeSynonymInstances #-} You sure you have enough language extensions there? ;-) -- Ivan Lazar Miljenovic ivan.miljeno...@gmail.com IvanMiljenovic.wordpress.com ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Code that doesn't compile - but should :)
The error message (obtained by loading the file with ghci) is: GHCi, version 6.10.4: http://www.haskell.org/ghc/ :? for help Loading package ghc-prim ... linking ... done. Loading package integer ... linking ... done. Loading package base ... linking ... done. [1 of 1] Compiling Main ( C:\Users\pulcy\Desktop\Papers\Monads\Objec tiveMonad\HObject\Experiments\FunctorsProblems.hs, interpreted ) C:\Users\pulcy\Desktop\Papers\Monads\ObjectiveMonad\HObject\Experiments\Functors Problems.hs:18:15: Could not deduce (Selector s (f a - a)) from the context (Selector s (a1 - f1 a1), Converter a1 f1) arising from a use of `select' at C:\Users\pulcy\Desktop\Papers\Monads\ObjectiveMonad\HObjec t\Experiments\FunctorsProblems.hs:18:15-22 Possible fix: add (Selector s (f a - a)) to the context of the type signature for `f' or add an instance declaration for (Selector s (f a - a)) In the expression: select s In the definition of `method': method = select s In the expression: let method = select s in (\ x - let res = ... in convert res) C:\Users\pulcy\Desktop\Papers\Monads\ObjectiveMonad\HObject\Experiments\Functors Problems.hs:21:11: Couldn't match expected type `a1' against inferred type `f a' `a1' is a rigid type variable bound by the type signature for `f' at C:\Users\pulcy\Desktop\Papers\Monads\ObjectiveMonad\HObject\Expe riments\FunctorsProblems.hs:16:18 In the expression: convert res In the expression: let res = method x in convert res In the expression: (\ x - let res = method x in convert res) Failed, modules loaded: none. Prelude On Tue, Mar 16, 2010 at 2:31 AM, Ivan Lazar Miljenovic ivan.miljeno...@gmail.com wrote: Giuseppe Maggiore giuseppe...@gmail.com writes: Hi! Can anyone tell me why this code does not work? I cannot seem to figure why it is broken... The error message (and how you got it) would help... {-# LANGUAGE MultiParamTypeClasses, FunctionalDependencies, FlexibleInstances, UndecidableInstances, FlexibleContexts, EmptyDataDecls, ScopedTypeVariables, TypeOperators, TypeSynonymInstances #-} You sure you have enough language extensions there? ;-) Barely :) -- Ivan Lazar Miljenovic ivan.miljeno...@gmail.com IvanMiljenovic.wordpress.com http://ivanmiljenovic.wordpress.com/ -- Giuseppe Maggiore Ph.D. Student (Languages and Games) Microsoft Student Partner Mobile: +393319040031 Office: +390412348444 ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Code that doesn't compile - but should :)
What about this? {-# LANGUAGE MultiParamTypeClasses, FunctionalDependencies, FlexibleInstances, UndecidableInstances, FlexibleContexts, EmptyDataDecls, ScopedTypeVariables, TypeOperators, TypeSynonymInstances #-} data Data k = Pair Integer (() - k) data RecData = RecData (Data RecData) mk_data x = RecData(Pair x (\() - mk_data (x+1))) The I had to change the type of the Converter typeclass class Converter a f where convert :: f a - a -- instance Converter RecData Data where -- convert (RecData r) = r class Selector s a where select :: s - a And explicitly quantify the type variables: f :: forall f s a . (Selector s (a-f a), Converter a f) = s - (a-a) f s = let method = select s :: a - f a in (\x - let res = method x in convert res) -chris On 16 mrt 2010, at 10:36, Giuseppe Maggiore wrote: The error message (obtained by loading the file with ghci) is: GHCi, version 6.10.4: http://www.haskell.org/ghc/ :? for help Loading package ghc-prim ... linking ... done. Loading package integer ... linking ... done. Loading package base ... linking ... done. [1 of 1] Compiling Main ( C:\Users\pulcy\Desktop\Papers\Monads\Objec tiveMonad\HObject\Experiments\FunctorsProblems.hs, interpreted ) C:\Users\pulcy\Desktop\Papers\Monads\ObjectiveMonad\HObject\Experiments\Functors Problems.hs:18:15: Could not deduce (Selector s (f a - a)) from the context (Selector s (a1 - f1 a1), Converter a1 f1) arising from a use of `select' at C:\Users\pulcy\Desktop\Papers\Monads\ObjectiveMonad\HObjec t\Experiments\FunctorsProblems.hs:18:15-22 Possible fix: add (Selector s (f a - a)) to the context of the type signature for `f' or add an instance declaration for (Selector s (f a - a)) In the expression: select s In the definition of `method': method = select s In the expression: let method = select s in (\ x - let res = ... in convert res) C:\Users\pulcy\Desktop\Papers\Monads\ObjectiveMonad\HObject\Experiments\Functors Problems.hs:21:11: Couldn't match expected type `a1' against inferred type `f a' `a1' is a rigid type variable bound by the type signature for `f' at C:\Users\pulcy\Desktop\Papers\Monads\ObjectiveMonad\HObject\Expe riments\FunctorsProblems.hs:16:18 In the expression: convert res In the expression: let res = method x in convert res In the expression: (\ x - let res = method x in convert res) Failed, modules loaded: none. Prelude On Tue, Mar 16, 2010 at 2:31 AM, Ivan Lazar Miljenovic ivan.miljeno...@gmail.com wrote: Giuseppe Maggiore giuseppe...@gmail.com writes: Hi! Can anyone tell me why this code does not work? I cannot seem to figure why it is broken... The error message (and how you got it) would help... {-# LANGUAGE MultiParamTypeClasses, FunctionalDependencies, FlexibleInstances, UndecidableInstances, FlexibleContexts, EmptyDataDecls, ScopedTypeVariables, TypeOperators, TypeSynonymInstances #-} You sure you have enough language extensions there? ;-) Barely :) -- Ivan Lazar Miljenovic ivan.miljeno...@gmail.com IvanMiljenovic.wordpress.com -- Giuseppe Maggiore Ph.D. Student (Languages and Games) Microsoft Student Partner Mobile: +393319040031 Office: +390412348444 ___ 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] ANNOUNCE: feldspar-language-0.2, feldspar-compiler-0.2
We are happy to announce the new release of Feldspar and its compiler! http://feldspar.sourceforge.net/ Feldspar is an embedded domain-specific language for digital signal processing. It is developed as a joint project with Ericsson, ELTE university and Chalmers university. This is an intermediate release to make some of our ongoing work available. The most user-visible change from the previous version is that the vector types have got much simpler, leading to much simpler programs. There have also been some substantial changes under the hood: Most notably, the compiler has a completely new structure which allows defining various optimizations as plugins. The examples available are still very limited. We hope to make a new release quite soon with a reworked tutorial and many more examples. / Emil ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Code that doesn't compile - but should :)
Well, first of all thanks! Second, why the need for explicit quantification? On Tue, Mar 16, 2010 at 2:39 AM, Chris Eidhof ch...@eidhof.nl wrote: What about this? {-# LANGUAGE MultiParamTypeClasses, FunctionalDependencies, FlexibleInstances, UndecidableInstances, FlexibleContexts, EmptyDataDecls, ScopedTypeVariables, TypeOperators, TypeSynonymInstances #-} data Data k = Pair Integer (() - k) data RecData = RecData (Data RecData) mk_data x = RecData(Pair x (\() - mk_data (x+1))) The I had to change the type of the Converter typeclass class Converter a f where convert :: f a - a -- instance Converter RecData Data where -- convert (RecData r) = r class Selector s a where select :: s - a And explicitly quantify the type variables: f :: forall f s a . (Selector s (a-f a), Converter a f) = s - (a-a) f s = let method = select s :: a - f a in (\x - let res = method x in convert res) -chris On 16 mrt 2010, at 10:36, Giuseppe Maggiore wrote: The error message (obtained by loading the file with ghci) is: GHCi, version 6.10.4: http://www.haskell.org/ghc/ :? for help Loading package ghc-prim ... linking ... done. Loading package integer ... linking ... done. Loading package base ... linking ... done. [1 of 1] Compiling Main ( C:\Users\pulcy\Desktop\Papers\Monads\Objec tiveMonad\HObject\Experiments\FunctorsProblems.hs, interpreted ) C:\Users\pulcy\Desktop\Papers\Monads\ObjectiveMonad\HObject\Experiments\Functors Problems.hs:18:15: Could not deduce (Selector s (f a - a)) from the context (Selector s (a1 - f1 a1), Converter a1 f1) arising from a use of `select' at C:\Users\pulcy\Desktop\Papers\Monads\ObjectiveMonad\HObjec t\Experiments\FunctorsProblems.hs:18:15-22 Possible fix: add (Selector s (f a - a)) to the context of the type signature for `f' or add an instance declaration for (Selector s (f a - a)) In the expression: select s In the definition of `method': method = select s In the expression: let method = select s in (\ x - let res = ... in convert res) C:\Users\pulcy\Desktop\Papers\Monads\ObjectiveMonad\HObject\Experiments\Functors Problems.hs:21:11: Couldn't match expected type `a1' against inferred type `f a' `a1' is a rigid type variable bound by the type signature for `f' at C:\Users\pulcy\Desktop\Papers\Monads\ObjectiveMonad\HObject\Expe riments\FunctorsProblems.hs:16:18 In the expression: convert res In the expression: let res = method x in convert res In the expression: (\ x - let res = method x in convert res) Failed, modules loaded: none. Prelude On Tue, Mar 16, 2010 at 2:31 AM, Ivan Lazar Miljenovic ivan.miljeno...@gmail.com wrote: Giuseppe Maggiore giuseppe...@gmail.com writes: Hi! Can anyone tell me why this code does not work? I cannot seem to figure why it is broken... The error message (and how you got it) would help... {-# LANGUAGE MultiParamTypeClasses, FunctionalDependencies, FlexibleInstances, UndecidableInstances, FlexibleContexts, EmptyDataDecls, ScopedTypeVariables, TypeOperators, TypeSynonymInstances #-} You sure you have enough language extensions there? ;-) Barely :) -- Ivan Lazar Miljenovic ivan.miljeno...@gmail.com IvanMiljenovic.wordpress.com http://ivanmiljenovic.wordpress.com/ -- Giuseppe Maggiore Ph.D. Student (Languages and Games) Microsoft Student Partner Mobile: +393319040031 Office: +390412348444 ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe -- Giuseppe Maggiore Ph.D. Student (Languages and Games) Microsoft Student Partner Mobile: +393319040031 Office: +390412348444 ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Code that doesn't compile - but should :)
On 16 mrt 2010, at 10:58, Giuseppe Maggiore wrote: Well, first of all thanks! Second, why the need for explicit quantification? I'm not sure, but I think it has to do with ambiguity. I think it's similar to the problem: readShow :: (Read a, Show a) - String - String readShow = show . read We need to explicitly quantify over the type variables so that we can give an explicit type signature on the following line: let method = select s :: a - f a There might be an easier way to do this, but I'm not sure how exactly. -chris On Tue, Mar 16, 2010 at 2:39 AM, Chris Eidhof ch...@eidhof.nl wrote: What about this? {-# LANGUAGE MultiParamTypeClasses, FunctionalDependencies, FlexibleInstances, UndecidableInstances, FlexibleContexts, EmptyDataDecls, ScopedTypeVariables, TypeOperators, TypeSynonymInstances #-} data Data k = Pair Integer (() - k) data RecData = RecData (Data RecData) mk_data x = RecData(Pair x (\() - mk_data (x+1))) The I had to change the type of the Converter typeclass class Converter a f where convert :: f a - a -- instance Converter RecData Data where -- convert (RecData r) = r class Selector s a where select :: s - a And explicitly quantify the type variables: f :: forall f s a . (Selector s (a-f a), Converter a f) = s - (a-a) f s = let method = select s :: a - f a in (\x - let res = method x in convert res) -chris On 16 mrt 2010, at 10:36, Giuseppe Maggiore wrote: The error message (obtained by loading the file with ghci) is: GHCi, version 6.10.4: http://www.haskell.org/ghc/ :? for help Loading package ghc-prim ... linking ... done. Loading package integer ... linking ... done. Loading package base ... linking ... done. [1 of 1] Compiling Main ( C:\Users\pulcy\Desktop\Papers\Monads\Objec tiveMonad\HObject\Experiments\FunctorsProblems.hs, interpreted ) C:\Users\pulcy\Desktop\Papers\Monads\ObjectiveMonad\HObject\Experiments\Functors Problems.hs:18:15: Could not deduce (Selector s (f a - a)) from the context (Selector s (a1 - f1 a1), Converter a1 f1) arising from a use of `select' at C:\Users\pulcy\Desktop\Papers\Monads\ObjectiveMonad\HObjec t\Experiments\FunctorsProblems.hs:18:15-22 Possible fix: add (Selector s (f a - a)) to the context of the type signature for `f' or add an instance declaration for (Selector s (f a - a)) In the expression: select s In the definition of `method': method = select s In the expression: let method = select s in (\ x - let res = ... in convert res) C:\Users\pulcy\Desktop\Papers\Monads\ObjectiveMonad\HObject\Experiments\Functors Problems.hs:21:11: Couldn't match expected type `a1' against inferred type `f a' `a1' is a rigid type variable bound by the type signature for `f' at C:\Users\pulcy\Desktop\Papers\Monads\ObjectiveMonad\HObject\Expe riments\FunctorsProblems.hs:16:18 In the expression: convert res In the expression: let res = method x in convert res In the expression: (\ x - let res = method x in convert res) Failed, modules loaded: none. Prelude On Tue, Mar 16, 2010 at 2:31 AM, Ivan Lazar Miljenovic ivan.miljeno...@gmail.com wrote: Giuseppe Maggiore giuseppe...@gmail.com writes: Hi! Can anyone tell me why this code does not work? I cannot seem to figure why it is broken... The error message (and how you got it) would help... {-# LANGUAGE MultiParamTypeClasses, FunctionalDependencies, FlexibleInstances, UndecidableInstances, FlexibleContexts, EmptyDataDecls, ScopedTypeVariables, TypeOperators, TypeSynonymInstances #-} You sure you have enough language extensions there? ;-) Barely :) -- Ivan Lazar Miljenovic ivan.miljeno...@gmail.com IvanMiljenovic.wordpress.com -- Giuseppe Maggiore Ph.D. Student (Languages and Games) Microsoft Student Partner Mobile: +393319040031 Office: +390412348444 ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe -- Giuseppe Maggiore Ph.D. Student (Languages and Games) Microsoft Student Partner Mobile: +393319040031 Office: +390412348444 ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Proposal: Australian Hackathon
* A plotting library using Ben's newly released Gloss library (for people who can't or won't install Gtk2Hs to get Chart working; Alex Mason is interested in this) * Various graph-related project (graphviz, generic graph class, etc.; this assumes someone else apart from me cares about this stuff) * Hubris if Mark Wotton comes along * LLVM if David Terei comes I'd suggest focusing on core Haskell infrastructure, like compilers and tools, rather than individual libraries -- though it all depends on who wants to come along. I'm not interested too much in organising what we will get done until people get there. We'll spend an hour or two discussing which projects people would like to work on, and then probably split off into groups of like minded people. The projects mentioned above are just ones that Ivan and I could think of, to give others ideas of the sorts of things they could work on. If people have new projects they want to start and have input from others on design and coding, then that's fine by me. If they want to hack GHC and make it twice as fast, then they're more than encouraged to do so! Basically, we're just aiming to get a bunch of like minded people together, who want to hack on projects with some other people, possibly with the authors of the projects (for example, I might want help to work on the Accelerate library that Manuel, Gabriele and Sean have been working on, and being able to talk to them directly to find out how the code is all laid out and organised would be much much easier than trying to do the same thing over IRC for example.) So, at least as an initial listing, we'd need to have a listing of: 1) Who's interested 2) What dates are good 3) What projects people want to work on 4) Where we can host this You'll also want to consider how a proposed OzHaskell might align and/or combine with other events such as SAPLING[1] and fp-syd[2]. There is also the ICFP programming contest in a few months that many people will be interested in... The more people we can get in touch with, the better, we'd like to hear from all these groups, if for no better reason than to get the word out that such a thing might be happening... maybe, and to help gauge interest. The more people that know, the more pressure we can bring upon ourselves to get something organised. I was planning on forwarding this onto the FP-Syd list, but maybe I could ask you to do that Ben? These mailing list things are before my time, and I wouldn't have a clue what to do -_- Hosting is not a problem. If people want to come to Sydney then I'm sure we can organise a room at UNSW. We were kind of hoping that you or Manuel would say something like that ;) Not sure what more to say, other than if you're in Australia, and like Haskell, we'd really _really_ love to meet you. Cheers, -- Alex Mason Ben. [1] http://plrg.ics.mq.edu.au/projects/show/sapling [2] http://groups.google.com/group/fp-syd [3] http://www.icfpconference.org/contest.html ___ 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 poorly thought out suggestion for cabal and packages that have lots of instances
Hi Jeremy Is this really a problem practically rather than hypothetically? Data.Text and Syb-with-class - both are general, neither uses the other for their implementation, adding a dependency to one sounds like a bad idea - so making a separate 'instance' package seems most sensible. Unless you believe otherwise, Data.Text appears more 'general' than happstack-data, so Data.Text shouldn't provide happstack-data instances. Then its a choice between adding a direct dependency on Data.Text to happstack-data and defining the instance there or making a separate instance package again. A category on Hackage for 'instance' packages would seem to make sense as would a naming convention for the packages, hopefully stopping any proliferation of identical packages. Best wishes Stephen ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] ANNOUNCE: direct-plugins-1.0
Don wrote: Good work. I have very little time to maintain hs-plugins, as I'm not using it, so I'm glad you took a look at this. Thanks! I have now released version 1.1 (I know at least one person was waiting on this), which adds a loadDynamic that grovels inside .hi files to check that the value being obtained is in fact of the type Dynamic. Additional type safety is then provided by Dynamic itself. This actually goes one step beyond Dons's Plugins, which only ever planned the looks-inside-.his thing, not implemented it. -- Dan Knapp An infallible method of conciliating a tiger is to allow oneself to be devoured. (Konrad Adenauer) ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] calling hledger zurihackers
Roman C. has cleverly added hledger to the list of topics for this weekend's ZuriHac. I will be working remotely at least on sunday (PDT), and available to support where possible. You are invited to join us! Some ideas - - add Chart or google charts to the web ui - smarter add/convert commands - separate library package - plugins - a how-to for tracking project finances; a tutorial; screencasts - portability, packaging, installability - code review/design review/planning Even one commit helps! Discussions too. Hope to see you there. -Simon (sm) #ledger, #zurihac http://hledger.org http://www.haskell.org/haskellwiki/ZuriHac ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] compiling 32 bits haskell program on 64 bits linux
Hi Cafe, I was looking for a way to generate 32 bits haskell binary on a 64 bits linux. I've looked at the user guide and tried to use the -fvia-C with -optc -m32 but the generated C file doesn't compile with lots of error messages like the following: $ ghc -o hello hello.hs -fvia-C -optc -m32 In file included from /usr/lib/ghc-6.10.4/include/Stg.h:206, from /tmp/ghc15772_0/ghc15772_0.hc:3:0: /usr/lib/ghc-6.10.4/include/Regs.h:235:0: error: invalid register name for ‘R4’ I can't find any others parameters that seems to do anythings about the code generation or around the C compiler. so, does anyone knows if it's possible ? or have some documentation/link about this kind of things ? Thanks, -- Vincent ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] ANNOUNCE: tupleinstances-0.0.1
On Tue, Mar 16, 2010 at 11:15 AM, Henning Thielemann thunderb...@henning-thielemann.de wrote: newtype T3 a = T3 (a,a,a) which could well be data T3 a = T3 a a a I chose that specific representation just because at the end I want to use normal tuples. I thought this way was easier for boxing an unboxing Are these types used for vector computations or what application do you have in mind? I didn't have any specific application for the library. One day I just wanted to do an fmap with a tuple and somebody in #haskell suggested join (***) Of course this only works for binary tuples. I thought this would be a good excuse to play with template-haskell and give instances to some of the type classes I learnt about in the Typeclassopedia. I found it useful for vector computations. But aggregating with the Foldable instance is also handy. Then again, is tuple-instance still an appropriate name? There are only two hard things in Computer Science: cache invalidation and naming things - Phil Karlton I'm open to suggestions :-) Diego Echeverri ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] ANNOUNCE: tupleinstances-0.0.1
On Tue, 16 Mar 2010, Diego Echeverri wrote: There are only two hard things in Computer Science: cache invalidation and naming things - Phil Karlton I'm open to suggestions :-) It depends on the intended use. :-] Maybe something with vector? ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Re: compiling 32 bits haskell program on 64 bits linux
I think you need to install the 32bit ghc first, because you'll need all the 32bit haskell libs. At least I was able to use the 32bit ghc (version 6.8.2) on a 64 bit linux by changing the script in the bin directory from exec $GHCBIN $TOPDIROPT ${1+$@} to exec $GHCBIN -optc-m32 -opta-m32 -optl-m32 $TOPDIROPT ${1+$@} (no -fvia-C) HTH Christian Vincent Hanquez schrieb: Hi Cafe, I was looking for a way to generate 32 bits haskell binary on a 64 bits linux. I've looked at the user guide and tried to use the -fvia-C with -optc -m32 but the generated C file doesn't compile with lots of error messages like the following: $ ghc -o hello hello.hs -fvia-C -optc -m32 In file included from /usr/lib/ghc-6.10.4/include/Stg.h:206, from /tmp/ghc15772_0/ghc15772_0.hc:3:0: /usr/lib/ghc-6.10.4/include/Regs.h:235:0: error: invalid register name for ‘R4’ I can't find any others parameters that seems to do anythings about the code generation or around the C compiler. so, does anyone knows if it's possible ? or have some documentation/link about this kind of things ? Thanks, ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] th-kinds v0.0.0
On Mon, Mar 15, 2010 at 07:31:12PM -0500, Louis Wasserman wrote: I'm going to phrase this as a challenge, because I think that's likely to get the best response: I just released a package, th-kindshttp://hackage.haskell.org/package/th-kinds, which attempts to automatically infer the kind of a specified type, type constructor, type family, type class, or pretty much anything else that has a kind. This package was developed in response to a sort-of challenge from Brent Yorgey on #haskell to create this functionality. So, uh, I stayed up last night until 5 am learning unification algorithms and implementing this...heh. Ironically, after issuing this challenge I later realized that I can actually get away without it for now. =) But it's still pretty cool -- and I may actually end up wanting it later if I continue to extend my library -- and I'll try testing it out soon. -Brent ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] th-kinds v0.0.0
On Mon, Mar 15, 2010 at 5:31 PM, Louis Wasserman wasserman.lo...@gmail.com wrote: GADT types that cannot be reified by TH. Essentially, I think this is the set of GADT data types that actually couldn't be implemented without GADTs. Not sure, though. In any event, at the moment, I don't think there's any hope of handling GADTs in TH at this point, so I don't really object to this problem. Actually, with existential types and type equality constraints, GADTs are redundant. Here's a couple examples: data GEqType a b where GRefl :: EqTypeGADT a a data DEqType a b = (a ~ b) = DRefl data Expr t where Lam :: (Expr a - Expr b) - Expr (a - b) App :: Expr (a-b) - Expr a - Expr b Prim :: Show a = a - Expr a Gt :: Expr Int - Expr Int - Expr Bool data DExpr t = forall a b. (t ~ (a - b)) = DLam (DExpr a - DExpr b) | forall a. DApp (DExpr (a - t)) (DExpr a) | Show t = DPrim t | (t ~ Bool) = Gt (DExpr Int) (DExpr Int) The algorithm is pretty simple: - existentially quantify over all type variables mentioned in the GADT constructor - add a type equality constraint to match the result type - (optional) simplify -- ryan ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] th-kinds v0.0.0
Actually, with existential types and type equality constraints, GADTs are redundant. The algorithm is pretty simple: - existentially quantify over all type variables mentioned in the GADT constructor - add a type equality constraint to match the result type - (optional) simplify While true, this nevertheless doesn't let me perform unify ''MyGADTType when MyGADTType was defined with GADT syntax in the first place. GADT handling for TH is, for the moment, Somebody Else's Problem, and not something I'm going to be able to deal with without hacking on TH itself. Louis ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] HGL concurrency problems
[Cc to the HGL maintainer, I hope that is ok.] Hallo, I am trying to use HGL. My configuration is Mac OS X 10.6.2 (using X11) ghc 6.12.1 HGL 3.2.0.2 (via cabal-install) My program opens a window, draws points and lines, with a considerable amount of calculation between the lines, and then waits for a key stroke before exiting. What happens depends on whether I compile with -threaded or without. With -threaded: The programs runs ok, but after a short time stops updating the window, so that I never see when it has finished. Moving the mouse over the window can trigger updates. Without -threaded: Similar as in the other, but the program nor only stops updating the window, it also stops the calculation and sits idle. Playing with the mouse can again make it run for a short time. I attach the program in case that this might help. I did not try to extract a minimal example, but the program is short. Thanks for any help. I would also like to know if it works on other platforms/versions. Carsten module Main where {- Calculates the convex hull of a set of points in an inefficient way. O(n^3) For each `o' on stdout a red line segment should be drawn -} import qualified Graphics.HGL as HGL import System.Random import System.IO nrOfPoints = 1 -- CONFIGURE HERE data Point = Point {xc, yc :: Float} randomPoints :: Int - IO [Point] randomPoints n = sequence $ replicate n randomPoint where randomPoint = do phi - randomRIO (0, 2*pi) r0 - randomRIO (0,0.48 ** 2) let r = sqrt r0 return $ Point (r * cos phi + 0.5) (r * sin phi + 0.5) boundarySegments :: [Point] - [(Point, Point)] boundarySegments ps = filter isBoundary (pairs' ps) where pairs' l = concat [[(a,b), (b,a)] | (a,b) - pairs l] isBoundary s = all (`leftOf` s) ps leftOf :: Point - (Point, Point) - Bool q `leftOf` (p1,p2) = (xc p2-xc p1)*(yc q-yc p1) - (yc p2-yc p1)*(xc q-xc p1) = 0 pairs :: [a] - [(a,a)] pairs [] = [] pairs [x] = [] pairs (x:xs) = [(x,x') | x' - xs] ++ pairs xs main :: IO () main = do HGL.runGraphics $ do points - randomPoints nrOfPoints redPen - HGL.createPen HGL.Solid 1 (HGL.RGB 255 0 0) w - HGL.openWindowEx hull Nothing (ww,wh) HGL.Unbuffered Nothing drawInWindow w $ sequence_ $ map pt points drawInWindow w $ (HGL.selectPen redPen return ()) sequence_ $ map ((drawInWindow w) . seg) $ boundarySegments points drawInWindow w $ HGL.text (0,0) done putStr \ndone\n HGL.getKey w HGL.closeWindow w where drawInWindow w a = do putStr o hFlush stdout HGL.drawInWindow w a ww, wh :: Int ww = 400 * 2 wh = 300 * 2 wwf = fromIntegral ww whf = fromIntegral wh xf, yf :: Point - Float xf p = xc p * wwf yf p = yc p * whf x, y :: Point - Int x = round . xf y = round . yf pt :: Point - HGL.Graphic pt (Point x y) = HGL.ellipse (round (x*wwf-2),(round(y*whf-2))) (round (x*wwf+2),(round(y*whf+2))) seg :: (Point, Point) - HGL.Graphic seg (u,v) = HGL.line (x u, y u) (x v, y v) ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Second Call for Copy: Monad.Reader Issue 16
I already have one or two submissions, but a few more would be great. If you've been thinking about submitting something but weren't sure or haven't gotten around to it yet, now's the time! -- Whether you're an established academic or have only just started learning Haskell, if you have something to say, please consider writing an article for The Monad.Reader! The submission deadline for Issue 16 will be: **Friday, April 16, 2010** The Monad.Reader The Monad.Reader is a electronic magazine about all things Haskell. It is less formal than journal, but somehow more enduring than a wiki-page. There have been a wide variety of articles: exciting code fragments, intriguing puzzles, book reviews, tutorials, and even half-baked research ideas. Submission Details ~~ Get in touch with me if you intend to submit something -- the sooner you let me know what you're up to, the better. Please submit articles for the next issue to me by e-mail (byorgey at cis.upenn.edu). Articles should be written according to the guidelines available from http://themonadreader.wordpress.com/contributing/ Please submit your article in PDF, together with any source files you used. The sources will be released together with the magazine under a BSD license. If you would like to submit an article, but have trouble with LaTeX please let me know and we'll work something out. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Re: HGL concurrency problems
Am 16.03.10 19:55, schrieb Carsten Schultz: I would also like to know if it works on other platforms/versions. To answer my own question: I just tested Debian / ghc 6.8.2 / HGL 3.2.0.0-3 (with X redirected to a Mac, though) The behaviour is exactly the same. Carsten ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Re: HGL concurrency problems
Am Dienstag 16 März 2010 20:23:54 schrieb Carsten Schultz: Am 16.03.10 19:55, schrieb Carsten Schultz: I would also like to know if it works on other platforms/versions. To answer my own question: I just tested Debian / ghc 6.8.2 / HGL 3.2.0.0-3 (with X redirected to a Mac, though) The behaviour is exactly the same. Carsten Also on openSuSE 11.1 / ghc-6.12.1 / HGL-3.2.0.2. Moving the mouse triggers updates (and continued computation when compiled without -threaded), but it takes a lot of moving to get it to complete. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] How to define instance for type synonym with parameter.
Aren't ErrorT and ReaderT instances of Applicative already? (At least in 'transformers' package?) what difference between 'mtl' and 'transformers' packages ? 'mtl' goes with Haskell Platform as standard package, so what is the benefit of 'transformers' library ? Thanks, Vasyl ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] compiling 32 bits haskell program on 64 bits linux
Vincent Hanquez wrote: I was looking for a way to generate 32 bits haskell binary on a 64 bits linux. Once absolutely reliable and foolproof way of doing this is to run a 32 bit chroot within your 64 bit system and then then install the 32 bit vesion of GHC in the chroot. In Debian (and Ubuntu), the debootstrap and schroot packages are two tools that make the creation and management of chroots trivial. HTH, Erik -- -- Erik de Castro Lopo http://www.mega-nerd.com/ ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Proposal: Australian Hackathon
On 16/03/2010, at 10:45 PM, Alex Mason wrote: I'd suggest focusing on core Haskell infrastructure, like compilers and tools, rather than individual libraries -- though it all depends on who wants to come along. Basically, we're just aiming to get a bunch of like minded people together, who want to hack on projects with some other people, possibly with the authors of the projects (for example, I might want help to work on the Accelerate library that Manuel, Gabriele and Sean have been working on, and being able to talk to them directly to find out how the code is all laid out and organised would be much much easier than trying to do the same thing over IRC for example.) I meant that with these systems there's more of a chance that people have past experience with them, so you can hit the ground running, but it's only a suggestion. You'll also want to consider how a proposed OzHaskell might align and/or combine with other events such as SAPLING[1] and fp-syd[2]. There is also the ICFP programming contest in a few months that many people will be interested in... The more people we can get in touch with, the better, we'd like to hear from all these groups, if for no better reason than to get the word out that such a thing might be happening... maybe, and to help gauge interest. The more people that know, the more pressure we can bring upon ourselves to get something organised. I was planning on forwarding this onto the FP-Syd list, but maybe I could ask you to do that Ben? These mailing list things are before my time, and I wouldn't have a clue what to do -_- You seem to have worked out haskell-cafe, so it can't be that hard! Ben. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] HTTP package freezes on Windows 7
On 16/03/2010 01:05, Phil wrote: Scrap my original query - the problem isn't as black white as I thought. The below works fine - I've changed the response type from json to xml strange, but for some reason downloading json doesn't work it's fine on Linux. I'm guessing this is more likely to be a Windows issue rather than a Haskell issue - any ideas? A bit more testing - this is not a Windows issue per se. It seems to be a limitation of the HTTP library running on Windows. I've ran what I consider to be identical commands (in terms of functional use, both perform a HTTP GET on the location given) in Haskell and Python from each of their consoles on the same computer. The Python one correctly returns exactly what the Haskell one does on Linux. The Haskell on Windows just hangs. However as mentioned earlier SOME http requests do work from Haskell so I don't think it's a problem with my build of HTTP or Network libs. The simplest example is to replace 'json' with 'xml' in the below query. The best guess I can make is that XML is deemed renderable, but for some reason JSON is considered to be binary/file data? Can anyone confirm this behaviour I only have one 1 Windows PC, so I can't test on another machine. If it is a wide problem, I reckon it warrants a bug ticket on the library. Logs from console below, Phil *Haskell / GHCI:* Prelude Network.HTTP do x - (simpleHTTP $ getRequest http://maps.google.com/maps/api/geocode/json?address=Londonsensor=false;) = getResponseBody; print x Loading package bytestring-0.9.1.5 ... linking ... done. Loading package Win32-2.2.0.1 ... linking ... done. Loading package array-0.3.0.0 ... linking ... done. Loading package syb-0.1.0.2 ... linking ... done. Loading package base-3.0.3.2 ... linking ... done. Loading package mtl-1.1.0.2 ... linking ... done. Loading package parsec-2.1.0.1 ... linking ... done. Loading package network-2.2.1.7 ... linking ... done. Loading package old-locale-1.0.0.2 ... linking ... done. Loading package old-time-1.0.0.3 ... linking ... done. Loading package HTTP-4000.0.9 ... linking ... done. --- Just sits here chewing up processor time and memory. *Python:* print urllib.urlopen(http://maps.google.com/maps/api/geocode/json?address=Londonsensor=false;).read() { status: OK, results: [ { types: [ locality, political ], formatted_address: Westminster, London, UK, address_components: [ { long_name: London, short_name: London, types: [ locality, political ] }, { long_name: Westminster, short_name: Westminster, types: [ administrative_area_level_3, political ] }, { long_name: Greater London, short_name: Gt Lon, types: [ administrative_area_level_2, political ] }, { long_name: England, short_name: England, types: [ administrative_area_level_1, political ] }, { long_name: United Kingdom, short_name: GB, types: [ country, political ] } ], geometry: { location: { lat: 51.5001524, lng: -0.1262362 }, location_type: APPROXIMATE, viewport: { southwest: { lat: 51.4862583, lng: -0.1582510 }, northeast: { lat: 51.5140423, lng: -0.0942214 } }, bounds: { southwest: { lat: 51.4837180, lng: -0.1878940 }, northeast: { lat: 51.5164655, lng: -0.1099780 } } } } ] } ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Proposal: Australian Hackathon
On 16/03/2010, at 4:28 PM, Ivan Miljenovic wrote: Would other Australians be interested in having our own Hackathon (why should all those northerners have all the fun)? I'm thinking about organising it to be in the July break between university semesters. There was a previous consideration a few years back to have an OzHaskell group (http://www.haskell.org/haskellwiki/OzHaskell) but nothing seems to have eventuated out of it. In terms of projects, here are some ideas: * A plotting library using Ben's newly released Gloss library (for people who can't or won't install Gtk2Hs to get Chart working; Alex Mason is interested in this) * Various graph-related project (graphviz, generic graph class, etc.; this assumes someone else apart from me cares about this stuff) * Hubris if Mark Wotton comes along I'm keen. Would be be elated to have some help on Hubris, but happy to hack on other stuff too. Like Erik, weekends are probably better. mark ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] GLFW on OS X
Hi everyone, I am working with MacOS X 10.6.2 ghc 6.12.1 GLFW 0.4.2 OpenGL 2.4.0.1 mkbndl (freshly installed, should be 0.2.1) I have copied sample program from http://www.haskell.org/haskellwiki/GLFW#Sample_Program to a file named GLFWTest.hs. (I had to change some Floats to GLfloats.) No I do: ghc --make GLFWTest.hs mkbndl -f GLFWTest open GLFWTest.app Is that what I am supposed to do? The program window remains white, if I move another window in front of it and away again, it becomes black, but if I draw lines on it (that is the function program) they do not appear. If I move or resize the window, it gets drawn correctly, and I can see that the lines that I had drawn had in fact been registered. From this point on the program works as expected. Is this an OS X specific issue? How do I solve it? Thanks Carsten ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Proposal: Australian Hackathon
Would other Australians be interested in having our own Hackathon (why should all those northerners have all the fun)? I'm thinking about organising it to be in the July break between university semesters. There was a previous consideration a few years back to have an OzHaskell group (http://www.haskell.org/haskellwiki/OzHaskell) but nothing seems to have eventuated out of it. In terms of projects, here are some ideas: * A plotting library using Ben's newly released Gloss library (for people who can't or won't install Gtk2Hs to get Chart working; Alex Mason is interested in this) * Various graph-related project (graphviz, generic graph class, etc.; this assumes someone else apart from me cares about this stuff) * Hubris if Mark Wotton comes along I'm keen. Would be be elated to have some help on Hubris, but happy to hack on other stuff too. Like Erik, weekends are probably better. Yeah we're aiming for a weekend, possibly a Friday-Sunday meet (so that people who are free on Friday can get started early, and those who have work etc. can just be there for the weekend. If there was a nicely placed long weekend coming up, we'd aim for that, but there isn't :( Also, it might be a good time to bring some interested rubyists along, and show them what we can get done in Haskell, and show them why they might want to use Hubris. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] new Quake 3 BSP loader and viewer
Hi! I did a little experiment in last week with haskell. According this ( http://graphics.cs.brown.edu/games/quake/quake3.html) tutorial, I wrote a quake 3 bsp map loader and viewer from scratch. (It is independent from frag) The code is quiet small (~900 lines with comments) and it is based on binary and vector libraries. You can find the cabalized code here: http://code.google.com/p/lambdacube/source/browse/#svn/trunk/bsploader This was my first meet with vector library, so the code is probably not the most efficient one. Any improvement suggestions are welcome! :) Cheers Csaba PS: read the README file. navigation: arrows + mouse (holding right shift increase cam speed) ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Proposal: Australian Hackathon
On 16 March 2010 16:28, Ivan Miljenovic ivan.miljeno...@gmail.com wrote: Would other Australians be interested in having our own Hackathon (why should all those northerners have all the fun)? I'm thinking about organising it to be in the July break between university semesters. Yes, I am interested. It would have to be overlap a weekend for me due to work commitments. I'll advertise it in the Melbourne FPU when more details are available. Cheers, Bernie. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Re: Proposal: Australian Hackathon
OK, so we have a fair number of people indicating interest... so which weekend would be preferred? 26/27 June 3/4 July 10/11 July 17/18 July Or should we take this to the wiki rather than the mailing list? On 16 March 2010 16:28, Ivan Miljenovic ivan.miljeno...@gmail.com wrote: Would other Australians be interested in having our own Hackathon (why should all those northerners have all the fun)? I'm thinking about organising it to be in the July break between university semesters. There was a previous consideration a few years back to have an OzHaskell group (http://www.haskell.org/haskellwiki/OzHaskell) but nothing seems to have eventuated out of it. In terms of projects, here are some ideas: * A plotting library using Ben's newly released Gloss library (for people who can't or won't install Gtk2Hs to get Chart working; Alex Mason is interested in this) * Various graph-related project (graphviz, generic graph class, etc.; this assumes someone else apart from me cares about this stuff) * Hubris if Mark Wotton comes along * LLVM if David Terei comes So, at least as an initial listing, we'd need to have a listing of: 1) Who's interested 2) What dates are good 3) What projects people want to work on 4) Where we can host this Let's get the ball rolling! -- Ivan Lazar Miljenovic ivan.miljeno...@gmail.com IvanMiljenovic.wordpress.com -- Ivan Lazar Miljenovic ivan.miljeno...@gmail.com IvanMiljenovic.wordpress.com ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Are there any web server framework ?
Erlang has yaws (http://yaws.hyber.org/) Scala has lift (http://liftweb.net/) Python has django (http://www.djangoproject.com/) Ruby has rails (http://rubyonrails.org/) How about haskell ? Is there any similar framework, which should be steady, powerful and easy to use, in haskell ? Sincerely! - fac n = let { f = foldr (*) 1 [1..n] } in f -- View this message in context: http://old.nabble.com/Are-there-any-web-server-framework---tp27926433p27926433.html Sent from the Haskell - Haskell-Cafe mailing list archive at Nabble.com. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Are there any web server framework ?
There is a dedicated mailinglist about this topic, see below. There is a little bit more traffic the last days. If you have a look at hackage you can see that there are some frameworks. WASH is still missing. I'm going to change that though. Have a look at http://haskell.org/haskellwiki/Applications_and_libraries - Web, HTML, XML This was recently announced on the http://haskell.org/haskellwiki/Web_Projects http://haskell.org/mailman/listinfo - web-devel But there is no Joomla or Plone yet. Also I feel that database libraries don't have the level of some ORM libraries (such as Sequel (Rbuby) or SQLAlchemy (Python) ). But much work has been done already: There is/was an Apache module. There are variuous (F)CGI bindings and there is happstack: a sandalone web server. There is also a compiler backend creating translating Haskell into JS. (Don't know whether you want to use this in real world applications though). Marc Weber ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Proposal: Australian Hackathon
On 16 Mar 2010, at 18:28, Ivan Miljenovic wrote: So, at least as an initial listing, we'd need to have a listing of: 1) Who's interested I am. 2) What dates are good A weekend would be best for me. 3) What projects people want to work on Leksah. 4) Where we can host this I suppose Wellington is out of the question, so anywhere in Aus is fine with me. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] compiler management for Haskell a la RVM?
RVM (at http://rvm.beginrescueend.com) is a rather nice tool for managing multiple ruby installations - it gives support for switching between ruby environments (similar to gcc_select and friends), and also exporting lists of packages so that you can easily bring up a given set of gems in any of the interpreters. Do we have any similar system for ghc/cabal? I quite frequently find myself switching between 6.10 and 6.12 for various things, and it's always a bit painful to get your environment up to speed. Is there a golden road for this stuff, or do the compiler hackers here just munge the PATH? cheers Mark ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] compiler management for Haskell a la RVM?
I wrote it: It's called Hack-Nix and utilizies the Nix repository manager. I've added a wiki page to haskell.org some time ago. Drawbacks: Right now it doesn't make sense to include all hackage packages because resolving dependencies would never end because its written in Nix language. I can show you how it works if you're interested. Marc Weber ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Are there any web server framework ?
It's young, but Yesod: http://www.yesodweb.com/code.html Michael On Tue, Mar 16, 2010 at 5:15 PM, zaxis z_a...@163.com wrote: Erlang has yaws (http://yaws.hyber.org/) Scala has lift (http://liftweb.net/) Python has django (http://www.djangoproject.com/) Ruby has rails (http://rubyonrails.org/) How about haskell ? Is there any similar framework, which should be steady, powerful and easy to use, in haskell ? Sincerely! - fac n = let { f = foldr (*) 1 [1..n] } in f -- View this message in context: http://old.nabble.com/Are-there-any-web-server-framework---tp27926433p27926433.html Sent from the Haskell - Haskell-Cafe mailing list archive at Nabble.com. ___ 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] compiler management for Haskell a la RVM?
On Mar 16, 2010, at 20:59 , Mark Wotton wrote: Do we have any similar system for ghc/cabal? I quite frequently find myself switching between 6.10 and 6.12 for various things, and it's always a bit painful to get your environment up to speed. Is there a golden road for this stuff, or do the compiler hackers here just munge the PATH? Both the system and user package databases handle multiple compiler versions, and Cabal inherits this so should do the right thing for the most part. The GHC environment I've assembled for campus machines installs versioned commands (including adding versions to the commands that lack them), then a script uses the machine configuration db to install symlinks for the default version. This is slightly less convenient than using $PATH, and I may alter it to allow PATH munging and then use something like http://modules.sf.net/ to make it easier for users. (I have been reworking our Perl setup to allow for this, and would like to do the same for Python, Ruby, and some of the commercial packages for which we provide multiple versions.) Admittedly this still requires manually installing libraries in all available compiler versions. I'm not aware of any automated way to deal with this, but then I'm not aware of one for Perl or Python either (both of which we handle similarly to GHC). -- brandon s. allbery [solaris,freebsd,perl,pugs,haskell] allb...@kf8nh.com system administrator [openafs,heimdal,too many hats] allb...@ece.cmu.edu electrical and computer engineering, carnegie mellon universityKF8NH PGP.sig Description: This is a digitally signed message part ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] How to define instance for type synonym with parameter.
On Mar 16, 2010, at 17:03 , Vasyl Pasternak wrote: Aren't ErrorT and ReaderT instances of Applicative already? (At least in 'transformers' package?) what difference between 'mtl' and 'transformers' packages ? 'mtl' goes with Haskell Platform as standard package, so what is the benefit of 'transformers' library ? mtl is being deprecated (not just yet but soon); transformers is more general and provides the ability to support type families as well as functional dependencies (many folks believe type families are the future of Haskell, because functional dependencies are often difficult to understand). -- brandon s. allbery [solaris,freebsd,perl,pugs,haskell] allb...@kf8nh.com system administrator [openafs,heimdal,too many hats] allb...@ece.cmu.edu electrical and computer engineering, carnegie mellon universityKF8NH PGP.sig Description: This is a digitally signed message part ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] SoC Proposals?
Is there any way to propose a SoC idea right now? My account doesn't seem to have been created correctly, so I can't login to the Trac. I think it'd be interesting for a student to abstract the layout model in xmonad, separating it into an independent library. Other applications could then use this library, like Yi, for other types of tiling. I'd love to see other ideas related to Yi, too. It's a great project but on the verge of death (although the maintainer, JPB, is interested in mentoring). -- Jeff Wheeler Undergraduate, Electrical Engineering University of Illinois at Urbana-Champaign ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] SoC Proposals?
Be sure to try your user name without any capitals - that worked for me... On Tue, Mar 16, 2010 at 6:59 PM, Jeff Wheeler j...@nokrev.com wrote: Is there any way to propose a SoC idea right now? My account doesn't seem to have been created correctly, so I can't login to the Trac. I think it'd be interesting for a student to abstract the layout model in xmonad, separating it into an independent library. Other applications could then use this library, like Yi, for other types of tiling. I'd love to see other ideas related to Yi, too. It's a great project but on the verge of death (although the maintainer, JPB, is interested in mentoring). -- Jeff Wheeler Undergraduate, Electrical Engineering University of Illinois at Urbana-Champaign ___ 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] Extending Cabal's Preprocessors for GSoC?
Hi guys! Thomas Schilling suggested me to cross-post this here. Basically I'm thinking about the possibility of extending Cabal's Preprocessor mechanism for the GSoC. I've been working to provide uuagc with a Custom build mechanism for Cabal and in this process I have stumbled upon some difficulties (Dependency resolution and configurability). I believe is possible to extend the current preprocessing mechanism to provide the following: * Independence from physical representation (Currently the module is assumed to be built from a single file with the same name that the module) * Dependency checks (precompile when one of the files on which it depends changed. I had to trick cabal and duplicate functionality to do this for uuagc. There should be a better way!) * Composability (Add the ability to chain existing preprocessors) * Configurabily (Make easier to add configuration sections to the cabal file. I've been using x- sections but I guess is possible to make it look like the already-supported preprocessors). Any feedback about this? Suggestions are greatly appreciated. Diego Echeverri On Mon, Mar 15, 2010 at 10:33 AM, Thomas Schilling nomin...@googlemail.com wrote: Yes, you sent it to the right list. In fact for discussing summer of code it might not be a bad idea to cross-post to haskell-cafe to get some feedback from Cabal users. In my experience, it is most important for Summer of Code to have a clearly defined set of deliverables, i.e., have a good idea of what features you want to have working at the end of the 10 weeks. (It's actually 12 weeks, but the last 2 weeks are expected to be used for documenting stuff.) Your problem description sounds plausable, but for a GSoC project it's good to also have an idea how to solve the problem. E.g., do you plan to build a custom framework or just extend Cabal to support more kinds of preprocessors? Duncan and others have been working on a true dependency tracking system similar to Make, but I think there are too many open questions to turn that into a GSoC project just yet. It does raise the question, however, how much overlap there would be with your idea. Maybe you can find a well-defined subset? In any case, try to ask haskell-cafe for feedback and apply for both ideas. I think you can apply for up to 10 projects, so it's no problem to apply for more than one. But keep in mind that the quality of the proposals matters. On 14 March 2010 01:40, Diego Echeverri diegoe...@gmail.com wrote: Hi guys! I was wondering about the possibility to work on Cabal for the summer of code. I've been helping one of my teachers to provide (improve) a plugin for the uuagc (I haven't spent too much time on it, but here's the fork I'm working on http://github.com/diegoeche/uuagc). I have found how flexible the cabal libraries are but also some things haven't been straightforward to do (I've been using Cabal 1.6.0.3). Basically there's seems to be an assumption of a one-to-one relation of modules and the sources of the files which is not followed by the uuagc pre-processor. I can use List.ag and inside of it use an include declaration to List-Data.ag. If I modify List-Data.ag cabal won't precompile it again because it will only check dates against List.ag (cabal doesn't know that the file that generates List.hs depends not only in List.ag). I had to override the build hook, duplicate the check (this time getting all the dependencies) and delete the generated file to trick cabal to precompile again... and well... that's seems quite a nasty hack to me. This assumption also affect the possibility to make the output of the pre-processor not necessarily an .hs file (and not necessarily carrying the same name). Checking the code for the pre-processors (Distribution.Simple.PreProcess) I noticed it would be good to have the possibility to chain pre-processors. I believe both issues are pretty much connected. I also found the following proposal here: http://hackage.haskell.org/trac/summer-of-code/ticket/1581 which sound also interesting to me. (and there's already a mentor available!) Do you think this could be a good project for the summer of code? Maybe any other ideas I should explore? Did I write to the right list? (please excuse me if I didn't) Thanks! Diego Echeverri ___ cabal-devel mailing list cabal-de...@haskell.org http://www.haskell.org/mailman/listinfo/cabal-devel ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] SoC Proposals?
On Tue, Mar 16, 2010 at 9:32 PM, Thomas DuBuisson thomas.dubuis...@gmail.com wrote: Be sure to try your user name without any capitals - that worked for me... The account I created is jeffwheeler -- all lowercase, no spaces -- unfortunately, so that doesn't seem to be the problem I'm hitting. -- Jeff Wheeler Undergraduate, Electrical Engineering University of Illinois at Urbana-Champaign ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] stuck with a sample of programming in haskell
Hi, I am a beginner for haskell. I was stuck with a sample of programming in haskell. Following is my code: - import Prelude hiding (return, fail) type Parser a = (String-[(a,String)]) return :: a - Parser a return v = (\inp-[(v,inp)]) item :: Parser Char item = \inp - case inp of [] - [] (x:xs) - [(x,xs)] failure :: Parser a failure = \inp - [] parse :: Parser a-(String-[(a,String)]) parse p inp = p inp (=) :: Parser a - (a - Parser b) - Parser b p = f = (\inp - case parse p inp of [] - [] [(v,out)]-parse (f v) out) p :: Parser (Char,Char) p = do x - item item y - item return (x,y) - But it cannot be loadded by Hug, saying: Couldn't match expected type `Char' against inferred type `[(Char, String)]' Expected type: [((Char, Char), String)] Inferred type: [(([(Char, String)], [(Char, String)]), String)] In the expression: return (x, y) In the expression: do x - item item y - item return (x, y) --- I googled and tried a few days still cannot get it compiled, can someone do me a favor to point out what's wrong with it :-) ? ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] stuck with a sample of programming in haskell
Hi, You can only use do notation if you actually create an instance of Monad, which for Parser you haven't done. To continue as is, replace the first line with: import Prelude hiding (return, fail, (=)) and the p function with p = item = \x - item = \_ - item = \y - return (x, y) I've basically de-sugared the do-notation you wrote and hid the = from Prelude so that the one you declared locally is used. Michael On Tue, Mar 16, 2010 at 9:09 PM, 国平张 zhangguop...@gmail.com wrote: Hi, I am a beginner for haskell. I was stuck with a sample of programming in haskell. Following is my code: - import Prelude hiding (return, fail) type Parser a = (String-[(a,String)]) return :: a - Parser a return v = (\inp-[(v,inp)]) item :: Parser Char item = \inp - case inp of [] - [] (x:xs) - [(x,xs)] failure :: Parser a failure = \inp - [] parse :: Parser a-(String-[(a,String)]) parse p inp = p inp (=) :: Parser a - (a - Parser b) - Parser b p = f = (\inp - case parse p inp of [] - [] [(v,out)]-parse (f v) out) p :: Parser (Char,Char) p = do x - item item y - item return (x,y) - But it cannot be loadded by Hug, saying: Couldn't match expected type `Char' against inferred type `[(Char, String)]' Expected type: [((Char, Char), String)] Inferred type: [(([(Char, String)], [(Char, String)]), String)] In the expression: return (x, y) In the expression: do x - item item y - item return (x, y) --- I googled and tried a few days still cannot get it compiled, can someone do me a favor to point out what's wrong with it :-) ? ___ 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] SoC Proposals?
I cannot login too. Account is mihai.maruseac. On Wed, Mar 17, 2010 at 5:37 AM, Jeff Wheeler j...@nokrev.com wrote: On Tue, Mar 16, 2010 at 9:32 PM, Thomas DuBuisson thomas.dubuis...@gmail.com wrote: Be sure to try your user name without any capitals - that worked for me... The account I created is jeffwheeler -- all lowercase, no spaces -- unfortunately, so that doesn't seem to be the problem I'm hitting. -- Jeff Wheeler Undergraduate, Electrical Engineering University of Illinois at Urbana-Champaign ___ 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