this feature
has been requested a couple of times on the Mercury mailing
lists.
--
Fergus Henderson [EMAIL PROTECTED] | "I have always known that the pursuit
WWW: http://www.cs.mu.oz.au/~fjh | of excellence is a lethal habit"
PGP: finger [EMAIL PROTECTED]| -- the last words of T. S. Garp.
.
--
Fergus Henderson [EMAIL PROTECTED] | "I have always known that the pursuit
WWW: http://www.cs.mu.oz.au/~fjh | of excellence is a lethal habit"
PGP: finger [EMAIL PROTECTED]| -- the last words of T. S. Garp.
itionally enabled so that it works fine,
albeit probably a bit slower, with other C compilers.)
--
Fergus Henderson [EMAIL PROTECTED] | "I have always known that the pursuit
WWW: http://www.cs.mu.oz.au/~fjh | of excellence is a lethal habit"
PGP: finger [EMAIL PROTECTED]| -- the last words of T. S. Garp.
too limited version of separate compilation,
Yes, indeed. See my comments above about building shared libraries
with stable interfaces.
--
Fergus Henderson [EMAIL PROTECTED] | "I have always known that the pursuit
WWW: http://www.cs.mu.oz.au/~fjh | of excellence is a lethal habit"
-passing scheme.
--
Fergus Henderson [EMAIL PROTECTED] | "I have always known that the pursuit
WWW: http://www.cs.mu.oz.au/~fjh | of excellence is a lethal habit"
PGP: finger [EMAIL PROTECTED]| -- the last words of T. S. Garp.
On 17-Feb-2000, Brian Boutel [EMAIL PROTECTED] wrote:
On Thursday, February 17, 2000 3:03 PM, Fergus Henderson
[SMTP:[EMAIL PROTECTED]] wrote:
If Haskell had explicit imports and exports of instance declarations,
then I could perhaps buy this argument. But it doesn't. In Haskell,
all
On 17-Feb-2000, Brian Boutel [EMAIL PROTECTED] wrote:
On Thursday, February 17, 2000 7:02 PM, Fergus Henderson
Well, I remain unconvinced. In Mercury, we give the user control
over whether instance declarations are exported or not, and it
works quite nicely, IMHO. I think the problems
Tree where ...
So I don't see this as a disaster.
--
Fergus Henderson [EMAIL PROTECTED] | "I have always known that the pursuit
WWW: http://www.cs.mu.oz.au/~fjh | of excellence is a lethal habit"
PGP: finger [EMAIL PROTECTED]| -- the last words of T. S. Garp.
.
--
Fergus Henderson [EMAIL PROTECTED] | "I have always known that the pursuit
WWW: http://www.cs.mu.oz.au/~fjh | of excellence is a lethal habit"
PGP: finger [EMAIL PROTECTED]| -- the last words of T. S. Garp.
that S.D.Mechveliani's suggestion on how to implement
it would cause some problems for separate compilation and stable binary
interfaces.
Hope this helps,
Fergus.
--
Fergus Henderson [EMAIL PROTECTED] | "I have always known that the pursuit
WWW: http://www.cs.mu.oz.au/~fjh | of excel
A-2 impose in this case.
It appears that they do not impose any requirements.
But I'm not very sure about this, and my LIA-2 draft is very
out-of-date. I think an LIA guru is needed ;-)
--
Fergus Henderson [EMAIL PROTECTED] | "I have always known that the pursuit
WWW: http://www.c
be ill-typed.
--
Fergus Henderson [EMAIL PROTECTED] | "I have always known that the pursuit
WWW: http://www.cs.mu.oz.au/~fjh | of excellence is a lethal habit"
PGP: finger [EMAIL PROTECTED]| -- the last words of T. S. Garp.
trivially in this case, into
"Foo has the same representation as Foo"?
Yes. So the representation of Foo is unspecified.
--
Fergus Henderson [EMAIL PROTECTED] | "I have always known that the pursuit
WWW: http://www.cs.mu.oz.au/~fjh | of excellence is a lethal habit"
PGP: fin
and whatever the next revision of Haskell is called.
--
Fergus Henderson [EMAIL PROTECTED] | "I have always known that the pursuit
WWW: http://www.cs.mu.oz.au/~fjh | of excellence is a lethal habit"
PGP: finger [EMAIL PROTECTED]| -- the last words of T. S. Garp.
think the issue here is conformance, and I think it is
clear that nhc98 does not conform to the specification in the
Haskell 98 Report.
--
Fergus Henderson [EMAIL PROTECTED] | "I have always known that the pursuit
WWW: http://www.cs.mu.oz.au/~fjh | of excellence is a lethal habit"
P
it already.
Thanks for the devious test case, though ;-)
--
Fergus Henderson [EMAIL PROTECTED] | "I have always known that the pursuit
WWW: http://www.cs.mu.oz.au/~fjh | of excellence is a lethal habit"
PGP: finger [EMAIL PROTECTED]| -- the last words of T. S. Garp.
,
the representation is the same as itself, i.e. unspecified.
Note that the Haskell report does not specify how the unit type `()' is
represented either. Does nhc98 reject that too?
--
Fergus Henderson [EMAIL PROTECTED] | "I have always known that the pursuit
WWW: http://www.cs.mu.oz.au
is to blame?
--
Fergus Henderson [EMAIL PROTECTED] | "I have always known that the pursuit
WWW: http://www.cs.mu.oz.au/~fjh | of excellence is a lethal habit"
PGP: finger [EMAIL PROTECTED]| -- the last words of T. S. Garp.
On 22-Mar-2000, Qrczak [EMAIL PROTECTED] wrote:
On Wed, 22 Mar 2000, Fergus Henderson wrote:
Actually, that raises an interesting question:
should instances of `==' be required to be hyperstrict
in cases where they return `True'?
Certainly no.
First, using (==) for that purpose
-expression was fully evaluated within
the scope of an exception handler, rather than being lazily evaluated
with some parts of the evaluation occurring outside the scope of
the exception handler.
--
Fergus Henderson [EMAIL PROTECTED] | "I have always known that the pursuit
WWW: http://www.cs.mu.
at a type "is of type" some other type.
However, you can say that a type is an instance of some other type,
meaning that you can obtain the first type by some binding of the
type variables in the second type. This "instance of" relation is transitive.
--
Fergus Henderson [EMAIL PROTE
for the Haskell FFI to encourage this.
--
Fergus Henderson [EMAIL PROTECTED] | "I have always known that the pursuit
WWW: http://www.cs.mu.oz.au/~fjh | of excellence is a lethal habit"
PGP: finger [EMAIL PROTECTED]| -- the last words of T. S. Garp.
On 28-Mar-2000, Fergus Henderson [EMAIL PROTECTED] wrote:
For prior art, see the `Interfaces.C' package in normative Annex E of
the Ada 95 standard (available via www.ada.org).
Sorry, that URL is not correct. In fact that is the American Dentists Association
(ADA) home page, not the Ada
here
would now become a type error.
--
Fergus Henderson [EMAIL PROTECTED] | "I have always known that the pursuit
WWW: http://www.cs.mu.oz.au/~fjh | of excellence is a lethal habit"
PGP: finger [EMAIL PROTECTED]| -- the last words of T. S. Garp.
On 28-Mar-2000, Marcin 'Qrczak' Kowalczyk [EMAIL PROTECTED] wrote:
Tue, 28 Mar 2000 12:26:34 +1000, Fergus Henderson [EMAIL PROTECTED] pisze:
It would be fine to have a `typedef void *HsStablePtr'. But it is important
that you do not lose static type information when exporting Haskell
(for backwards
compatibility with C 89, not to mention programmer sanity), so I think
we can ignore that possibility.
--
Fergus Henderson [EMAIL PROTECTED] | "I have always known that the pursuit
WWW: http://www.cs.mu.oz.au/~fjh | of excellence is a lethal habit"
PGP: finger [EMAIL
generally don't have great support
for debugging across the language interfacing boundary.
--
Fergus Henderson [EMAIL PROTECTED] | "I have always known that the pursuit
WWW: http://www.cs.mu.oz.au/~fjh | of excellence is a lethal habit"
PGP: finger [EMAIL PROTECTED]| -- the
On 28-Mar-2000, Marcin 'Qrczak' Kowalczyk [EMAIL PROTECTED] wrote:
Tue, 28 Mar 2000 20:14:26 +1000, Fergus Henderson [EMAIL PROTECTED] pisze:
For type constructors like `-', `[]', and `Maybe', which (unlike
StablePtr) don't have any C equivalent, I think you probably need
to drop
to pay that cost.
--
Fergus Henderson [EMAIL PROTECTED] | "I have always known that the pursuit
WWW: http://www.cs.mu.oz.au/~fjh | of excellence is a lethal habit"
PGP: finger [EMAIL PROTECTED]| -- the last words of T. S. Garp.
On 28-Mar-2000, Marcin 'Qrczak' Kowalczyk [EMAIL PROTECTED] wrote:
Tue, 28 Mar 2000 20:37:24 +1000, Fergus Henderson [EMAIL PROTECTED] pisze:
The ANSI/ISO C standard does not guarantee that `wchar_t' will be
Unicode, or even that it will be large enough to hold Unicode.
I believe
in reading all of
the details in this FFI thread. But on the other hand, I don't think we
should create a new mailing list for every new thread that generates a lot of
discussion.
Perhaps we could create a single new mailing list called say
`[EMAIL PROTECTED]' for long-running discussions?
--
Fergus
non-pointers from pointers, for GC)
must apply a conversion to get from Haskell `Int' to C `HsInt' or vice versa.
Fair enough...
--
Fergus Henderson [EMAIL PROTECTED] | "I have always known that the pursuit
WWW: http://www.cs.mu.oz.au/~fjh | of excellence is a lethal habit"
PGP: fin
),
As noted above, with some C compilers it is an error, but in that case you can
easily avoid the error by inserting a cast, so I think your point still holds.
--
Fergus Henderson [EMAIL PROTECTED] | "I have always known that the pursuit
WWW: http://www.cs.mu.oz.au/~fjh | of excellence is a l
really don't see how it could be done, I'd be happy to sketch
the outline of a possible implementation.
--
Fergus Henderson [EMAIL PROTECTED] | "I have always known that the pursuit
WWW: http://www.cs.mu.oz.au/~fjh | of excellence is a lethal habit"
PGP: finger [EMAIL
, then you can also browse
the arguments of any of the calls on the call stack.
While laziness does complicate things significantly, the same kind of thing
would certainly be possible for Haskell too.
--
Fergus Henderson [EMAIL PROTECTED] | "I have always known that the pursuit
WWW:
(let alone
infinite), you don't want to print it all out,
just part of it.
And of course you don't want to evaluate the argument
any further than it is already evaluated.
But this is quite doable.
--
Fergus Henderson [EMAIL PROTECTED] | "I have always known that the pursuit
WWW:
t to take as
[a, "a", "b", "c"] where a = 'a':a
I wonder whether this is possible.
Yes, it is possible.
--
Fergus Henderson [EMAIL PROTECTED] | "I have always known that the pursuit
WWW: http://www.cs.mu.oz.au/~fjh | of excellence is a lethal habit"
PGP: finger [EMAIL PROTECTED]| -- the last words of T. S. Garp.
ot; library (well, I think it's secure, but that's
just my first guess, I haven't really thought about it much).
There's no option which just disables unsecure extensions.
--
Fergus Henderson [EMAIL PROTECTED] | "I have always known that the pursuit
WWW: http://www.cs.mu.oz.au/~fjh | of exc
- ST s2 (MutVar s2 a2)',
so, substituting `Mutvar s a' for `a2', we see that
`newVar v' has type `forall s2 . ST s2 (MutVar s2 (MutVar s a))'.
--
Fergus Henderson [EMAIL PROTECTED] | "I have always known that the pursuit
WWW: http://www.cs.mu.oz.au/~fjh | of excellence is a lethal habit
out. Ouch!
--
Fergus Henderson [EMAIL PROTECTED] | "I have always known that the pursuit
WWW: http://www.cs.mu.oz.au/~fjh | of excellence is a lethal habit"
PGP: finger [EMAIL PROTECTED]| -- the last words of T. S. Garp.
if `currentSecond' is within `where'
clause, because it will be always evaluated afresh.
It might happen to work with current Haskell implementations,
but I don't think there's any guarantee of that.
--
Fergus Henderson [EMAIL PROTECTED] | "I have always known that the pursuit
WWW:
degree of both of those, then currently
the only safe answer is "never". The Haskell 98 Report does not
standardize `unsafePerformIO', and so there are no guarantees
about whether future implementations will have such a function,
or what it would do, or when it would be safe.
--
Fergus
ances a compiler could
perform optimizations like that.
--
Fergus Henderson [EMAIL PROTECTED] | "I have always known that the pursuit
WWW: http://www.cs.mu.oz.au/~fjh | of excellence is a lethal habit"
PGP: finger [EMAIL PROTECTED]| -- the last words of T. S. Garp.
are to provide `unsafePerformIO', then really
they ought to document when it can safely be used. Current
implementations don't do an adequate job of that, AFAIK.
--
Fergus Henderson [EMAIL PROTECTED] | "I have always known that the pursuit
WWW: http://www.cs.mu.oz.au/~fjh | of excel
?
--
Fergus Henderson [EMAIL PROTECTED] | "I have always known that the pursuit
WWW: http://www.cs.mu.oz.au/~fjh | of excellence is a lethal habit"
PGP: finger [EMAIL PROTECTED]| -- the last words of T. S. Garp.
will match those in our existing library, but as far as the
class hierarchy is concerned, there are no backwards compatibility
constraints at all.
--
Fergus Henderson [EMAIL PROTECTED] | "I have always known that the pursuit
WWW: http://www.cs.mu.oz.au/~fjh | of excellence is a lethal habit
It should be some sort of program flow during compilation before the code is
generated.
If you're worried about efficiency, with a little bit of partial
evaluation, a good compiler should be able to optimize away dynamic
type checks in cases where the type is known at compile time.
--
Fergus
version of
the library, and (b) this may lead to maintenance difficulties
if Alfred later releases a new version of his library.
--
Fergus Henderson [EMAIL PROTECTED] | "I have always known that the pursuit
WWW: http://www.cs.mu.oz.au/~fjh | of excellence is a lethal habit"
PGP: fin
On 06-May-2000, S.D.Mechveliani [EMAIL PROTECTED] wrote:
Fergus Henderson [EMAIL PROTECTED] writes on 6 May 2000
Personally I think it is bad that Haskell allows this.
The Haskell report says the following:
| If no binding is given for some class method then the corresponding
On 06-May-2000, S.D.Mechveliani [EMAIL PROTECTED] wrote:
Fergus Henderson wrote:
Consider the following scenario. Alfred defines a type `T'
and writes such a vacuous instance declaration for `Set T'.
This is part of a large library package that Alfred has written.
Meanwhile, Betty has
?
If the default instance simply defines all methods as bottom, then it
doesn't help; in the scenario that I outlined, Charles will still have
the same problem when he passes `Alfred.T' to `Betty.f'.
--
Fergus Henderson [EMAIL PROTECTED] | "I have always known that the pursuit
WWW:
`asTypeOf` is often needed,
I don't buy that argument.
* `zero x' fits the aim of implicit dynamic domains.
This one is much more interesting.
--
Fergus Henderson [EMAIL PROTECTED] | "I have always known that the pursuit
WWW: http://www.cs.mu.oz.au/~fjh | of excel
e which wants to use this prelude rather than
the standard prelude should begin with the following two lines:
import qualified Prelude
import SDM_Prelude
SDM_Prelude itself should start with
import qualified Prelude
and it can then define its own `+' in terms of `Pre
accepts
module Example(Prelude.[]((:), [])) where
import Prelude([]((:), []))
--
Fergus Henderson [EMAIL PROTECTED] | "I have always known that the pursuit
WWW: http://www.cs.mu.oz.au/~fjh | of excellence is a lethal habit"
PGP: finger [EMAIL
ahead and use these in code that uses your
standard Prelude:
module Example where
import qualified Prelude
import MyPrelude
conj :: Bool - Bool - Bool
conj True x = x
conj False _ = False
--
Fergus Henderson [EMAIL PROTECTED] | "I have always
ension, then
`import Prelude (...)' becomes unusable, and instead you have to just
use `import qualified Prelude'.
--
Fergus Henderson [EMAIL PROTECTED] | "I have always known that the pursuit
WWW: http://www.cs.mu.oz.au/~fjh | of excellence is a lethal habit"
PGP: finger [EMAIL PROTECTED]
function":
... when the "By" function replaces an Ord context by a
comparison function, the comparison function is assumed to
define a total ordering.
Likewise that paragraph should be reworded if solution (2) is adopted.
--
Fergus Henderson [EMAIL PROTECTED]
On 20-May-2000, Marcin 'Qrczak' Kowalczyk [EMAIL PROTECTED] wrote:
Sat, 20 May 2000 20:45:47 +1000, Fergus Henderson [EMAIL PROTECTED] pisze:
This is somewhat ambiguous; if it is really intended that unary -
always refer to the negate function define in the Prelude, it really
ought
On 20-May-2000, Marcin 'Qrczak' Kowalczyk [EMAIL PROTECTED] wrote:
Sat, 20 May 2000 20:45:47 +1000, Fergus Henderson [EMAIL PROTECTED] pisze:
For the next version of Haskell, I propose changing the wording to
The integer literal i is equivalent to fromInteger i. Normally
,
is better because the extra work is done by the implementor of the
alternative prelude, which means it only needs to be done once, rather
than once for every time you use the alternative prelude.
--
Fergus Henderson [EMAIL PROTECTED] | "I have always known that the pursuit
WWW:
.
I don't have any particular preference as to which of those two solutions
is adopted, but I thought the alternative worth mentioning.
--
Fergus Henderson [EMAIL PROTECTED] | "I have always known that the pursuit
WWW: http://www.cs.mu.oz.au/~fjh | of excellence is a lethal habit"
P
run :: AltPrelude.ReplacementForIO t - Prelude.IO t
and then `main' could be defined using `run'
main = run (...)
so I don't see that as being a problem.
--
Fergus Henderson [EMAIL PROTECTED] | "I have always known that the pursuit
WWW: http://www.cs.mu.oz.au/~fjh | of excellence is a le
On 21-May-2000, Marcin 'Qrczak' Kowalczyk [EMAIL PROTECTED] wrote:
Sun, 21 May 2000 17:26:13 +1000, Fergus Henderson [EMAIL PROTECTED] pisze:
But being able to import and/or re-export such symbols is necessary
if you want to be able to implement an alternative prelude.
No: they can
well be the *easiest* thing to do, but the question
we should be asking is what is the *best* thing to do.
The easiest thing has been tried already, and -- dare I say it --
found wanting!
--
Fergus Henderson [EMAIL PROTECTED] | "I have always known that the pursuit
WWW: http://www.cs.mu.oz.au
ghc extension libraries.
But it should be possible to make some guarantees.)
--
Fergus Henderson [EMAIL PROTECTED] | "I have always known that the pursuit
WWW: http://www.cs.mu.oz.au/~fjh | of excellence is a lethal habit"
PGP: finger [EMAIL PROTECTED]| -- the last words of T. S. Garp.
On 30-May-2000, George Russell [EMAIL PROTECTED] wrote:
Fergus Henderson wrote:
(If nothing at all can be guaranteed, then no-one should be using those
features, and they should be removed from the Hugs/ghc extension libraries.
But it should be possible to make some guarantees.)
What
) b
Maybe, Char is better?
No, IMHO Char would definitely not be better.
In this case, I think separate functions would be best,
a single function with a properly typed mode argument second best,
and a single function with a `Char' mode argument worst.
--
Fergus Henderson [EMAIL PROTECTED] | &quo
be seen as an important
goal for Haskell-2. If Haskell does not have a standard FFI, then
programmers who are concerned about not being locked into a single
compiler will turn to other languages that do have a standard FFI.
--
Fergus Henderson [EMAIL PROTECTED] | "I have always
On 01-Jun-2000, Ketil Malde [EMAIL PROTECTED] wrote:
Fergus Henderson [EMAIL PROTECTED] writes:
Again, `Positive' would not do, it should be something like
QuotRem_Positive, and so on.
This is a problem with Haskell, IMHO.
Mercury allows overloading of constructor names, so
different requirements.
For the former, brevity may well be more important than readability,
but for the latter it is definitely the other way around.
--
Fergus Henderson [EMAIL PROTECTED] | "I have always known that the pursuit
WWW: http://www.cs.mu.oz.au/~fjh | of excellence is a le
't be able to make `foo' use my own sort function.
(Note that using `Char' rather than an enumeration doesn't help with
this problem.)
--
Fergus Henderson [EMAIL PROTECTED] | "I have always known that the pursuit
WWW: http://www.cs.mu.oz.au/~fjh | of excellence is a lethal habit"
On 02-Jun-2000, Ketil Malde [EMAIL PROTECTED] wrote:
Fergus Henderson [EMAIL PROTECTED] writes:
An interactive command line tool and a programming language intended
for writing non-trivial applications have very different requirements.
For the former, brevity may well be more important
s (STArray s ix elt)
| freezeSTArray :: Ix ix = STArray s ix elt - ST s (Array ix elt)
| unsafeFreezeSTArray :: Ix ix = STArray s ix elt - ST s (Array ix elt)
--
Fergus Henderson [EMAIL PROTECTED] | "I have always known that the pursuit
WWW: http://www.cs.mu.oz.au/~fjh | of excel
to platform,
or from compiler to compiler, or perhaps even from run to run;
but nevertheless, Haskell or any other language which aims to be
referentially transparent, for any given program execution the sum
should be the same each time in that program execution.
--
Fergus Henderson [EMAIL
IEEE arithmetic
and representation for Float/Double, why does GHC need to use
Rational to represent floating pointer values?
--
Fergus Henderson [EMAIL PROTECTED] | "I have always known that the pursuit
WWW: http://www.cs.mu.oz.au/~fjh | of excellence is a lethal habit"
PGP: fin
to the standard.
--
Fergus Henderson [EMAIL PROTECTED] | "I have always known that the pursuit
WWW: http://www.cs.mu.oz.au/~fjh | of excellence is a lethal habit"
PGP: finger [EMAIL PROTECTED]| -- the last words of T. S. Garp.
that using
reflection you can do quite a lot in the language that in Haskell
currently seems to instead be done with external preprocessors
(e.g. "Deriv", or whatever it is called now).
--
Fergus Henderson [EMAIL PROTECTED] | "I have always known that the pursuit
WWW: http://www.c
On 25-Jul-2000, Julian Assange [EMAIL PROTECTED] wrote:
Fergus Henderson [EMAIL PROTECTED] writes:
Jon Fairbairn was talking about Haskell. MSVC is a C/C++ compiler,
not a Haskell compiler. For C and C++, there are many many areas of
undefined, unspecified, or implementation-defined
tional languages.
In addition, I think your compiler also needs to support attributes?
P.S. My research group has received substantial funding from MS,
so my opinion on these issues may not be entirely objective.
--
Fergus Henderson [EMAIL PROTECTED] | "I have always known that the pursu
SP pages.
Could you elaborate? Or could you give a pointer to where we could
find out more about "code behind" style ASP pages?
--
Fergus Henderson [EMAIL PROTECTED] | "I have always known that the pursuit
WWW: http://www.cs.mu.oz.au/~fjh | of excellence is
On 02-Aug-2000, Carl R. Witty [EMAIL PROTECTED] wrote:
Fergus Henderson [EMAIL PROTECTED] writes:
The compiler hooks into GHC by translating Core into GOO
and then after some source to source transformations it
can spit out either C# or Java.
Is there any publically available
of having lazy evaluation as the default ;-)
--
Fergus Henderson [EMAIL PROTECTED] | "I have always known that the pursuit
WWW: http://www.cs.mu.oz.au/~fjh | of excellence is a lethal habit"
PGP: finger [EMAIL PROTECTED]| -- the last words of T. S. Garp.
llelizable.
(However, little work has been done on ensuring good randomness of
sequences generated using `Random.split', so if you need high quality
randomness then I would not advise that approach at this point in time.)
--
Fergus Henderson [EMAIL PROTECTED] | "I have always known that
that they have been asking for our suggestions and
taking notes is at least an improvement. I guess the really
interesting bit will be to see what goes in version two.
--
Fergus Henderson [EMAIL PROTECTED] | "I have always known that the pursuit
WWW: http://www.cs.mu.oz.au/~fjh | of excel
the answer is no.
A related question to which I do know the answer is "Can I use Mercury
to create an instance of a Haskell class, or vice versa?".
And the answer to that one, despite Mercury and Haskell having a
very similar concept of "class", is still no. So there's still a long
wa
minate,
so benchmarking things at this point would give us very little in the way
of of useful comparisons.
--
Fergus Henderson [EMAIL PROTECTED] | "I have always known that the pursuit
WWW: http://www.cs.mu.oz.au/~fjh | of excellence is a lethal habit"
PGP: finger [EMAIL PROTECTED
go before they'll be "walking the walk".
--
Fergus Henderson [EMAIL PROTECTED] | "I have always known that the pursuit
WWW: http://www.cs.mu.oz.au/~fjh | of excellence is a lethal habit"
PGP: finger [EMAIL PROTECTED]| -- the last words of T. S. Garp.
On 11-Aug-2000, R.S. Nikhil [EMAIL PROTECTED] wrote:
-Original Message-
From: Fergus Henderson [mailto:[EMAIL PROTECTED]]
Sent: Friday, August 11, 2000 4:18 AM
...
In particular http://commnet.pdc.mscorpevents.com/sessions.asp.
However, as seems to be usual
and Opera, it *seems* to be
correctly rendered. Unfortunately it is missing all of the crucial
links to the actual slides! Of course there is no easy way you could
tell this, except by having seen the same site already with IE, or by
examining the site's source code.
--
Fergus Henderson [EMAIL
mers working with the language!
Well, how about Modula II and Ada?
--
Fergus Henderson [EMAIL PROTECTED] | "I have always known that the pursuit
WWW: http://www.cs.mu.oz.au/~fjh | of excellence is a lethal habit"
PGP: finger [EMAIL PROTECTED]| -- the last words of T. S. Garp.
' as a syntactic function, e.g.
p x y = x + y
or
p x = (+) x
rather than via
p = (+)
then the monomorphism restriction does not apply, and so the type inferred
for `p' will be the correct polymorphic type `Num a = a - a - a'.
--
Fergus Henderson [EMAIL PROTECTED] | "I have a
ch is like `Monad' except that it has an `Eq a' constraint
on the type variable. Then use `EqMonad' instead of `Monad'.
You can't use the `do' syntax, and you can't reuse the library
routines that work on Monads.
--
Fergus Henderson [EMAIL PROTECTED] | "I have always known that the pu
, which can only be browsed on a Windows system
(in fact I think it even has to be W2k, IIRC).
--
Fergus Henderson [EMAIL PROTECTED] | "I have always known that the pursuit
WWW: http://www.cs.mu.oz.au/~fjh | of excellence is a lethal habit"
PGP: finger [EMAIL PROTECTED]| -
.
--
Fergus Henderson [EMAIL PROTECTED] | "I have always known that the pursuit
WWW: http://www.cs.mu.oz.au/~fjh | of excellence is a lethal habit"
PGP: finger [EMAIL PROTECTED]| -- the last words of T. S. Garp.
___
Haskell mailing l
for implicit
parameter passing.
--
Fergus Henderson [EMAIL PROTECTED] | "I have always known that the pursuit
| of excellence is a lethal habit"
WWW: http://www.cs.mu.oz.au/~fjh | -- the last words of
n a single function:
foo = show (read "whatever")
This expression is fundamentally ambiguous unless you somehow
disambiguate what type it is that you are trying to read.
I don't see how first class modules could solve that.
--
Fergus Henderson [EMAIL PROTECTED] |
probably doesn't use that much
of the interface to readline (e.g. there's no support for command-line
completion, except the default file-name completion), so the difference
*might* not matter.
It's certainly worth a try ;-)
Cheers,
Fergus.
--
Fergus Henderson [EMAIL PROTECTED] |
the error at that point of use is likely to make it harder to find the
problem, since it is further away from the place where the error occurred.
So I think allowing union types would most likely lead to *worse*
error messages.
--
Fergus Henderson [EMAIL PROTECTED] | "I have always known t
.
:- interface.
:- instance enum(t).
:- end_module enum_t.
:- implementation.
:- module enum_t.
:- implementation.
:- instance enum(t) where [ ... ].
:- end_module enum_t.
--
Fergus Henderson [EMAIL PROTECTED] | &q
or two on that. I hope you'll forgive the
self-citation, but the only one for which I happen to have a reference
on-hand is this one:
A semantics for imprecise exceptions. Simon Peyton-Jones,
Alastair Reid, Tony Hoare, Simon Marlow, and Fergus Henderson.
Proceedings
201 - 300 of 392 matches
Mail list logo