home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 3 / PDCD_3.iso / utilities / utilsf / hugs / Readme < prev   
Text File  |  1995-02-14  |  6KB  |  110 lines

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