Re: [Haskell-cafe] lazy skip list?

2010-08-19 Thread Luke Palmer
On Thu, Aug 19, 2010 at 9:57 PM, Felipe Lessa wrote: > However, I haven't thought about how operations such as 'cons' and > 'tail' would be implemented =).  OP just asked about indexing ;-). Well if all you need is indexing, then an integer trie does it, right? http://hackage.haskell.org/package

Re: [Haskell-cafe] lazy skip list?

2010-08-19 Thread Evan Laforge
> However, I haven't thought about how operations such as 'cons' and > 'tail' would be implemented =).  OP just asked about indexing ;-). Hah, serves me right I suppose. I figured the promise of some type fanciness would be catnip to some well-typed cats out there, but your implementation is even

Re: [Haskell-cafe] ANNOUNCE: Sifflet visual programming language, release 1.0!

2010-08-19 Thread Stephen Tetley
There are some instructions here for building curl with minGW http://haskell.forkio.com/Home/curl-win32 I've never needed curl myself so haven't first hand experience, but the guide is pretty recent thus one might expect it to work. ___ Haskell-Cafe mai

Re: [Haskell-cafe] ANNOUNCE: Sifflet visual programming language, release 1.0!

2010-08-19 Thread Andrew Coppin
gdwe...@iue.edu wrote: Thanks for the report! It surprises me that curl is a problem. I see on the curl web site there are multiple versions for Windows: The problem is not usually that the C library doesn't exist for Windows (they tend to be widely portable, in fact). Rather, the problem

[Haskell-cafe] Re: ANNOUNCE: enumerator, an alternative iteratee package

2010-08-19 Thread John Millikin
Just released version 0.1.1, which includes: * Michael Snoyman's improved 'consume' * (>==>) and (<==<) operators, for composing enumerators (sort of like (>=>) for monads) * ($$) operator, an alias for (==<<), which matches Oleg's operator and makes reading 'run' statements a bit easier. * catchE

Re: [Haskell-cafe] lazy skip list?

2010-08-19 Thread Ivan Lazar Miljenovic
On 20 August 2010 13:29, Felipe Lessa wrote: > Oh, an example: > > *Main> fromList [1..8] :: SkipList Z Int > Cons (Branch 1 1 None None) (Cons (Branch 3 2 (Branch 1 3 None None) > (Branch 1 4 None None)) (Cons (Branch 4 5 (Branch 3 6 (Branch 1 7 None > None) (Branch 1 8 None None)) None) Empty))

Re: [Haskell-cafe] feasability of implementing an awk interpreter.

2010-08-19 Thread Jason Dagit
On Thu, Aug 19, 2010 at 8:05 PM, Michael Litchard wrote: > I'd like the community to give me feedback on the difficulty level of > implementing an awk interpreter. What language features would be > required? Specifically I'm hoping that TH is not necessary because I'm > nowhere near that skill lev

Re: [Haskell-cafe] lazy skip list?

2010-08-19 Thread Felipe Lessa
On Fri, Aug 20, 2010 at 12:49 AM, Ivan Lazar Miljenovic wrote: > How about fromList [1..] like Evan's original email had (which I think > is going to be a problem here as well)? The only "problem" is that the Element's sizes will be forced up to the point you need, but not anymore. *Main> (fromL

Re: [Haskell-cafe] feasability of implementing an awk interpreter.

2010-08-19 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 08/19/2010 11:05 PM, Michael Litchard wrote: > I'd like the community to give me feedback on the difficulty level of > implementing an awk interpreter. What language features would be > required? Specifically I'm hoping that TH is not necessary bec

Re: [Haskell-cafe] lazy skip list?

2010-08-19 Thread Felipe Lessa
On Fri, Aug 20, 2010 at 12:57 AM, Felipe Lessa wrote: > Alas, the idea is simple.  Each 'Element' contains up to 2^(s-1) data. >  For example, with an 'Element Z a' you can't store anything.  With an > 'Element (S Z) a' you may store zero or one datum.  With an 'Element > (S (S Z)) a', you may sto

Re: [Haskell-cafe] lazy skip list?

2010-08-19 Thread Felipe Lessa
Oh, an example: *Main> fromList [1..8] :: SkipList Z Int Cons (Branch 1 1 None None) (Cons (Branch 3 2 (Branch 1 3 None None) (Branch 1 4 None None)) (Cons (Branch 4 5 (Branch 3 6 (Branch 1 7 None None) (Branch 1 8 None None)) None) Empty)) *Main> fromList [1..8] :: SkipList (S Z) Int Cons (Branch

Re: [Haskell-cafe] lazy skip list?

2010-08-19 Thread Felipe Lessa
H {-# LANGUAGE GADTs, EmptyDataDecls, KindSignatures #-} data Z :: * data S :: * -> * -- data SkipList s a where Empty :: SkipList s a Cons :: Element (S s) a -> SkipList (S s) a -> SkipList s a instance Show

[Haskell-cafe] feasability of implementing an awk interpreter.

2010-08-19 Thread Michael Litchard
I'd like the community to give me feedback on the difficulty level of implementing an awk interpreter. What language features would be required? Specifically I'm hoping that TH is not necessary because I'm nowhere near that skill level. An outline of a possible approach would be appreciated. I am

[Haskell-cafe] lazy skip list?

2010-08-19 Thread Evan Laforge
Is there a data type that's spine lazy like a list, but can be seeked (sought?) efficiently? IntMap and Sequence are spine strict so if you take the head element all the elements are forced even if their contents are not. E.g., 'Sequence.index (Sequence.fromList [0..]) 0' will diverge, but obviou

Re: [Haskell-cafe] ANNOUNCE: enumerator, an alternative iteratee package

2010-08-19 Thread Conrad Parker
On 20 August 2010 06:29, wren ng thornton wrote: > John Millikin wrote: >> >> On Wed, Aug 18, 2010 at 23:33, Jason Dagit wrote: >>> >>> The main reason I would use iteratees is for performance reasons.  To >>> help >>> me, as a potential consumer of your library, could you please provide >>> benc

Re: [Haskell-cafe] ANNOUNCE: enumerator, an alternative iteratee package

2010-08-19 Thread John Millikin
Hurr durr -- I was wondering why the left-fold numbers looked so slow, then after looking at memory profiles I realized I forgot to add strictness to the enumerator/iteratee benchmarks. Here are the corrected numbers (with benchmarks attached): enumerator 5.414 / 2.090 / 0.360

Re: [Haskell-cafe] Having a connection between kind * and kind * -> *

2010-08-19 Thread Ivan Lazar Miljenovic
Jason Dagit writes: > On Thu, Aug 19, 2010 at 6:26 AM, Ivan Lazar Miljenovic < > ivan.miljeno...@gmail.com> wrote: > >> I'm trying to update container-classes to duplicate the pre-existing >> classes defined in the Prelude (Functor, etc.) and am trying to get my >> approach on how to have functio

Re: [Haskell-cafe] ANNOUNCE: Sifflet visual programming language, release 1.0!

2010-08-19 Thread gdweber
Thanks for the report! It surprises me that curl is a problem. I see on the curl web site there are multiple versions for Windows: http://curl.haxx.se/download.html Have you tried installing any of those? If so, and it still doesn't work, could you be more specific about why not? I think th

Re: [Haskell-cafe] ANNOUNCE: enumerator, an alternative iteratee package

2010-08-19 Thread John Millikin
On Thu, Aug 19, 2010 at 14:29, wren ng thornton wrote: > I was under the impression Jason was asking about the performance of the > iteratee package vs the enumerator package. I'd certainly be interested in > seeing that. Right now I'm using attoparsec-iteratee, but if I could > implement an attop

Re: [Haskell-cafe] ANNOUNCE: enumerator, an alternative iteratee package

2010-08-19 Thread wren ng thornton
John Millikin wrote: If you can recall the reasoning behind using ListLike or StreamChunk, it would be useful. Their advantages over simply using lists is not obvious to me. Well, one benefit is for efficient use of ByteStrings. Because the StreamChunk/ListLike class allows for non-parametric

Re: [Haskell-cafe] ANNOUNCE: enumerator, an alternative iteratee package

2010-08-19 Thread wren ng thornton
John Millikin wrote: On Wed, Aug 18, 2010 at 23:33, Jason Dagit wrote: The main reason I would use iteratees is for performance reasons. To help me, as a potential consumer of your library, could you please provide benchmarks for comparing the performance of enumerator with say, a) iteratee, b

Re: [Haskell-cafe] A cabal odyssey

2010-08-19 Thread Daniel Fischer
On Thursday 19 August 2010 22:15:59, Andrew Coppin wrote: > > It's something I've always _wanted_ Cabal to do, but this is the first > time I've ever seen it happen. I don't know what particularly I did to > make this happen, and now it seems to be gone, so... > Hm, I just renamed my ~/.cabal/shar

Re: [Haskell-cafe] Code that writes code

2010-08-19 Thread John Millikin
My preferred approach is to check the generation script into source control, and add it to Cabal's extra-source-files section. If the generated file is a standard .hs module, Cabal should add it to the sdist automatically. You might want to add a note to the README documenting how to regenerate th

Re: [Haskell-cafe] A cabal odyssey

2010-08-19 Thread wren ng thornton
Andrew Coppin wrote: I guess I just figured that since Cabal is used by hundreds of millions of people every single day, any little glitches I might have come across have already been seen by at least 1,000 people before me (and hence, the developers already know about it and just haven't had t

[Haskell-cafe] Code that writes code

2010-08-19 Thread Andrew Coppin
I'm working on a small Haskell package. One module in particular contains so much boilerplate that rather than write the code myself, I wrote a small Haskell program that autogenerates it for me. What's the best way to package this for Cabal? Just stick the generated file in there? Or is there

Re: [Haskell-cafe] A cabal odyssey

2010-08-19 Thread Andrew Coppin
Duncan Coutts wrote: On 18 August 2010 18:13, Andrew Coppin wrote: Then again, all the links were broken anyway. They all had paths like "C:\Program Files\Haskell\...whatever", and Mozilla apparently expects them to say "file://C:/Program Files/Haskell/...whatever". It kept whining that "th

Re: [Haskell-cafe] ANNOUNCE: Sifflet visual programming language, release 1.0!

2010-08-19 Thread Andrew Coppin
gdwe...@iue.edu wrote: I hope it does work on Windows! I don't know of any reason why not, but I haven't tested it on Windows. Please let me know if there's any problem on that platform. Unfortunately, yes: Indirectly it requires the "curl" package. Since that's a binding to a C library,

Re: [Haskell-cafe] A cabal odyssey

2010-08-19 Thread Andrew Coppin
Ivan Lazar Miljenovic wrote: On 19 August 2010 03:13, Andrew Coppin wrote: Ben Millwood wrote: I think it's not completely a stupid idea to have profiling default off. I personally do not really enjoy the fact that I compile everything three times nowadays :) Fair enough. Howe

Re: [Haskell-cafe] A cabal odyssey

2010-08-19 Thread Andrew Coppin
Daniel Fischer wrote: On Wednesday 18 August 2010 19:13:48, Andrew Coppin wrote: On that note, I just remembered something else: During the course of playing with all this Cabal stuff, I discovered that I had somehow acquired a global package index. As in, an HTML file that links to the docum

Re: [Haskell-cafe] Re: Sifflet dependencies

2010-08-19 Thread gdweber
Short answer: I had reasons for constraining gtk, etc., to be == 0.11.0. I will check whether the suggested changes work, and if they do, include them in the next release of sifflet and sifflet-lib. Longer answer (quoting parts of 3 different messages): From: Don Stewart > So that's pretty simp

Re: [Haskell-cafe] Having a connection between kind * and kind * -> *

2010-08-19 Thread Jason Dagit
On Thu, Aug 19, 2010 at 6:26 AM, Ivan Lazar Miljenovic < ivan.miljeno...@gmail.com> wrote: > I'm trying to update container-classes to duplicate the pre-existing > classes defined in the Prelude (Functor, etc.) and am trying to get my > approach on how to have functions/classes that work on types

[Haskell-cafe] Re: Specific to General to Specific

2010-08-19 Thread ezyang
Hey Oleg, Thanks for the response! Excerpts from oleg's message of Thu Aug 19 03:51:05 -0400 2010: > Granted, we would have to write boilerplate as we have to re-direct > specialized methods to the general ones. Interesting. As far as I can tell, this means that any general method that I want t

Re: [Haskell-cafe] Maintainer wanted for pappy

2010-08-19 Thread Jason Dagit
On Wed, Aug 18, 2010 at 1:58 AM, Christopher Done wrote: > On 18 August 2010 01:30, John Meacham wrote: > > On Tue, Aug 17, 2010 at 10:38:53PM +0200, Christopher Done wrote: > >> 2. Not really interested in maintaining, but in a good state and > >> probably worth maintaining: > >> pappy (Bryan Fo

Re: [Haskell-cafe] ANNOUNCE: enumerator, an alternative iteratee package

2010-08-19 Thread John Millikin
On Wed, Aug 18, 2010 at 23:33, Jason Dagit wrote: > The main reason I would use iteratees is for performance reasons.  To help > me, as a potential consumer of your library, could you please provide > benchmarks for comparing the performance of enumerator with say, a) > iteratee, b) lazy/strict by

Re: [Haskell-cafe] ANNOUNCE: enumerator, an alternative iteratee package

2010-08-19 Thread John Millikin
Ah, I missed that sentence. You're correct, a version of consume based on CPS would probably perform better than Oleg's implementation. I'll cut a new release later today, or tomorrow, which will include your implementation. On Wed, Aug 18, 2010 at 22:48, Michael Snoyman wrote: > I'd mentioned i

Re: [Haskell-cafe] Having a connection between kind * and kind * -> *

2010-08-19 Thread Ivan Lazar Miljenovic
Neil Brown writes: > On 19/08/10 14:26, Ivan Lazar Miljenovic wrote: >> , >> | -- | Indicates what kind of value may be stored within a type. Once >> | -- superclass constraints are available, the @v@ parameter will >> | -- become an associated type. >> | class Stores c v | c -> v >> |

Re: [Haskell-cafe] Having a connection between kind * and kind * -> *

2010-08-19 Thread Neil Brown
On 19/08/10 14:26, Ivan Lazar Miljenovic wrote: , | -- | Indicates what kind of value may be stored within a type. Once | -- superclass constraints are available, the @v@ parameter will | -- become an associated type. | class Stores c v | c -> v | | data family Constraints :: (* -> *)

Re: [Haskell-cafe] Having a connection between kind * and kind * -> *

2010-08-19 Thread Ivan Lazar Miljenovic
Miguel Mitrofanov writes: > Ivan Lazar Miljenovic wrote: >> I'm trying to update container-classes to duplicate the pre-existing >> classes defined in the Prelude (Functor, etc.) and am trying to get my >> approach on how to have functions/classes that work on types of kind * >> (e.g. Bytestring)

Re: [Haskell-cafe] ANNOUNCE: enumerator, an alternative iteratee package

2010-08-19 Thread John Lato
Congratulations on this release. I notice that enumerator doesn't use any extensions, and thus should be easier to use with jhc and other Haskell compilers. This is something I would have liked to support with iteratee, but couldn't due to conflicting design goals. I'd also like to point out tha

Re: [Haskell-cafe] Having a connection between kind * and kind * -> *

2010-08-19 Thread Miguel Mitrofanov
Ivan Lazar Miljenovic wrote: I'm trying to update container-classes to duplicate the pre-existing classes defined in the Prelude (Functor, etc.) and am trying to get my approach on how to have functions/classes that work on types of kind * (e.g. Bytestring) as well as kind * -> * (e.g. lists),

[Haskell-cafe] Having a connection between kind * and kind * -> *

2010-08-19 Thread Ivan Lazar Miljenovic
I'm trying to update container-classes to duplicate the pre-existing classes defined in the Prelude (Functor, etc.) and am trying to get my approach on how to have functions/classes that work on types of kind * (e.g. Bytestring) as well as kind * -> * (e.g. lists), as my previous approach didn't wo

Re: [Haskell-cafe] Academic Haskell Course

2010-08-19 Thread David Waern
2010/8/19 Eyal Lotem : > Can anyone point me towards existing work I could use? Open course > material and syllabuses I could use, with the necessary references? At Chalmers University of Technology: http://www.cse.chalmers.se/edu/course/afp/ David _

Re: [Haskell-cafe] Re: cabal, haddock, hscolour

2010-08-19 Thread Henning Thielemann
Ivan Lazar Miljenovic schrieb: > Johannes Waldmann writes: > >> Duncan Coutts googlemail.com> writes: >> >>> Your .cabal file probably does not list the "other-modules" as it >>> should, so Cabal does not know that the other modules exist. >> Ah. >> >> Strange though that it seems to be able to

Re: [Haskell-cafe] Academic Haskell Course

2010-08-19 Thread Sean Leather
> Can anyone point me towards existing work I could use? Open course > material and syllabuses I could use, with the necessary references? > At Utrecht University: - http://www.cs.uu.nl/wiki/FP - for first-year bachelors - http://www.cs.uu.nl/wiki/Afp - for first-year masters - http://ww

[Haskell-cafe] Re: ANNOUNCE: darcs 2.5 beta 3

2010-08-19 Thread Benjamin Franksen
This beta has a bug. This is what just happened to me: frank...@aragon:~/ctl/MLS-Controls/clean ___ 13:27:51 > darcs push Pushing to "/srv/csr/repositories/controls/darcs/epics/ioc/MLS- Controls/base-3-14"... Tue Aug 17 15:20:42 CEST 2010 benjamin.frank...@bessy.

Re: [Haskell-cafe] ANNOUNCE: enumerator, an alternative iteratee package

2010-08-19 Thread Magnus Therning
Very nice. It looks a lot like the iteratee replacement I've been working on for an as-of-yet unreleased project of mine. The main differences: - my chunks only have a single ByteString, not a list of them (I was experimenting with a list at a point where I thought it'd be useful to be able to

[Haskell-cafe] Re: gtk2hs with old gtk2

2010-08-19 Thread Johannes Waldmann
I finally got gtk2hs (and leksah) working: I was compiling all the gtk+ stuff from sources, with ./configure --prefix=/opt/gtk and custom CPPFLAGS LDFLAGS PKG_CONFIG_PATH LD_LIBRARY_PATH as described here: http://library.gnome.org/devel/gtk/unstable/gtk-building.html

[Haskell-cafe] Academic Haskell Course

2010-08-19 Thread Eyal Lotem
I was invited to give a course on Haskell (More in the lines of "Advanced FP in Haskell") for graduate students who already know a bit of ML, in an academic institution. I could lay out my own syllabus and course, but finding academic sources for all of the ideas is difficult - and I am probably d

[Haskell-cafe] Re: Specific to General to Specific

2010-08-19 Thread oleg
Given a widely parameterized type class > class Monad (m g n) => GenericNetworkMonad g m n where > ret :: a -> m g n a > ret = return the question seems to be about defining a specialized alias of it, instantiating the parameters g m n in some way. The hope is that the alias has fewer p