On Thu, Mar 1, 2007 at 5:21 PM, Simon Marlow [EMAIL PROTECTED] wrote:
In fact you should think of the non-threaded RTS as deprecated. It isn't
Haskell'-compliant, for one thing (assuming that Haskell' will probably
require non-blocking foreign calls).
I'm hesitant to actually deprecate it,
On Mon, Jan 07, 2008 at 10:59:02AM -0600, Spencer Janssen wrote:
On Sun, Jan 06, 2008 at 11:30:53AM +, Andrew Coppin wrote:
Just a couple of things I was wondering about...
1. Is there some way to assign a priority to Haskell threads? (The
behaviour I'd like is that high priority
On Mon, Dec 03, 2007 at 05:20:35AM +, PR Stanley wrote:
Hi
data Tree = Leaf Int | Node Tree Int Tree
occurs :: Int - Tree - Bool
occurs m (Leaf n) = m == n
occurs m (Node l n r) = m == n || occurs m l || occurs m r
It works but I'd like to know if it can be improved in any way.
On Fri, Nov 30, 2007 at 08:55:51AM +, Neil Mitchell wrote:
Hi
Prelude :b Control.Concurrent.MVar
module 'Control.Concurrent.MVar' is not interpreted
:b now defaults to :breakpoint, you want :browse
That's a questionable decision, IMO:
- it changes behavior
- I expect :browse to
On Sat, Dec 01, 2007 at 10:01:13PM -0800, Stefan O'Rear wrote:
On Sun, Dec 02, 2007 at 05:45:48AM +0100, Tomasz Zielonka wrote:
That's a questionable decision, IMO:
- it changes behavior
- I expect :browse to be used more often, so it deserves the sort
:b version (:bro is not that short
On 10/4/07, Pasqualino 'Titto' Assini [EMAIL PROTECTED] wrote:
It does not seem to be possible to define typecheck on EApp in a generic way
and is also not possible to distinguish between the different cases:
You want to pattern-match on types and the easiest way to do it is to
introduce a
On Thu, Oct 04, 2007 at 05:05:23PM +0100, Pasqualino 'Titto' Assini wrote:
Hello Tomasz,
thank you very much for your advice.
Just a quick question, why using your own Dyn rather than Data.Dynamic?
Well, it's a bit different from Data.Dynamic. You have a guarantee that
(Dyn Term) contains
On 9/27/07, [EMAIL PROTECTED]
[EMAIL PROTECTED] wrote:
Thomas Conway writes:
On 9/27/07, ok [EMAIL PROTECTED] wrote:
I have often found myself wishing for a small extension to the syntax of
Haskell 'data' declarations. It goes like this:
['where' clause to allow locally defined
On Tue, Sep 18, 2007 at 02:26:38PM -0400, Olivier Boudry wrote:
Hi all,
I just tried the new GHCi debugger. A great new feature of GHCi 6.8.1.
When debugging a function, as for example the qsort function given as an
example in the 3.5 The GHCi Debugger documentation page, the debugger will
On Thu, Sep 13, 2007 at 01:07:18AM +0100, Ian Lynagh wrote:
We are pleased to announce the Release Candidate phase for GHC 6.8.1.
Snapshots beginning with 6.8.20070909 are release candidates for 6.8.1
You can download snapshots from here:
On Mon, Sep 03, 2007 at 07:46:17AM +0100, Andrew Cheadle wrote:
% ECLiPSe sample code - Sudoku problem
%
%This is a puzzle, originating from Japan
I'm not sure about it. See the History section on
http://en.wikipedia.org/wiki/Sudoku
Apparently Japan was the place where Sudoku started
On Thu, Aug 30, 2007 at 08:33:37AM +0100, Simon Marlow wrote:
Tomasz Zielonka wrote:
Hello!
Consider:
$ cat R.hs main = return [()]
$ runghc R.hs [()]
This was a bit surprising for me, because I thought that runghc
mimics the way a compiled program behaves.
This doesn't happen with 6.6.1
Hello!
Consider:
$ cat R.hs
main = return [()]
$ runghc R.hs
[()]
This was a bit surprising for me, because I thought that runghc
mimics the way a compiled program behaves.
Best regards
Tomek
___
Glasgow-haskell-bugs mailing list
On Sat, Aug 11, 2007 at 09:58:05AM +0200, Frank Buss wrote:
Is it possible to write a function like this:
zipn n list_1 list_2 list_3 ... list_n
which implements zip3 for n=3, zip4 for n=4 etc.? Looks like variable number
of arguments are possible, like printf shows, so a general zipn
On Wed, Jul 04, 2007 at 11:16:20PM -0700, Stefan O'Rear wrote:
The documentation says:
| Computation exitWith code throws ExitException code. Normally this
| terminates the program, returning code to the program's caller. Before
| the program terminates, any open or semi-closed handles are
On Tue, Jul 03, 2007 at 09:28:35AM +0100, Simon Peyton-Jones wrote:
We have just instituted a cheap-and-cheerful mechanism for voting.
Each bug has a 'cc' field. To vote, just add your email address to
the cc field!
How should we separate email addresses?
Right now people use different
On Mon, Jun 25, 2007 at 10:29:14AM +0200, Henning Thielemann wrote:
Imagine all performActions contain their checks somehow. Let
performActionB take an argument.
do
x - performActionA
y - performActionB x
z - performActionC
return $ calculateStuff x y z
Now
On Sun, Jun 24, 2007 at 10:55:40PM +0200, Hugh Perkins wrote:
Anyway, the jist of our conversation was that it's not possible to create
arbitrary datatypes/constructors from strings in Haskell. Can anyone
deny/confirm?
If you want a function like fromConstr, where the 'a' depends on the
input
On Fri, Jun 22, 2007 at 10:57:58AM +0200, Cristiano Paris wrote:
Quoting Bryan:
*From this you can see that 10 is not necessarily an Int, and 5.0 is
*not necessarily a Double. So the typechecker does not know, given just
10 and 5.0, which instance of 'foo' to use. But when you explicitly
On Thu, Jun 21, 2007 at 03:34:54PM +0930, Levi Stephen wrote:
Is there a way through combining types/parsers that the double do
block in primary could be avoided?
I understand it's necessary right now because the parsers identifier
and stringLiteral return different types, so I can't just
On Mon, Jun 18, 2007 at 10:05:40PM +0100, Pasqualino 'Titto' Assini wrote:
Most languages, even Java, have a reflection capability to dynamically
inspect an object.
_Even_ Java? That's a strange point of view considering how much money
went into this technology.
I also find it hard to believe
On Thu, Jun 21, 2007 at 10:27:58AM +0200, Tomasz Zielonka wrote:
On Mon, Jun 18, 2007 at 10:05:40PM +0100, Pasqualino 'Titto' Assini wrote:
Most languages, even Java, have a reflection capability to dynamically
inspect an object.
It is surprising that Haskell doesn't offer it.
I'll just
[I hope you don't mind that I send this letter to haskell-cafe too.
I thought someone else might be interested.]
On Mon, Jun 18, 2007 at 10:52:40AM -0700, Greg Fitzgerald wrote:
first let's see if anybody likes the general idea
Would you mind describing the role of Depends.hs in your
On Tue, Jun 19, 2007 at 07:26:20PM +0100, Andrew Coppin wrote:
However, Haskell only has 1 type of collection: linked lists. (And only
single-linked at that.) While other normal programming languages spend
huge amounts of effort trying to select exactly the right collection
type for the
On Fri, Jun 15, 2007 at 11:31:36PM +0100, Jim Burton wrote:
I think that would only work if there was one column per line...I didn't
make it clear that as well as being comma separated, the delimiter is
around each column, of which there are several on a line so if the
delimiter is ~ a file
On Sat, Jun 16, 2007 at 12:08:22PM +0100, Jim Burton wrote:
Tomasz Zielonka wrote:
It would be easier to experiment if you could provide us with an
example input file. If you are worried about revealing sensitive
information, you can change all characters other then newline
On Fri, Jun 15, 2007 at 02:13:18PM -0700, Greg Fitzgerald wrote:
Tomek,
If you want to see the code I will try to release it
I'm very interested.
It seems I started rewriting this from scratch at home, so I can easily
release it. Here is the darcs repo:
On Sat, Jun 16, 2007 at 04:17:39PM +0100, Eric wrote:
import Network
import System.IO
import Data.ByteString as Bits(ByteString, hGetContents)
soc - listenOn $ PortNumber 2007
(hdl, host, port) - accept soc
hSetBuffering hdl No Buffering;
bs - Bits.hGetContents hdl; -- blocks here
On Thu, Jun 14, 2007 at 05:55:46PM -0700, Greg Fitzgerald wrote:
Has anyone embedded a build language in Haskell? Something like
Rakehttp://rake.rubyforge.org/is to Ruby, but in Haskell or any
statically-typed functional language.
I have. It consists of such components:
- A type for build
On Tue, Jun 12, 2007 at 05:19:37PM +0200, Wolfgang Jeltsch wrote:
It is always the *least* fixpoint. For example, (0 *) has the fixpoint _|_
(because 0 * _|_ = _|_) but every integer is also a fixpoint of it.
0 * 5 = 5 ?
You probably meant (1 *) or (0 +).
Best regards
Tomek
On Sun, May 13, 2007 at 02:19:55PM +0100, Andrew Coppin wrote:
Writing *insanely* efficient number chrunking software requires a deep
understanding of the target architecture, and lots of playing with very
low-level constructs. Assembly is really the only language you can do it
with; even C
On Fri, Jun 08, 2007 at 05:23:23PM +0200, Phlex wrote:
But i don't seem to find a way to get out of this DbIndex type to
actually work on the enclosed index.
for instance, this doesn't work:
liftDbIndex (DbIndex index) fun = DbIndex (fun index)
The compiler probably can't infer
On Fri, Jun 08, 2007 at 07:49:20PM +0200, Tomasz Zielonka wrote:
On Fri, Jun 08, 2007 at 05:23:23PM +0200, Phlex wrote:
But i don't seem to find a way to get out of this DbIndex type to
actually work on the enclosed index.
for instance, this doesn't work:
liftDbIndex (DbIndex index
On Thu, May 31, 2007 at 04:52:57AM +0100, PR Stanley wrote:
What justifies False True?
This way we have only one person asking such question.
If it was done the other way, there would be hundreds... ;-)
BTW, your question provoked an interesting discussion and generated some
nice answers (I
On Wed, May 30, 2007 at 05:12:48PM +0200, Henk-Jan van Tuyl wrote:
On Wed, 30 May 2007 09:38:10 +0200, Tomasz Zielonka
[EMAIL PROTECTED] wrote:
On Tue, May 29, 2007 at 09:43:03PM +0100, Andrew Coppin wrote:
Henning Thielemann wrote:
On Sun, 27 May 2007, Andrew Coppin wrote:
But every now
On Thu, May 31, 2007 at 06:16:20PM +0100, Jon Harrop wrote:
I can't think of a lightweight way to encode overlapping enumerations in
Haskell.
I'd like to know if this is possible in Haskell.
Maybe this way using GADTs and typeclasses? I haven't used such code in
practice - there may be
On Thu, May 31, 2007 at 09:04:30PM +0200, Tomasz Zielonka wrote:
On Thu, May 31, 2007 at 06:16:20PM +0100, Jon Harrop wrote:
I can't think of a lightweight way to encode overlapping enumerations in
Haskell.
I'd like to know if this is possible in Haskell.
Maybe this way using GADTs
On Thu, May 31, 2007 at 08:47:28PM +0100, Andrew Coppin wrote:
If you're bored... can you come up with a solution to this?
http://warp.povusers.org/ProgrammingChallenge.html
(Obviously a pretty silly challenge, but hey.)
I fail to see what this has to do with expressive power, which
it's
On Thu, May 31, 2007 at 08:47:28PM +0100, Andrew Coppin wrote:
If you're bored... can you come up with a solution to this?
http://warp.povusers.org/ProgrammingChallenge.html
(Obviously a pretty silly challenge, but hey.)
My first instinct was to use Data.Bits - but I see no instance for
On Tue, May 29, 2007 at 09:43:03PM +0100, Andrew Coppin wrote:
Henning Thielemann wrote:
On Sun, 27 May 2007, Andrew Coppin wrote:
But every now and then I discover an expression which is apparently not
expressible without them - which is odd, considering they're only
sugar...
Example?
On Tue, May 29, 2007 at 06:40:05PM -0700, Jason Dagit wrote:
Speaking of cute code, I'm fond of this:
map length . List.group . Control.Monad.Fix.fix $ show
fix show is cool in itself! :-)
Best regards
Tomek
___
Haskell-Cafe mailing list
On Wed, May 30, 2007 at 02:35:38PM +0200, Henning Thielemann wrote:
On Tue, 29 May 2007, Andrew Coppin wrote:
OTOH, how many function can you write with :: [Int] - Int? I can think
of a few...
You will probably more like to implement functions like
Ord a = [a] - a
Num a = [a] - a
On Mon, May 28, 2007 at 11:43:47AM +0100, Andrew Coppin wrote:
- Chapter 2 is... puzzling. Personally I've never seen the point of
trying to check a program against a specification. If you find a
mismatch then which thing is wrong - the program, or the spec?
Knowing that one of them is wrong
On Tue, May 29, 2007 at 11:20:27AM +0100, David House wrote:
On 29/05/07, Daniel McAllansmith [EMAIL PROTECTED] wrote:
Just in case there was some sort of miscommunication, the actual answer to
your question is (/=) :: a - a - Bool, as Neil said.
Almost, (/=) :: Eq a = a - a.
Almost again!
On Tue, May 29, 2007 at 12:15:23PM +0200, Vincent Kraeutler wrote:
Donald Bruce Stewart wrote:
P.S. Have some cute code:
Control.Monad.Fix.fix ((1:) . scanl (+) 1)
this is cute indeed! (do you keep an emergency reserve of those around
for situations like this? ;-))
ever the
On Tue, May 29, 2007 at 02:19:31PM +0200, Tomasz Zielonka wrote:
On Tue, May 29, 2007 at 12:15:23PM +0200, Vincent Kraeutler wrote:
ever the interested amateur, i admittedly remain stumped by fix (there's
evidence i'm not the only one [1])
The above code is equivalent to
let l = 1
On Sun, May 27, 2007 at 11:12:47AM +0100, Andrew Coppin wrote:
So, clearly, (-) is not associative.
That's right.
Now I'm left wondering why you can bracket the type for map in two
different ways
Are you sure you can?
Best regards
Tomasz
___
On Sun, May 27, 2007 at 12:22:54PM +0200, Joachim Breitner wrote:
Hi,
Am Samstag, den 26.05.2007, 14:29 +0200 schrieb Tomasz Zielonka:
On Fri, May 25, 2007 at 07:57:45PM +0200, Joachim Breitner wrote:
I???m writing a TCP server app ATM. It has one thread per client. Some of
the clients
On Fri, May 25, 2007 at 07:57:45PM +0200, Joachim Breitner wrote:
I???m writing a TCP server app ATM. It has one thread per client. Some of
the clients want to be notified if the internal state changes, while
others are happily chatting with the server, possible modifying the
internal state.
On Tue, May 15, 2007 at 06:55:11AM -0700, Conal Elliott wrote:
You could also use mappend instead of concatStmts and keep the Database -
IO () representation.- Conal
You mean using the (Monoid b) = Monoid (a - b) instance ?
I can see that IO () makes a perfect Monoid, but there doesn't seem
On Wed, May 16, 2007 at 12:38:55AM -0400, Brandon S. Allbery KF8NH wrote:
On May 16, 2007, at 0:35 , Rob Hoelz wrote:
wrapping returns time_t. I see that this maps to CTime in
Foreign.C.Types, but I can't figure out how to convert it to an Int
(or
any other useful Haskell type, for that
On Wed, May 16, 2007 at 09:28:31AM +0100, Jules Bean wrote:
Tomasz Zielonka wrote:
You mean using the (Monoid b) = Monoid (a - b) instance ?
I can see that IO () makes a perfect Monoid, but there doesn't seem to
be a standard instance for that.
Indeed, all Monads are Monoids (that is, if m
Hello!
In a CGI application I was gathering SQL statements I wanted to run in
the final transaction. Because I use haskelldb, it was most convenient
to use (Database - IO ()) as the type of the statement or a group of
statements. In this representation concatenating two statement groups so
they
On Tue, May 15, 2007 at 11:15:20AM +0100, Jules Bean wrote:
Tomasz Zielonka wrote:
My mistake was that I forgot about db and wrote:
concatStmts s1 s2 = s1 s2
And it was accepted because I had the Monad instance for ((-) r) in
scope (from Control.Monad.Trans I guess)!
The danger
On Tue, May 15, 2007 at 02:27:13PM +0200, Arie Peterson wrote:
Hi Tomek!
Hi!
Have you considered changing the statements to have type 'ReaderT Database
IO ()'? Then () actually does what you want.
I tried it and it made the code simpler, more readable and of course
more immune to this type
On Wed, May 09, 2007 at 04:11:40PM +0200, Nils Anders Danielsson wrote:
On Wed, 09 May 2007, Stefan O'Rear [EMAIL PROTECTED] wrote:
To the best of my knowledge, there are no optimizations specific to []
in the compiler proper.
However, the standard library has a *lot* of speed hacks you
Hello!
I've got such a compilation error on code that was accepted by an
earlier GHC:
Expr/Names.hs:19:66:
GADT pattern match in non-rigid context for `TypeInt'
Tell GHC HQ if you'd like this to unify the context
In the pattern: TypeInt
In the pattern:
On Fri, Apr 27, 2007 at 03:22:26PM +0100, Frederik Eaton wrote:
I like the new printing behaviour for (a1), but not for (b1). How do I
bind a variable to the result of an IO action without printing that
variable?
It seems that the value is not printed when there are more than one
pattern
On Thu, Apr 19, 2007 at 05:45:18PM +0100, Neil Mitchell wrote:
And I would recommend using VBA, I've done loads of Excel programming
- VBA is perfectly easy enough, the hard bit is the Excel API which is
quite big. If you move to Haskell you get a slightly better
programming language, with the
On Wed, Apr 11, 2007 at 05:55:08AM -0700, kynn wrote:
Perl is a large, ugly, messy language filled with quirks and eccentricities,
while Haskell is an extremely elegant language whose design is guided by a
few overriding ideas. (Or so I'm told.)
Based on this one would think that it would
On Mon, Mar 26, 2007 at 09:18:34PM -0700, Stefan O'Rear wrote:
[EMAIL PROTECTED]:/tmp$ cat A.lhs
{-# OPTIONS_GHC -fglasgow-exts #-}
data IsIntT x where IsIntT :: IsIntT Int
class IsIntC a where isInt :: IsIntT a
instance IsIntC Int where isInt = IsIntT
newtype Foo = Foo Int
On Mon, Mar 19, 2007 at 05:11:19PM +, Edsko de Vries wrote:
What I'm wondering about is if this monad is an instance of a more
general monad(if so, which one?), and generally if people have any
comments about these definitions.
It's like the Writer monad used with different monoids.
On Mon, Mar 12, 2007 at 11:24:48AM +0100, Maxime Henrion wrote:
While using the very nice option combinator of Parsec recently, it
seemed to me that it would be useful to have a more specific kind of
combinator for optional tokens that wraps the token into a Maybe type.
So, that gives:
On Tue, Feb 06, 2007 at 12:12:09PM +1100, Donald Bruce Stewart wrote:
And note that strings aren't a bottleneck anymore!
http://shootout.alioth.debian.org/gp4/benchmark.php?test=sumcollang=all
I think Haskell GHC #2 doesn't play by the rules:
diff program output for this 6KB
On Sat, Feb 03, 2007 at 10:13:17AM +0100, [EMAIL PROTECTED] wrote:
Chad Scherrer wrote:
So in reality, I'm trying to construct something like
f :: (a - STM b) - STM (a - b)
Indeed, such an f most likely does not exist.
Yes, consider:
f readTVar :: STM (TVar c - c)
That would be pretty
On Wed, Jan 31, 2007 at 07:46:15PM +0300, Bulat Ziganshin wrote:
Wednesday, January 31, 2007, 12:01:16 PM, you wrote:
there are also many other similar issues, such as lack of good syntax
for for, while, break and other well-known statements,
On the other hand you have an ability to
On Wed, Jan 31, 2007 at 02:46:27AM +0300, Bulat Ziganshin wrote:
2. it bites me too. it's why i say that C++ is better imperative
language than Haskell.
there are also many other similar issues, such as lack of good syntax
for for, while, break and other well-known statements,
On the other
On Tue, Jan 30, 2007 at 09:38:26AM +, Ross Paterson wrote:
On Tue, Jan 30, 2007 at 09:52:01AM +1100, Donald Bruce Stewart wrote:
ross:
why do you need a Put monad, which always seems to have
the argument type ()? Monoids really are underappreciated.
For the syntax, and So that
On Tue, Jan 30, 2007 at 10:22:58AM +, Duncan Coutts wrote:
I was about to say that for the more complicated binary serialisation
formats (eg GHC's .hi format) people need monads with state, like string
pools etc, but actually now that I think about it, that can be done with
a monoid too.
On Tue, Jan 30, 2007 at 09:52:01AM +1100, Donald Bruce Stewart wrote:
For the syntax, and So that people can directly port their code from
NewBinary.
(The instances are basically unchanged).
newtype PutM a = Put { unPut :: (a, Builder) }
type Put = PutM ()
It is always ().
BTW,
On Sat, Jan 27, 2007 at 02:04:32PM -0500, Steve Schafer wrote:
This is not just a progrmaming issue; I encounter the same phenomenon
pretty much everywhere: I'm currently trying to build a house, and I've
found that most of the people who are in the business of building houses
don't want to
On Fri, Jan 26, 2007 at 03:12:29PM +, Dougal Stanton wrote:
Quoth Arie Peterson, nevermore,
I also fear that the existing script does not handle types with more than
256 constructors correctly. While uncommon, those are not unrealistic.
256 constructors ought to be enough for anybody?
On Fri, Jan 26, 2007 at 02:16:22PM +1100, Donald Bruce Stewart wrote:
We believe so, and its a bug if this is not the case.
The src documents the encoding format used for each type (we were unable
to attach haddocks to instances.. grr.)
All data is encoded in Network order, and extended to
On Fri, Jan 26, 2007 at 04:31:28PM +0100, Henning Thielemann wrote:
On Fri, 26 Jan 2007, Donald Bruce Stewart wrote:
Binary: high performance, pure binary serialisation for Haskell
--
The Binary Strike
On Mon, Jan 22, 2007 at 11:34:32PM +0100, Benjamin Franksen wrote:
I would be interested whether you can not only /check/ well-typedness, but
also /establish/ it, i.e. is it possible to have the input to the
type-checker be an /untyped/ representation (such as obtained by parsing a
program in
On Wed, Jan 17, 2007 at 01:17:33AM -0800, Conal Elliott wrote:
- Phooey is now used in TV: http://haskell.org/haskellwiki/TV .
Is this so that you can use this famous advertising phrase: as seen on
TV, ehm..., ... in TV ;-)
Best regards
Tomasz
___
On Sat, Jan 13, 2007 at 01:49:36PM +1000, Matthew Brecknell wrote:
Rather than having a separate thread computing the random numbers
using IO, why not just stick an StdGen in a TVar and write a function
like:
type RandomVar = TVar StdGen
rnd :: RandomVar - STM a
rnd var = do
g
On Mon, Jan 08, 2007 at 08:02:36AM -0500, Lennart Augustsson wrote:
So Terminating contains all the terminating terms in the untyped
lambda calculus and none of the non-terminating ones. And the type
checker checks this. So it sounds to me like the (terminating) type
checker solves the
On Sat, Jan 06, 2007 at 10:31:08AM +, Duncan Coutts wrote:
On Fri, 2007-01-05 at 17:51 +, Pedro Baltazar Vasconcelos wrote:
Athlon XP 2800 (32-bit): 7.98 secs
Athlon 64 3800 (64-bit): 10.29 secs
This is using GHC 6.6 on the 64-bit machine and 6.4.1 on the 32-bit one.
On Fri, Dec 29, 2006 at 03:36:45AM -0500, [EMAIL PROTECTED] wrote:
And if you don't want to think about it, this should make everything
clear:
f :: A - (B - (C - D))
f a :: B - (C - D)
(f a) b :: C - D
((f a) b) c :: d
Nice illustration. It's as if the letters jumped over
On Fri, Dec 29, 2006 at 07:58:54PM +1100, Donald Bruce Stewart wrote:
Since this data type:
data Store a = E a | S [Store a]
deriving (Show)
Is isomorphic to the normal Data.Tree type anyway, so we'll use that:
It's a bit different - store has labels only in its leaves.
On Fri, Dec 29, 2006 at 02:06:32PM +, Paul Moore wrote:
Speaking as a relative newbie to Haskell, the thing that tripped me up
was the fact that you can't have nested lists like the Lisp '(1 (2 (3
4) 5)) example in Haskell, because its type is not well-defined.
More precisely: You can't
On Tue, Dec 26, 2006 at 09:56:11PM -0500, Steve Schafer wrote:
But that isn't quite the case. Each step consumes not only the results
of the previous step, but also some combination of the results of
prior steps and/or the original inputs. One way to look at this is a
directed graph, a sort of
On Fri, Dec 22, 2006 at 06:16:03PM +0100, Joachim Durchholz wrote:
* Forcing the expressions that get written out means that I cannot use
lazy evaluation freely. In particular, if some library code returns a
data structure that contains a lazy-infinite subexpression, serializing
it would
On Tue, Dec 19, 2006 at 06:19:25PM +, Neil Mitchell wrote:
Imagine you are writing a version control client, people will complain
because certain operations take 100's of years on their big Haskell
repo. [I use Hugs, and complain that darcs on the Yhc repo sometimes
goes into virtual
On Wed, Dec 20, 2006 at 11:03:42PM +0100, Joachim Durchholz wrote:
If yes: are there workarounds? I'd really like to be able to use
infinite data structures in the data that I serialize.
There is an interesting technique thay allows you to serialize infinite,
lazy or functional values: don't
On Tue, Dec 19, 2006 at 12:31:01PM +0300, Bulat Ziganshin wrote:
it was because C++ program was not optimized at maximum, yes? :) we are
saying about PGP, are you believe that its code isn't yet optimized?
We are talking about _useful_ programs. A program doesn't have to be
blindingly fast to
On Tue, Dec 19, 2006 at 12:33:18PM +0300, Bulat Ziganshin wrote:
Are you claiming that every (even slightly) non-trivial problem
(or algorithm) results in a mess of IO code in Haskell? Come on, admit
that you like to program in imperative style, and that's why you end up
with such mess ;-)
On Tue, Dec 19, 2006 at 12:39:31PM +0300, Bulat Ziganshin wrote:
Tuesday, December 19, 2006, 12:33:54 PM, you wrote:
it was because C++ program was not optimized at maximum, yes? :) we are
saying about PGP, are you believe that its code isn't yet optimized?
We are talking about _useful_
On Tue, Dec 19, 2006 at 01:24:36PM +0100, Tomasz Zielonka wrote:
I see a lack of will to understand on your part (the same thing you see
in me :-). My statements are not contradictory: Some of the programs I
was talking about were throw-away programs, for one use, and I would be
satisfied even
On Mon, Dec 18, 2006 at 04:59:45PM +, Joachim Breitner wrote:
Well, that???s a possible implementation of a maybeToM. The question is:
Is it useful enough for a name on it???s own?
OK, I agree it's sufficiently useful, and it's a generalization of
Data.Maybe.maybeToList. Perhaps we could
On Tue, Dec 19, 2006 at 12:52:17PM +0100, Joachim Durchholz wrote:
Tomasz Zielonka schrieb:
On Mon, Dec 18, 2006 at 12:14:36AM +0100, Joachim Durchholz wrote:
Haskell might be prone to denial-of-service attacks. E.g. sending it
data that cause it to evaluate an infinite data structure
On Tue, Dec 19, 2006 at 07:14:09PM +0100, [EMAIL PROTECTED] wrote:
Tomasz Zielonka [EMAIL PROTECTED] writes:
Anyway, don't concentrate on this particular example. All I say is that:
- sometimes I get efficient programs in Haskell right away (I my case
quite often, but YMMV
On Mon, Dec 18, 2006 at 09:29:24AM +, Joachim Breitner wrote:
dons mentions in his blog post that Data.Map???s lookup is generalized
over the Monads, whereas Prelude.maybe isn???t. Are there good reasons not
to do that to Prelude.maybe as well?
I can't see how such a generalization could
On Mon, Dec 18, 2006 at 04:59:45PM +, Joachim Breitner wrote:
Well, that???s a possible implementation of a maybeToM. The question is:
Is it useful enough for a name on it???s own?
...and for putting it in Prelude?
It would be interesting to try to estimate the number of functions
useful
On Tue, Dec 19, 2006 at 01:55:55AM +0300, Bulat Ziganshin wrote:
no. it seems that you never tried to write such code and believe someone
else who's said that such code may be written. try to write something very
simple, like summing bytes in memory buffer, before you will do any
conclusions
On Mon, Dec 18, 2006 at 11:57:59PM +0100, [EMAIL PROTECTED] wrote:
... but I wonder: GPG, AFAIK undertakes some special measures to
ensure that neither clear text nor private keys are paged out to the
disk (since it might be recovered from there by the enemy). How
would you lock data in memory
On Tue, Dec 19, 2006 at 12:26:29AM +0100, [EMAIL PROTECTED] wrote:
You could just mlock() everything allocated by the RTS...
Brute force. :-)
I would call it simplicity ;-)
This way you are also guarding yourself against inadvertenty leaking
clues about the key to non mlock'ed memory (cause
On Sun, Dec 17, 2006 at 03:43:27PM +0300, Bulat Ziganshin wrote:
Haskell can't provide fast execution speed unless very low-level
programming style is used (which is much harder to do in Haskell than in C,
see one of my last messages for example) AND jhc compiler is used
I have experienced the
On Mon, Dec 18, 2006 at 12:14:36AM +0100, Joachim Durchholz wrote:
Magnus Therning schrieb:
There is of course the possibility that Haskell would bring a whole slew
of yet-to-be-determined security issues. I doubt it will be worse than
C though.
Haskell might be prone to denial-of-service
1 - 100 of 644 matches
Mail list logo