[Haskell-cafe] Cofunctor as a name

2007-09-08 Thread Conal Elliott
I've heard contravariant functors referred to as cofunctors, and I've also heard objections to that term. As I'm preparing to release some libraries using contravariant functors, I'd appreciate hearing preferences and/or reasons. For instance, another name would be Contrafunctor. -- |

Re: [Haskell-cafe] WinAmp plugin?

2007-10-12 Thread Conal Elliott
sounds like great fun to me. i'll contribute some functional graphics expertise. dons others have learned how to get good performance out of elegant code. does anyone have WinAmp plugin know-how? - Conal On 10/12/07, Andrew Coppin [EMAIL PROTECTED] wrote: Does anybody here know WinAmp? [I

Re: [Haskell-cafe] Re: On the verge of ... giving up!

2007-10-14 Thread Conal Elliott
More neatly, we can fully separate IO from computation: h n = interact $ show . sum . map read . take n . reverse . lines Better yet go a small step further and make *composable* combinations of IO pure computation, as in TV (http://haskell.org/haskellwiki/TV). Cheers, - Conal On

Re: [Haskell-cafe] Why doesn't Hackage link to Haddock documentation anymore?

2007-10-19 Thread Conal Elliott
Will hackage docs use haddock 2.0 any time soon, for libraries that use language extensions not supported by the older haddock? On 10/19/07, Ross Paterson [EMAIL PROTECTED] wrote: On Fri, Oct 19, 2007 at 11:31:06AM +0200, Johan Tibell wrote: Maybe I'm seeing things but from what I remember

Re: [Haskell-cafe] Why doesn't Hackage link to Haddock documentation anymore?

2007-10-20 Thread Conal Elliott
good news indeed! On 10/20/07, Duncan Coutts [EMAIL PROTECTED] wrote: On Fri, 2007-10-19 at 09:41 -0700, Conal Elliott wrote: Will hackage docs use haddock 2.0 any time soon, for libraries that use language extensions not supported by the older haddock? David Waern told me today that he's

Re: [Haskell-cafe] Tetris

2007-11-20 Thread Conal Elliott
Moreover, functional programming makes it easy to have much more state than imperative programming, namely state over *continuous* time. The temporally discrete time imposed by the imperative model is pretty puny in comparison. Continuous (or resolution-independent) time has the same advantages

Re: [Haskell-cafe] Tetris

2007-11-21 Thread Conal Elliott
I've just started using OpenGL with wxHaskell, which is my favorite of the Haskell GUI toolkits. (I like elegant interfaces.) So far, so good. If anyone else is using that combination, I'd love to hear about it. On Nov 21, 2007 8:04 AM, Peter Verswyvelen [EMAIL PROTECTED] wrote: Well in

Re: [Haskell-cafe] wxHaskell [was Tetris]

2007-11-21 Thread Conal Elliott
PROTECTED] wrote: Radosław Grzanka wrote: 2007/11/21, Conal Elliott [EMAIL PROTECTED]: I've just started using OpenGL with wxHaskell, which is my favorite of the Haskell GUI toolkits. (I like elegant interfaces.) So far, so good. If anyone else is using that combination, I'd love

Re: [Haskell-cafe] Tetris

2007-11-21 Thread Conal Elliott
On Nov 21, 2007 3:49 AM, Laurent Deniau [EMAIL PROTECTED] wrote: Peter Verswyvelen wrote: Conal Elliott wrote: Moreover, functional programming makes it easy to have much more state than imperative programming, namely state over *continuous* time. The temporally discrete time imposed

Re: [Haskell-cafe] emacs haskellers: r-stripping files becomes popular

2007-11-24 Thread Conal Elliott
why care about trailing whitespace? On Nov 16, 2007 8:14 AM, Valery V. Vorotyntsev [EMAIL PROTECTED] wrote: Add the following lines to your ~/.emacs: --- BEGIN OF ELISP CODE --- ;(global-set-key (kbd f9 s) 'delete-trailing-whitespace) (defun delete-trailing-whitespace-if-confirmed

Re: [Haskell-cafe] Looking for smallest power of 2 = Integer

2007-12-04 Thread Conal Elliott
Whatever the answer is, I expect it's relevant to Data.IntSet, which uses big-endian patricia trees. - Conal On Dec 3, 2007 8:36 PM, Dan Piponi [EMAIL PROTECTED] wrote: Is there anything in any of the interfaces to Integer that will allow me to quickly find the highest bit set in an Integer?

Re: [Haskell-cafe] Re: [Haskell] IVar

2007-12-04 Thread Conal Elliott
main = do --irrelevant x - newIVar let y = last [1..] print test --was irrelevant writeIVar x 3 print y Exactly. The termination concern doesn't seem to have to do with readIVar. On Dec 4, 2007 11:56 AM, Isaac Dupree [EMAIL PROTECTED] wrote: A pure readIVar would be

Re: [Haskell-cafe] IO is a bad example for Monads [was: do]

2007-12-09 Thread Conal Elliott
IO is important because you can't write any real program without using it. Ouch! I get awfully discouraged when I read statements like this one. The more people who believe it, the more true it becomes. If you want to do functional programming, instead of imperative programming in a

[Haskell-cafe] Re: [Haskell] IVars

2007-12-09 Thread Conal Elliott
type. (Schrödinger's Law.) - marc Am Freitag, 7. Dezember 2007 schrieb Paul Johnson: Conal Elliott wrote: Oh. Simple enough. Thanks. Another question: why the IO in readIVar :: IVar a - IO a, instead of just readIVar :: IVar a - a? After all, won't readIVar iv yield

[Haskell-cafe] Do real programs need IO? (was IO is a bad example for Monads)

2007-12-09 Thread Conal Elliott
programming. Cheers, - Conal Am Sonntag, 9. Dezember 2007 18:31 schrieb Conal Elliott: IO is important because you can't write any real program without using it. Ouch! I get awfully discouraged when I read statements like this one. The more people who believe it, the more true

Re: [Haskell-cafe] Re: [Haskell] IVars

2007-12-09 Thread Conal Elliott
Thanks, Luke. I'd been unconsciously assuming that the IVar would get written to (if ever) by a thread other than the one doing the reading. (Even then, there could be a deadlock.) - Conal On Dec 9, 2007 9:37 AM, Luke Palmer [EMAIL PROTECTED] wrote: On Dec 9, 2007 5:09 PM, Conal Elliott

Re: [Haskell-cafe] Do real programs need IO? (was IO is a bad example for Monads)

2007-12-09 Thread Conal Elliott
now is the ugly IO monad. -- Lennart On Dec 9, 2007 7:26 PM, Conal Elliott [EMAIL PROTECTED] wrote: On Dec 9, 2007 10:07 AM, Daniel Fischer [EMAIL PROTECTED] wrote: Interactive programmes without using IO? Cool :) And how! I think you misunderstood Lennart. Thanks

Re: [Haskell-cafe] Do real programs need IO? (was IO is a bad example for Monads)

2007-12-09 Thread Conal Elliott
2007 21:29 schrieb Conal Elliott: I think your real point is that some things we still haven't figured out how to express functionally. Right? That's my point, at least. Currently, AFAIK, the only way to get input and produce output is via the IO monad, so it is de facto necessary for all

Re: [Haskell-cafe] IO is a bad example for Monads [was: do]

2007-12-09 Thread Conal Elliott
. -- Lennart On Dec 9, 2007 5:31 PM, Conal Elliott [EMAIL PROTECTED] wrote: IO is important because you can't write any real program without using it. Ouch! I get awfully discouraged when I read statements like this one. The more people who believe it, the more true it becomes

Re: [Haskell-cafe] IO is a bad example for Monads [was: do]

2007-12-09 Thread Conal Elliott
. No matter how pure your program is, here and there it will be interacting with the rest of the world. -- Lennart On Dec 9, 2007 10:16 PM, Conal Elliott [EMAIL PROTECTED] wrote: Thanks. If I'm tracking, your real point is that imperative programming in Haskell is still useful enough

Re: [Haskell-cafe] Re: [Haskell] IVars

2007-12-09 Thread Conal Elliott
Thanks. I don't know for what uses of IVars the difference in expressiveness is helpful, but now I get that the difference is there. Cheers, - Conal On Dec 9, 2007 2:08 PM, Benja Fallenstein [EMAIL PROTECTED] wrote: Hi Conal, On Dec 9, 2007 6:09 PM, Conal Elliott [EMAIL PROTECTED] wrote

Re: [Haskell-cafe] IO is a bad example for Monads

2007-12-11 Thread Conal Elliott
This is at odds with the notion, popular on this list and other haskell forums, that pure functional programming is the future. Perhaps a nit-pick, but I don't think we're talking about *pure* functional programming. I think we're talking about a mixture of functional and imperative programming

Re: [Haskell-cafe] IO is a bad example for Monads

2007-12-11 Thread Conal Elliott
I'm not sure there are many of us left pursuing that vision. P.S. I'd love to learn otherwise. On Dec 11, 2007 10:02 AM, Conal Elliott [EMAIL PROTECTED] wrote: This is at odds with the notion, popular on this list and other haskell forums, that pure functional programming is the future

Re: [Haskell-cafe] IO is a bad example for Monads

2007-12-11 Thread Conal Elliott
It may be helpful to distinguish teaching/preaching (a) programming in Haskell from (b) *functional* programming (in Haskell or otherwise). Each focus is present in the conversation. Perhaps IO helps the former and hinders the latter.- Conal ___

Re: [Haskell-cafe] Software Tools in Haskell

2007-12-12 Thread Conal Elliott
Here's a version with cleaner separation between pure IO: main = interact $ show . length . words - Conal On Dec 12, 2007 11:12 AM, Neil Mitchell [EMAIL PROTECTED] wrote: Hi Having got to the word counting example on the website: wordcount :: IO () wordcount = do wc -

Re: [Haskell-cafe] GUI

2007-12-12 Thread Conal Elliott
I prefer the elegant high-level style of wxhaskell over the current state of gtk2hs. duncan has said he's interested in making a gtk2hs more elegant, and daan has said he'll start supporting wxhaskell again. i don't know which will happen first. - Conal On Dec 12, 2007 11:47 AM, Neil Mitchell

Re: [Haskell-cafe] Re: Software Tools in Haskell

2007-12-12 Thread Conal Elliott
Since there are many useful per-line functions, do a little refactoring, placing the following into a library: perLine :: (String - String) - (String - String) perLine f = unlines . map f . lines On Dec 12, 2007 12:43 PM, apfelmus [EMAIL PROTECTED] wrote: Tommy M McGuire wrote: (Plus,

Re: [Haskell-cafe] Comments on reading two ints off Bytestring

2007-12-24 Thread Conal Elliott
To clean up even more, use StateT B.ByteString Maybe. Then the ByteString threading will be invisible, leading to just liftM2 (,) readI readI, for suitably defined readI. On Dec 23, 2007 6:45 AM, Bryan O'Sullivan [EMAIL PROTECTED] wrote: Paulo J. Matos wrote: I guess the latter is the

Re: [Haskell-cafe] All equations must have the same arity - why?

2008-01-13 Thread Conal Elliott
That eta-expansion desugaring would lose sharing. Offhand, I don't know of a desugaring that would do the trick and preserve sharing. Any ideas? - Conal On Jan 13, 2008 3:12 PM, Neil Mitchell [EMAIL PROTECTED] wrote: Hi, It's nice to write functions in point free style: f = sort . nub

Re: [Haskell-cafe] vector stream fusion, inlining and compilation time

2010-03-09 Thread Conal Elliott
I think Jake is referring to my vector-space package. He did the work of writing 171 INLINE pragmas, covering lots of methods and standalone function defs. I'm simultaneously grateful for the effort and repelled by the added syntactic noise. Also concerned about the impact of all these

Re: [Haskell-cafe] vector stream fusion, inlining and compilation time

2010-03-10 Thread Conal Elliott
Hi Max. Thanks much for passing on this info. Very encouraging news! - Conal On Wed, Mar 10, 2010 at 8:41 AM, Max Bolingbroke batterseapo...@hotmail.com wrote: This is my understanding: Old story (GHC 6.12.1 (?) and below): 1) Function bodies are only optimised if they are not marked

Re: [Haskell-cafe] Strange error with type classes + associated types

2010-04-16 Thread Conal Elliott
Hi Brent, I'm sorry to hear that the non-injectivity issue bit you. It's bitten me also at times, leading me to choose associated data types (injective) instead of associated synonyms (potentially non-injective). And sometimes, the data types route is problematic, as the new types aren't

Re: [Haskell-cafe] Strange error with type classes + associated types

2010-04-17 Thread Conal Elliott
, Apr 17, 2010 at 3:46 AM, Roman Leshchinskiy r...@cse.unsw.edu.auwrote: On 17/04/2010, at 11:00, Conal Elliott wrote: I'm unsure now, but I think I tried making Basis a data type (not syn) and ran into the problem I mentioned above. The Basis *synonyms* also have HasTrie instances, which

Re: [Haskell-cafe] Strange error with type classes + associated types

2010-04-19 Thread Conal Elliott
distracted. On Sat, Apr 17, 2010 at 3:46 AM, Roman Leshchinskiy r...@cse.unsw.edu.au wrote: On 17/04/2010, at 11:00, Conal Elliott wrote: I'm unsure now, but I think I tried making Basis a data type (not syn) and ran into the problem I mentioned above. The Basis *synonyms* also

Re: [Haskell-cafe] Name that function =)

2006-12-12 Thread Conal Elliott
This rewrite changes the order of execution. The old version did all of the putDirs and then all of the renameFile calls. The new one interleaves putDirs renameFile calls. In general, is not commutative, though in this case you may be as happy with either order. - Conal On 12/12/06, Bryan

[Haskell-cafe] Re: [Haskell] ANNOUNCE: Phooey -- a Functional UI library for Haskell

2006-12-12 Thread Conal Elliott
internally operates like a naive imperative GUI program, of the sort I tend to write. Thanks also for the suggested example and discussion of requirements of the underlying imperative toolkit. Best regards, - Conal On 12/12/06, Brian Hulley [EMAIL PROTECTED] wrote: Brian Hulley wrote: Conal

Re: [Haskell-cafe] Re: [Haskell] ANNOUNCE: Phooey -- a Functional UI library for Haskell

2006-12-13 Thread Conal Elliott
Phooey is built on wxHaskell. Quoting from the wxHaskell home pagehttp://wxhaskell.sourceforge.net , wxHaskell is therefore built on top of wxWidgets http://www.wxwidgets.org/– a comprehensive C++ library that is portable across all major GUI platforms; including GTK, Windows, X11, and MacOS

Re: [Haskell-cafe] Seeking advice on a style question

2006-12-25 Thread Conal Elliott
I'm not sure this example really has anything to do with state. Is there anything about your domain examples that differs from standard functional programming (or math)? To my eye, your example code below looks less like an imperative program than like an intermediate form that a compiler

Re: [Haskell-cafe] Seeking advice on a style question

2006-12-26 Thread Conal Elliott
I like monadic reformulations when they remove repetitious patterns from code, such as reading/updating a single threaded state. I'm not yet seeing such a pattern in your case. As you mentioned: The shape of the state isn't constant throughout the process. At any given step, new information

Re: [Haskell-cafe] Seeking advice on a style question

2006-12-26 Thread Conal Elliott
Steve, How would this example look if you named only multiply-used expressions? I'd like to see it in a more conventional pointful style with nested expressions. I'm still wondering whether the awkwardness results from your writing style or is more inherent. Showing the real variable names may

Re: [Haskell-cafe] Seeking advice on a style question

2006-12-26 Thread Conal Elliott
All of this code, including the original, looks like compiler output to me. If we're talking about easy to understand reformulations, how about we start with some compiler input instead? On 12/26/06, Chris Kuklewicz [EMAIL PROTECTED] wrote: I know people just had a discussion about not

Re: [Haskell-cafe] Seeking advice on a style question

2006-12-29 Thread Conal Elliott
To get another perspective, let's eliminate some unnecessary naming and see what linear pipelines emerge: process item mediaKind mediaSize language = let (numberedQuestions,questionCategories) = numberQuestions pagemaster $ stripUndisplayedQuestions mediaKind $

[Haskell-cafe] mtl vs monads

2007-01-02 Thread Conal Elliott
Are the mtl and monads (monadLib) packages both in active use? Is one being phased out? - Conal ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

Re: [Haskell-cafe] Haskell and GUI

2008-01-15 Thread Conal Elliott
If you can get wxHaskell installed working, you could try Phooey and/or TV. Both are described on the Haskell wiki and available via darcs and Hackage. On Jan 14, 2008 2:09 PM, Torsten Otto [EMAIL PROTECTED] wrote: Seeing my woes with FranTk - what else is out there that people use if a

Re: [Haskell-cafe] First go at reactive programming

2008-01-18 Thread Conal Elliott
Hi Steve, Thanks for letting me know about the LANGUAGE problem. Yes, I used 6.8-friendly (6.6-unfriendly) LANGUAGE pragmas. In retrospect, probably not such a great idea, since there seem to be many folks still on 6.6. I just changed the sources (commenting out the LANGUAGE pragmas and

Re: [Haskell-cafe] First go at reactive programming

2008-01-19 Thread Conal Elliott
/Control-Monad.html Steve On Jan 19, 2008 1:31 AM, Conal Elliott [EMAIL PROTECTED] wrote: Hi Steve, Thanks for letting me know about the LANGUAGE problem. Yes, I used 6.8-friendly (6.6-unfriendly) LANGUAGE pragmas. In retrospect, probably not such a great idea, since there seem

Re: [Haskell-cafe] Draft chapters of Real World Haskell now publicly available

2008-01-24 Thread Conal Elliott
Afaik, you're right about Yampa not being event-driven. I've been working on alternatives for a while that are event-driven while still genuinely functional (non-IO). See http://haskell.org/haskellwiki/Reactive and http://haskell.org/haskellwiki/TV . I have some blog posts in the works about

Re: [Haskell-cafe] Re: Why functional programming matters

2008-01-24 Thread Conal Elliott
On Jan 24, 2008 1:45 AM, Peter Hercek [EMAIL PROTECTED] wrote: [...] On the other side there are downsides like what to do instead of reactive GUIs? GUI is a big part for a lot of applications. [...] GUIs can be expressed in a *much* more direct and modular way in functional programming

[Haskell-cafe] haddock as a markdown preprocessor

2008-02-20 Thread Conal Elliott
There was a chat today on #haskellhttp://tunes.org/%7Enef/logs/haskell/08.02.20 (15:08 to 16:10) about evolving haddock. I'd like to get comments. The goal is to get the full functionality of a general purpose, programmer-friendly markup language like markdown. One example is image embedding.

Re: [Haskell-cafe] haddock as a markdown preprocessor

2008-02-21 Thread Conal Elliott
I guess there was some confusion about the haddock-as-preprocessor idea. Here's another try: Pare the Haddock markup language down to very few markup directives, say just 'foo' and Foo.Bar. (Of course, Haddock continues to read and process type signatures and module import export specs.)

Re: [Haskell-cafe] haddock as a markdown preprocessor

2008-02-21 Thread Conal Elliott
On Thu, Feb 21, 2008 at 5:37 PM, Duncan Coutts [EMAIL PROTECTED] wrote: So the advantage of passing the rest through uninterpreted is that markdown then interprets it and we get lots of cool markup for free, the disadvantage is that we get lots more markup that I don't understand! :-) Thanks

Re: [Haskell-cafe] haddock as a markdown preprocessor

2008-02-22 Thread Conal Elliott
hadn't been thinking along those lines, and I enthusiastically agree with you. Further factor haddock into a metadata extractor and a documentation generator. Cheers, - Conal On Fri, Feb 22, 2008 at 3:25 AM, Yitzchak Gale [EMAIL PROTECTED] wrote: Conal Elliott wrote: Pare the Haddock markup

Re: [Haskell-cafe] haddock as a markdown preprocessor

2008-02-22 Thread Conal Elliott
On Fri, Feb 22, 2008 at 10:57 AM, Reinier Lamers [EMAIL PROTECTED] wrote: [...] Of course, the source code includes comments that specify what functions do, and so provide a bit of API documentation. But such comments should contain as little formatting as possible to keep them readable in a

[Haskell-cafe] deconstruction of the list/backtracking applicative functor?

2008-03-14 Thread Conal Elliott
Is there a known deconstruction of the list/backtracking applicative functor (AF)? If I decompose the list type into pieces (Maybe, product, composition), I think I can see where the ZipList AF comes from, but not the list/backtracking AF. Is there some construction simpler than lists

Re: [Haskell-cafe] Re: deconstruction of the list/backtracking applicative functor?

2008-03-24 Thread Conal Elliott
think the result is equivalent to ZipList. To clarify my cross products question, I mean fs * xs = [f x | f - fs, x - xs], as with lists. Cheers, - Conal On Mon, Mar 24, 2008 at 8:36 AM, apfelmus [EMAIL PROTECTED] wrote: (Sorry for the late reply) Conal Elliott wrote: Is there a known

[Haskell-cafe] lhs2TeX -- html?

2008-04-05 Thread Conal Elliott
Has anyone fiddled with hooking up lhs2TeX a tex-html tool like jsMath, for lovely code in a web page? - Conal ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

Re: [Haskell-cafe] deriving

2008-04-07 Thread Conal Elliott
I'm not getting it. Are you thinking that Bool itself is derived form these classes, rather than those four instances for Bool? - Conal On Mon, Apr 7, 2008 at 9:12 AM, PR Stanley [EMAIL PROTECTED] wrote: Hi data Bool = False | True deriving (Eq, Or, Show, Read) Bool is an instance of Eq,

[Haskell-cafe] install trouble with SDL on win32+cygwin

2008-04-11 Thread Conal Elliott
I'm trying to install the SDL package (on win32+cygwin), and configure isn't able to find my SDL.dll, though it's on my PATH. Any ideas? - Conal bash-3.2$ cabal install SDL 'SDL-0.5.3' is cached. [1 of 1] Compiling Main ( Setup.lhs, dist\setup/Main.o ) Linking dist\setup\setup.exe

Re: [Haskell-cafe] install trouble with SDL on win32+cygwin

2008-04-12 Thread Conal Elliott
Now I have sdl-config, but still not able to build. Does *anyone* have the SDL package running on Windows? If not, is GLFW the recommended cross-platform GL toolkit? Thanks, - Conal On Fri, Apr 11, 2008 at 8:55 PM, Luke Palmer [EMAIL PROTECTED] wrote: 2008/4/11 Conal Elliott [EMAIL

Re: [Haskell-cafe] install trouble with SDL on win32+cygwin

2008-04-13 Thread Conal Elliott
. There are instructions in the WIN32 file. http://darcs.haskell.org/~lemmih/hsSDL/hssdl/WIN32http://darcs.haskell.org/%7Elemmih/hsSDL/hssdl/WIN32 2008/4/12 Conal Elliott [EMAIL PROTECTED]: Now I have sdl-config, but still not able to build. Does *anyone* have the SDL package running on Windows

[Haskell-cafe] GC'ing file handles and other resources

2008-04-15 Thread Conal Elliott
Are Haskell folks satisfied with the practical necessity of imperatively explicitly reclaiming resources such as file handles, fonts brushes, video memory chunks, etc? Doesn't explicit freeing of these resources have the same modularity and correctness problems as explicit freeing of system

Re: [Haskell-cafe] Caching the Result of a Transaction?

2008-04-26 Thread Conal Elliott
Here's another angle on part of Jake's question: Can we implement a type 'TIVal a' (preferably without unsafePerformIO) with the following interface: newIVal :: STM (TIVal a, a - STM ()) -- or IO (...) force :: TIVal a - STM a instance Functor IVal instance Applicative

[Haskell-cafe] Re: Caching the Result of a Transaction?

2008-04-28 Thread Conal Elliott
Hi Chris, Thanks a bunch for the new angle. Question comments: * I like the simplicity of using a single TVar whose state reflects the not-computed/computed state of the IVal. * I also like the public interface of taking an STM argument (newTIVal(IO)) over returning a sink

Re: [Haskell-cafe] Re: Caching the Result of a Transaction?

2008-04-28 Thread Conal Elliott
Thanks, Ryan, for the reminder and explanation of this problem. - Conal On Mon, Apr 28, 2008 at 8:01 PM, Ryan Ingram [EMAIL PROTECTED] wrote: The problem I have with all of these STM-based solutions to this problem is that they don't actually cache until the action fully executes

Re: [Haskell-cafe] Monad for HOAS?

2008-05-14 Thread Conal Elliott
I share your perspective, Edsko. If foo and (Let foo id) are indistinguishable to clients of your module and are equal with respect to your intended semantics of Exp, then I'd say at least this one monad law holds. - Conal On Wed, May 14, 2008 at 7:59 AM, Edsko de Vries [EMAIL PROTECTED] wrote:

[Haskell-cafe] RealFloat constraint on Complex type

2008-05-20 Thread Conal Elliott
GHC's (maybe Haskell98's?) Complex type is defined with a RealFloat constraint on type type itself, rather than on some of the instances and functions: data (RealFloat a) = Complex a = !a :+ !a I think the practice of constraint in type definitions is generally discouraged, and I'm

Re: [Haskell-cafe] Data.Tree.Zipper in the standard libraries

2008-05-22 Thread Conal Elliott
Hi Krasimir, I had a long exchange with chessguy about this interface, suggesting a significant change in style, simplifying the type. (Incidentally, the change removed the State and hence mtl dependence.) The conversation is on http://tunes.org/~nef/logs/haskell/08.05.17, starting with

Re: [Haskell-cafe] Data.Tree.Zipper in the standard libraries

2008-05-22 Thread Conal Elliott
* Every definition of tp I meant of type, forgetting that my emacs abbrevs don't expand in gmail. On Thu, May 22, 2008 at 2:13 PM, Conal Elliott [EMAIL PROTECTED] wrote: Hi Krasimir, I had a long exchange with chessguy about this interface, suggesting a significant change in style

Re: [Haskell-cafe] Examples of using Haskell for mathematics

2008-05-27 Thread Conal Elliott
Along these lines, check out (and maybe quote) the July 2007 note from Doug McIlroy to the Haskell list: http://www.haskell.org/pipermail/haskell/2007-July/019632.html I've particularly been enjoying Doug's paper The Music of Streams, mentioned in that note. - Conal On Mon, May 26, 2008 at

[Haskell-cafe] history of tuples vs pairs

2008-06-25 Thread Conal Elliott
I have a foggy memory that early ML had only binary pairing, nesting for n-tuples. Can anyone confirm this memory. If so, does anyone remember the rationale for going to n-tuples? Performance, perhaps? Similarly, did the Haskell designers consider pairs as an alternative to n-ary tuples? The

Re: [Haskell-cafe] ** for nested applicative functors?

2009-10-13 Thread Conal Elliott
Hi Kim-Ee, This pattern shows up in Applicative programming with effects in showing that the composition of applicatives is applicative: (*) = liftA2 (*), and pure = pure.pure . (Really, you have to manage newtype wrappers as well. See the TypeCompose library.) - Conal On Mon, Oct 12, 2009

[Haskell-cafe] inotify-alike for mac os x?

2009-12-03 Thread Conal Elliott
I'd like to make some FRPish toys that keep files updated to have functional relationships with other files. hinotify looks like just the sort of underlying magic I could use for efficient implementation on linux. Is there any support for mac os x? Could support be either added to hinotify or

Re: [Haskell-cafe] inotify-alike for mac os x?

2009-12-04 Thread Conal Elliott
Thanks, Matt. I see libev is available via macports. - Conal On Fri, Dec 4, 2009 at 3:03 PM, Matt Morrow moonpa...@gmail.com wrote: Conal, If I were looking to do this, I'd read the relevant parts of the libev code. Matt On 12/3/09, Conal Elliott co...@conal.net wrote: I'd like

Re: [Haskell-cafe] inotify-alike for mac os x?

2009-12-04 Thread Conal Elliott
://monkeymail.org/archives/libevent-users/2007-January/000450.html. *Libevent* should compile on Linux, *BSD, Mac OS X, Solaris and Windows. On Fri, Dec 4, 2009 at 10:52 PM, Conal Elliott co...@conal.net wrote: Thanks, Matt. I see libev is available via macports. - Conal On Fri, Dec 4, 2009 at 3:03

Re: [Haskell-cafe] Linguistic hair-splitting

2010-01-29 Thread Conal Elliott
I call it an m or (more specifically) an Int m or a list of Int. For instance, a list or an Int list or a list of Int. - Conal On Wed, Jan 27, 2010 at 12:14 PM, Luke Palmer lrpal...@gmail.com wrote: On Wed, Jan 27, 2010 at 11:39 AM, Jochem Berndsen joc...@functor.nl wrote: Now, here's the

Re: [Haskell-cafe] Linguistic hair-splitting

2010-01-29 Thread Conal Elliott
I don't like this bias toward singling out Monad among all of the type classes, thereby perpetuating the misleading mystique surrounding Monad. If you're going to call [3,5,8] a monadic value, then please give equal time to other type classes by also calling [3,5,8] a functorial value

[Haskell-cafe] Re: where is the eros distribution

2010-01-29 Thread Conal Elliott
Odd. Looks like most of the packages on d.h.o evaporated. I'll push the repo to a new location. - Conal On Sat, Jan 23, 2010 at 10:38 AM, Thomas Hartman tphya...@gmail.com wrote: I was inspired by the google tech talk and would like to install and play with eros, but the

Re: [Haskell-cafe] Re: A few ideas about FRP and arbitrary access in time

2010-03-03 Thread Conal Elliott
Even if the implementation is discrete (as all digital hardware), it may be more natural to treat things such as a temperature sensor, mouse position, and perhaps even video as functions of continuous time, values that vary continuously. So behaviors are not a workaround at all, in this

RE: [Haskell-cafe] CGI module almost useless

2005-06-01 Thread Conal Elliott
I'd like to hear more about people using Arrows-minus-arr, as I ran into the same in a project I'm working on for interactive construction of GUI-wrapped functional values code. - Conal -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Jeremy Shaw

RE: [Haskell-cafe] matrix computations based on the GSL

2005-06-29 Thread Conal Elliott
On row column vectors, do you really want to think of them as {1,...,n)-R? They often represent linear maps from R^n to R or R to R^n, which are very different types. Similarly, instead of working with matrices, how about linear maps from R^n to R^m? In this view, column and row vectors,

RE: [Haskell-cafe] matrix computations based on the GSL

2005-07-07 Thread Conal Elliott
Maybe we could solve this problem in a simple and general way by working with a more abstract notion of linear maps, rather than the matrices commonly used to represent linear maps. Instead of Matrix n m, where n and m are either integers (requiring something like dependent types) or type

RE: [Haskell-cafe] matrix computations based on the GSL

2005-07-07 Thread Conal Elliott
Sorry for the delayed response, which has now led to two separate threads. See below. From: Henning Thielemann On Wed, 29 Jun 2005, Conal Elliott wrote: On row column vectors, do you really want to think of them as {1,...,n)-R? They often represent linear maps from R^n to R or R to R

Re: [Haskell-cafe] Re: philosophy of Haskell

2010-08-13 Thread Conal Elliott
There are various models. One (the state monad model) of them would desugar this to: \world0 - let (x, world1) = getLine world0 world2 = print (x+1) world1 world3 = print (x+2) world2 in world3 Hi Ertugrul, This state monad model does not really work for IO, since it

Re: [Haskell-cafe] Re: philosophy of Haskell

2010-08-13 Thread Conal Elliott
On Sat, Aug 14, 2010 at 9:27 AM, Ertugrul Soeylemez e...@ertes.de wrote: Conal Elliott co...@conal.net wrote: There are various models. One (the state monad model) of them would desugar this to: \world0 - let (x, world1) = getLine world0 world2 = print (x+1) world1

Re: [Haskell-cafe] Re: philosophy of Haskell

2010-08-15 Thread Conal Elliott
On Sat, Aug 14, 2010 at 10:11 PM, Bill Atkins watk...@alum.rpi.edu wrote: On Saturday Aug 14, 2010, at 12:50 AM, Conal Elliott wrote: And the IO monad is what Jerzy asked about. I'm pointing out that the state monad does not capture concurrency, and the EDSL model does not capture FFI

[Haskell-cafe] Fwd: Semantics of iteratees, enumerators, enumeratees?

2010-08-22 Thread Conal Elliott
-- Forwarded message -- From: Conal Elliott co...@conal.net Date: Sun, Aug 22, 2010 at 11:02 PM Subject: Re: Semantics of iteratees, enumerators, enumeratees? To: John Lato jwl...@gmail.com Hi John, I just remembered: Luke Palmer wrote an accessible helpful description of this approach

Re: [Haskell-cafe] Re: Fwd: Semantics of iteratees, enumerators, enumeratees?

2010-08-23 Thread Conal Elliott
, 2010 at 4:06 PM, Heinrich Apfelmus apfel...@quantentunnel.de wrote: Conal Elliott wrote: For anyone interested in iteratees (etc) and not yet on the iteratees mailing list. I'm asking about what iteratees *mean* (denote), independent of the various implementations. My original note (also

Re: [Haskell-cafe] Re: Fwd: Semantics of iteratees, enumerators, enumeratees?

2010-08-23 Thread Conal Elliott
be fixed? Comments? - Conal On Mon, Aug 23, 2010 at 8:13 PM, Luke Palmer lrpal...@gmail.com wrote: On Mon, Aug 23, 2010 at 1:06 AM, Heinrich Apfelmus apfel...@quantentunnel.de wrote: Conal Elliott wrote: For anyone interested in iteratees (etc) and not yet on the iteratees mailing list

Re: [Haskell-cafe] Re: Fwd: Semantics of iteratees, enumerators, enumeratees?

2010-08-24 Thread Conal Elliott
something stupid or incorrect. On Mon, Aug 23, 2010 at 9:57 PM, Conal Elliott co...@conal.net wrote: So perhaps this could be a reasonable semantics? Iteratee a = [Char] - Maybe (a, [Char]) I've been tinkering with this model as well. However, it doesn't really

Re: [Haskell-cafe] Re: Fwd: Semantics of iteratees, enumerators, enumeratees?

2010-08-24 Thread Conal Elliott
simpler. I have one idea that I think will at least maintain performance for many operations, although there will be performance hits too. If the drawbacks are in areas that aren't particularly useful, though, it may be acceptable. John From: Conal Elliott co...@conal.net Here's a way

[Haskell-cafe] Haddock comments for GADT constructors?

2010-09-10 Thread Conal Elliott
I'm updating a library (TV) and getting haddock parse errors for the doc strings attached to GADT constructors. Is there a way to haddock-document GADT constructors? I've tried both -- | ... before and -- ^ ... after. Both give parse errors. Thanks, - Conal

Re: [Haskell-cafe] Haddock comments for GADT constructors?

2010-09-10 Thread Conal Elliott
Thanks David. Glad to know. I'll kludge around the missing feature for now. I've added myself to the CC list for the ticket. Regards, - Conal On Fri, Sep 10, 2010 at 10:47 AM, David Waern david.wa...@gmail.com wrote: 2010/9/10 Conal Elliott co...@conal.net: I'm updating a library (TV

Re: [Haskell-cafe] Memoization/call-by-need

2010-09-15 Thread Conal Elliott
Hi Alex, In Haskell, data structures cache, while functions do not. Memoization is conversion of functions into data structures (and then trivially re-wrapping as functions) so as to exploit the caching property of data structures to get caching functions. - Conal On Wed, Sep 15, 2010 at

Re: [Haskell-cafe] Re: I still cannot seem to get a GUI working under Windows.

2010-10-02 Thread Conal Elliott
For another model of GUIs, see Tangible Values ( http://www.haskell.org/haskellwiki/TV), which is composable MVC. And amen to targeting GPUs. In addition to getting clunky, imperative GUI frameworks like wx gtk working robustly and easily in Haskell across platforms, I'd love to see more

Re: [Haskell-cafe] Lambda-case / lambda-if

2010-10-03 Thread Conal Elliott
I like it! Are the other sections available as well, e.g., (if False then else Cafe) Haskell -- Cafe - Conal On Sat, Oct 2, 2010 at 11:23 AM, Max Bolingbroke batterseapo...@hotmail.com wrote: Hi Cafe, I implemented the proposed Haskell' feature lambda-case/lambda-if [1] during the

Re: [Haskell-cafe] vector-space and standard API for vectors

2010-11-02 Thread Conal Elliott
: Hello everyone! It's well known that Num Co type classes are not adequate for vectors (I don't mean arrays). I have an idea how to address this problem. Conal Elliott wrote very nice set of type classes for vectors. (Definition below). I used them for some time and quite pleased

Re: [Haskell-cafe] What do you call Applicative Functor Morphism?

2010-11-05 Thread Conal Elliott
I like C morphism in general, where C is the class name, so I use Applicative morphism or applicative functor morphism (as in http://conal.net/papers/type-class-morphisms/). - Conal On Fri, Nov 5, 2010 at 8:49 PM, rocon...@theorem.ca wrote: An applicative functor morphism is a polymorphic

[Haskell-cafe] Interactive OpenGL-based graphics and ghci?

2010-11-20 Thread Conal Elliott
I'm trying to find some way to do interactive, OpenGL-based graphics in Haskell on Mac OS X. Does anyone here use GLUT or SDL on Mac OS X with ghci, or maybe an alternative library? Using ghci is very important to me, as my programs are pretty high-level and are often half-liners. I'm using gtk2hs

Re: [Haskell-cafe] the problem of design by negation

2009-05-21 Thread Conal Elliott
Hi Michael, I'm going to hazard a guess. Please let me know how accurate it is. When asked to justify his design, the lead software architect explains everything that *wouldn't* work. We couldn't have a unique key for every entry because blah blah blah. We couldn't use a garbage collector

Re: [Haskell-cafe] the problem of design by negation

2009-05-22 Thread Conal Elliott
, because creativity requires curiosity, and curiosity requires willingness not to know. - Conal On Thu, May 21, 2009 at 10:53 PM, Conal Elliott co...@conal.net wrote: Hi Michael, I'm going to hazard a guess. Please let me know how accurate it is. When asked to justify his design, the lead

  1   2   3   >