Re: Felleisen on Standard Haskell

1998-08-04 Thread David Bruce

Simon L Peyton Jones wrote:

 That's just what I intend to do.  I don't see Std Haskell as a big
 deal, but even little deals are worth completing rather than
 leaving as loose ends... and I'm more optimistic than Paul about
 the usefulness of Std Haskell.  I would be happy to find a name
 that was less grand and final-sounding than 'Standard Haskell' though;
 but more final sounding than 'Haskell 1.5'.

`Teaching Haskell' is an obvious option, but might put too many
non-academics off.

So, considering its purpose, what about `Stable Haskell'?


(The main drawback is, of course, that the phrase `horses for courses'
springs to mind :-)  [Just couldn't resist sharing that one with you all!]



 -- David

post: DERA Malvern, St Andrews Road, Malvern, WORCS WR14 3PS, ENGLAND
mailto:[EMAIL PROTECTED] ** phone: +44 1684 895112 ** fax: +44 1684 894389

[The views expressed above are entirely those of the writer and do not represent the 
views, policy or understanding of any other person or official body.]







Re: Xmas fun

1997-12-19 Thread David Bruce

Fergus Henderson wrote:

 On 19-Dec-1997, Simon L Peyton Jones [EMAIL PROTECTED] wrote:
 
  I thought you might find the following bug I've just
  found in GHC entertaining.

...

sameVal (AbsApproxFun str1 v1) (AbsApproxFun str2 v2)
= str1 == str2  sameVal v1 v1

...

 This bug could have been caught by a very simple static analysis that
 is very popular in the logic programming community: singleton variable
 warnings.  In the code above, the variable `v2' occurs only once.
 Singleton variables such as this are often bugs.  For cases where the
 programmer really does want a singleton variable, the warning can be
 suppressed by using a different naming convention (in Prolog, it
 would be `_v2'; since Haskell doesn't allow leading underscores,
 I suppose you could use `v2_').

In this case, the even simpler ``unused identifier'' warning would suffice!
(Easily suppressed by the use of a wildcard pattern such as `_'.)

 So, sing ho for regression tests, but sing louder for static analysis ;-)

Hear, hear!


Merry Xmas, etc.,

   David Bruce

post: DERA Malvern, St Andrews Road, Malvern, WORCS WR14 3PS, ENGLAND
mailto:[EMAIL PROTECTED] ** phone: +44 1684 895112 ** fax: +44 1684 894389

[The views expressed above are entirely those of the writer and do not represent the 
views, policy or understanding of any other person or official body.]




Re: article wanted

1993-03-12 Thread David Bruce


 I'm searching for an article titled like
 "The next 10 problems in functional programming"

I don't know of that one (though I would also be interested) but here are
two on similar lines. Hope they are useful/interesting.

Carl G Ponder, Patrick C McGeer and Anthony P-C Ng
"Are Applicative Languages Inefficent?"
pp 135-139 in SIGPLAN Notices, Vol. 23, No. 6, June 1988
[ Lists seven problems for which the lack of side-effects
  appears to impose a logarithmic inefficiency on run-time. ]

Amir M Ben-Amram and Zvi Galil
"On Pointers versus Addresses"
pp 617-648 in J. ACM, Vol. 39, No. 3, July 1992
[ Contrasts a pointer machine with a random access machine
  (addresses may be computed on a RAM, but not on a PM).
  In general a PM incurs a logarithmic run-time factor. ]

I suspect (ie. it's a gut reaction that I can't yet justify rigorously :-()
that the side-effect-or-not and RAM-or-PM issues are related.

David Bruce

post:  DRA Malvern, St Andrews Road, Malvern, Worcestershire WR14 3PS, ENGLAND
email: [EMAIL PROTECTED] (internet)  [EMAIL PROTECTED] (janet)
phone: +44 684 895112  **  fax: +44 684 894389 or 894540  **  telex: 339747




Re: The class Ix

1992-02-07 Thread David Bruce

RFC-822-HEADERS:
Original-Via: uk.ac.ucl.cs.ess; Fri, 7 Feb 92 09:55:08 GMT

==
I am not sure what the two versions of the first law imply. I would, however,
note that the two conditions are incomparable (ie. neither implies the other).

Perhaps someone can explain?

David Bruce

PS. In Simon's posting there is a typo: range should deliver [a], not a.