Johannes Waldmann waldm...@imn.htwk-leipzig.de writes:
Andy Stewart lazycat.manatee at gmail.com writes:
Just cabal install is enough.
Hm. That's what bootstrap.sh does,
and it builds tools, then glib, but then:
Preprocessing library gio-0.11.0...
gtk2hsC2hs: Errors during expansion of
Hello,
I wonder whether (and how) I should increase the version number of a
library when the API does not change but the implementation gets more
efficient.
Should I bump a.b.C or even a.B to signal that it's worth using the
new version or should I bump only a.b.c.D such that packages
gdwe...@iue.edu wrote:
About Sifflet
-
Sifflet is a visual, functional programming language
intended as an aid for learning about recursion.
* A picture explains Sifflet better than words:
please see the screenshot showing how to evaluate 3!:
Johan Tibell wrote:
On Fri, Aug 13, 2010 at 4:24 PM, Kevin Jardine kevinjard...@gmail.com
mailto:kevinjard...@gmail.com wrote:
One of the more puzzling aspects of Haskell for newbies is the large
number of libraries that appear to provide similar/duplicate
functionality.
I agree.
* Bryan O'Sullivan:
If you know it's text and not binary data you are working with, you should
still use Data.Text. There are a few good reasons.
1. The API is more correct. For instance, if you use Text.toUpper on a
string containing latin1 ß (eszett, sharp S), you'll get the
As I understand it, ATs were invented because FDs are evil and must
never be used ever for any purpose. However, it doesn't seem to be
possible to use ATs to do the same things that FDs can do.
You can use ATs to write type functions, which take one type and return
another type. This allows
Andrew Coppin andrewcop...@btinternet.com writes:
Interesting. I've never even heard of Data.Text. When did that come
into existence?
The first version hit Hackage in February last year...
More importantly: How does the average random Haskeller discover that
a package has become available
On Sat, Aug 14, 2010 at 12:15 PM, Florian Weimer f...@deneb.enyo.de wrote:
* Bryan O'Sullivan:
If you know it's text and not binary data you are working with, you
should
still use Data.Text. There are a few good reasons.
1. The API is more correct. For instance, if you use
Sebastian Fischer s...@informatik.uni-kiel.de writes:
Hello,
I wonder whether (and how) I should increase the version number of a
library when the API does not change but the implementation gets more
efficient.
If the API remains the same (and the behaviour of the functions does as
well),
-- Forwarded message --
From: Gábor Lehel illiss...@gmail.com
Date: 2010/8/14
Subject: Re: [Haskell-cafe] ATs vs FDs
To: Andrew Coppin andrewcop...@btinternet.com
You're missing equality constraints for classes.
In other words:
class (a ~ Smaller (Bigger a), a ~ Bigger (Smaller
[CC'ing café again]
On Aug 14, 2010, at 12:25 PM, Max Rabkin wrote:
On Sat, Aug 14, 2010 at 11:13 AM, Sebastian Fischer
s...@informatik.uni-kiel.de wrote:
Hello,
I wonder whether (and how) I should increase the version number of
a library
when the API does not change but the implementation
Ivan Lazar Miljenovic wrote:
Andrew Coppin andrewcop...@btinternet.com writes:
More importantly: How does the average random Haskeller discover that
a package has become available that might be relevant to their work?
Look on Hackage; subscribe to mailing lists (where package
Andrew Coppin andrewcop...@btinternet.com writes:
As I understand it, ATs were invented because FDs are evil and must
never be used ever for any purpose. However, it doesn't seem to be
possible to use ATs to do the same things that FDs can do.
You can use ATs to write type functions, which
Ivan Lazar Miljenovic wrote:
I assume you mean something like this?
,
| class NextOneUpFD this previous | this - previous where ...
|
| instance NextOneUpFD Vector3 Vector4 where ...
`
More like
class NextPrevFD next prev | next - prev, prev - next where...
but yeah, that's
On Sat, Aug 14, 2010 at 11:13:19AM +0200, Sebastian Fischer wrote:
I wonder whether (and how) I should increase the version number of a
library when the API does not change but the implementation gets
more efficient.
Should I bump a.b.C or even a.B to signal that it's worth using the
new
On 14 August 2010 11:19, Andrew Coppin andrewcop...@btinternet.com wrote:
As I understand it, ATs were invented because FDs are evil and must never
be used ever for any purpose. However, it doesn't seem to be possible to use
ATs to do the same things that FDs can do.
You might want to read
Andrew Coppin andrewcop...@btinternet.com writes:
Ivan Lazar Miljenovic wrote:
I assume you mean something like this?
,
| class NextOneUpFD this previous | this - previous where ...
| | instance NextOneUpFD Vector3 Vector4 where ...
`
More like
class NextPrevFD next prev
Andrew Coppin andrewcop...@btinternet.com writes:
Well, I suppose I don't do a lot of text processing work... If all
you're trying to do is parse commands from an interactive terminal
prompt, [Char] is probably good enough.
Neither do I, yet I've heard of it... ;-)
--
Ivan Lazar Miljenovic
I was inspired by George Pollard's
posthttp://www.haskell.org/pipermail/haskell-cafe/2009-July/063981.htmlat
haskell-cafe and tried to implement the non-polymorphic Functor class
( I
named it Functor' ). I changed some names and added reasonable constraints.
type family NewPt f a
class
Alexey Karakulov ankaraku...@gmail.com writes:
(Ord b) must be deduced from (Functor (Set b)) but it doesn't. I don't know
whether it's my mistake somewhere or ghc problem.
I've come across this problem as well; the best solution I've seen so
far is the one taken by Ganesh in his rmonad
Right, but if you use Prelude.interact, as in my example, you don't have to
worry about the EOF checking yourself - it's all handled for you. And if you
use a functional style, your code will be simpler and more testable - otherwise
you might as well just use an imperative language.
Here's a
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. (Really, it depends which EDSL model. I haven't seen one that can
capture
On Sat, Aug 14, 2010 at 9:59 AM, Bill Atkins watk...@alum.rpi.edu wrote:
| otherwise = let (line, rest) =
splitAt maxLineLength line in
line :
wrapLine rest
I haven't tested myself, but
Oof, that's what I get for making just one little change without testing.
You're right.
On Saturday Aug 14, 2010, at 9:17 AM, Felipe Lessa wrote:
On Sat, Aug 14, 2010 at 9:59 AM, Bill Atkins watk...@alum.rpi.edu wrote:
| otherwise= let (line, rest) =
Hi Filipe, Bill
Your corrected version works, while the original didn't, but it still produces
incorrect
output:
However mean your life is, meet it and live it: do not shun it and call
it hard names. Cultivate poverty like a garden herb, like sage. Do not t
rouble yourself much to get new
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
On 8/14/10 02:20 , Andy Stewart wrote:
Cannot find a definition for `Emblem' in the header file.
Because GEmblem is need Glib 2.18, mabye your glib is too old.
You can use command 'pkg-config --modversion glib-2.0' check your glib
version.
Andrew Coppin wrote:
Ivan Lazar Miljenovic wrote:
If so, how does this not solve the issue?
,
| class NextOneUpAT v where
| type Next v
| ...
| | instance NextOneUpAT Vector3 where
| type Next Vector3 = Vector4
| ...
`
Can I use that to go both up and down? Would the types
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
On 8/14/10 01:29 , Kevin Jardine wrote:
I think that this kind of programming detail should be handled
internally (even if necessary by switching automatically from UTF-8 to
UTF-16 depending upon the language).
This is going to carry a heavy speed
I was reading this article:
http://scienceblogs.com/goodmath/2009/11/writing_basic_functions_in_has.php
And came to the part where it shows:
fiblist = 0 : 1 : (zipWith (+) fiblist (tail fiblist))
Very interesting stuff for somebody who comes from an imperative world of
course.
But then I
Tako Schotanus wrote:
fiblist = 0 : 1 : (zipWith (+) fiblist (tail fiblist))
Very interesting stuff for somebody who comes from an imperative world
of course.
Oh yes, that old chestnut. There's a page on the wiki somewhere with a
whole collection of these cryptic one-liners - Pascal's
On Sat, 14 Aug 2010, Tako Schotanus wrote:
I was reading this article:
http://scienceblogs.com/goodmath/2009/11/writing_basic_functions_in_has.php
And came to the part where it shows:
fiblist = 0 : 1 : (zipWith (+) fiblist (tail fiblist))
But then I read that Once it's been referenced,
Quoth Brandon S Allbery KF8NH allb...@ece.cmu.edu,
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
On 8/14/10 01:29 , Kevin Jardine wrote:
I think that this kind of programming detail should be handled
internally (even if necessary by switching automatically from UTF-8 to
UTF-16 depending
What's wrong with fun-deps? The associated type synonym syntax is prettier,
but I didn't tknow that fun-deps were evil.
Do you have any links?
Take care,
Antoine
On Aug 14, 2010 5:19 AM, Andrew Coppin andrewcop...@btinternet.com
wrote:
As I understand it, ATs were invented because FDs are evil
I think that was exaggeration for effect.
FDs aren't evil, but TFs do the same thing in a nicer way, and there's
a long-term effort to move over from one to the other, and ideally get
TFs into Haskell' at some point. But there's no problem with using FDs
if you need them or just like them better.
Try this one (http://gist.github.com/524460):
import Data.Char
maxLineLength :: Int
maxLineLength = 72
trim :: String - String
trim = reverse . dropSpaces . reverse . dropSpaces
where dropSpaces = dropWhile isSpace
none :: (a - Bool) - [a] - Bool
none f = not . any f
reverseBreak :: (a -
On Sat, Aug 14, 2010 at 12:33 PM, Bill Atkins watk...@alum.rpi.edu wrote:
Try this one (http://gist.github.com/524460)
I noticed that Bill's solution doesn't seem to work if the input text
is infinite. I found a different solution, which avoids the use of
reverse, and will work even if the
Hi Bill,
Very clever.
You are an inspiration.
Michael
--- On Sat, 8/14/10, Bill Atkins watk...@alum.rpi.edu wrote:
From: Bill Atkins watk...@alum.rpi.edu
Subject: Re: [Haskell-cafe] Unwrapping long lines in text files
To: michael rice nowg...@yahoo.com
Cc: Felipe Lessa felipe.le...@gmail.com,
On Aug 14, 2010, at 9:01 AM, Antoine Latter wrote:
What's wrong with fun-deps? The associated type synonym syntax is
prettier, but I didn't tknow that fun-deps were evil.
Do you have any links?
They're not evil, they are tricky and can lead to non-termination,
inconsistency, etc.
In the example above, fiblist is a global variable, so the answer to when
does it get freed? would be never. (I believe it's called a CAF leak.)
Is that actually true? I've heard lots of references to this, but I'm not
sure it is true. Sure, it's harder for it to get collected when everyone
andrewcoppin:
Interesting. I've never even heard of Data.Text. When did that come into
existence?
More importantly: How does the average random Haskeller discover that a
package has become available that might be relevant to their work?
In this case, Data.Text has been announced on this
On Sat, Aug 14, 2010 at 2:27 PM, Ivan Lazar Miljenovic
ivan.miljeno...@gmail.com wrote:
Alexey Karakulov ankaraku...@gmail.com writes:
(Ord b) must be deduced from (Functor (Set b)) but it doesn't. I don't
know
whether it's my mistake somewhere or ghc problem.
I've come across this
On Fri, Aug 13, 2010 at 10:43 AM, Johan Tibell johan.tib...@gmail.com wrote:
Here's a rule of thumb: If you have binary data, use Data.ByteString. If you
have text, use Data.Text. Those libraries have benchmarks and have been well
tuned by experienced Haskelleres and should be the fastest and
The non-type-changing map can be implemented as a type class - in my
graphics lib Wumpus, I call it pointwise:
class Pointwise sh where
type Pt sh :: *
pointwise :: (Pt sh - Pt sh) - sh - sh
I think other people have posted it to the cafe under a different
name, before I did:
On 14 August 2010 20:27, Stephen Tetley stephen.tet...@gmail.com wrote:
If I was doing Wumpus again though, I'd probably do with Pointwise.
Ahem, do without Pointwise
Originally the types I operated on with Pointwise were more
complicated than they are now and Pointwise seemed a benefit. But
First of all, thanks to the people who responded :)
On Sat, Aug 14, 2010 at 17:49, Christopher Lane Hinson
l...@downstairspeople.org wrote:
On Sat, 14 Aug 2010, Tako Schotanus wrote:
I was reading this article:
http://scienceblogs.com/goodmath/2009/11/writing_basic_functions_in_has.php
On 14/08/10 02:30, Lennart Augustsson wrote:
So it's a bug in the garbage collector. It's closing a handle that
clearly is still reachable, otherwise this would not have happened.
The handle is in fact not reachable from the roots, because the thread
that points to it is also not reachable.
On 13/08/10 17:00, Tillmann Rendel wrote:
Simon Marlow wrote:
Really hClose shouldn't complain about a finalized handle, I'll see if
I can fix that.
That sounds like a work-around to me, not a fix, because it would not
fix more complicated exception handlers.
I don't think there's a
Sebastian Fischer wrote:
Hello,
I wonder whether (and how) I should increase the version number of a
library when the API does not change but the implementation gets more
efficient.
I think it depends on how much more efficient. Constant factors of
improvement are always nice, but they
Hello Haskellers!
The Darcs Team will soon be hosting its fifth hacking sprint
this October. We would be delighted if you could join us.
http://wiki.darcs.net/Sprints/2010-10
Details
---
When: 15-17 October 2010
Where: Orleans, France
WhoAnybody who wants to hack on Darcs (or Camp,
Hi list,
stumbled across that:
http://www.google.com/insights/search/?hl=de#q=haskellgeo=DEcmpt=q
Greetz
Daniel
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe
Lennart Augustsson wrote:
So it's a bug in the garbage collector. It's closing a handle that
clearly is still reachable, otherwise this would not have happened.
Simon Marlow wrote:
The handle is in fact not reachable from the roots, because the thread that
points to it is also not
Sean Leather wrote:
Which one do you use for strings in HTML or XML in which UTF-8 has become
the commonly accepted standard encoding?
UTF-8 is only becoming the standard for non-CJK languages.
We are told by members of our community in CJK countries
that UTF-8 is not widely adopted there, and
Simon Marlow wrote:
Really hClose shouldn't complain about a finalized handle, I'll see if
I can fix that.
That sounds like a work-around to me, not a fix, because it would not
fix more complicated exception handlers.
I don't think there's a problem with more complicated exception
handlers.
Yitzchak Gale wrote:
Sean Leather wrote:
Which one do you use for strings in HTML or XML in which UTF-8 has become
the commonly accepted standard encoding?
UTF-8 is only becoming the standard for non-CJK languages.
We are told by members of our community in CJK countries
that UTF-8 is
On Sat, Aug 14, 2010 at 2:38 AM, michael rice nowg...@yahoo.com wrote:
The program below takes a text file and unwraps all lines to 72 columns, but
I'm getting an end of file message at the top of my output.
How do I lose the EOF?
Michael
While many other people have shown you why you
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
On 8/14/10 19:07 , Ben Millwood wrote:
Strangely, it prints this before the output of your program - this
isn't terribly important, but for the sake of completeness, it's
because of the different buffering characteristics of stdout and
stderr,
Sean Leather wrote:
So then, what is the standard?
...I also noticeably don't see UTF-16.
Right there are a handful of language-specific 16-bit encodings
that are popular, from what I understand.
So, if this is the case, then a similar question still arises for CJK text:
What format/library
On Sat, Aug 14, 2010 at 3:46 PM, Sean Leather leat...@cs.uu.nl wrote:
So then, what is the standard?
There isn't one. There are many national standards:
- China: GB-2312, GBK and GB18030
- Taiwan: Big5
- Japan: JIS and Shift-JIS (0208 and 0213 variants) and EUC-JP
- Korea:
Thanks for the caveats.
I originally tried to write some pure functions to break up the long strings
into ones of acceptable length, to no avail. The solution I submitted was a
frustrated attempt to solve the problem *somehow* so I'd have something that
worked to refer to.
I can see the
Nope. No redirection.
Michael
--- On Sat, 8/14/10, Brandon S Allbery KF8NH allb...@ece.cmu.edu wrote:
From: Brandon S Allbery KF8NH allb...@ece.cmu.edu
Subject: Re: [Haskell-cafe] Unwrapping long lines in text files
To: haskell-cafe@haskell.org
Date: Saturday, August 14, 2010, 7:17 PM
On Sat, Aug 14, 2010 at 16:38, Bryan O'Sullivan b...@serpentine.com wrote:
In my opinion, this performance penalty hand-wringing is mostly silly.
We're talking a pretty small factor of performance difference in most of these
cases. Even the biggest difference, between ByteString and String, is
ImProve [1] is a imperative programming language for high assurance
applications. Using Yices [2], ImProve verifies programs will always
adhere to assertion specifications, irrespective of program input. If
it is possible for an assertion not to be upheld, ImProve will emit a
counter example in
Bryan O'Sullivan wrote:
In general, Unicode uptake is increasing rapidly:
http://googleblog.blogspot.com/2010/01/unicode-nearing-50-of-web.html
These Google graphs are the oft-quoted source of
Unicode's growing dominance. But the data for those graphs
is taken from Google's own web indexing.
On Sat, Aug 14, 2010 at 5:11 PM, John Millikin jmilli...@gmail.com wrote:
This attitude towards performance, that it doesn't really matter as
long as something happens *eventually*, is what pushed me away from
Python and towards more performant languages like Haskell in the first
place.
On Sat, Aug 14, 2010 at 5:39 PM, Yitzchak Gale g...@sefer.org wrote:
It could be this really is true for CJK countries as well,
or it could be that the data is skewed by Google's web
indexing methods.
I also wouldn't be surprised if the picture for web-based text is quite
different from
Yitzchak Gale wrote:
Bryan O'Sullivan wrote:
In general, Unicode uptake is increasing rapidly:
http://googleblog.blogspot.com/2010/01/unicode-nearing-50-of-web.html
These Google graphs are the oft-quoted source of
Unicode's growing dominance. But the data for those graphs
is taken from
Quoth Bryan O'Sullivan b...@serpentine.com,
In the case of the text library, it is often (but not always) competitive
with bytestring, and I improve it when I can, especially when given test
cases. My goal is for it to be the obvious choice on several fronts:
- Cleanliness of API, where
On Sat, Aug 14, 2010 at 22:07, Donn Cave d...@avvanta.com wrote:
Am I confused about this? It's why I can't see Text ever being
simply the obvious choice. [Char] will continue to be the obvious
choice if you want a functional data type that supports pattern
matching etc. ByteString will
Excerpts from John Millikin's message of Sun Aug 15 01:32:51 -0400 2010:
Also, despite the name, ByteString and Text are for separate purposes.
ByteString is an efficient [Word8], Text is an efficient [Char] -- use
ByteString for binary data, and Text for...text. Most mature languages
have
On Sun, Aug 15, 2010 at 8:39 AM, Edward Z. Yang ezy...@mit.edu wrote:
Excerpts from John Millikin's message of Sun Aug 15 01:32:51 -0400 2010:
Also, despite the name, ByteString and Text are for separate purposes.
ByteString is an efficient [Word8], Text is an efficient [Char] -- use
On Sat, Aug 14, 2010 at 22:39, Edward Z. Yang ezy...@mit.edu wrote:
Excerpts from John Millikin's message of Sun Aug 15 01:32:51 -0400 2010:
Also, despite the name, ByteString and Text are for separate purposes.
ByteString is an efficient [Word8], Text is an efficient [Char] -- use
ByteString
On Sat, Aug 14, 2010 at 22:54, John Millikin jmilli...@gmail.com wrote:
Haskell: length (pack \x0001dd1e)
Apologies -- this line ought to be:
Haskell: Data.Text.length (Data.Text.pack \x0001dd1e) == 1
___
Haskell-Cafe mailing list
72 matches
Mail list logo