Hi Alson,
So why not {hello: 1, there: 2} ?
A comment from the peanut gallery:
I took circ's comment to be a suggestion that we adopt an _idiom_.
That you can non-idiomatically accomplish the same thing in Haskell by
defining some datatypes and functions doesn't seem to address the core
Hi Niklas,
I certainly have OPTIONS_DERIVE and CATCH pragmas that I've inserted
into various programs over time.
Are you sure that would be a problem? Seems to me that OPTIONS_DERIVE
would appear in the same position as any other OPTIONS pragma, in
which case HSE will handle it just fine. I
Hi
Clicking up once makes you vote up, clicking up again cancels your up
vote. i.e. to cancel an upvote, click up again. Similarly clicking
down votes down, clicking again removes your down vote. So therefore
clicking up, then down, is (+1) then (-2).
Thanks
Neil
Then I clicked on the
Hi
Bringing up an old thread, but this issue just bit me in real life:
[0, 2.5 .. 3.75 ] = [0, 2.5, 5.0]
I was comparative testing some C++ and some Haskell, and its a shame
when its the Haskell that is clearly wrong! I don't think any end
decision was reached in this thread, but I think this
Hi Niklas,
Apart from this, HSE now also parses any unrecognized pragma in option
(e.g. LANGUAGE), declaration (e.g. RULES) or expression (e.g. SCC)
position, allowing user-customized pragmas. Unrecognized pragmas in
other positions will (unfortunately) give a parse error. If this ever
means
While that's true, Haskell also makes it easy to make the same sort of
error with IO (or any other Monad) values, whether created with the FFI
or not. If you say
f = do x
y
z
and y has type IO CInt then you won't get an error (and I don't think
you can even ask for
Hi Ganesh,
Are there any Haskell libraries around for manipulating predicate formulae?
I had a look on hackage but couldn't spot anything.
http://www.cs.york.ac.uk/fp/darcs/proposition/
Unreleased, but might be of interest. It simplifies propositional
formulae, and can do so using algebraic
Hi
I've talked to John a bit, and discussed test cases etc. I've tracked
this down a little way.
Given the attached file, compiling witih SHORT_EXPORT_LIST makes the
code go _slower_. By exporting the print_lines function the code
doubles in speed. This runs against everything I was expecting,
Hi
instance Monad m = Monad (IterateeGM el m) where
{-# SPECIALISE instance Monad (IterateeGM el IO) #-}
does that help?
Yes. With that specialise line in, we get identical performance
between the two results.
So, in summary:
The print_lines function uses the IterateeGM with IO as the
Hi Stephen,
I've now worked around this bug in Hoogle - I'm just about to rebuild
the website, and hopefully the bug will have disappeared. (Rebuilding
the website could take a few days, as I'm currently hunting for the
right compiler etc...)
Thanks
Neil
On Fri, Nov 21, 2008 at 8:21 AM,
Fellow Haskelleers,
it is my pleasure to announce the new release of the haskell-src-exts
package, version 0.4.1:
All looks great :-)
I upgraded my project using HSE, which made very heavy use of the
library, in about 15 minutes. And that included getting name 3 clashes
and fixing one abuse
Hi
The answer is to add a line similar to:
@haddock
http://hackage.haskell.org/packages/archive/Cabal/latest/doc/html/
to the Text file you get out of haddock --hoogle.
You can also add an @hackage url, which is treated as the home page of
the package.
Aha, I had not detected that at
Hi
For no escaping of any characters, or more likely do something like ,
and conversions. See the docs:
http://hackage.haskell.org/packages/archive/tagsoup/0.6/doc/html/Text-HTML-TagSoup-Render.html
Well, I did look at that Haddock page, as well as the others. But honestly,
just a bare
Hi
Ignore the previous email message, as soon as I sent the email it
started working - I guess it was just code.haskell.org server issues.
Thanks
Neil
On 9/14/08, Neil Mitchell [EMAIL PROTECTED] wrote:
Hi
I'm currently unable to push to [EMAIL PROTECTED]:/srv/code/hoogle
using darcs
Hi Gwern,
Sorry for not noticing this sooner, my haskell-cafe@ reading is
somewhat behind right now!
After an hour, I came up with a nice clean little script:
import Text.HTML.TagSoup.Render
import Text.HTML.TagSoup
main :: IO ()
main = interact convertPre
convertPre ::
Hi
After the explanations, I think I got it, and just
updated the wiki.
Many thanks. That wiki page is automatically pulled into the Hoogle
search engine when I update it, so having good definitions for every
new keyword is a real bonus :-)
I also got a
few wrong default links (I just
Hi
Tools like Neil Mitchell's Catch can do more sophisticated checking, as long
as your program can be compiled by YHC. Sometimes fromJust can be quite
useful, though, especially in tandem with isJust. For example,
prop_foobar :: SomeType - Property
prop_foobar x
= isJust (someTypeToMaybe
Hi
(*) that's the main problem I see with Hutton's book
http://www.cs.nott.ac.uk/~gmh/book.html :
it has Declaring types and classes as chapter 10 (of 13 total).
I think that's way off - and it leaves readers (students)
with the impression that declarative programming
basically deals with
That book is about teaching Haskell, not advertising it. If I wanted
to advertise how cool Haskell was, I probably wouldn't dwell on lists.
But to learn Haskell, I spent the first few years doing either list
processing or very simple algebraic data types, and I think it made me
a better
Hi
At the same place, I found that example,
but wasn't wise enough to figure out
what it does:
(f *** g) ~(x,y) = (f x, g y)
Can you help me understand it?
It means exactly the same as:
(f *** g) xy = (f (fst xy), g (snd xy))
i.e. if you call (f *** g) undefined, you will get (f
Hi
I'm writing a simple interpretter for a small extended-lambda-calculus sort
of language. And I'd just like to say... RECURSIVE LET-BINDS! GH!!! _
Agreed :-)
To illustrate:
let x = f x; y = 5 in x y
A simple-minded interpretter might try to replace every occurrance of x
with f x.
Hi
1) I want to upload a version with minor changes. Should I send out an
announcement?
How minor are the changes? I tend to annouce no more than once every
few months for a package, and when its popular or has new features
people might be interested in
(I am assuming this is a package
Hi
across increasing cores? (I am assuming that things like par construct are
monadic).
http://haskell.org/hoogle/?q=par
Control.Parallelpar :: a - b - b
No monads :-)
Thanks
Neil
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
Hi Claus,
I seem to be unable to join the ghc chatroom at irc.freenode.net
at the moment (using Opera). Is that an issue with my irc client or a
general problem?
I have joined just fine, using mibbit.com (from in Opera)
Thanks
Neil
___
Hi
1. Allow empty case, i.e. case some_variable of { } (GHC ticket [1]).
This adds consistency, it always causes a pattern-match error, and it is a
sensible way to look at all the cases of types with no constructors (recall
EmptyDataDecls will probably be in Haskell' [4]) -- especially for
Hi
So I suggest we propose moving all the core packages to git, and we
translate all those for which nobody objects to the change. For the others,
we'll keep them in darcs and live with the pain.
Does this mean my (now the communities) FilePath library is going to
get moved over to git?
I
Hi Brad,
I already generate lots of Haskell API data for Hoogle
(http://haskell.org/hoogle and http://haskell.org/hoogle/beta). Do you
have any more details, or a link to the java api search plugin? If you
want to do this, I'd love to talk - it should be possible to add it
into Hoogle without too
Hi Gregory,
Sounds fantastic. I'd love to see a single example of the resultant
.dot file, so I can figure out just how useful this might be to me.
Thanks
Neil
On Tue, Aug 5, 2008 at 8:50 PM, Gregory Wright [EMAIL PROTECTED] wrote:
I am pleased to announce the release of prof2dot version
Hi
I would contribute to darcs if only...
The darcs2 announcement strongly suggested that darcs would no longer be
developed. This was brought up in the #ghc discussion about whether to
switch.
I agree strongly with this. I would be much more likely to contribute
if the project seemed
Hi
Any suggestions and feedback is highly welcomed.
Well, it is currently not in a usable state: the page randomly inserts funny
characters into the text input field. (I'm using Konqueror)
It also deletes characters in some cases in the text input field using Opera.
Still very impressive
Hi
Why such a style doesn't work, so I must write ugly code like that:
outStanza a | (isMessage a) = outMessage a
| (isPresence a) = outPresence a
| (isIQ a) = outIQ a
You can make it slightly prettier, since the brackets are not necessary:
outStanza a | isMessage
Hi
Suggested by Andrew Wager on libraries@, moving to haskell-cafe@ since
its a really interesting idea and libraries is probably not the best
place for it.
Not sure if this is the best place to suggest this, but I was
wondering about the possibility of extending the model that we
Hi
Another option is a conference call, but personally I prefer the IRC medium
for this kind of meeting. A conference call could work too, though.
i propose to sent every meeting log into cvs-ghc
I second this. The mibbit.com IRC client is currently blocked by
freenode.net, so I am
Hi Dmitri,
How did you obtain Haddock 2.0? Did you download it off hackage and
install it, using the standard cabal bits?
Can you also do runhaskell Setup configure -v, so we can see which
Haddock Cabal is attempting to use.
Thanks
Neil
C:\wks\haqrunhaskell Setup.lhs haddock --executables
Hi Rodrigo,
Is there any function that can be used for retrieving the exposed functions
of a given module?
Not at runtime, but if you are just looking for documentation, there
is online documentation here:
http://haskell.org/ghc/docs/latest/html/libraries/base/Prelude.html
Thanks
Neil
Hi Ron,
I'm using GHC 6.8.3 with $ cabal --version
cabal-install version 0.5.1
using version 1.4.0.1 of the Cabal library
I installed Data.Derive from hackage, only to be unable to find the
'derive' binary!
Did you do the runhaskell Setup configure runhaskell Setup build
runhaskell
Hi
Did you do the runhaskell Setup configure runhaskell Setup build
runhaskell Setup install?
I used 'sudo cabal install derive'. I did find the binary - in my
user's .cabal/bin directory! Odd that it should default to that when
run as root.
I think if you pass --global as a flag
Hi
declaration with a regular syntax. For example:
import Data.Map as Map
unqualified (Map, (\\))
qualified (lookup, map, null)
hiding (filter)
I think I prefer this to my proposal, plus its closer to the current
syntax. I think its also nearly equal to
Hi
Just to say that I also like this design. A minor point would be; do we
really need the parentheses and commas? or could we not just use
indentation (I think this about module imports in general).
Yes, then you could just uses {a;b} to get the list which is actually
a newline list. I
Hi
There is a lot of searching in
object trees, transforming objects to another objects, aggregation
functions...
Sounds like you want:
Either Uniplate: http://www-users.cs.york.ac.uk/~ndm/uniplate/
Or SYB: http://www.cs.vu.nl/boilerplate/
Read through both papers for various examples of
I am pleased to announce Uniplate 1.2, available from Hackage:
http://hackage.haskell.org/cgi-bin/hackage-scripts/package/uniplate
Description
===
Uniplate is a library for reducing boilerplate code, by performing
generic traversals. For example, given a data type with a Uniplate
Hi,
I have just been asked for usage of timer in haskell. Which I did not
remember clearly. So I ask the search engine.
In Hoogle: timer
In Google: haskell timer
Hoogle does not search the general web, just the libraries supplied
with GHC. A quick scan of the first few Google results
Hi,
It seems that the qualified import syntax is a bit awkward. At the
moment, its common to see:
import qualified Data.Map as M
import Data.Map(Map)
i.e. import a module, give it an alias (M), and put some things in the
current namespace (Map).
Another way some people sometimes do it is:
Hi
Hi I have read in one tutorial (I can't find it again, but it was probably
either one on ibm, gentle introduction or yaht), that it is possible to
define relationships between free variables and the same program can be used
to calculate either first variable when second is set or
Hi,
This is either a GHC bug, or a Yhc+Hugs bug - I'm not sure which, but
the compilers disagree:
import Prelude hiding ((==))
data Foo = Foo
instance Eq Foo where
(==) a b = True
GHC says:
Temp.hs:14:4: `==' is not a (visible) method of class `Eq'
Yhc and Hugs both successfully compile
This is either a GHC bug, or a Yhc+Hugs bug - I'm not sure which, but
the compilers disagree:
import Prelude hiding ((==))
data Foo = Foo
instance Eq Foo where
(==) a b = True
I was thinking that GHC's behaviour seems more sensible, but the
following fails:
import qualified
Hi Martin,
I can't figure out how to convert an Int to a CInt to construct the WMHints
Ask Hoogle:
http://haskell.org/hoogle/?q=Int+-%3E+CInt
And Hoogle says:
toEnum, fromIntegral
Thanks
Neil
___
Haskell-Cafe mailing list
Hi
So does the silence = approval rule apply here?
2 days is not enough time :-)
I disagree, its a breaking change from Haskell 98. It also means that
if you want to provide syntactic sugar for do notation, i.e. my Test
monad, you have to jump through more hoops.
Hi Robert,
The derive program [http://www.cs.york.ac.uk/~ndm/derive] works
extensively with Template Haskell, and has come across loads of
instances where you get either AppT or ListT, and similarly where you
get either ListE or AppE - and I seem to remember ListP as well. I
think the same also
Hi
I'm wondering how usually you parse command line arguments
list safely. If the given argument is wrong, the program
can still print out some error information instead of giving
something like
Either use reads instead, and deal with the case where there is no
parse. Or use the safe
Hi
Actually, you ought to be able to pretty easily remove this tradeoff
by introducing a strict read function as a new method in your class.
So anyone who wants to strictly read lazy data can use that function
instead of the lazy one.
Not quite, the library is written so that strict fields
Hi,
I'm in the process of updating the Deferred Binary library,
http://www-users.cs.york.ac.uk/~ndm/binarydefer/. The idea is that its
does serialisation, but certain elements can be marked as deferred -
instead of being written in the current file stream, they are merely
pointed at and if
Hi Christoph,
opposite corner. The web page shows an screenshot. It's only tested
under Linux.
Looks cool! Could you upload it to hackage?
http://hackage.haskell.org/
Once its on hackage, using cabal install, it should be possible to get
your game going with as little as:
cabal install
Hi Richard,
It'd seem that (at least the online version of) Hoogle is totally broken
and useless.
To finish your sentance: when searching for types with higher-kinded
type classes. In practice, this usually means Monad and occasionally
Functor.
... and so on. (=) isn't there at all!?
It
Hi
Looks cool! Could you upload it to hackage?
Thank you. Ok, I uploaded the current version. At the moment you have
to run topkata in the topkata-0.0 directory with
./dist/build/topkata/topkata, because it has to find its texture/sound
files.
There's a way to put something in the
Hi
How about a {-# IMPOSSIBLE #-} pragma that documents the fact that a
particular point in the program *should* be unreachable?
Why not make it a function taking a string and returning a value of
any type. Then we can keep our language and not break various
parsing/type checking properties
Hi
* error - inserted by the compiler
Example?
Pattern-match errors.
* abort - deliberate aborting because the user made some mistake.
This is an exception. The signature of a function must reflect this by a
Maybe, Either type etc.
Disagree. I mean more like:
when (Delete `elem`
Hi
PS Why isn't Functor derivable?
Derive can do it: http://www.cs.york.ac.uk/~ndm/derive
I believe that Twan (the author of Functor deriving in Derive) is
trying to get this suggested for Haskell' as a proper deriving.
As for the original question, Uniplate will certainly do map, and will
Hi Krasimir,
insert :: k - v - Chart k v - Maybe (Chart k v)
where the result is (Just _) if the (k,v) is actually added to the
chart or Nothing if it was already there and nothing have to be done.
insertLookupWithKey :: Ord k = (k - a - a - a) - k - a - Map k
a - (Maybe a, Map k a)
This
Hi
case insertLookupWithKey (\_ - Set.union) k (Set.singleton v) chart of
(Nothing, chart) - Just chart
(Just set, chart) | Set.member v set - Nothing
| otherwise - Just chart
but notice that the set is still traversed twice.
Yes, I missed that bit. I
Hi
The best thing to do is bypass read and use 'reads' to define your
own safe read.
maybeRead :: Read a = String - Maybe a
maybeRead s = case reads s of
[(x, )] - Just x
_ - Nothing
Or just use the Safe package:
Hi
Rationale: We need a CPAN
We choose to spell CPAN as Hackage
, a cabal that is smart enough to know what to
to, even if building depends on make
Why should building depend on make? Shouldn't cabal build stuff for
us? We need a cabal that is clever enough that we don't need a make.
,
Hi
I assume/hope this hacking is only in the sense of making adjustments to
code.
Is this right? If there's anything involving DoS attacks, etc, I might never
be
able to get to it from work again.
Yes, darcs.haskell.org won't be hosting DoS attacks ever.
Perhaps the problem is with this
Hi
Do you know where?
[EMAIL PROTECTED]:~$ locate hacking
try locate HACKING
Google has the answer (as always):
http://www.google.co.uk/search?q=allinurl:hacking+site:darcs.haskell.orghl=enfilter=0
Thanks
Neil
PS. Google trivia: switching the allinurl and site arguments around
means it
Hi
Give the following code below, my question is - how do i setup a
dependency of User on Common?
Perhaps a first attempt should not have Common store a reference to User,
nor User store a reference to Common. Instead, have two Data.Map.Map's: one
looks up from Common to User, one from User
Hi
Real Haskell Programmers Only Use Top Level IO!
(But then again, real programmers wouldn't use Haskell:
http://www.pbm.com/~lindahl/real.programmers.html)
It's amazing how many phone interviews I've done where the HR person
at the other end tries to tick the knows Pascal box, despite me
Hi Fernand,
Experimenting with tagsoup (I'm using GHC 6.8.2 and tagsoup-0.6), I found
something which appears to me as strange behaviour : when parsing tag's
attributes that have spaces enclosing the = sign, tagsoup seems to
interpret these as empty attributes' names and values.
Yep, that's
know and I'll release a new version. I
appreciate any bugs, or just weird things tagsoup does on malformed
HTML, so I can build up a more comprehensive regression suite.
Thanks
Neil
On Mon, May 19, 2008 at 11:17 AM, Neil Mitchell [EMAIL PROTECTED] wrote:
Hi Fernand,
Experimenting with tagsoup
Hi Ketil,
I don't think that is legal XML. The definitions of STag and Attribute
from http://www.w3.org/TR/xml11/#NT-STag are:
[40] STag ::= '' Name (S Attribute)* S? ''
[41] Attribute ::= Name Eq AttValue
And 'S' represents one or more whitespace characters, so it seems
Hi
Some time ago I became interested in compilation of Haskell programs
(via Yhc Core) to Erlang to be able to run Haskell code in Erlang
environment.
Two (somewhat tangental) thoughts come to mind.
1. Should it not, in theory at least, be *relatively* easy to target Haskell
at anything
Hi
How would a Haskell compiler look like that targets a FPGA? That is,
compiling down to configware, not to a RTS built on top of it.
http://www-users.cs.york.ac.uk/~mfn/reduceron2/
Thanks
Neil
___
Haskell-Cafe mailing list
Hi
A Google search pointed me at two major GUI toolkits for Haskell: gtk2hs and
wxHaskell.
My answer is to use Gtk2hs. Unfortunately, the releases are somewhat
behind so you usually need to grab a special preview release to get it
working on Windows. That's a very sad state of affairs, and as
Hi
As for the specific issue of whether we should turn on -fstrictness with
-O0, I suspect the answer is that the compile-time cost would be too high.
There would also be the issue that it would increase the amount of
Haskell code which works only in GHC, which is probably a bad thing.
Would
Hi
It would be nice to be able to use a richer set of symbols in your source
code for operators and functions (e.g. integral, sum, dot and cross-product,
…), as well as variables (the standard upper and lower-case greek for
example, along with things like super- and sub-scripting,
Hi
Anyway, the log file that i'm parsing uses English grammar, and the
performance really dropped just by upgrading to Parsec3. I was hoping to use
the ByteString support to boost the speed of already slow code, but had no
such luck. It basicly went from Ugh, this is kinda slow to U i'm
Hi
data List a = Zero | One a | Two (List a) (List a)
On Fri, May 9, 2008 at 3:16 PM, Andrew Coppin
[EMAIL PROTECTED] wrote:
The function (++) :: [x] - [x] - [x] has O(n) complexity.
(++) = Two -- O(1) complexity
If somebody were to invent some type that looks like [x] but actually uses
Hi
And strangely enough on my machine 1) is faster by a few percent than
Consider a few percent to be noise. It may not really be a faster
result, and it may not have anything to do with what you wrote.
A few percent might seem unimportant, but I am
currently developing my Haskell style.
Hi
I've found myself writing code like this several times now. Is there a
better way?
hGetContents might be a different way to write a similar thing:
read_args h = do
src - hGetContents h
let (has,rest) = span (# `isPrefixOf`) $ lines src
return (map tail has)
Of course,
Hi Don,
Just a quick announcement, I've uploaded to hackage 'ghc-core' , a
wrapper over ghc for displaying the optimised core and assembly language
ghc produces from your programs.
This is cool, but it still lags behind the facilities found in yhc-core.
Hi
Yes, something like that is exactly what I'd like to do. I'm somewhat
hopeful that we might manage this as part of Max Bolingbroke's SoC project,
if it's approved.
Hmmm, I thought it had been approved. Was I mistaken?
Yes, it has been approved.
Hi
* As you say, if 'retry' was inlined, all would be fine. But what if
'retry' was big? Then we'd get lots of code duplication, in exchange for
fewer tests.
* Presumably it's not inlined because it's over the inline size threshold.
(You did use -O?)
I used -O2. I also added {-#
Hi Tim,
Did you try comparing the results if you pass the -fno-state-hack flag?
No effect at all.
Thanks
Neil
___
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
Hi
what is general purpose stuff. I don't think there is anything wrong with
magic for primitive
types, but if there is a useful general-purpose mechanism trying to get out,
let's liberate it.
I think the tension comes from representing String's as CString's, not
actual lists of Char and
Hi
PROPOSAL 1: Add the following rules to the simplifier:
case unpackCString# of == case [] of
case unpackCString# xyz of == case (C# 'x': unpackCString# yz) of
I've been wanting to have a go at hacking GHC for a while, and this
seems like a good candidate to start with. If there is no
Hi
Cons: Makes the simplifier slightly more complex - but I hope not by much!
And it doesn't work for my case -- I'd really want length as a compile
time constant.
Could you elaborate on what kind of rules you think we could write with
the ability to get the head?
One of my ideas was
Hi
| {-# INLINE foo #-}
| foo = large
|
| bar x = if x then res else res
| where res = foo
|
| By putting an INLINE on foo I am able to persuade it to be inlined
| into the binding of bar, but I can't then persuade it to be inlined at
| the let expression.
I'm not certain
Hi
(All these results are from GHC 6.9.20071226, but suspect they hold
for 6.9.* and 6.8)
The following code:
test = head neil
Produces (with -O2):
Text.HTML.TagSoup.Development.Sample.test =
case GHC.Base.unpackCString# neil of wild_aaU {
[] - GHC.List.badHead @ GHC.Base.Char; : x_aaY
Hi
The first case makes sense, and is just a RULE. Though it seems GHC already
does this?
g = head
goes to:
M.g = badHead @ Char
without prompting.
Nope, as far as I can tell gets translated to [], not
unpackCString# - hence the unpack never gets in the way. If you had
Hi
This goes back to an old gripe of mine actually -- we can't get
at the length of a C string literal at compile time either, which
would be super useful in rules.
I was about to complain about this next, as soon as I got the previous
part working :-)
If we had some light primitives for
Hi
That would work on GHC, but not on Hugs.
Optimisation and Hugs don't go together anyway.
I want the code to work on Hugs, and perform fast on GHC. As it turns
out, for this particular application, Hugs is faster than GHCi by
about 25%.
Thanks
Neil
Hi
Using GHC 6.9.20071226:
The following code:
---
test s | begin2 'n' 'a' s = test
| begin2 'n' 'b' s = test2
begin2 :: Char - Char - String - Bool
begin2 x1 x2 (y:ys) | x1 == y = begin1 x2 ys
begin2 _ _ _ = False
begin1 :: Char -
Hi
Optimisation and ghci don't go together, so I don't know what your point
is there.
It's very worth having the application work in both Hugs and GHCi, and
its not always GHC=faster, only if you compile it - so you trade your
compile time for your run time. A delicate balance, with more than
Hi
You'd have to conditionally use overloaded strings in GHC only.
I'm not sure it would work ( can you quantify the cost of not being able
to take head at compile time? )
The cost of not having this is probably ~10x slower for the tagsoup
library :-( - i.e. pretty huge. I'm looking at
Hi
I didn't say I agree, I most certainly don't. What I meant with my
comment was that a slowdown of 10x, just to preserve laziness, is
perfect fuel for those who claim that laziness is good in theory but
bad in practice.
A bad implementation of laziness will always be slower than a bad
Hi Simon,
Those additional reasons given are much more compelling, and should
definately go on the wiki. I think the essential point is that it
makes reasoning about the code simpler - regardless of the effect on
implementation.
My main remaining reservation is that:
(x) /= x
[EMAIL PROTECTED]
Hi
I think Henrik's criteria are pretty close to perfect.
As I have argued before on the committee list, I also think we should *not*
worry about backwards incompatible changes too much in cases where a simple
automatic translation from H98 to H' code is possible. Even for a large
project,
Hi
I am pleased to announce the TagSoup 0.6 library, available from Hackage:
* http://hackage.haskell.org/cgi-bin/hackage-scripts/package/tagsoup
TagSoup is a library for extracting information out of unstructured
HTML code, sometimes known as tag-soup. The HTML does not have to be
well formed,
Hi
How would you propose supporting multiple preludes at once?
Unhappy. The Haskell Prelude is more than just a standard library.
Things like $, ., otherwise, = etc would be keywords in any other
language. As such, you expect their meaning to be consistent.
If you let other people define
Hi
* remove the MR entirely
Finally!
* adopt Monomorphic Pattern Bindings (MPB)
There are 6 reasons on that page why we shouldn't adopt MPB - of those
number 5 I think is particularly compelling. There seems to be 1 main
reason to remove it, which is that it has a complex translation to
Hi
I think it is reasonable to look closely at the motivations for
wanting to retain the $ as is. Looking through this thread, I can find
only a single complaint raised (albeit an important one), namely
backwards compatibility. Yes, such a change would likely break quite a
few my
301 - 400 of 1298 matches
Mail list logo