On 3 Apr 2008, at 07:59, Henning Thielemann wrote:
But one should also be able to write (f+g)(x). - This does not
work in Haskell, because Num requires an instance of Eq and Show.
You could define these instances with undefined function
implementations anyway. But also in a more cleaner
On 3 Apr 2008, at 08:07, Henning Thielemann wrote:
Show could be implemented by writing out the function closures,
but I think the reason it is not there is that it would create
overhead in compiled code.
It would also not give referential transparent answers, because the
same function
On 3 Apr 2008, at 16:07, Chris Smith wrote:
This problem is not caused by defining f+g, but by defining
numerals as
constants.
Yup. So the current (Num thing) is basically:
1. The type thing is a ring
2. ... with signs and absolute values
3. ... along with a natural homomorphism from Z
On 2 Apr 2008, at 11:22, Henning Thielemann wrote:
It seems me it may come from an alteration of math conventions:
Normally (x) = x, and function application is written as f(x), except
for a few traditional names, like for example sin x. So if one
reasons that f(x) can be simplified to f x,
On 2 Apr 2008, at 13:51, [EMAIL PROTECTED] wrote:
But one should also be able to write (f+g)(x). - This does not
work in Haskell, because Num requires an instance of Eq and Show.
So, declare them, even if they are vacuous. I did it several times,
I am
still alive, so no need to say this
On 2 Apr 2008, at 14:27, [EMAIL PROTECTED] wrote:
That is possible, of course - I did that, too. But it means that
the syntax and semantics do not work together; an invitation to
pitfalls. So this ought to be avoided, except if there are no
other workarounds.
I am more tolerant.
The
On 2 Apr 2008, at 14:27, [EMAIL PROTECTED] wrote:
It would be better to write a new Prelude. :-)
Oh, yes, our common dream...
One may not need to write a wholly new Prelude, by something like:
module NewPrelude where
import Prelude hiding -- Num, (+).
class AdditiveSemiMonoid a where
On 2 Apr 2008, at 16:20, Loup Vaillant wrote:
class AdditiveSemiMonoid a where
(+) :: a - a - a
Err, why *semi* monoid? Plain monoid would not be accurate?
A monoid has a unit:
class (AdditiveSemiMonoid a) = AdditiveMonoid a where
o :: a
The semimonoid is also called semigroup, I
On 2 Apr 2008, at 16:30, Brandon S. Allbery KF8NH wrote:
While we're at it, what about adding even more classes, like group
or ring? Algebra in a whole class hierachy. :-)
Only ambition required :-).
http://www.haskell.org/haskellwiki/Mathematical_prelude_discussion
--- go nuts.
There is
in algebra, one
sometimes writes f of x as x f or (x)f, so that one does not have
to reverse the order for example in diagrams.
Hans Aberg
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe
and lazy evaluation in different context, but it has the
disadvantage of hiding away the semantics. Something to think about
when designing the next lazy computer language. :-)
Hans Aberg
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http
On 28 Mar 2008, at 03:03, Ryan Ingram wrote:
Another way to defer the evaluation of the second argument of (-+)
is like this:
(-+) :: a - List a - List a
x -+ y = List(f) where
f 0 = x
f k = case y of List g - g (k-1)
This is exactly what the lazy pattern will do at compile-time. Does
On 28 Mar 2008, at 03:03, Ryan Ingram wrote:
Another way to defer the evaluation of the second argument of (-+)
is like this:
(-+) :: a - List a - List a
x -+ y = List(f) where
f 0 = x
f k = case y of List g - g (k-1)
This is exactly what the lazy pattern will do at compile-time. Does
I have fixed the problem now. In the last letter, with the Natural
class, I had not added
instance Num Natural where
(N x) - (N y) = N(x - y)
which the Ordinal class then in fact has one. Then it turns out that
it is merely the fact that show had some cases looking at the list
length
there are not many possibilities of change.
Below, (-+) corresponds, for lists, to :, first to head, and
rest to tail.
Hans Aberg
data List a = List(Integer-a)
instance Show a = Show (List a) where
show (List f) = [ ++ show (f(0)) ++
concat [, ++ show (f(toInteger i))| i-[1
want. I
had a look at lazy patterns, but could not figure out how to put them
in. So thanks again.
Hans Aberg
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe
it
data List a = Empty | List(Ordinal - a, Ordinal)
Here, if a type T has a default element t, I can represent the empty
list by
List(\_ - t, 0)
making the constructor Empty redundant.
Hans Aberg
___
Haskell-Cafe mailing list
Haskell-Cafe
, the function, which is constantly (_|_), is a fixed
point for the equation defining h. In other words, if you define
h' x = undefined
then you have
h' x = (-+) anything (h anything)
in particular,
h' x = (-+) (first x) (h (rest x))
But additional explanation is helpful. Thank you.
Hans
spot when length is 0.
Hans Aberg
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe
On 27 Mar 2008, at 17:51, Luke Palmer wrote:
A more standard way to do this would be:
data List a = List (Ordinal - a) Ordinal
I used
data List a = Empty | (Ordinal-a) :+ Ordinal
which might then be simplified by dropping Empty.
Hans Aberg
://mail.gnu.org/mailman/listinfo/help-bison
[EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/bug-bison
Hans Aberg
___
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell
the programming is doing the GC by hand.
Hans Aberg
___
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell
available.
Summing it up, I suspect that choosing development strategies will depend a
lot on how to cut development time, even though MacOS X programming in
itself should be interesting, in view that it is now one of the more
advanced OS's available.
Hans Aberg
; that is, that would make the use in say GHC
easier? (As I think GHC uses GMP, I thought this might the right place to
ask for an input).
Hans Aberg
___
Hugs-Bugs mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/hugs-bugs
, any kind of progress is important. (I
do not have access to MacOS X right now, so unfortunatley I cannot try out
your port.)
Hans Aberg
___
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell
ely slow with todays computers.
Hans Aberg
important in constructive math.
Then it is interesting that the approach break down in describing all the
innards of the runtime object of a computers. Perhaps this is a weak spot
of constructive math relative traditional math, then.)
Hans Aberg
* Email: Hans Aberg mailto:[EMAIL PROTECTED]
some sort to indicate the non-determinism
is as good a solution as any.
So I just wanted to give a logical description resolving this referential
transparency paradox. How one then chooses to wrap it up in a language is
another matter; it should then just be something that is convenient to the
user.
. Then, when the ambiguities have been resolved, one proceeds at
finding a better notation.
Clearly with the new proposal
assigning references at once for all at creation time is by construction
an ok model.
I am happy to see that my intuition seems to work from the cs point of
view. :-)
Hans Aberg
, and 0 is the first (smallest) ordinal. Then the set of all
lists have type list ([A] in Haskell), just as before: one simply extends
the possibility of infinities of lists.
Hans Aberg
uch an evaluation.
If somebody has some good suggestions, let's hear about it.
Hans Aberg
* Email: Hans Aberg mailto:[EMAIL PROTECTED]
* Home Page: http://www.matematik.su.se/~haberg/
* AMS member listing: http://www.ams.org/cml/
not appropriate, then
one ends up with figuring out the meaning of strange syntaxes.
Hans Aberg
* Email: Hans Aberg mailto:[EMAIL PROTECTED]
* Home Page: http://www.matematik.su.se/~haberg/
* AMS member listing: http://www.ams.org/cml/
. It then
depends on what this system() is implemented to do -- doing nothing is
legal in ISO C, but on a UNIX computer it calls the Bourne shell, simple
but inefficent.
Hans Aberg
* Email: Hans Aberg mailto:[EMAIL PROTECTED]
* Home Page: http://www.matematik.su.se
updated.
Quadra is 68k, I recall. There might be a hope that somebody compiles the
sources I and Pablo made for 68k (probably for CFM then), but the state of
the matter is as of yet unclear.
Hans Aberg
* Email: Hans Aberg mailto:[EMAIL PROTECTED]
* Home Page
resolve it. -- As far as I know, the C standard does not
specify echoing/non-echoing (and line buffering) of the stdin (or its
console), but this is something up to the implementer of the C compiler to
decide.
Hans Aberg
* Email: Hans Aberg mailto:[EMAIL PROTECTED
Aberg
* Email: Hans Aberg mailto:[EMAIL PROTECTED]
* Home Page: http://www.matematik.su.se/~haberg/
* AMS member listing: http://www.ams.org/cml/
. Then use the
heap profiler again to see if you succeeded.
In fact your program is a very good example on how the Heap Profiler can be
used.
Hans Aberg
* Email: Hans Aberg mailto:[EMAIL PROTECTED]
* Home Page: http://www.matematik.su.se/~haberg
expect to know that if one has a
category of some sort, it is equivalent to the lambda calculus, or
something like that.
Hans Aberg
* Email: Hans Aberg mailto:[EMAIL PROTECTED]
* Home Page: http://www.matematik.su.se/~haberg/
* AMS member
.
In real life though, it is very difficult to translate an arbitrarily given
lambda expression into a combination of the given primitive set. So for
practical purposes, there is no real gain in attempting to use a primitive
set as a replacement for lambda expressions.
Hans Aberg
? -- The difference is that when using the
primitive set S only, we subsume the relations in the algebra of lambda
expressions, but here we try to express these relations explicitly.
Hans Aberg
* Email: Hans Aberg mailto:[EMAIL PROTECTED]
* Home Page: http
contain x is a legal expression in Church's calculus, but
this expresion becomes equivalent to
lambda x.f
when O(x)(f) = f is substituted.
Here O lambda a b . b, as before.
Hans Aberg
* Email: Hans Aberg mailto:[EMAIL PROTECTED]
* Home
At 20:08 +0200 1999/06/03, Mariano Suarez-Alvarez wrote:
A ``category with + and ^ '' is called cartesian closed aditive
category, cf MacLane, Category Theory for the Working Mathematician
Is this a suggestion or a theorem?
Hans Aberg
* Email: Hans Aberg mailto:[EMAIL
.
Hans Aberg
* Email: Hans Aberg mailto:[EMAIL PROTECTED]
* Home Page: http://www.matematik.su.se/~haberg/
* AMS member listing: http://www.ams.org/cml/
nentiation is that on the Church integer
functionals, these two operations are just the multiplication and
exponentiation of those integer functionals.
Hans Aberg
* Email: Hans Aberg mailto:[EMAIL PROTECTED]
* Home Page: http://www.matematik.su.se/~haberg/
*
.
But it can be a spin-off for thoughts: A category is essentially an object
with I and *, and a functor is a map preserving those. So what about the
two other operations, + and ^ ?.
Hans Aberg
* Email: Hans Aberg mailto:[EMAIL PROTECTED]
* Home Page: http
to await a couple of generations of computer
languages, before one can expect such issues be dealt with properly. But
then one might see a truly "general purpose" language, where the programmer
picks specializations of general features, instead of from a junkyard of
specialized features.
should be able to
recognize and give control to the distinction between A f(B) and void f(B),
and it should not impose implicit type conversions causing type conflicts
which cannot be resolved.
Hans Aberg
* Email: Hans Aberg mailto:[EMAIL PROTECTED]
* Home Page
he
"+" applicable to the other argument types in the class Float as a single
function.
Then these names are exported by some mechanism, perhaps corresponding to
the "using" directive in C++. If a name conflict occurs, one can type +_Int
or +_Float, indicating which copy is intended.
time and effort on workarounds, there is something wrong with that
language.
Hans Aberg
* Email: Hans Aberg mailto:[EMAIL PROTECTED]
* Home Page: http://www.matematik.su.se/~haberg/
* AMS member listing: http://www.ams.org/cml/
kell the
fact even that monads are triples, even less that they have some additional
monad relations to fulfill.
Hans Aberg
* Email: Hans Aberg mailto:[EMAIL PROTECTED]
* Home Page: http://www.matematik.su.se/~haberg/
* AMS member listing: http://www.ams.org/cml/
At 10:08 -0700 1999/05/04, peter [EMAIL PROTECTED] wrote:
Hans aberg writes:
When a group is expressed as a class G having operations e, *, and -1,
then implicitly (via well defined semantics), a group is a quadruple,
so I don't think the quadruple need be explicit in the Haskell program
the evaluation of
a complex expression.
There are two aspects, building an interface and finding en efficient
implementation of. So I described the interface.
Hans Aberg
* Email: Hans Aberg mailto:[EMAIL PROTECTED]
* Home Page: http://www.matematik.su.se/~haberg
by a repeat
of two operations, by taking the successor, or by a transfinite operation,
passing to higher ordinals.
Using a well ordered set, that seems to be possible.
Hans Aberg
* Email: Hans Aberg mailto:[EMAIL PROTECTED]
* Home Page: http://www.matematik.su.se
e one element", but you do not know which
one, that is the very idea of a set.
If the result of this foldl varies from implementation to implementation in
a significant way you do not want, then either you have chosen a bad f to
fold with, or sets should not be used at all.
(haskell.org
not working, etc.).
Hans Aberg
* Email: Hans Aberg mailto:[EMAIL PROTECTED]
* Home Page: http://www.matematik.su.se/~haberg/
* AMS member listing: http://www.ams.org/cml/
order on the set of lists with elements in that class, by taking a
lexical order, say by taking lower indices having higher order priority.
But as in the case of the Boolean algebra, this total order needs not
having anything to do with the Ord one is using for mathematical purposes.
Hans Aberg
, just as in C++ STL. This total order is normally different
from any derivation of Ord, and is just used for sorting purposes.
Hans Aberg
* Email: Hans Aberg mailto:[EMAIL PROTECTED]
* Home Page: http://www.matematik.su.se/~haberg/
* AMS member
, the ":r" command now checks the
file dates correctly, and reloads the files if they have been altered.
The directory demos/cgi is not with this distribution (as MPJ pointed out
he had deliberately removed it).
Hans Aberg
* Email: Hans Aberg mailto:[EMAIL
, Microsoft could have still used their altered Java.
Hans Aberg
* Email: Hans Aberg mailto:[EMAIL PROTECTED]
* Home Page: http://www.matematik.su.se/~haberg/
* AMS member listing: http://www.ams.org/cml/
.
Hans Aberg
* Email: Hans Aberg mailto:[EMAIL PROTECTED]
* Home Page: http://www.matematik.su.se/~haberg/
* AMS member listing: http://www.ams.org/cml/
hugs98-990121-MacPPC-binary.sit.bin
and can be unpacked using Stuffit Expander.
Hans Aberg
* Email: Hans Aberg mailto:[EMAIL PROTECTED]
* Home Page: http://www.matematik.su.se/~haberg/
* AMS member listing: http://www.ams.org/cml/
At 02:06 -0800 1999/01/04, Simon Peyton-Jones wrote:
Perhaps, but I'm not willing to add anything to the library at this
stage. Two months ago maybe. Now, no.
Perhaps, as soon as Haskell 98 has been finished, it is time to start
development of Haskell 99. :-)
Hans Aberg
and 1. I have not been able to
hack such a function using Hugs' randomIO function.
I can think of adding a function getPseudoRandom, which has an extra
argument one interates on (same argument always prodcuing the same result).
Hans Aberg
* Email: Hans Aberg mailto:[EMAIL
(3) above. If I write
x: (x + 1) * 2 = f x
*: (x + 1) * 2 = f x
then in each case, the intention of the author is clear. The first case
could perhaps not be handled by Haskell (implicitly dividing with 2), but
other languages, computer algebra languages and CLP(R) and such, cou
When resolving such implicit definitions (in the few cases it is possible),
one needs something more sophisticated than the simple pattern matching of
Haskell, like Grobner bases and stuff. But such things are handled by
computer algebra programs.
Hans Aberg
* Email: Hans
dern CPU's are developed as to make more commonly used assembler
instructions faster, the only way to find out the speed of the components
of a program is to use a profiler.
Hans Aberg
* Email: Hans Aberg mailto:[EMAIL PROTECTED]
* Home Page: http://www.matem
ink I
meant?
Hans Aberg
* Email: Hans Aberg mailto:[EMAIL PROTECTED]
* Home Page: http://www.matematik.su.se/~haberg/
* AMS member listing: http://www.ams.org/cml/
re general categories in
Haskell, then I think that one might need changing the name as you propose.
Hans Aberg
* Email: Hans Aberg mailto:[EMAIL PROTECTED]
* Home Page: http://www.matematik.su.se/~haberg/
* AMS member listing: http://www.ams.org/cml/
that
map (return . f) (... return xs ...)
should mean
mapM (return . f) (... return xs ...)
Hans Aberg
* Email: Hans Aberg mailto:[EMAIL PROTECTED]
* Home Page: http://www.matematik.su.se/~haberg/
* AMS member listing: http://www.ams.org
, that is all objects of the form M(a), and monad algebra
homomorphisms M(a) - M(b), so one can use this category instead.
Hans Aberg
* Email: Hans Aberg mailto:[EMAIL PROTECTED]
* Home Page: http://www.matematik.su.se/~haberg/
* AMS member
puts it up. Right now it is at
ftp://haskell.org/pub/incoming/MacHugs
as Mark P Jones pointed out.
Hans Aberg
* Email: Hans Aberg mailto:[EMAIL PROTECTED]
* Home Page: http://www.matematik.su.se/~haberg/
* AMS member listing: http
that the MonadPlus is just a monad whose algebras are
monoids. So perhaps it should be renamed to reflect that fact.
Hans Aberg
* Email: Hans Aberg mailto:[EMAIL PROTECTED]
* Home Page: http://www.matematik.su.se/~haberg/
* AMS member listing: http
converting them to Doubles: So Floats are then
are then slower with less precision, and the memory difference requirement
is normally not of any importance.
Hans Aberg
* Email: Hans Aberg mailto:[EMAIL PROTECTED]
* Home Page: http://www.matematik.su.se/~haberg
e with the original discussion is that
you fail to properly define the underlying semantics, specifically, the
general principles on which it depends.
Hans Aberg
* Email: Hans Aberg mailto:[EMAIL PROTECTED]
* Home Page: http://www.matematik.su.se/~haberg/
ine \f to denote a free variable, I could assign f := \f + 1, and later
bind this \f by the assignment f := \f |- f, which would work out to the
increment function. In this example, free variables and symbol table names
have a distinctly different behavior.)
Hans Aberg
* Email:
depending on the context.
Some thinking could probably define some widely used relations, like
"equal" and "indentical" in the case of aliases. But one can still not
ensure that this will suffice for every data structure.
Hans Aberg
* Email: Hans Aberg mai
monoid on V
and a commutative and associative operator as a map
Sym(V) - V -- Sym = disjoint union of Sym^p for p = 0
In a computer language, this provides an interface which the compiler can
choose an implementation of.
Hans Aberg
* Email: Hans Aberg mailto:[EMAIL
we might do better.
Exactly what does this mean that FORTRAN compilers derives a functional
program?
Hans Aberg
* Email: Hans Aberg mailto:[EMAIL PROTECTED]
* Home Page: http://www.matematik.su.se/~haberg/
* AMS member listing: http
ht give clues on how Haskell might be extended.
Hans Aberg
* Email: Hans Aberg mailto:[EMAIL PROTECTED]
* Home Page: http://www.matematik.su.se/~haberg/
* AMS member listing: http://www.ams.org/cml/
At 17:25 +1000 98/10/15, David Glen JEFFERY wrote:
Does something like this exist? FWIW, I'm using Hugs 1.4
I gather that "FWIW" is yet another SSMA; what does it mean?
Hans Aberg
* Email: Hans Aberg mailto:[EMAIL PROTECTED]
* Home
e of years).
Hans Aberg
* Email: Hans Aberg mailto:[EMAIL PROTECTED]
* Home Page: http://www.matematik.su.se/~haberg/
* AMS member listing: http://www.ams.org/cml/
On 15-Oct-1998, Hans Aberg [EMAIL PROTECTED] wrote:
I gather that "FWIW" is yet another SSMA; what does it mean?
At 01:22 +1000 98/10/16, David Glen JEFFERY wrote:
For What It's Worth. Okay... I'll bite. What's SSMA?
some such meaningless acronym
Hans Aberg
generality on the expense of speed.
Haskell could probably be made more usable by allowing classes be written
in another language and used from Haskell or vice versa.
Hans Aberg
* Email: Hans Aberg mailto:[EMAIL PROTECTED]
* Home Page: http://www.matematik.su.
At 14:36 -0500 98/10/09, Jan Skibinski [EMAIL PROTECTED] wrote:
Could Haskell ever be used for serious scientific computing?
...
On Wed, 14 Oct 1998, Hans Aberg wrote:
I think you need to define "scientific computing": At 09:57 -0500
98/10/14,
Jan Skibinski wrote:
I do
suggested that all those should be replaced by a single type Binary, if
possible.
Hans Aberg
* Email: Hans Aberg mailto:[EMAIL PROTECTED]
* Home Page: http://www.matematik.su.se/~haberg/
* AMS member listing: http://www.ams.org/cml/
one, I do not have any opinion.
Hans Aberg
* Email: Hans Aberg mailto:[EMAIL PROTECTED]
* Home Page: http://www.matematik.su.se/~haberg/
* AMS member listing: http://www.ams.org/cml/
. This will simplify the logic, Integers only doing things typical for
integers, the binary type only doing typical binary operations (including
arithmetic).
Hans Aberg
* Email: Hans Aberg mailto:[EMAIL PROTECTED]
* Home Page: http://www.matematik.su.se/~haberg
At 10:58 +0100 98/09/15, Keith S. Wansbrough wrote:
The binary operations (*), (+) etc are not commutative on
all types, notably Float.
Are you sure you are not mixing up the words "commutative" and
"associative" here?
Hans Aberg
* Email: Hans Aberg mai
.
public:
...
};
One then ends up with the same overflow checks as above, but on the same
time ensures that dynamic memory allocation is not used for small integers
and that integers are packed efficiently.
Hans Aberg
* Email: Hans Aberg mailto:[EMAIL PROTECTED
(of word
size) special treatment may no not so big.
Hans Aberg
* Email: Hans Aberg mailto:[EMAIL PROTECTED]
* Home Page: http://www.matematik.su.se/~haberg/
* AMS member listing: http://www.ams.org/cml/
At 00:00 +0200 98/08/04, Felix Schroeter wrote:
On Mon, Aug 03, 1998 at 04:18:49PM +0200, Hans Aberg wrote:
So, why not add a type "Complexify(R)" of a ring R to Haskell?
Note that you can't divide in a ring. A type class *roughly* corresponding
to a ring is probably Num.
Su
note that if one want the programs of an earlier version of a
computer language should be able top run on a later version, that can be
described by a monad. So why not implement an upgrade monad in Haskell? --
It would solve the problem once and for all.
Hans Aberg
* Email: Hans
ot;for this run of the program I would like to use 10^5
digits" ?
My guess is that it means that the libraries are for real, but they deal
with arbitrary precision floating numbers.
Hans Aberg
* Email: Hans Aberg mailto:[EMAIL PROTECTED]
* Home Page: http://www.mat
not add a type "Complexify(R)" of a ring R to Haskell?
Hans Aberg
* Email: Hans Aberg mailto:[EMAIL PROTECTED]
* Home Page: http://www.matematik.su.se/~haberg/
* AMS member listing: http://www.ams.org/cml/
But the conditions should be spelled out in the copyright notice, I think.
I am not an expert on legal wrangling, but if the perceived independence
is at stake, one way could be to create a consortium and transfer the
copyright to that while retaining the right to develop the product.
Hans Abe
way, what does the "I ANAL" you use mean?)
Hans Aberg
* Email: Hans Aberg mailto:[EMAIL PROTECTED]
* Home Page: http://www.matematik.su.se/~haberg/
* AMS member listing: http://www.ams.org/cml/
s an exception monad:
Let E be the constant functions of Action in M(A), identify A with its
image in M(A), and define E(A) = A | E, a subset of M(A). Then the
restrictions of the monad operations on M gives an exception monad E.
Hans Aberg
* Email: Hans
or message to the terminal but letting
the computations continue.
Hans Aberg
* Email: Hans Aberg mailto:[EMAIL PROTECTED]
* Home Page: http://www.matematik.su.se/~haberg/
* AMS member listing: http://www.ams.org/cml/
as function composition, i.e. putting
f = cat(file)
g = grep(blah)
h = wc(-l)
then the line above is h(g(f)).
Hans Aberg
* Email: Hans Aberg mailto:[EMAIL PROTECTED]
* Home Page: http://www.matematik.su.se/~haberg/
* AMS member listing: http
e
with pre-emotive threads I think.
Hans Aberg
* Email: Hans Aberg mailto:[EMAIL PROTECTED]
* Home Page: http://www.matematik.su.se/~haberg/
* AMS member listing: http://www.ams.org/cml/
101 - 200 of 233 matches
Mail list logo