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.
-- |
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
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
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
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
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
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
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
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
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
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?
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
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
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
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
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
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
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
.
-- 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
. 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
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
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
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
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
___
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 -
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
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,
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
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
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
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
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
, 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
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
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
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
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
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
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
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
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
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 $
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
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
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
/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
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
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
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.
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.)
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
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
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
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
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
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
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,
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
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
. 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
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
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
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
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
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:
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
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
* 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
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
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
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
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
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
://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
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
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
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
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
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
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,
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
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
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
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
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
-- 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
, 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
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
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
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
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
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
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
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
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
:
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
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
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
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
, 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 - 100 of 278 matches
Mail list logo