home *** CD-ROM | disk | FTP | other *** search
/ ftp.uni-stuttgart.de/pub/systems/acorn/ / Acorn.tar / Acorn / acornet / dev / hugs1.0.spk / Readme < prev    next >
Text File  |  1995-02-26  |  6KB  |  113 lines

  1. ********************************************************************
  2. *                                                                  *
  3. *   !Hugs - This is the Risc OS version of Hugs, with a desktop    *
  4. *   front end. See !Hugs.!Help or use !Help for information on     *
  5. *   how to use.   G.C.Wraith 25/2/95 (gavinw@sussex.ac.uk)         *
  6. *                                                                  *
  7. ********************************************************************
  8.  
  9. Do is the 28 byte utility which GSTranses its argument. Put it somewhere
  10. on your Run$Path.
  11.                     
  12. _____________________________________________________________________________
  13.      ___    ___   ___    ___   __________   __________
  14.     /  /   /  /  /  /   /  /  /  _______/  /  _______/  Version 1.0
  15.    /  /___/  /  /  /   /  /  /  / _____   /  /______
  16.   /  ____   /  /  /   /  /  /  / /_   /  /______   /    Copyright (c)
  17.  /  /   /  /  /  /___/  /  /  /___/  /  _______/  /     Mark P Jones
  18. /__/   /__/  /_________/  /_________/  /_________/      1994, 1995
  19.  
  20.  The Haskell User's Gofer System.   Derived from Gofer 2.30b.
  21.  
  22. _____________________________________________________________________________
  23.  
  24. This is the first release of Hugs, the Haskell User's Gofer system.  It
  25. provides a functional programming environment much like that of Gofer but
  26. with a much greater degree of compatibility with Haskell.  Almost all of
  27. the features of Haskell 1.2 are implemented with the exception of the
  28. module system (like Gofer, module headers and import declarations are
  29. parsed, but are otherwise ignored).  For example, Hugs supports Haskell
  30. style type classes, a full prelude, derived instances, defaults,
  31. overloaded numeric literals and pattern matching, and bignum arithmetic.
  32.  
  33. Some of the fancier features of Gofer are not supported by Hugs.  In some
  34. cases, this is necessary because they are incompatible with the Haskell
  35. type system (overlapping instances, multiple parameter type classes, the
  36. ability to use custom preludes,...).  Others have been removed because they
  37. are experiments in language design that were appropriate for Gofer, but not
  38. for Hugs (c*n patterns, do notation, overloaded monad comprehensions,
  39. Orwell style guards,...).  If you're wondering, constructor classes *are*
  40. supported.
  41.  
  42. Hugs was written on a PC while I was between jobs at Yale and Nottingham.
  43. I'd been meaning to put together a system like this for some time, and have
  44. had strong encouragement from certain quarters, but hadn't had the time to
  45. work on it until then.  Gofer has been popular and has played a useful role
  46. for me and for others.  But as time has passed and Haskell has become more
  47. established as a standard, the differences and incompatibilities between
  48. the two languages has become something of a pain and an embarrassment,
  49. particularly as one of the goals in the design of Haskell was to `reduce
  50. unnecessary diversity in functional programming languages'.
  51.  
  52. Hugs is derived from Gofer and, as a result, benefits from many of the
  53. bug-fixes and enhancements that have been made to Gofer over the past
  54. few years, a significant proportion of which have been suggested to me
  55. by Gofer users.  However, there is also quite a lot of new code, so
  56. please be prepared to find bugs, and please report them to me if you
  57. do.  Bearing in mind that this is the first release, you should probably
  58. expect to see some things change in future distributions.
  59.  
  60. I've held back the release of Hugs until now because I didn't have the
  61. time to package it up and release it before.  Hugs has benefited from
  62. the delay with the addition of things like finishing off the support
  63. for bignum arithmetic, but there are still a couple of other things I'd
  64. like to add in due course, the most obvious being 1.3 style monadic
  65. IO.  There are also a couple of things that I've removed from this
  66. distribution because they weren't quite ready for public consumption
  67. and I didn't want to hold up the distribution any longer.  Watch this
  68. space.
  69.  
  70. Other things that might be FAQs:
  71.  
  72.   - Since I wrote Hugs, I've discovered how to handle multiple
  73.     parameter classes in a way that is both useful and fully compatible
  74.     with the rest of the type system.  I'll probably hack that into the
  75.     system when I get a chance.  (See my work on simplifying and
  76.     improving qualified types for details.)
  77.  
  78.   - There are no plans at the moment for a hugsc compiler, analogous to
  79.     gofc; I don't think that would be particularly difficult, but I
  80.     don't have the time.
  81.  
  82.   - Documentation for Hugs is in preparation.  For the time being, if
  83.     you are familiar with the Gofer system, then you aren't likely
  84.     to have much difficulty with Hugs.  If you're interested in the
  85.     implementation, then much of the report on the implementation of
  86.     Gofer still applies.  The type checker is quite different though;
  87.     the main technical achievement of Hugs is to make the old Gofer
  88.     style approach to type classes (on which the implementation still
  89.     depends) look like the Haskell type system.  I started to write a
  90.     paper about this, but there's a long way to go before it's finished.
  91.  
  92.   - For the time being, I intend to continue maintaining both Gofer and
  93.     Hugs, but I haven't decided what I'll do about future development.
  94.     It is unlikely that I will be able to keep Gofer and Hugs in step
  95.     with one another in terms of future development.
  96.  
  97. Your feedback, comments, suggestions and bug reports are most welcome!
  98. However, this is a very busy time for me and I will almost certainly
  99. be unable to respond quickly to messages about Hugs or Gofer during the
  100. next month or two.
  101.  
  102. _____________________________________________________________________________
  103.  
  104. You can obtain a copy of Hugs by anonymous ftp from:
  105.      ftp://ftp.cs.nott.ac.uk/pub/haskell/hugs
  106.  or: ftp://ftp.cs.nott.ac.uk/pub/nott-fp/hugs
  107.  
  108. Or, using the World Wide Web, from my home page:
  109.      http://www.cs.nott.ac.uk/Department/Staff/mpj/index.html
  110. _____________________________________________________________________________
  111. Mark P. Jones                                              mpj@cs.nott.ac.uk
  112. _____________________________________________________________________________
  113.