Article View: comp.lang.functional
Article #38functional language archive update
From: Stephen J Bevan
Date: Sun, 02 Aug 1992 21:48
Date: Sun, 02 Aug 1992 21:48
389 lines
13394 bytes
13394 bytes
I haven't posted a notice about my small functional language archive
for a while as I haven't had any submissions and I haven't written any
code that is distributable. Feeling depressed about the lack of code
available, I thought I'd write some more (or more correctly - convert
some more). I couldn't find the book I was looking for, so instead I
thought I'd try encroaching on FORTRAN territory and convert some
numerical analysis functions into Haskell. The results of this foray
(+ a few misc things) are :-
file : Adams_Bashforth_Approx.hs
size : 2341
author : Stephen J. Bevan <bevan@cs.man.ac.uk>
version : 1.1 1992/08/02 15:12:06
purpose : Adams-Bashforth methods for solving second order
differential equations. Contains 2, 3 and 4 step methods.
file : Bisection_Approx.hs
size : 2338
author : Stephen J. Bevan <bevan@cs.man.ac.uk>
version : 1.2 1992/08/02 13:38:57
purpose : Bisection method for finding roots of "f(x) = 0"
file : Fixed_Point_Approx.hs
size : 1915
author : Stephen J. Bevan <bevan@cs.man.ac.uk>
version : 1.2 1992/08/02 13:39:54
purpose : Fixed-point method for finding roots of "f(x) = 0"
file : Horner.hs
size : 1200
author : Stephen J. Bevan <bevan@cs.man.ac.uk>
version : 1.1 1992/08/02 14:04:50
purpose : Horner's algorithm for evaluating a polynomial of the form :-
P(x) = a_n*x^n + a_(n-1)*x^(n-1) + ... + a_1*x + a_0
and its derivative at x0
file : Maybe.hs
size : 196
author : Stephen J. Bevan <bevan@cs.man.ac.uk>
version : 1.1 1992/08/02 13:44:48
purpose : Spivey's (?) Maybe
file : Neville_Iterated_Interpolation.hs
size : 1874
author : Stephen J. Bevan <bevan@cs.man.ac.uk>
version : 1.1 1992/08/02 18:09:24
purpose : Neville's Iterated Interpolation algorithm
This evaluates an interpolating polynomial P on the (n+1) distinct
numbers x0, ..., xn at the number _x_ for a given function _f_
file : Newton_Cotes.hs
size : 1634
author : Stephen J. Bevan <bevan@cs.man.ac.uk>
version : 1.2 1992/08/02 20:29:29
purpose : Newton-Cotes formulas for approximating an integral
Contains: closed formulas (trapezoidal, simpson, simpson 3/8, 4)
open forumlas (midpoint, 1, 2, 3)
file : Newton_Interpolatory_Divided_Difference.hs
size : 1874
author : Stephen J. Bevan <bevan@cs.man.ac.uk>
version : 1.4 1992/08/02 17:47:15
purpose : Newton's interpolatory divided-difference formula for finding
the divided-difference coefficients of an interpolatory
polynomial
file : Newton_Raphson_Approx.hs
size : 2641
author : Stephen J. Bevan <bevan@cs.man.ac.uk>
version : 1.2 1992/08/02 13:35:19
purpose : Newton-Raphson method for finding roots of "f(x) = 0"
file : Runge_Kutta_Approx.hs
size : 5051
author : Stephen J. Bevan <bevan@cs.man.ac.uk>
version : 1.1 1992/08/02 13:31:54
purpose : Runge-Kutta methods solving second-order differential equations.
Contains: Midpoint, Modified Euler, Heun, 4th order and Fehlberg
methods
file : Secant_Approx.hs
size : 1061
author : Stephen J. Bevan <bevan@cs.man.ac.uk>
version : 1.2 1992/08/02 13:38:10
purpose : Secant method of finding roots of "f(x) = 0"
file : Sort.hs
size : 4494
author : ?
version : extracted from ghc-0.06-test.tar.Z in Glasgow archive
purpose : Various list sorting algorithms
Contains: quick, insert, heap and merge sort
file : Steffensen_Approx.hs
size : 1843
author : Stephen J. Bevan <bevan@cs.man.ac.uk>
version : 1.2 1992/08/02 13:37:03
purpose : Steffensen's method of finding roots of "f(x) = 0"
file : Taylor_Approx.hs
size : 1258
author : Stephen J. Bevan <bevan@cs.man.ac.uk>
version : 1.2 1992/08/02 13:28:39
purpose : Taylor methods for solving second-order differential equations.
Contains Euler's method + a second order Taylor method
If you want any of these files, then you can get then via the mail
server(s) attached to my account here with the command :-
send haskell/<name-of-file>
for example, to get the file "Steffensen_Approx.hs" :-
send haskell/Steffensen_Approx.hs
Full instructions on how to use the mail servers follows at the end of
this message. *PLEASE* read them before sending for a file as they
contain special instructions regarding size limits and how to avoid
mail bounces.
Finally, there are ftp based archives for Haskell, ML and Scheme.
Haskell - pub/haskell/library:anonymous@ftp.dcs.glasgow.ac.uk
- pub/haskell/library:anonymous@nebula.cs.yale.edu
- pub/haskell/library:anonymous@animal.cs.chalmers.se
ML - pub/ml/library:anonymous@ftp.dcs.edinburgh.ac.uk
Scheme - pub/scheme:anonymous@nexus.cs.yorku.ca
If you have any code that you'd like to share please upload it into
the appropriate archive. It doesn't have to be a huge program; just
something that may be useful to someone else. Implementations of
"standard" algorithms are particularly welcome. If your code isn't in
any of the above languages, but it is _functional_ (or appears so
externally), then mail it to me and I'll put in this archive.
enjoy,
bevan
b-server help file
==================
All requests should be sent to `bevan@cs.man.ac.uk' and have a subject
line containing `b-server-request' i.e. a typical request from a UNIX
system will start with :-
To: bevan@cs.man.ac.uk
Subject: b-server-request
This server reponds to the following commands in the body of a mail
message :-
help
send <filename>
plain
uuencode
shar
help
----
Produces this message
send <filename>
---------------
Send the given file back to you. For example :-
send haskell/avl-tree.lgs
send oberon/oberon_2_p_v1.3.shar
will result in both files being sent back to you.
plain
-----
Send all the following files without any encoding i.e. send
them as they appear in the archive. This is the default.
shar
----
Use shar to archive any files sent back.
uuencode
--------
Use uuencode to archive any files. This must be used if you
are retrieving binary files.
Examples
========
To obtain a copy of this message :-
To: bevan@cs.man.ac.uk
Subject: b-server-request
help
To obtain a top level index of the available files :-
To: bevan@cs.man.ac.uk
Subject: b-server-request
send index
To obtain a shar'd copy of an avl-tree in literate Gofer :-
To: bevan@cs.man.ac.uk
Subject: b-server-request
shar
send haskell/avl-tree.lgs
Some points to note :-
1. The server is rather simple and doesn't split the result of
requests into separate messages. This means that if the total size
of the files you request is over 100K it won't get out of this site
and will just result in the administrator receiving messages from
the mailer deamon.
If you want a multi-part file (such as the turtle graphics in
Miranda), then separate messages should be sent, each one
requesting a single part.
2. There is a limit on the number of files that can be retrieved in
one message. It is currently set to 6. There is also a limit to
the number of files that will be sent out in one day. This is
currently 20. This means that if somebody has already requested a
lot of files that day, your request may not be dealt with (I don't
think you will even get a message indicating this fact -- sorry)
3. UUCP style addresses can cause problems. Some archive message
replies are received correctly, some bounce at this end, and some
disappear down a black hole. If you don't receive a reply within a
few days, you can try mailing the administrator directly, but
unless an alternative address can be suggested, attempts at
bouncing the mail off other sites are not usually successful.
4. Due to a problem at this site, any attempt to reply to an address
originating from Switzerland results in the message being sent to
the Chemistry departement at another university in Manchester. If
you have a Swiss address, then mail the administrator, and within
reason, the files will be mailed out manually.
5. If you have an address of the form <foo@cs.here.there.everywhere>
then try to put a machine name in before the `cs'. This is because
the mailer here attempts to turn addresses around to account for
difference between and JANET/INTERNET ordering, and consequently
will send messages with ending it doesn't recognise to the `cs'
domain. Addresses of the form <foo@cs.here.there.uk> and
<foo.cs.here.there.edu> seem to work, but outside of these, who
knows :-). One which definitely fails is <foo@cs.here.there.za>,
this is turned into <foo@za.there.here.cs> which just bounces back.
If you have any problems, send a message to the archive administrator,
but do _not_ put `b-server-request' in the subject line or the archive
server program will "see" it first and try to process it as a request!
Archive administrator: Stephen J. Bevan <bevan@cs.man.ac.uk>
c-server help file
==================
All requests should be sent to `bevan@cs.man.ac.uk' and have a subject
line containing `c-server-request' i.e. a typical request from a UNIX
system will start with :-
To: bevan@cs.man.ac.uk
Subject: c-server-request
This server reponds to the following commands in the body of a mail
message :-
help
send <filename>
path <mail address>
help
----
Produces this message
send <filename>
---------------
Send the given file back to you. For example :-
send haskell/avl-tree.lgs
send oberon/oberon_2_p_v1.3.shar
will result in both files being sent back to you.
path <mail address>
-------------------
Use <mail address> as the address to which files are sent rather
than using the address in the mail header.
Examples
========
To obtain a copy of this message :-
To: bevan@cs.man.ac.uk
Subject: c-server-request
help
To obtain a top level index of the available files :-
To: bevan@cs.man.ac.uk
Subject: c-server-request
send index
To obtain a shar'd copy of an avl-tree in literate Gofer :-
To: bevan@cs.man.ac.uk
Subject: c-server-request
shar
send haskell/avl-tree.lgs
Some points to note :-
1. UUCP style addresses can cause problems. Some archive message
replies are received correctly, some bounce at this end, and some
disappear down a black hole. If you don't receive a reply within a
few days, you can try mailing the administrator directly, but
unless an alternative address can be suggested, attempts at
bouncing the mail off other sites are not usually successful.
2. Due to a problem at this site, any attempt to reply to an address
originating from Switzerland results in the message being sent to
the Chemistry departement at another university in Manchester. If
you have a Swiss address, then try using the "path" command to add
in "@nsfnet-relay.ac.uk" into the address i.e. to change addresses
like :-
some-user@inf.ethz.ch
into :-
foo%info.ethz.ch@nsfnet-relay.ac.uk
If this does not work, then try mailing the archive administrator
directly.
3. If you have an address of the form <foo@cs.here.there.everywhere>
then try to put a machine name in before the `cs'. This is because
the mailer here attempts to turn addresses around to account for
difference between and JANET/INTERNET ordering, and consequently
will send messages with ending it doesn't recognise to the `cs'
domain. Addresses of the form <foo@cs.here.there.uk> and
<foo.cs.here.there.edu> seem to work, but outside of these, who
knows :-). One which definitely fails is <foo@cs.here.there.za>,
this is turned into <foo@za.there.here.cs> which just bounces back.
If you can't alter the path in the header, then use the path
command to add in a machine name. For example, if I was having
trouble with my usual address which is :-
path bevan@cs.man.ac.uk
I would insert the name of one of our machines (e.g. panda) to get :-
path bevan@panda.cs.man.ac.uk
If you have any problems, send a message to the archive administrator,
but do _not_ put `c-server-request' in the subject line or the archive
server program will "see" it first and try to process it as a request!
Archive administrator: Stephen J. Bevan <bevan@cs.man.ac.uk>
Technical Details
Message-ID:
<BEVAN.92Aug2224835@jaguar.cs.man.ac.uk>Path:
arc1-ca.pugleaf.net!sparky!uunet!mcsun!uknet!mucs!m1!bevanShow Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!sparky!uunet!mcsun!uknet!mucs!m1!bevan From: bevan@cs.man.ac.uk (Stephen J Bevan) Newsgroups: comp.lang.functional Subject: functional language archive update Message-ID: <BEVAN.92Aug2224835@jaguar.cs.man.ac.uk> Date: 2 Aug 92 21:48:35 GMT Sender: news@cs.man.ac.uk Organization: Department of Computer Science, University of Manchester Lines: 389