Hello Don,
Tuesday, December 15, 2009, 10:42:01 AM, you wrote:
How about a fast STHashTable?
you can use array of arrays instead of large array
Note to minmize the issue, but we get many of the same benefits via the
associated type transformation (e.g. for arrays of
The new 0.7 release of the text
packagehttp://hackage.haskell.org/package/textadds support for
Unicode I/O, using either the new locale-aware Handle code
in 6.12 or a fallback on older releases.
Details:
http://www.serpentine.com/blog/2009/12/15/data-text-0-7-gains-io-support/
bos:
The new 0.7 release of the text package adds support for Unicode I/O, using
either the new locale-aware Handle code in 6.12 or a fallback on older
releases.
Details: http://www.serpentine.com/blog/2009/12/15/
data-text-0-7-gains-io-support/
That was ridculously fast.
-- Don
Yes, that's probably close to what I want. It would of course be nice to
also have a monadic/applicative interface for building the graphs. In
libraries like Wired where you're in a monad anyway, this would get rid
of the need for IO.
Koen Claessen has made a sketch of a generic graph library
On 15/12/09 00:37, Philip Beadling wrote:
If you still have trouble, then try using ThreadScope
http://code.haskell.org/ThreadScope/
with GHC 6.12.1. You can use ThreadScope directly from the darcs
repository on code.haskell.org, and we hope to do a proper release soon.
Cheers,
So far, this new release has let me remove:
- The new Import of xyz is redundant warning pointed out tons of cruft in my
imports: 117 of them! Apparently it's better than the 6.10 algorithm. It's
amazing how much cruft builds up in import lists over time even with -Wall.
One issue is that I
On Tue, Dec 15, 2009 at 12:13 AM, Bas van Dijk v.dijk@gmail.com wrote:
Hello,
I just released the small package explicit-iomodes-0.1:
http://hackage.haskell.org/package/explicit-iomodes-0.1
It's a wrapper around System.IO that provides a Handle type which is
parametrized with the
I'm not sure how actively this is maintained or used but I couldn't get it to
build.
Downloading parameterized-data-0.1.3...
Configuring parameterized-data-0.1.3...
Preprocessing library parameterized-data-0.1.3...
Building parameterized-data-0.1.3...
src\Data\Param\FSVec.hs:1:46:
Warning:
Emil Axelsson e...@chalmers.se writes:
Yes, that's probably close to what I want. It would of course be nice
to also have a monadic/applicative interface for building the
graphs. In libraries like Wired where you're in a monad anyway, this
would get rid of the need for IO.
IIRC, dotgen does
Bryan O'Sullivan b...@serpentine.com writes:
using either the new locale-aware Handle code in 6.12 or a fallback
on older releases.
How do you manage this? Any chance of abstracting something like this
out (ala extensible-exceptions)?
--
Ivan Lazar Miljenovic
ivan.miljeno...@gmail.com
AFAIK, ST Arrays are pure data structures. They are not really mutable. They
are destroyed and recreated on every update. The mutation is just simulated
thanks to the hidden state in the state monad. Sure, the garbage collector
must have a hard work in recycling all the backbones of the discarded
No, they are actually being mutated. ST is basically IO with a
universal state thread (IO uses RealWorld) to prevent you from letting
any of the mutable structures out (or any in) of the block. The whole
point of ST is to have real mutable references/arrays that have a
referentially transparent if
-- Forwarded message --
From: Alberto G. Corona agocor...@gmail.com
Date: 2009/12/15
Subject: Re: [Haskell-cafe] Boxed Mutable Arrays
To: Daniel Peebles pumpkin...@gmail.com
Ok, so the state content is not accessible. Nice.
2009/12/15 Daniel Peebles pumpkin...@gmail.com
No,
Patai, I asked a similar question about a week ago, inquiring about
efficient buffers for audio. I got a good response:
http://thread.gmane.org/gmane.comp.lang.haskell.cafe/67258/focus=67293
Well, the general lesson seems to be that using stream fusion or
something analogous is the way to go.
Bulat,
On Tue, Dec 15, 2009 at 1:51 AM, Bulat Ziganshin
bulat.zigans...@gmail.com wrote:
Hello Brad,
Tuesday, December 15, 2009, 1:55:41 AM, you wrote:
How about a fast STHashTable?
you can use array of arrays instead of large array
--
Best regards,
Bulat
Hi Patai,
Your message has motivated me to publish my own PortAudio binding,
which provides a simpler, more efficient callback-based interface:
http://github.com/mietek/portaudio
The documentation is incomplete, but along with the example program,
it should be enough to get you going:
Hello Brad,
Tuesday, December 15, 2009, 6:53:14 PM, you wrote:
How about a fast STHashTable?
you can use array of arrays instead of large array
Can you elaborate?
what exactly? how to implement this or why it will be faster?
--
Best regards,
Bulat
On Tue, Dec 15, 2009 at 11:00 AM, Bulat Ziganshin
bulat.zigans...@gmail.com wrote:
Hello Brad,
Tuesday, December 15, 2009, 6:53:14 PM, you wrote:
How about a fast STHashTable?
you can use array of arrays instead of large array
Can you elaborate?
what exactly? how to implement this or
Hello Brad,
Tuesday, December 15, 2009, 7:16:18 PM, you wrote:
You said to use an array of arrays instead of a large array, in the
context of a fast hash table in ST. Do you mean I should use an array
for hash buckets, rather than a list?
Is that what you meant? And why would it be
If the number of buckets was fixed, one could use an array of STRefs
to lists. I believe this would avoid the bug from Ticket #650?
now i see what you mean. no, i mean trivial transformation. #650 says
about slow GC. why it's slow? because once you made any update to the
array, the entire
Hello Alberto,
Tuesday, December 15, 2009, 5:23:41 PM, you wrote:
ST monad is the same as IO monad modulo type trickery. tris trickery
allows to limit imperative operations available inside ST monad to
STRef/STArray manipulations which is guaranteed to be
referential-transparent as part of this
Bulat Ziganshin bulat.zigans...@gmail.com writes:
now i see what you mean. no, i mean trivial transformation. #650 says
about slow GC. why it's slow? because once you made any update to the
array, the entire array is marked as updated and scanned on next minor
GC (which occurs after every 512
Hello,
I'm still to Haskell, and after I read through
http://users.aber.ac.uk/afc/stricthaskell.html#seq
I thought, that these tow fragments after term rewriting are really
the same:
myLength :: [a] - Integer
myLength xs = len xs 0
where len [] l = l
len (x:xs) l = l `seq` len xs
On Tue, Dec 15, 2009 at 11:33 AM, Serguey Zefirov sergu...@gmail.com wrote:
If the number of buckets was fixed, one could use an array of STRefs
to lists. I believe this would avoid the bug from Ticket #650?
now i see what you mean. no, i mean trivial transformation. #650 says
about slow GC.
On Tue, Dec 15, 2009 at 12:00 PM, Gregory Collins
g...@gregorycollins.net wrote:
Bulat Ziganshin bulat.zigans...@gmail.com writes:
now i see what you mean. no, i mean trivial transformation. #650 says
about slow GC. why it's slow? because once you made any update to the
array, the entire
now i see what you mean. no, i mean trivial transformation. #650 says
about slow GC. why it's slow? because once you made any update to the
array, the entire array is marked as updated and scanned on next minor GC
(which occurs after every 512 kbytes allocated, afaik). let's replace
big array
On Tue, Dec 15, 2009 at 3:15 AM, Ivan Lazar Miljenovic
ivan.miljeno...@gmail.com wrote:
Bryan O'Sullivan b...@serpentine.com writes:
using either the new locale-aware Handle code in 6.12 or a fallback
on older releases.
How do you manage this? Any chance of abstracting something like
The documentation is incomplete, but along with the example program,
it should be enough to get you going:
http://github.com/mietek/portaudio/blob/master/examples/Play.hs
Yes, it looks like something worth giving a go. I'll try it soon,
thanks.
Gergely
--
http://www.fastmail.fm - The way an
Richard == Richard O'Keefe o...@cs.otago.ac.nz writes:
Richard The real point is that the revised version, with command
Richard line arguments and all, is still just 52 SLOC. (41 if
Richard you don't count type specifications the compiler could
Richard have inferred or the two
On Tue, 2009-12-15 at 09:52 -0800, Johann Höchtl wrote:
Hello,
I'm still to Haskell, and after I read through
http://users.aber.ac.uk/afc/stricthaskell.html#seq
I thought, that these tow fragments after term rewriting are really
the same:
myLength :: [a] - Integer
myLength xs = len xs
Serguey,
On Tue, Dec 15, 2009 at 1:07 PM, Serguey Zefirov sergu...@gmail.com wrote:
now i see what you mean. no, i mean trivial transformation. #650 says
about slow GC. why it's slow? because once you made any update to the
array, the entire array is marked as updated and scanned on next minor
On Tue, Dec 15, 2009 at 10:30 AM, Maciej Piechotka
uzytkown...@gmail.com wrote:
My results (ghc 6.12.1, Core 2 Duo 2.8 GHz, Linux 2.6.32, Gentoo):
Not Optimized not compiled:
First: 12.47 secs, 1530911440 bytes
Second: 17.40 secs, 1929614816 bytes
Optimized compiled:
First: 1.24 secs,
On Tue, 2009-12-15 at 10:56 -0800, Thomas DuBuisson wrote:
On Tue, Dec 15, 2009 at 10:30 AM, Maciej Piechotka
uzytkown...@gmail.com wrote:
My results (ghc 6.12.1, Core 2 Duo 2.8 GHz, Linux 2.6.32, Gentoo):
Not Optimized not compiled:
First: 12.47 secs, 1530911440 bytes
Second: 17.40
Am Dienstag 15 Dezember 2009 19:30:06 schrieb Maciej Piechotka:
On Tue, 2009-12-15 at 09:52 -0800, Johann Höchtl wrote:
Hello,
I'm still to Haskell, and after I read through
http://users.aber.ac.uk/afc/stricthaskell.html#seq
I thought, that these tow fragments after term rewriting are
On Fri, 11 Dec 2009 22:26:55 -0600, Tom Tobin korp...@korpios.com
wrote:
On Fri, Dec 11, 2009 at 9:21 PM, Brandon S. Allbery KF8NH
allb...@ece.cmu.edu wrote:
Unexpected applications of category theory for $500, Alex
Before you know it, they're going to be modeling mental processes as
On Dec 15, 7:30 pm, Maciej Piechotka uzytkown...@gmail.com wrote:
On Tue, 2009-12-15 at 09:52 -0800, Johann Höchtl wrote:
Hello,
I'm still to Haskell, and after I read through
http://users.aber.ac.uk/afc/stricthaskell.html#seq
I thought, that these tow fragments after term rewriting
On Dec 15, 9:30 pm, Daniel Fischer daniel.is.fisc...@web.de wrote:
Am Dienstag 15 Dezember 2009 19:30:06 schrieb Maciej Piechotka:
On Tue, 2009-12-15 at 09:52 -0800, Johann Höchtl wrote:
Hello,
I'm still to Haskell, and after I read through
On Sun, Dec 6, 2009 at 8:40 AM, Antoine Latter aslat...@gmail.com wrote:
Well, the more eyes and test cases we can get on the new code the
better. I'd also like to encourage anyone who's familiar with the idea
of how parsec works to take a look at my changes to make sure they're
Tim Newsham wrote:
I was wondering how many haskell consultants and contractors
(ie. freelance programmers) there are and how much demand there
is for their work. Also what kind of work do most haskell
consultants and contractors get? Is it primarily focused
around developing and maintaining
Hi Bryan,
On Tue, Dec 15, 2009 at 3:13 PM, Bryan O'Sullivan b...@serpentine.com wrote:
Where would I look to find a darcs repo with your changes? It would be great
to see parsec3 finally replace parsec2. Besides the performance issue, are
there any other considerations keeping it from
Am Dienstag 15 Dezember 2009 21:43:46 schrieb Johann Höchtl:
Please describe for me as a beginner, why there _is_ a difference:
1. does len (x:xs) l = l `seq` len xs (l+1) vs. len xs $! (l+1) expand
into sthg. different?
Yes. How different depends on optimisation level and compiler version.
I was wondering how many haskell consultants and contractors
(ie. freelance programmers) there are and how much demand there
is for their work.
I've done three Haskell contracts last year and this year, all
in the financial industry in the New York area. Two of them were
for the same
On 15/12/09 21:19, Anton van Straaten wrote:
Without that advocacy, this client would have used Java by default.
As it was, the first of those two systems was developed in parallel
with a Java version, and we used the two versions to verify each
other's results. For the second system, a
On Tue, Dec 15, 2009 at 3:13 PM, Bryan O'Sullivan b...@serpentine.com wrote:
Besides the performance issue, are
there any other considerations keeping it from becoming the default?
One thing that makes me a bit hesitant is that it's a pretty big
change to the core parser data structure, to the
Am Dienstag 15 Dezember 2009 21:50:22 schrieb Johann Höchtl:
It's b, compiled without optimisations.
Don't do that. Maybe if you have huge projects with large compile times. But
without
optimisations, small variations can incur huge performance costs (as we see
here).
If a) or b), it's
Could someone provide the status and expected release date of the Haskell
Platform for Snow Leopard (Mac OS X 10.6.2)?
Thanks.
_
Your E-mail and More On-the-Go. Get Windows Live Hotmail
Excerpts from Greg Fitzgerald's message of Mon Dec 14 18:44:37 -0500 2009:
It's too bad that the 'nat' function in Token is not defined in
Parsec's Char module, and because of that, you need to copy-paste that
code or roll your own.
Maybe I should write a patch for that.
That's correct.
Bryan O'Sullivan b...@serpentine.com writes:
The fallback is very simple: on versions of GHC older than 6.12, you get
UTF-8 codecs and your platform's native newline conversion, and that's it
:-) There really isn't anything to abstract.
Aha, you use Text's own decoding/encoding functions, so
On Tue, Dec 15, 2009 at 2:33 PM, Ivan Lazar Miljenovic
ivan.miljeno...@gmail.com wrote:
Aha, you use Text's own decoding/encoding functions, so it isn't very
useful for other libraries that don't use Text :(
Huh? I am confused. The point of the text I/O code is to support I/O on the
Text
Bryan O'Sullivan b...@serpentine.com writes:
Huh? I am confused. The point of the text I/O code is to support I/O on the
Text type. What else would I be wanting there?
Yes, but I thought you were using utf8-string or something for it (that
is, something not Text-specific).
--
Ivan Lazar
Paul Johnson wrote:
On 15/12/09 21:19, Anton van Straaten wrote:
Without that advocacy, this client would have used Java by default.
As it was, the first of those two systems was developed in parallel
with a Java version, and we used the two versions to verify each
other's results. For
On Tue, Dec 15, 2009 at 3:19 PM, Anton van Straaten
an...@appsolutions.comwrote:
Without that advocacy, this client would have used Java by default. As it
was, the first of
I'd be interested in how you pulled that off. Enlightened client, or slick
sales pitch? Where I work I would consider
2009/12/15 Anton van Straaten an...@appsolutions.com:
My sense is that at the moment, with a few exceptions, anyone
wanting to do freelance Haskell work would need to advocate
its use themselves, or use it in situations where the client
is more focused on the solution than the language used.
What are peoples' thoughts on this?
http://hackage.haskell.org/trac/ghc/ticket/650#comment:16
Matt
On 12/14/09, Brad Larsen brad.lar...@gmail.com wrote:
Is anyone working on fixing ticket #650
http://hackage.haskell.org/trac/ghc/ticket/650? In short, STArray
and the garbage collector don't
So my biggest reservation is if I can even call my branch the same
parser as Parsec.
Maybe we could go the way regexes: say parsec is an API, and allow
multiple backends with different characteristics as long as they
basically implement that API. In practice, a lot of parser combinator
What is the relationship between the Parsec API, Applicative
and Alternative? Is the only point of overlap `|`?
--
Jason Dusek
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe
I'm looking here at the Fibonacci stuff:
http://www.haskell.org/haskellwiki/Memoization
Since (I've read) Haskell never computes the value
of a function more than once, I don't understand the
need for memoization.
Enlighten me.
Michael
___
Bryan O'Sullivan wrote:
The new 0.7 release of the text package
http://hackage.haskell.org/package/text adds support for Unicode I/O,
using either the new locale-aware Handle code in 6.12 or a fallback on
older releases.
Details:
It does compute the result of a function application more than once if you
ask for it more than once, and that's why we need memoization.
Dan
On Tue, Dec 15, 2009 at 10:32 PM, michael rice nowg...@yahoo.com wrote:
I'm looking here at the Fibonacci stuff:
Haskell does not maintain a cache mapping function calls to their values, so if
you have some function f and call it with, say, the argument 7 in two different
places in your code, then it will re-evaluate the function at each point. The
only time it will not do this is when it can see
Am Mittwoch 16 Dezember 2009 05:08:39 schrieb Gregory Crosswhite:
Haskell does not maintain a cache mapping function calls to their values,
so if you have some function f and call it with, say, the argument 7 in two
different places in your code, then it will re-evaluate the function at
each
Hmm, you raise an
On Dec 15, 2009, at 8:28 PM, Daniel Fischer wrote:
Am Mittwoch 16 Dezember 2009 05:08:39 schrieb Gregory Crosswhite:
Not even then, necessarily. And it's not always a good idea.
f k = [1 .. 20^k]
You raise a really good point here. One can force sharing, as I
On Dec 15, 2009, at 2:09 PM, R J wrote:
Could someone provide the status and expected release date of the Haskell
Platform for Snow Leopard (Mac OS X 10.6.2)?
You can use the currently release version by following the instructions in the
Haskell wiki after you've installed it:
On Tue, Dec 15, 2009 at 8:03 PM, Ashley Yakeley ash...@semantic.org wrote:
How do you pack Unicode codepoints into Word16? Do you use UTF-16?
You don't get to find out as a user of the Text API, but yes.
Supposing -
s = \x010A60\x010A61 -- Old South Arabian script
t = pack s
Is
A bug fix affecting floating point variable initialization.
http://hackage.haskell.org/package/atom
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe
Gregg Reynolds wrote:
On Tue, Dec 15, 2009 at 3:19 PM, Anton van Straaten
an...@appsolutions.com mailto:an...@appsolutions.com wrote:
Without that advocacy, this client would have used Java by default.
As it was, the first of
I'd be interested in how you pulled that off.
http://corsis.sourceforge.net/img/csharp-6.png
http://corsis.sourceforge.net/img/csharp-6.pngo__O!?
2009/12/16 Bryan O'Sullivan b...@serpentine.com
On Tue, Dec 15, 2009 at 8:03 PM, Ashley Yakeley ash...@semantic.orgwrote:
How do you pack Unicode codepoints into Word16? Do you use UTF-16?
Hi all,
I think this (#3 below) is where I got the idea:
http://en.wikipedia.org/wiki/Lazy_evaluation
Excerpt:
---
Lazy evaluation refers to how expressions are evaluated when they are passed as
arguments to functions and entails the following three points:[1]
1. The
Am Dienstag 15 Dezember 2009 03:04:43 schrieb Richard O'Keefe:
On Dec 14, 2009, at 5:11 PM, Daniel Fischer wrote:
1. I wasn't playing in the under_score vs. camelCase game, just
proposing a possible
reason why the camelCase may have been chosen for Haskell's standard
libraries.
But the
I forgot to mention another important factor below: the fact that there
are other well-known companies in the financial industry using Haskell,
even if only in particular niches, makes the case quite a bit easier to
make than if no-one else were known to be using it. Among other things,
this
Am Mittwoch 16 Dezember 2009 05:47:20 schrieb Gregory Crosswhite:
On Dec 15, 2009, at 8:28 PM, Daniel Fischer wrote:
Am Mittwoch 16 Dezember 2009 05:08:39 schrieb Gregory Crosswhite:
Not even then, necessarily. And it's not always a good idea.
f k = [1 .. 20^k]
You raise a really good
#3 is true for Haskell, it's just that when your function call appears in two
different places, it is counted as two different expressions. Each separate
expression will only be evaluated once, though. This is what is really meant,
since the alternative --- i.e., no function ever being called
Cetin Sert wrote:
http://corsis.sourceforge.net/img/csharp-6.png
http://corsis.sourceforge.net/img/csharp-6.pngo__O!?
That's just C# string literals. In Haskell, '\x010A60' '\x010A61', but
in C#, '\x010A' '6' '0' '\x010A' '6' '1'.
--
Ashley Yakeley
Am Mittwoch 16 Dezember 2009 07:22:42 schrieb Gregory Crosswhite:
#3 is true for Haskell, it's just that when your function call appears in
two different places, it is counted as two different expressions. Each
separate expression will only be evaluated once, though. This is what is
really
Daniel == Daniel Fischer daniel.is.fisc...@web.de writes:
Daniel Now, would you be interested in a transformation the other
Daniel way round, so that you can read other people's code in
Daniel your preferred style?
I would, applied to the output of haddock, at least.
--
Colin
On Tue, 2009-12-15 at 19:32 -0800, michael rice wrote:
I'm looking here at the Fibonacci stuff:
http://www.haskell.org/haskellwiki/Memoization
Since (I've read) Haskell never computes the value
of a function more than once, I don't understand the
need for memoization.
Enlighten me.
Am Mittwoch 16 Dezember 2009 08:14:40 schrieb Maciej Piechotka:
Sorry I'm asking - is there any reason why fib memorization goes beyond:
fib' = 1 : 1 : zipWith (+) fib' (tail fib')
fib n = fib' !! n
Regards
Illustrating different memoisation techniques. This technique is rather limited
77 matches
Mail list logo