technique too, and further,
many common language constructs (such as "return", "break", etc in C++) can
be viewed as special cases of exception handling.
Hans Aberg
* Email: Hans Aberg mailto:[EMAIL PROTECTED]
* Home Page: http://www.mat
n, so it should have a function f: Exception - Boolean as an extra
argument; the exception is handled only if this evaluates to "true" for the
exception it handles.
Hans Aberg
* Email: Hans Aberg mailto:[EMAIL PROTECTED]
* Home Page: http
ructures into a nice single
abstraction.
As we sit here with a language, Haskell, which normally does not admit
imperative structures, using exceptions might be a neat way to do it.
Hans Aberg
* Email: Hans Aberg mailto:[EMAIL PROTECTED]
* Home Page: http:/
around with them both and compare.
Hans Aberg
* Email: Hans Aberg mailto:[EMAIL PROTECTED]
* Home Page: http://www.matematik.su.se/~haberg/
* AMS member listing: http://www.ams.org/cml/
implementing
exceptions.
Hans Aberg
* Email: Hans Aberg mailto:[EMAIL PROTECTED]
* Home Page: http://www.matematik.su.se/~haberg/
* AMS member listing: http://www.ams.org/cml/
to not
raise an exception, then your type should support infinities.
I think it is best to let 1/0 throw an exception "divide-by-zero" -- then
this can be used to build types that support infinities (like projective
spaces).
Hans Aberg
* Email: Hans Aberg mai
.
Hans Aberg
* Email: Hans Aberg mailto:[EMAIL PROTECTED]
* Home Page: http://www.matematik.su.se/~haberg/
* AMS member listing: http://www.ams.org/cml/
propagates through a series of identity
mappings in the exception monad, which is slow.
So the real problem is if one can implement an exception monad in Haskell
which does not propagate through the code (i.e. skips forward directly to
the point where the exception is caught).
++.)
Hans Aberg
* Email: Hans Aberg mailto:[EMAIL PROTECTED]
* Home Page: http://www.matematik.su.se/~haberg/
* AMS member listing: http://www.ams.org/cml/
. After all, if one is just interested
in getting the list sorted, one is not going to be very interested in
writing a complicated sorting algorithm.
Hans Aberg
* Email: Hans Aberg mailto:[EMAIL PROTECTED]
* Home Page: http://www.matematik.su.se/~haberg
is
created if the discussions are becoming sufficiently ample?
The thing is that I recall some similar (private) request in the past. --
It seems good that these Haskore discussions are public.
Hans Aberg
* Email: Hans Aberg mailto:[EMAIL PROTECTED]
* Home
characters, the file becomes platform independent. So oldstyle newlines
should also probably only be used for compatibility reasons.
Hans Aberg
* Email: Hans Aberg mailto:[EMAIL PROTECTED]
* AMS member listing: http://www.ams.org/cml/
also being done?
Hans Aberg
* Email: Hans Aberg mailto:[EMAIL PROTECTED]
* AMS member listing: http://www.ams.org/cml/
allows any bit length (not just 2^n), and
allowing signed/unsigned operations to be mixed without type conversion.
Hans Aberg
* Email: Hans Aberg mailto:[EMAIL PROTECTED]
* AMS member listing: http://www.ams.org/cml/
.
Hans Aberg
* Email: Hans Aberg mailto:[EMAIL PROTECTED]
* AMS member listing: http://www.ams.org/cml/
At 15:29 97/09/25, [EMAIL PROTECTED] wrote:
Does anyone have Mac binaries for Hugs 1.3 or Hugs 1.4.
...
My reply ended up on the Hugs-Bugs list, where I think it belongs.
Hans Aberg
* AMS member: Listing http://www.ams.org/cml/
* Email: Hans Aberg [EMAIL
efficient). Has this been done?
Hans Aberg
* AMS member: Listing http://www.ams.org/cml/
* Email: Hans Aberg [EMAIL PROTECTED]
e, logical extensions which cause no conceptual problems but which
just don't fit into the range of things the JVM is prepared to represent).
I have not followed the Pizza mailing list (how do you get Pizza in the
mail?).
But I think there is some theory needed to fill the gap.
At 07:10 97/08/22, David Barton wrote:
Let's not even *talk* about "official" standardization until we get
Haskell 1.5 (nominally, "Standard" Haskell) done.
I believe we should keep the First Amendment. :-)
Hans Aberg
* AMS member: Listing ht
s). One would mark the code in the style "requires Haskell
1.4", with name, version, and optional version date (but one is not
required using this feature). It is like importing a module with a version
number attached to it.
Hans Aberg
are not
used is the lack of an ISO/ANSI standard, plus the lack of standard ways of
making cooperation with other, imperative languages.
Hans Aberg
ng to find such a structured design (meaning that one would rather
discuss how to add some nice new features).
Standardizing a language tends to make it obsolete, due to lack of
creativity. Perhaps it is time to start discussing the successor of Haskell
then.
Hans Aberg
* AMS member: Li
At 17:25 97/08/20, [EMAIL PROTECTED] wrote:
On 20 Aug, Hans Aberg wrote:
Is it not possible to make the versions upwards compatible, so that
Haskell 1.4 code somehow can be run on Haskell 1.5? Does "being stable"
need to mean unchangeable?
Well, one way would be to require a
not always be forced to use an automatic
garbage collector.
Hans Aberg
uctured
mathematical operations. So, with good byte code designs, which become
sufficiently universal, this will surely make the hardware people take that
into account.
Hans Aberg
this change does not make the mini-Prolog echo
interactively, but only after the newline has been sent; so this seems
wrong.
Hans Aberg
"derivation", and "Bar Int" is the derived class to
be filled in. In C++, the writer of the "Bar Int" class has to explicitly
indicate how this class is to be derived, as the wishes for semantics may
vary. In Haskell, this is information is implicit, which causes the
problem.
Hans Aberg
, if needed.)
Hans Aberg
B.
-- This is in fact what the formula for "liftM" says, which works,
because one implicitly assumes this naturality of the Kliesli
multiplication, then.
Hans Aberg
n C, which explains why I called it the
"monoid multiplication" version of the monad. The name "monad" is also
derived, in view of this connection, from the word "monoid" (another name
for "monad" is "triple").
Somewhat involved perhaps, but not really difficult. :-)
Hans Aberg
Hans Aberg included in his mail:
class Monad m where
map :: (a - b) - (f a - f b) -- Functor
return :: a - m a-- Unit
(=) :: m a - (a - m b) - m b-- Kleisli multiplication
or join :: m(m a) - m a -- Monoid
void this particular problem
It does not really avoid the problem, but you have to use a smaller
epsilon instead.
Hans Aberg
quations for clunky...
but also combine with other Boolean expressions.
Hans Aberg
201 - 233 of 233 matches
Mail list logo