Yaakov Nemoy wrote:
I'm still very much a newbie, but the one thing that struck me as the
best feature coming from Python is the static typing. Changing the
type of a function in Python will lead to strange runtime errors that
take some work to debug, whereas, when I tinker with a program in
Ha
then relink to produce a modified executable containing the modified
> Library.
Including a .o file for each module of your program would be one way to
accomplish this.
--
Alastair Reid
___
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell
with mapException. (For that matter, anyone defining 'sum = foldr
(+) 0' will want a 3rd variant of mapException for use with CAFs whose value
is a 1,2,3,etc-argument function.) H, I'll bet Oleg can come up with a
cunning pattern of type classes
> [...]
> 2. Use the mapException trick to annotate exceptions as they
> travel up the stack (see Alastair Reid's message).
> [...]
> (2) requires that you add lots of annotations to your code, so it's not
> entirely satisfactory for that reason.
Would it be possible to generalise ghc's -
idea is to combine
the exception value returned with some extra information about the context
with the idea that whoever called myFunc might add extra information.
Ideally, the Exception type would be recursive so we could build chains of
exceptions without having to use Show.]
--
Alastair
t to
look for is useful.]
> The only problem with [inserting debugging code by hand] in Haskell is
> that you sometimes have to lift a function into the IO monad for
> debugging...
I find the trace function works very well for this. It's interact
> [...] learn pattern guards, they are a really really useful
> and universal extension to the language.
Universal?
Ah, universally implemented in GHC!
--
Alastair Reid
___
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/m
add typechecking or other static
semantics.
[I avoid name clashes using a combination of smallish modules, qualified
naming and ad hoc use of prefixes and deliberate mis-spellings. The
situation in Haskell isn't especially happy.]
--
Alastair Reid
ernate names for 'Nested' welcome. `WhileDoing` is my next best
attempt :-)]
--
Alastair Reid
___
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell
morphic. This is a bit tricky to fix
and will require a monad (or equivalent) to ensure that you don't allocate
the same chan twice and then use it at different types. (Probably requires
unsafeCast too.)
--
Alastair Reid
___
Haskell mailin
skell.org/consultants.html
Corrections, additions and comments welcome.
--
Alastair Reid
___
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell
Personally, my entire income comes from consulting work (and it keeps
me busy pretty much 100% of the time) so I don't do all that many
jobs for free per year.
Those at universities might do some jobs for the fun of it or
in the hope of getting a paper out of it or a motiv
> it would also be useful to have finite natural numbers, ala C's
> "unsigned int".
Word8, Word16, Word32 and Word64
--
Alastair Reid www.haskell-consulting.com
___
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell
think there's also a strong argument for having operations that
reports an error given duplicate indices.
Maybe we can have both sets of operations? This could be done either using
two separate Array types or by having two variants of a few of the array ops.
--
Alastair Reid ha
ge the module system. The obvious fix would have some of the
flavour of the ML module system where a module can export a structured list
of names instead of exporting a flat list of names.
--
Alastair Reid
___
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell
FFI preprocessor like Greencard.
--
Alastair Reid www.haskell-consulting.com
___
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell
be semantically correct.
2) To use seq, I have to link the evaluation of the error
check to the evaluation of something else. It's not
quite clear what a good choice would be.
Point #1 is my main reason.
--
Alastair Reid www.haskell-consulting.com
___
> I have a question about error reporting. You use 'error' quite often. I
> think that this can cause errors to pop up at strange moments during
> program evaluation. It this a real problem? I prefer reporting errors
> early in the IO monad. I think there is some trade-off involved, but I
> can't
nt message to stderr if condition holds
blurt :: Bool -> Doc -> IO ()
blurt False msg = return ()
blurt True msg = printDoc PageMode stderr msg
The first argument is usually based on the --verbose
flag which is initialized by code like this:
let verbosity = length (filter (==V
n the
Hugs98 distribution). (Not tested recently but ought to work.)
--
Alastair Reidhaskell-consulting.com
eval "exec perl -S $0 $*"
if $running_under_some_random_shell;
#
# Reads CPP output and turns #line things into appropriate Haskell
# pragmas. This
e are big
differences in their implementation of the IO monad and exceptions, their
array operations, etc.
--
Alastair Reid www.haskell-consulting.com
___
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell
manipulating C programs.
--
Alastair Reid www.haskell-consulting.com
]
The University of Utah's Flux Research Group announces the first
release of CMI, our cross-module inliner for C. CMI is an optimizing
frontend for gcc which allows gcc to inline across module (i.e.,
function) bound
(ghc suffers from the same
problem on Windows.)
--
Alastair Reid www.haskell-consulting.com
___
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell
ery useful since I often forget to
explicitly mark the bugs in my code.
--
Alastair Reid
___
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell
ap a C type to a Haskell type.
Storable is much more setup for mapping a Haskell type
onto a list of C types. Fighting or ignoring that detail
will require some more hoop jumping.
Hope this helps,
--
Alastair Reid www.haskell-consulting.com
On Friday 17 October 2003 11:09
> I think this question is not new, but I am not able to
> find the answer. How to proceed to execute an external
> Linux command (e.g., 'ls') from a Haskell program?
system("ls")
system :: String -> IO ExitCode
--
Alastair Reid
kell would be an interesting but useless academic toy
without the ability to do things like that.
The first might have been fixable (e.g., Clean provides a non-monadic
alternative).
The second might also be fixable but I doubt that any useful solution would
avoid the cleanliness and safety is
tance.
Of course, it might be nice if people could choose for themselves whether they
get Show instances for IO and ->. The simplest way to do this would be to
not provide instances in Prelude and have them explicitly import the module
if they need it. Haskell compilers cou
> What about this program:
>
> main :: IO ()
> main = putStr (show (putStr "Hello World!"))
>
> Am I the only one who feels that there is some conceptual _wrongness_ about
> Hugs responding with <>?
I think it is exactly right.
Having it print "Hello World" would clearly be wrong since
it co
l succeed but the binary won't run?
Does the binary run but the generated code won't compile?
Also, what error messages are produced or, if none, what does happen?
--
Alastair Reid
___
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.o
inting out that it lead to a complete redesign of XVision
along the lines I had developed in the Haskell version.]
--
Alastair Reid
___
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell
de it has done enough work after the
first action, and then later it would finish the job when the result is
actually demanded.)
But, ff you're using current versions of Hugs or NHC or (using GHC but not
using threads or turning on speculative evaluation), I'll bet the answer is
ame problems encountered with providing Float and
Double instances for enumFrom).
--
Alastair Reid
___
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell
ill not conform
to LIA but that may not be such a big deal.
--
Alastair Reid
___
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell
ikely that an approach
based on having Haskell and C++ interface to a third intermediate language
(i.e., IDL) is most likely to work.
--
Alastair Reid
___
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell
consumes finite heap space
should require finite disk space. Indeed, we'd like the space to be
at most a constant factor bigger.
This amounts to the same thing but doesn't require us to delve into
black holes like defining when sharing happens in Haskell i
remove greencard
ghc-pkg --remove HSX11
ghc-pkg --remove HSHGL
And then reinstall.
It may be possible to get away with less or, better, to use the uninstall
targets in the makefiles but the above has worked in the past.
--
Alastair Reid
ps If anyone can figure out exactly how to reproduce thi
> The link to the source on http://haskell.org/graphics/downloading.html
> should be http://haskell.org/graphics/downloads/HSHGL-3.00.tar.gz
> I guess.
Thanks!
___
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell
STALL.
Bug reports should be sent to alastair at reid-consulting-uk.ltd.uk
Enjoy!
--
Alastair Reid http://www.reid-consulting-uk.ltd.uk/
___
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell
downloaded from: http://www.haskell.org/packages.
You will need GreenCard 3.00 and GHC 6.0 to build the library.
Installation instructions are in HSX11-1.0/INSTALL.
Bug reports should be sent to [EMAIL PROTECTED]
Enjoy!
--
Alastair Reid http://www.reid-consulting-uk.ltd.uk
ps Though they are
downloadable distributions, documentation etc.
is available via the Green Card home page:
http://www.haskell.org/greencard/
Please send any bug reports or suggestions for improvements to
alastair at reid-consulting-uk.ltd.uk.
Enjoy!
--
Alastair Reid http://www.reid-consulting-uk.ltd.uk
easonable things to access.
--
Alastair Reid
___
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell
add in a memo table.
More seriously though, can we make an Eq instance? Presumably the GNU
MP equality test doesn't test for equality but equality over the first
'n' bits for some user-specified 'n'?
--
Alastair Reid [EMAIL PRO
d since Haskell style guides suggest that you should provide
type signatures for all exported top-level definitions.
--
Alastair Reid [EMAIL PROTECTED]
Reid Consulting (UK) Limited http://www.reid-consulting-uk.ltd.uk/alastair/
___
ome old Gofer versions:
http://www.cse.ogi.edu/~mpj/goferarc/index.html
Hugs/Gofer was a very lean and elegant system back then - in our
defence though, it does a few more things and comes with a lot more
libraries now.
--
Alastair Reid [EMAIL PROTECTED]
Reid Consultin
s the form of all the examples recently discussed.
--
Alastair Reid [EMAIL PROTECTED]
Reid Consulting (UK) Limited http://www.reid-consulting-uk.ltd.uk/alastair/
___
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell
Simon Marlow <[EMAIL PROTECTED]> writes:
> Also, GHCi retains CAFs in the same way as Hugs, the difference is
> that GHCi can be configured to throw away the results after
> evaluation (:set +r).
If I set this flag, does GHCi discard CAFs during evaluation or at the
end of evaluation? Or, to put
of contextual information about the
application, the input data, desired response times, capability of
target machine(s), acceptable impact on other applications running on
same machine, etc. Anyone out there wanting a topic for their PhD?
--
Alastair Reid [EMAIL PROTECTED]
Rei
code, you might want to run it 10 times using:
> main1 = loop 5
> main = sequence_ (replicate 10 main1)
Now main1 will not be garbage collected until the last time it is
executed. The solution is the same as for Hugs: add a dummy argument.
--
Alastair Reid [EMAIL PROTEC
r
space leaks and then go fix those. GHC and NHC both contain good heap
profilers. GHC contains libraries that are most similar to Hugs.
--
Alastair Reid [EMAIL PROTECTED]
Reid Consulting (UK) Limited http://www.reid-consulting-uk.ltd.uk/alastair/
___
ch language".
Most research languages have fairly modest means of support so, while
they are often great little languages, they tend not to have extensive
libraries and people usually content themselves with coding up a few
of their favourite wee self-contained examples in the l
lers derive when you type 'deriving Read' and the code
in the prelude and any libraries you use. This is worthwhile but is
quite a large change.
--
Alastair Reid [EMAIL PROTECTED]
Reid Consulting (UK) Limited http://www.reid-consulti
things to do but I don't think a
quick fix is likely to make it in before the release.
--
Alastair Reid [EMAIL PROTECTED]
Reid Consulting (UK) Limited http://www.reid-consulting-uk.ltd.uk/alastair/
___
Haskell mailing list
[EMAIL
ares some of its structure with other thunks.
--
Alastair Reid [EMAIL PROTECTED]
Reid Consulting (UK) Limited http://www.reid-consulting-uk.ltd.uk/alastair/
___
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman
s library is mostly compatible.
The main differences are in things not covered by the original paper -
see the (quite readable) source code for the Hugs version of Exception
for details.)
--
Alastair Reid [EMAIL PROTECTED]
Reid Consulting (UK) Limited http://www.reid
Can this discussion be moved to the i18n list please?
--
Alastair Reid
___
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell
sugar really means along the way.
--
Alastair Reid [EMAIL PROTECTED]
Reid Consulting (UK) Limited http://www.reid-consulting-uk.ltd.uk/alastair/
___
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell
end.
Use foldl'
More importantly, understand how foldl' works and be ready to
apply the same analysis and fix to any similar function.
--
Alastair Reid [EMAIL PROTECTED]
Reid Consulting (UK) Limited http://www.reid-consulting-uk.ltd.uk/alastair/
___
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell
s that NHC will
follow suit).
--
Alastair Reid [EMAIL PROTECTED]
Reid Consulting (UK) Limited http://www.reid-consulting-uk.ltd.uk/alastair/
___
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell
ing most
C++ features and public Java fields here)
- you can force people to execute security checks every time they
access an object (thus making it possible to asynchronously
revoke a capabaility)
? Or for some other reason?
--
Alastair Reid [EMAIL PROTECTED]
Reid Consulting (UK) L
Alastair Reid:
> I think we'd want a modified version of quickcheck which generated a
> file of results which were then checked by an external tool. The
> problem being that there's a wide range of compiler bugs which can
> make a program return 'True' withou
as intended to get
random seeds and then use implicit parameters to pass them around
(using a mild variation of John Hughes' approach to mutable
variables).
--
Alastair Reid [EMAIL PROTECTED]
Reid Consulting (UK) Limited http://www.reid-consulting-uk.ltd.uk/alastair/
Malcolm:
> Not entirely true. A large chunk of the nhc98 (and hat) libraries
> is copied directly from the Report.
I think we all copied from the report originally - the problem is that
we fix our copies of the code and forget to fix the original. The
method I described was intended to let me
n the
report. (Ideally, the report would take the form of a model Haskell
compiler and library...)
--
Alastair Reid [EMAIL PROTECTED]
Reid Consulting (UK) Limited http://www.reid-consulting-uk.ltd.uk/alastair/
The main changes needed to the report to make it work with STG-Hug
uk.ltd.uk/downloads/Makefile
These changes are also in the CVS repository but we're making changes
to how the foreign function interface works at the moment and, whilst
it should still work fine with the HGL, this hasn't been checked so
I'm playing safe and sending out Thomas'
ok is likely to be pretty complex - maybe worth a
PLDI paper or some such.
--
Alastair Reid [EMAIL PROTECTED]
Reid Consulting (UK) Limited http://www.reid-consulting-uk.ltd.uk/alastair/
___
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell
> The C stub #includes HsFFI.h, which GHC provides, but Hugs doesn't.
> What should I use?
Hugs ffi support currently lags a long way behind the ffi
specification (or implements something else entirely depending on your
point of view).
At the moment, Hugs' ffi doesn't work with GreenCard and is
%dis add:: Matrix Double -> Matrix Double -> Matrix Double
...
%dis printMatrix :: Matrix Double -> IO ()
That is, we change the representation to use a ForeignPtr (a pointer
into the C heap) and we try to replace functions which access the
representation directly with
drList :: (Addr -> Int -> IO a) -> (Addr, Int) -> IO [a]
> unmarshallAddrList read (ptr,l) = mapM (read ptr) [0..l-1]
Points are defined in the usual way. I won't discuss this much since
I think you just want Int or Floats or some such.
> type Point =
> ( Positio
sed type
inference as part of their compiler modification.
--
Alastair Reid[EMAIL PROTECTED]http://www.cs.utah.edu/~reid/
[1] Shao, Zhong; Reppy, John H.; Appel, Andrew "Unrolling Lists" ACM
Conference on Lisp and and Functional Programming, New York, June
1994. ACM Pres
also be possible to provide immutable arrays with constant
time update and lookup (so you would not have to learn about monads)
but I don't see such a beast in the HS libraries
(http://www.haskell.org/haddock/libraries/index.html)
> By the way, the reason I wanted my counting to wrap back to "[]" after
> getting to the maximum figure, is so the function "next" would always
> work. But your email suggested to me an alternative solution. I could
> just use the "Maybe" data type! Ie, trying to do a next on the maximum
> figure just gives you the Maybe "Nothing".
I was wondering why you did the wraparound...
In fact, I was wondering why [] was in the list - it didn't seem to
belong either.
--
Alastair Reid[EMAIL PROTECTED]http://www.cs.utah.edu/~reid/
___
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell
This looked like a fun problem. Here's a solution and some comments
on how I went about solving it.
--
Alastair Reid Reid Consulting (UK) Ltd
> import List( nub )
> import Maybe( fromMaybe, fromJust )
It seems like your enumerations have two constraints:
1) They have
what is seq useful for not in conjunction with
> unsafePerformIO, other than efficiency. That, I don't know the answer to.
Of course, this can be defined without seq:
> debug :: Show a => a -> a
> debug x = unsafePerformIO (hPutStrLn stderr (show
is to use the fact that the IO monad has
error propagation built into it. If you can encode your errors as
strings, you're all set (or you could use the GHC Dynamic extensions
if non-portability doesn't disturb).
Hope this helps,
Alastair Reid
___
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell
of Expression book and there's plenty more examples
like that.
[I haven't tested whether these programs do leak space with the
modified compiler - my point is that there is a large class of
programs with exactly the characteristics you describe.]
--
Alastair Reid
ps I think your CAF
e_NLP_Prelude
If you are seeing something other than that, the problem is with your
compiler or the way you are using command line arguments to your
compiler (e.g., Hugs' import chasing mechanism has some interesting
interactions with hierarchial namespaces) and you should say which one
you'
w
ffi, greencard, c2hs, etc.
--
Alastair Reid
___
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell
etting up the infrastructure for the recursion costs more than
coding it directly.
--
Alastair ReidReid Consulting (UK) Ltd
___
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell
ou run out of control stack
space you were about to run out of C stack space. (In other words,
running out of either usually indicates a problem in your program
which will not be solved by tweaking stack sizes.)
Hope this helps.
--
Alastair
ive languages. Arguably, Esterel is an exception.)
Using this terminology, I think what you're asking about is
"parallelism" and not "concurrency".
--
Alastair Reid[EMAIL PROTECTED]http://www.cs.utah.edu/~reid/
___
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell
> Is there something like a Hugs plugin for Netscape?
We used to have one at Yale. Can't remember what happened to it so I'm
adding John Peterson to the address list in case he can remember.
--
Alastair ReidReid Consul
c operation on that would lead to overflow.
Except that GHC doesn't detect overflow...
> Any ideas?
No good ones.
I'm hoping that a GHC honcho will say
"Well of course that happens with 5.02.2 - you should upgrade to 5.03
right away."
or some such.
Sorry I can't be
s written. But it's not just Haskell users that get this - anyone
using a modern processor can experience cache misses (huge performance
cost) in C.
--
Alastair Reid
___
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell
onvert between signed and unsigned
values possibly raising an exception even though they have the same
type. (Note that they'd have different types if Haskell followed
Java's example and made exceptions part of the type.)
--
Alastair Reid[EMAIL PROTECTED]http://www.c
,
it's hard to give useful advice without more information about the
problem.
--
Alastair Reid[EMAIL PROTECTED]http://www.cs.utah.edu/~reid/
___
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell
k
we should still exercise some restraint. This is especially true
since it's not clear that this is the right thing to do (since we have
fromRealFrac already) and it is hard to remove features once you've
added them.
--
Alastair Reid[EMAIL PROTECTED]http://www.cs.uta
something
which is perfectly safe and well-defined?
I'll readily agree that there's no strong motivation for exporting a
constructor on its own (I think the only reason Hugs allows it is just
so we can export (:) from the Prelude) but what is the motivation for
disallowing it?
--
Alastair
).
The Haskell 98 report omits this section.
I would like to report this omission as a bug in the report.
[I think this is a different bug from the "how do Bird tracks affect
layout?" bug reported by Malcolm Wallace earlier today.]
--
Alastair Reid[EMAIL PROTECTED]
and
you want your code to be robust.
5) You really don't care much which exception you get - as long
as you get one.
I think the two approaches complement each other rather well (but, of
course, I'm biased...).
--
Alastair Reid[EMAIL PROTECTED]http://www.cs.u
ing is that Haskell's standard abstraction facilities mean
that even in the IO monad your programming experience can
significantly better than that of a C programmer. (Of course your
experience can also be worse if you don't or can't bring Haskell's
strengths to bear on your
at Hugs provides).
Of course, this partly reflects the kinds of programs I write and, to
some extent, my being comfortable with the features and libraries I
know and not having time to really explore what I can do with the
other features.
--
Alastair Reid[EMAIL PROTECTED]http:/
e paper and what did
people at the conference or reading the proceedings hope to learn?
--
Alastair Reid[EMAIL PROTECTED]http://www.cs.utah.edu/~reid/
___
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell
x27;s a lot of other functions that exploit lazy lists in that file.
--
Alastair Reid[EMAIL PROTECTED]http://www.cs.utah.edu/~reid/
___
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell
ect where the object is in whnf
(If I remember the paper correctly) this is slightly different from
Jan Sparud's technique which did the short-circuiting in the evaluator.
I'm pretty sure Hugs doesn't implement either. The GC version might
be straightforward to add.
--
Alasta
Mark Tullsen <[EMAIL PROTECTED]> writes:
> You have to realize that Alastair Reid is one of the truly great
> Haskell programmers on planet earth. I'm serious. So, when he says
> "incredibly subtle space leak" I wouldn't expect the solution to be
> simple
rt for the language from the fact
that the language report cites a tech report for the library :-)
[I'm less concerned about GHC documentation because it comes with the
compiler and it seems unlikely that you'd want one and not the other.]
--
Alastair Reid[EMAIL PROTECTED]
e the definitions from memory - effect should be
the same.)
Well, I thought I understood lazy evaluation, garbage collectors, Hugs
and GHC but I'm at a complete loss for why one definition leaks and
the other doesn't. I would be really fascinated to learn what is
going on here.
I'
type
fooBy :: (a -> a -> Bool) -> ty
(where the additional argument is expected to be an reflexive,
transitive relation) and
foo = fooBy (<=)
Making the types of the By functions as general as possible would
break the consistency of this story.
--
Alastair Reid
unchecked versions of them too?
Can the higher-level operations amortise the cost of those extra
bounds checks? I think fmap can but ixmap can't and I haven't considered
the others.
--
Alastair Reid
___
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell
(1).
(Though if our only goal was to solve (2), it may be that the rule
could be a lot less restrictive.)
--
Alastair Reid
___
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell
1 - 100 of 158 matches
Mail list logo