Send Beginners mailing list submissions to beginners@haskell.org To subscribe or unsubscribe via the World Wide Web, visit http://www.haskell.org/mailman/listinfo/beginners or, via email, send a message with subject or body 'help' to beginners-requ...@haskell.org
You can reach the person managing the list at beginners-ow...@haskell.org When replying, please edit your Subject line so it is more specific than "Re: Contents of Beginners digest..." Today's Topics: 1. Reactive Banana Data Structures Sanity Check (Michael Litchard) 2. Playing and combining audio files (Tobias) 3. Re: sometimes Haskell isn't what you want (Darren Grant) 4. Re: sometimes Haskell isn't what you want (Mike Meyer) 5. Re: sometimes Haskell isn't what you want (Darren Grant) 6. Re: sometimes Haskell isn't what you want (Jay Sulzberger) 7. Re: sometimes Haskell isn't what you want (Michael Carpenter) 8. Re: Playing and combining audio files (Tom Murphy) ---------------------------------------------------------------------- Message: 1 Date: Tue, 11 Sep 2012 11:38:17 -0700 From: Michael Litchard <mich...@schmong.org> Subject: [Haskell-beginners] Reactive Banana Data Structures Sanity Check To: beginners@haskell.org Message-ID: <caezekyp4gbaboysbu0eefbmqnv_3ywh3lxnsxd9hpfd2gve...@mail.gmail.com> Content-Type: text/plain; charset=ISO-8859-1 I'm making an implementation of Grand Theft Wumpus using reactive-banana. I'm using the slot machine example to work from. For now, I'm just building a simple graph where a Player can move from Node to Node. I'm not sure I have the Data Structures right, so I wanted to run it by the community. I'm conceptualizing each Node (a Street) and the Player as a Behavior. I reason that since the Graph won't change, just the values inside a Node, I can update any Node as needed, instead of creating a new Graph whenever a value in a Node changes. It seems though, as I scale up, I'd end up with a big union of Behaviors. Does it make sense to describe each Node as a Behavior? Even though I'm starting simply, I intend to write a complete implementiation. http://nostarch.com/download/Lisp08.pdf data StreetName = Baker | Main | Atlantic | Baltic | Connecticut deriving (Enum,Bounded,Show) type Player t = Behavior t Player_ type Street t = Behavior t Street_ data Player_ = Player {location :: StreetName } deriving Show data Street_ = Street_ {sName :: StreetName ,player :: Maybe Player_ } deriving Show data GameEvent = MovePlayer Street | Look does that look okay so far? ------------------------------ Message: 2 Date: Tue, 11 Sep 2012 21:12:45 +0200 From: Tobias <tobn...@freenet.de> Subject: [Haskell-beginners] Playing and combining audio files To: beginners@haskell.org Message-ID: <504f8d2d.5040...@freenet.de> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Hello, I'm searching for a library with which I can process audio files (.wav or .mp3). All I need is functions with which I can - play audio files - concat several audio files to one audio file Can you suggest a library for this task? I looked through http://hackage.haskell.org/packages/archive/pkg-list.html#cat:sound but I didn't manage to find ways to do this respectively sample code for this. Any hints are welcome- thanks, Tobias ------------------------------ Message: 3 Date: Tue, 11 Sep 2012 13:21:11 -0700 From: Darren Grant <therealklu...@gmail.com> Subject: Re: [Haskell-beginners] sometimes Haskell isn't what you want To: Anindya Mozumdar <anindya.lugb...@gmail.com> Cc: Haskell Beginners <beginners@haskell.org> Message-ID: <ca+jd6sghtef4ypzq0cunkqyuh8_h--z63cgz-0gndx5ebp1...@mail.gmail.com> Content-Type: text/plain; charset=ISO-8859-1 Just adding another perspective: I developed the AI for a complex turn-based strategy game in C++. By the end of the process I found that I was not only continually repeating myself due to the language syntax because I needed a *lot* of specialized list manipulations, but I was also effectively composing pure functions. This made me think that it could be much more effective to develop AI in a functional language. There's no way I could do this with Haskell presently as I am still struggling to approach all problems from the FP perspective first, but I do think there is the potential. Cheers, Darren On Tue, Sep 11, 2012 at 6:34 AM, Anindya Mozumdar <anindya.lugb...@gmail.com> wrote: >> I went back to it >> for one day (yesterday) and that was enough to make me realize how >> unpleasant its inconsistencies, inconsistent documentation, awkwardnesses, >> etc. > >> Haskell is a gift and I'm not throwing it away. > > Luckily this is a small list, otherwise a flame war would have started by now. > > Personally, I learnt the basics of Haskell in the year 2000 in > college. I am re-learning it again, and it's an absolute delight. I am > not a programmer by profession - and this is the only language which > *makes* me want to learn it as I am generally interested in math and > bit of CS theory. It's also interesting to note that Haskell is being > used in finance, and maybe I will get to use it professionally one > day. > > Regards, > Anindya > > _______________________________________________ > Beginners mailing list > Beginners@haskell.org > http://www.haskell.org/mailman/listinfo/beginners ------------------------------ Message: 4 Date: Tue, 11 Sep 2012 15:53:44 -0500 From: Mike Meyer <m...@mired.org> Subject: Re: [Haskell-beginners] sometimes Haskell isn't what you want To: Darren Grant <therealklu...@gmail.com> Cc: Haskell Beginners <beginners@haskell.org> Message-ID: <CAD=7U2B9Y6tJK1DNwWQKkUn3dzKxaPjp=gut3sjgqbezm5h...@mail.gmail.com> Content-Type: text/plain; charset=ISO-8859-1 On Tue, Sep 11, 2012 at 3:21 PM, Darren Grant <therealklu...@gmail.com> wrote: > Just adding another perspective: I developed the AI for a complex > turn-based strategy game in C++. By the end of the process I found > that I was not only continually repeating myself due to the language > syntax because I needed a *lot* of specialized list manipulations, but > I was also effectively composing pure functions. > > This made me think that it could be much more effective to develop AI > in a functional language. There's no way I could do this with Haskell > presently as I am still struggling to approach all problems from the > FP perspective first, but I do think there is the potential. This reminds me of a paper on one of the early Go-playing programs - or more exactly, lessons learned from it. One of those was (paraphrased): "Don't maintain state. It's easier to recompute values from the board than correctly update the state information after a move." Every time I see a program going through grotesque gyrations to try and keep track of state I'm reminded of this. > On Tue, Sep 11, 2012 at 6:34 AM, Anindya Mozumdar > <anindya.lugb...@gmail.com> wrote: >>> I went back to it >>> for one day (yesterday) and that was enough to make me realize how >>> unpleasant its inconsistencies, inconsistent documentation, awkwardnesses, >>> etc. >> Luckily this is a small list, otherwise a flame war would have started by >> now. Yup. My experience with Python is almost the exact opposite of his. I suspect that's because 1) I work with the libraries that ship with the language unless I need something they just don't have, in part *because* the documentation is almost always pretty good, whereas you never know what you'll get going to third party libraries. And 2) realizing that the goal of the languages are different: Python is designed to make it easy to write clear, readable code using whatever style is best for the problem at hand. So whether some bit of functionality winds up being expressed in functional, OO or imperative styles will depend on which is likely to be more readable in actual use. Trying to write Python in a single fixed style is going to be as painful as trying to write functional style code in Java, or OO style code in Haskell. <mike ------------------------------ Message: 5 Date: Tue, 11 Sep 2012 15:39:57 -0700 From: Darren Grant <therealklu...@gmail.com> Subject: Re: [Haskell-beginners] sometimes Haskell isn't what you want To: Mike Meyer <m...@mired.org> Cc: Haskell Beginners <beginners@haskell.org> Message-ID: <CA+jD6Sj=CD5TJQHkT_pPm8DPs65HJFELdWhxStP+j12-gUfk=a...@mail.gmail.com> Content-Type: text/plain; charset=ISO-8859-1 On Tue, Sep 11, 2012 at 1:53 PM, Mike Meyer <m...@mired.org> wrote: > On Tue, Sep 11, 2012 at 3:21 PM, Darren Grant <therealklu...@gmail.com> wrote: >> This made me think that it could be much more effective to develop AI >> in a functional language. There's no way I could do this with Haskell >> presently as I am still struggling to approach all problems from the >> FP perspective first, but I do think there is the potential. > > This reminds me of a paper on one of the early Go-playing programs - > or more exactly, lessons learned from it. One of those was > (paraphrased): "Don't maintain state. It's easier to recompute values > from the board than correctly update the state information after a > move." Every time I see a program going through grotesque gyrations to > try and keep track of state I'm reminded of this. Yea, and when the rules for the game change frequently, it is vital to maintain composition. Cheers, Darren ------------------------------ Message: 6 Date: Tue, 11 Sep 2012 18:40:21 -0400 (EDT) From: Jay Sulzberger <j...@panix.com> Subject: Re: [Haskell-beginners] sometimes Haskell isn't what you want To: Haskell Beginners <beginners@haskell.org> Message-ID: <pine.neb.4.64.1209111803430.5...@panix3.panix.com> Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed On Tue, 11 Sep 2012, Darren Grant <therealklu...@gmail.com> wrote: > Just adding another perspective: I developed the AI for a complex > turn-based strategy game in C++. By the end of the process I found > that I was not only continually repeating myself due to the language > syntax because I needed a *lot* of specialized list manipulations, but > I was also effectively composing pure functions. > > This made me think that it could be much more effective to develop AI > in a functional language. There's no way I could do this with Haskell > presently as I am still struggling to approach all problems from the > FP perspective first, but I do think there is the potential. > > > Cheers, > Darren I know of no decent taxonomy of programs. For example the Linux kernel runs, at least on my machines, for the great majority of my loads, for literally years without trouble. Most of the time, my standard stack of Emacs, quack, and Aubrey Jaffer's SCM, works just fine, though occasionally the repl-Emacs connection fails to behave properly. Usually one of a small standard set of repair tricks works to restore the repl. The famous "Unix pipeline of filters" is an example of part of the stuff that Functional Programming advocates advertise. And spreadsheets are an example of another one of the advertised advantages. Now these four things, the Linux kernel, the Emacs-SCM short stack, a Unix one liner, and a spreadsheet system, are all programs. They differ in presentation and in use and in implementation. Here is a missing book (I am aware of the just attack that this is too easy.): A Taxonomy of Computer Programs which would have at least one chapter for each of the the four kinds of programs. oo--JS. > > > > On Tue, Sep 11, 2012 at 6:34 AM, Anindya Mozumdar > <anindya.lugb...@gmail.com> wrote: >>> I went back to it >>> for one day (yesterday) and that was enough to make me realize how >>> unpleasant its inconsistencies, inconsistent documentation, awkwardnesses, >>> etc. >> >>> Haskell is a gift and I'm not throwing it away. >> >> Luckily this is a small list, otherwise a flame war would have started by >> now. >> >> Personally, I learnt the basics of Haskell in the year 2000 in >> college. I am re-learning it again, and it's an absolute delight. I am >> not a programmer by profession - and this is the only language which >> *makes* me want to learn it as I am generally interested in math and >> bit of CS theory. It's also interesting to note that Haskell is being >> used in finance, and maybe I will get to use it professionally one >> day. >> >> Regards, >> Anindya >> >> _______________________________________________ >> Beginners mailing list >> Beginners@haskell.org >> http://www.haskell.org/mailman/listinfo/beginners > > _______________________________________________ > Beginners mailing list > Beginners@haskell.org > http://www.haskell.org/mailman/listinfo/beginners > > ------------------------------ Message: 7 Date: Tue, 11 Sep 2012 21:03:02 -0400 From: Michael Carpenter <mbc...@verizon.net> Subject: Re: [Haskell-beginners] sometimes Haskell isn't what you want To: beginners@haskell.org Message-ID: <504fdf46.5090...@verizon.net> Content-Type: text/plain; charset=ISO-8859-1; format=flowed On 09/11/2012 08:16 AM, Dennis Raddle wrote: > I went briefly to Python but guess what? I I U-turned right back to > Haskell. Because there is nothing like the consistent documentation > and well-thought-out libraries of Haskell. There is nothing else like > the help from #haskell or this list. ^This, right here, is one of the strongest things Haskell has going for it. I'm learning Haskell too and I love how active the community is, how helpful the documentation is, and how robust the technologies coming out of it generally are. I don't know why I haven't experienced this with another language before, but you search "haskell" in the search engine, immediately click on the Haskell Wiki, and enter a pretty website filled with everything Haskell related. The two books that you can learn Haskell from are free online, the #haskell channel chats long into the night long after all my other channels have dissipated, the subreddit and stackexchange get used, and the mailing lists are very informative and helpful. Not to mention the language itself is amazingly versatile, expressive, and robust. Then there is the fact that GHC manages to compile this awesomeness into something that's actually fast AND there is GHCi in case you want it. I'm sure there are things that Haskell simply isn't made to do, but that's like criticizing duct tape because it's not a duck. On 09/11/2012 04:21 PM, Darren Grant wrote: > This made me think that it could be much more effective to develop AI > in a functional language. There's no way I could do this with Haskell > presently as I am still struggling to approach all problems from the > FP perspective first, but I do think there is the potential. There is a lot of potential here in my opinion. The two language families that have built their reputations through their use in AI research, Lisp and Prolog, share a lot in common with Haskell. AI, along with a lot of the big problems out there, seem to always boil down to parallel relationships between sets of data in a model rather than sequential object-oriented recipes. I would not be surprised if functional languages like Haskell supersede many of the imperative languages because of these problem sets. Sometimes I think I'm stupid to say that, but then I remember what SQL and RDBMS's did for the database world. - Michael ------------------------------ Message: 8 Date: Tue, 11 Sep 2012 21:17:21 -0400 From: Tom Murphy <amin...@gmail.com> Subject: Re: [Haskell-beginners] Playing and combining audio files To: Tobias <tobn...@freenet.de> Cc: beginners@haskell.org Message-ID: <CAO9Q0tUyT_aEFQeNhrwVze1V+oMFK7YBmRY_9=uuok8i9yy...@mail.gmail.com> Content-Type: text/plain; charset="iso-8859-1" Hsc3 might be more than you're looking for, but it does play audio files and it does it elegantly. Maybe not the right tool for the task, though. Tom On Sep 11, 2012 3:17 PM, "Tobias" <tobn...@freenet.de> wrote: > Hello, > > I'm searching for a library with which I can process audio files (.wav or > .mp3). All I need is functions with which I can > - play audio files > - concat several audio files to one audio file > > Can you suggest a library for this task? I looked through > http://hackage.haskell.org/**packages/archive/pkg-list.**html#cat:sound<http://hackage.haskell.org/packages/archive/pkg-list.html#cat:sound>but > I didn't manage to find ways to do this respectively sample code for > this. > > Any hints are welcome- thanks, > Tobias > > ______________________________**_________________ > Beginners mailing list > Beginners@haskell.org > http://www.haskell.org/**mailman/listinfo/beginners<http://www.haskell.org/mailman/listinfo/beginners> > -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://www.haskell.org/pipermail/beginners/attachments/20120911/c95ae244/attachment.htm> ------------------------------ _______________________________________________ Beginners mailing list Beginners@haskell.org http://www.haskell.org/mailman/listinfo/beginners End of Beginners Digest, Vol 51, Issue 17 *****************************************