On Wed, Oct 13, 2010 at 10:43 PM, Conrad Parker con...@metadecks.orgwrote:
On 14 October 2010 14:00, Michael Snoyman mich...@snoyman.com wrote:
As a side point, I'm wondering how I should let everyone know about
the new features on the site. Emailing the cafe each time would be
stupid (and
Here's the link: http://hackage.haskell.org/package/tagged-list
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe
2010/10/13 Henning Thielemann schlepp...@henning-thielemann.de:
David Virebayre schrieb:
2010/10/12 Gregory Crosswhite gcr...@phys.washington.edu:
Also, I don't see why one would prefer over the standard function
composition operator, ..
With . you have to read right-to-left to follow
On Oct 11, 2010, at 11:48 AM, Gregory Crosswhite wrote:
No, but there is no point in using a formalism that adds complexity
without adding functionality. Arrows are more awkward to use than
monads because they were intentionally designed to be less powerful
than monads in order to cover
How
are you expecting to call the functions in that container? for f in
c: try: return f(*misc_args) except: pass?
to_do = [(call, (AuntMabel,)),
(buy, ([(12*kg, sugar), (6*bushel, wheat)])),
(introduce, (Romeo, Juliet))]
for do,it in to_do:
do(*it)
As has been
On 2010 Oct 14, at 05:27, Brandon Moore wrote:
If you just want instances of questions you can keep it simple. How
about something isomorphic to
data Instance = Instance { question : String, answer : String,
check : String - Bool }
At first blush, I hated all those Strings hiding the
On 2010 Oct 14, at 05:39, Brandon Moore wrote:
On Oct 13, 2010, at 7:44 PM, Jacek Generowicz jacek.generow...@cern.ch
wrote:
On 2010 Oct 14, at 01:32, Evan Laforge wrote:
I think I'm starting too see what my problem is. I think it boils
down to
hankering for Duck Typing and variadic
Jacek Generowicz jacek.generow...@cern.ch writes:
Could you explain this a bit more? heterogeneousProcessor was extremely
boring:
its only interesting feature was the dot between datum and method() Here
it is again:
def heterogeneousProcessor(data):
return [datum.method() for datum in
Hi,
Am Donnerstag, den 14.10.2010, 09:34 +0200 schrieb Jacek Generowicz:
Another example:
Let's say I need an Int - String. Both
(fnA2 :: Banana - String) . (fnA1:: Int - Banana)
and
(fnB2 :: Onion - String) . (fnB1 :: Int - Onion)
will do. So please allow me to store
On 14 October 2010 08:34, Jacek Generowicz jacek.generow...@cern.ch wrote:
Those other data might be the functions' arguments, or they might be other
functions with which they are to be combined, or both.
You can represent these as existential packages. However, as Oleg
shows you can always use
Jacek Generowicz jacek.generow...@cern.ch writes:
Let's say I need an Int - String. Both
(fnA2 :: Banana - String) . (fnA1:: Int - Banana)
and
(fnB2 :: Onion - String) . (fnB1 :: Int - Onion)
will do. So please allow me to store (fnA1, fnA2) and (fnB1, fnB2) in
the same place.
Hi Gregory,
What can i do with the list i get from join (TaggedList (Plus m n))? I can't
use head or tail on it... Maybe something like:
shiftl :: TaggedList (Plus (SuccessorTo m) n) - TaggedList (SuccessorTo
(Plus m n))
I'm still not sure there's an actual case where it's useful... You could
On 14 October 2010 08:56, Max Bolingbroke batterseapo...@hotmail.com wrote:
But if the only operation you ever do on this pair is (.), you may as
well skolemise and just store (fnA1 . fnA2) directly. What is the
advantage of doing otherwise?
I forgot to mention that if you *really really* want
Gregory Crosswhite schrieb:
=== natural-number v1.0 ===
This package provides *value*-level natural numbers that are tagged with
a type-level natural number corresponding to their value by using GADTs,
as well as some simple operations on them. I also provide an instance
for the EqT class
On 2010 Oct 14, at 09:19, Evan Laforge wrote:
How
are you expecting to call the functions in that container? for f
in
c: try: return f(*misc_args) except: pass?
to_do = [(call, (AuntMabel,)),
(buy, ([(12*kg, sugar), (6*bushel, wheat)])),
(introduce, (Romeo, Juliet))]
On Thu, Oct 14, 2010 at 7:00 AM, Michael Snoyman mich...@snoyman.com wrote:
I would definitely like to see the option of adding your handle to
your profile. Even if it is a commercially oriented site. Otherwise I
won't be able to figure out who is who.
It's available now. Just go to extras.
On Thu, Oct 14, 2010 at 10:56 AM, Bas van Dijk v.dijk@gmail.com wrote:
On Thu, Oct 14, 2010 at 7:00 AM, Michael Snoyman mich...@snoyman.com wrote:
I would definitely like to see the option of adding your handle to
your profile. Even if it is a commercially oriented site. Otherwise I
won't
On Thu, Oct 14, 2010 at 11:00 AM, Michael Snoyman mich...@snoyman.com wrote:
On Thu, Oct 14, 2010 at 10:56 AM, Bas van Dijk v.dijk@gmail.com wrote:
On Thu, Oct 14, 2010 at 7:00 AM, Michael Snoyman mich...@snoyman.com wrote:
I would definitely like to see the option of adding your handle to
On Thu, Oct 14, 2010 at 11:05 AM, Bas van Dijk v.dijk@gmail.com wrote:
On Thu, Oct 14, 2010 at 11:00 AM, Michael Snoyman mich...@snoyman.com wrote:
On Thu, Oct 14, 2010 at 10:56 AM, Bas van Dijk v.dijk@gmail.com wrote:
On Thu, Oct 14, 2010 at 7:00 AM, Michael Snoyman mich...@snoyman.com
Michael Snoyman schrieb:
As a side point, I'm wondering how I should let everyone know about
the new features on the site. Emailing the cafe each time would be
stupid (and spam); posting to my twitter or my blog won't hit the
whole audience.
Regarding the news comments by Disqus on
On Thu, Oct 14, 2010 at 11:06 AM, Michael Snoyman mich...@snoyman.com wrote:
Great! Is there also a RSS feed?
Yes, http://www.haskellers.com/feed/news/. Is it useful to people to
put up a feedburner subscribe button?
Thanks, I now see that Firefox provides a nice Subscribe to this
page button
[Gregory: Sorry about duplicate, accidentally took it off-list.]
On 2010 Oct 14, at 09:46, Gregory Collins wrote:
Jacek Generowicz jacek.generow...@cern.ch writes:
Could you explain this a bit more? heterogeneousProcessor was
extremely boring:
its only interesting feature was the dot
On Thu, Oct 14, 2010 at 11:14 AM, Bas van Dijk v.dijk@gmail.com wrote:
On Thu, Oct 14, 2010 at 11:06 AM, Michael Snoyman mich...@snoyman.com wrote:
Great! Is there also a RSS feed?
Yes, http://www.haskellers.com/feed/news/. Is it useful to people to
put up a feedburner subscribe button?
On Thu, Oct 14, 2010 at 11:15 AM, Henning Thielemann
schlepp...@henning-thielemann.de wrote:
Michael Snoyman schrieb:
As a side point, I'm wondering how I should let everyone know about
the new features on the site. Emailing the cafe each time would be
stupid (and spam); posting to my twitter
On 2010 Oct 14, at 09:54, Joachim Breitner wrote:
Hi,
Am Donnerstag, den 14.10.2010, 09:34 +0200 schrieb Jacek Generowicz:
Another example:
Let's say I need an Int - String. Both
(fnA2 :: Banana - String) . (fnA1:: Int - Banana)
and
(fnB2 :: Onion - String) . (fnB1 :: Int -
On 2010 Oct 14, at 09:56, Max Bolingbroke wrote:
On 14 October 2010 08:34, Jacek Generowicz
jacek.generow...@cern.ch wrote:
Those other data might be the functions' arguments, or they might
be other
functions with which they are to be combined, or both.
You can represent these as
I just noticed Plus is a type family and not a type :), ignore my previous
comment. Nice library!
/J
2010/10/14 Jonas Almström Duregård jonas.dureg...@chalmers.se
Hi Gregory,
What can i do with the list i get from join (TaggedList (Plus m n))? I
can't use head or tail on it... Maybe
Hey all,
In case anyone noticed, Haskellers occassionally dies with a Pool
exhausted exception. I've traced this to a bug in Yesod, which in
turn is a bug in the neither package, which I believe is a flawed
design in the MonadCatchIO-transformers package. Here are my thoughts
on this and what I
On 2010 Oct 14, at 09:58, Ketil Malde wrote:
Jacek Generowicz jacek.generow...@cern.ch writes:
Let's say I need an Int - String. Both
(fnA2 :: Banana - String) . (fnA1:: Int - Banana)
and
(fnB2 :: Onion - String) . (fnB1 :: Int - Onion)
will do. So please allow me to store (fnA1,
By the way, here is how I would implement the ErrorT MonadCatchIO instance:
instance (MonadCatchIO m, Error e) = MonadCatchIO (ErrorT e m) where
m `catch` f = mapErrorT (\m' - m' `catch` \e - runErrorT $ f e) m
block = mapErrorT block
unblock = mapErrorT unblock
bracket
Jacek Generowicz jacek.generow...@cern.ch writes:
def memoize(fn):
cache = {}
def memoized_fn(*args):
if args not in cache:
cache[args] = fn(*args)
return cache[args]
return memoized_fn
Here's a simplified memoizer for Haskell:
memoize :: (Integral t)
On 14 October 2010 10:15, Jacek Generowicz jacek.generow...@cern.ch wrote:
[Gregory: Sorry about duplicate, accidentally took it off-list.]
On 2010 Oct 14, at 09:46, Gregory Collins wrote:
There is more information about the different ways of doing this kind of
thing in Haskell in the
Hello Daniel,
I don't know Hexpat at all, so I can only guess.
Perhaps due to the laziness of let-bindings, mError keeps a reference to
the entire tuple, thus preventing tree from being garbage collected as it
is consumed by print.
Thanks for your input. I think you are right, the parse
On Thu, Oct 14, 2010 at 7:15 AM, Michael Snoyman mich...@snoyman.com wrote:
By the way, here is how I would implement the ErrorT MonadCatchIO instance:
instance (MonadCatchIO m, Error e) = MonadCatchIO (ErrorT e m) where
m `catch` f = mapErrorT (\m' - m' `catch` \e - runErrorT $ f e) m
On 2010 Oct 14, at 15:24, Ketil Malde wrote:
Jacek Generowicz jacek.generow...@cern.ch writes:
def memoize(fn):
cache = {}
def memoized_fn(*args):
if args not in cache:
cache[args] = fn(*args)
return cache[args]
return memoized_fn
Here's a simplified memoizer
On Thu, Oct 14, 2010 at 4:28 PM, Antoine Latter aslat...@gmail.com wrote:
On Thu, Oct 14, 2010 at 7:15 AM, Michael Snoyman mich...@snoyman.com wrote:
By the way, here is how I would implement the ErrorT MonadCatchIO instance:
instance (MonadCatchIO m, Error e) = MonadCatchIO (ErrorT e m) where
Just updated: list of books for review in the journal of functional
programming, available here:
http://www.cs.kent.ac.uk/people/staff/sjt/JFP/available.html
Regards
Simon T.___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
On 10/14/10 1:35 AM, Henning Thielemann wrote:
Gregory Crosswhite schrieb:
=== natural-number v1.0 ===
This package provides *value*-level natural numbers that are tagged with
a type-level natural number corresponding to their value by using GADTs,
as well as some simple operations on them.
On 10/14/10 1:15 AM, Jonas Almström Duregård wrote:
[...]
Also, what is UntaggedList used for, and how is it different from [].
/J
UntaggedList makes it easy for you do things like the following:
processListAsTaggedList :: [a] - (forall n. TaggedList n a - b) - b
Hi. I wonder how to do the following properly.
I have one (large) C type, let's call it T,
and I want to sell it as an abstract type in Haskell.
I want to use C functions as if they were of type T - T
(pure function, returns a modified copy of the input)
and the question is, how to do the
Excerpts from Johannes Waldmann's message of Thu Oct 14 13:45:46 -0400 2010:
Is there a solution? Workaround? Better approach?
If it boils down to unsafePerformIO, then where do I put it,
and what should I watch out for?
unsafePerformIO is your ticket here. The key is to ensure all
of the
Gregory Crosswhite schrieb:
On 10/14/10 1:35 AM, Henning Thielemann wrote:
Is there also a 'reify' function, that allows to convert an Int or Peano
value locally to a type level number?
reifyInteger :: Integer - (forall n. Nat n = n - a) - a
Not presently, but it is easy to
This gets the ghc executable itself from 42mb down to 5.6mb, which helps a
lot on cruddy NFS installations.
For example the libHSghc-*, which are pretty huge (49-137mb). Are these
libraries that are used only by GHC for compilation? (Actually, I seem to
be able to compile simple files without
On Thu, Oct 14, 2010 at 10:20 AM, Michael Snoyman mich...@snoyman.com wrote:
Did you have particular reasons why you thought the resources would
not be freed correctly Antoine? I'd love any insight you have on this.
I didn't have a good reason at the time, but your email above
crystallized it
On 10/14/10 11:07 AM, Henning Thielemann wrote:
Gregory Crosswhite schrieb:
On 10/14/10 1:35 AM, Henning Thielemann wrote:
Is there also a 'reify' function, that allows to convert an Int or Peano
value locally to a type level number?
reifyInteger :: Integer - (forall n. Nat n = n -
On Thu, Oct 14, 2010 at 8:10 PM, Antoine Latter aslat...@gmail.com wrote:
On Thu, Oct 14, 2010 at 10:20 AM, Michael Snoyman mich...@snoyman.com wrote:
Did you have particular reasons why you thought the resources would
not be freed correctly Antoine? I'd love any insight you have on this.
I
Are you sure that Yi ever writes a default config file?
If you start Yi with no config file, press any key, press h, choose a key
binding, then save the file, you get a file c:\Users\peter\.yi\yi.hs
If dyre defaults to using a directory that doesn't exist on 7, I'd say
that's a bug in dyre. We
Thank you all for your contributions so far. Plenty of food for thought.
I though I'd try to put it into practice and have a go at the
motivating example I gave: essentially a EDSL for defining simple
maths tests.
I've included the beginnings of an attempt at the end. It started
Polyvariadic functions that accept an indefinite number of possibly
multiple typed arguments are often useful but a bit difficult to
declare in Haskell. With some crucial assistance from Oleg Kiselyov,
I have created a library that supplies two very general polyvariadic
functions that can map
Hi,
Is there a way to determine the order in which thunks are created and
expanded/evaluated in Haskell (GHC)? I'm looking mainly at some
existing interface but if there is only something in the GHC source it
will suffice.
Thanks,
--
Mihai
___
On Thu, Oct 14, 2010 at 1:53 PM, Mihai Maruseac mihai.marus...@gmail.comwrote:
Hi,
Is there a way to determine the order in which thunks are created and
expanded/evaluated in Haskell (GHC)? I'm looking mainly at some
existing interface but if there is only something in the GHC source it
On Thu, Oct 14, 2010 at 1:28 PM, Michael Snoyman mich...@snoyman.com wrote:
I thought a bit about this, and I believe the only extra primitive we
need is one of bracket, bracket_ or finally. I also noticed the
exception-transformers package[1], which seems to be a good
replacement for
I don't know of any way to examine this for a running program. You can get
GHC to spit out core and STG using -ddump-core and -ddump-stg flags:
There's no -ddump-core flag. I was puzzled about the proper way to
get final core, and have been using -ddump-simpl, but I don't know
if that's
On Thu, 14 Oct 2010 04:15:53 +0200, Alexander Solla a...@2piix.com wrote:
The Facts hierarchy is meant to contain commonly used, relatively
static facts about the real world.
The list of countries is maybe less static then you would think; since
last Sunday, the Netherlands Antilles does
Thank you all for your contributions so far. Plenty of food for thought.
I though I'd try to put it into practice and have a go at the motivating
example I gave: essentially a EDSL for defining simple maths tests.
If you have a Python version that has other features you would like, you
On Thu, Oct 14, 2010 at 2:52 PM, Evan Laforge qdun...@gmail.com wrote:
I don't know of any way to examine this for a running program. You can
get
GHC to spit out core and STG using -ddump-core and -ddump-stg flags:
There's no -ddump-core flag. I was puzzled about the proper way to
get
On Oct 14, 2010, at 3:00 PM, Henk-Jan van Tuyl wrote:
The list of countries is maybe less static then you would think;
since last Sunday, the Netherlands Antilles does not exist anymore;
instead there are two new countries: Curaçao and St. Maarten [0]
Thanks for the update. I'l put it in
I think I have this working now :-)
I had to make two changes to dyre:
- In Config.Dyre, I removed lines 188 to 191 which delete errors.txt. This
was failing as the file was still open for lazy reading.
- In Config.Dyre.Paths, I changed line 28 to:
let tempBinary = cacheDir / pName ++ - ++
Well, it's not 2010.2 anymore because I had to upgrade a few packages ;-),
but if you want to try out some of the new GHC 7 features this can get you a
working cabal-install. Download here:
http://parfunk.blogspot.com/2010/10/hacking-together-working-version-of.html
Apologies if this is
On Thu, Oct 14, 2010 at 11:13 PM, Antoine Latter aslat...@gmail.com wrote:
On Thu, Oct 14, 2010 at 1:28 PM, Michael Snoyman mich...@snoyman.com wrote:
I thought a bit about this, and I believe the only extra primitive we
need is one of bracket, bracket_ or finally. I also noticed the
On Fri, Oct 15, 2010 at 1:19 AM, Jason Dagit da...@codersbase.com wrote:
On Thu, Oct 14, 2010 at 2:52 PM, Evan Laforge qdun...@gmail.com wrote:
I don't know of any way to examine this for a running program. You can
get
GHC to spit out core and STG using -ddump-core and -ddump-stg flags:
61 matches
Mail list logo