Hugs

From HaskellWiki
Revision as of 20:18, 9 December 2020 by Ysangkok (talk | contribs) (→‎Note: link version overview)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Note

The Hugs interpreter is not currently maintained, and is based on the stable but superseded Haskell 98 standard. However, it still works quickly and correctly, can be installed quickly without administrator privileges, and has less complicated error messages than ghc, so as a result is still used as a teaching platform.

  • HuGs = Haskell User´s Gofer System, one of the Haskell implementations.
  • The Hugs home page is http://www.haskell.org/hugs
  • Hugs 98 is a functional programming system based on Haskell 98, the de facto standard for non-strict functional programming languages. Hugs 98 provides an almost complete implementation of Haskell 98.
  • Hugs provides most of the common extensions including scoped variables, multiparameter typeclasses, foreign function interface, etc.
  • Hugs is exceptionally portable. If Hugs can't be installed on your machine, report it as a bug!
  • Hugs comes with almost all the same libraries as GHC.
  • Hugs and GHC both worked on portability between the two - Haskell 98 code that works on one compiler works on the other without change, but if your code uses ghc extensions or newer language features, it won't.

Actually, on Ubuntu Linux, hugs is packed with more libraries:

freeglut3 (2.6.0-0ubuntu2) ...
Setting up libhugs-base-bundled (98.200609.21-5ubuntu1) ...
Setting up libhugs-haskell98-bundled (98.200609.21-5ubuntu1) ...
Setting up hugs (98.200609.21-5ubuntu1) ...
Setting up libhugs-opengl-bundled (98.200609.21-5ubuntu1) ...
Setting up libhugs-openal-bundled (98.200609.21-5ubuntu1) ...
Setting up libhugs-alut-bundled (98.200609.21-5ubuntu1) ...
Setting up libhugs-cabal-bundled (98.200609.21-5ubuntu1) ...
Setting up libhugs-mtl-bundled (98.200609.21-5ubuntu1) ...
Setting up libhugs-fgl-bundled (98.200609.21-5ubuntu1) ...
Setting up libhugs-glut-bundled (98.200609.21-5ubuntu1) ...
Setting up libhugs-haskell-src-bundled (98.200609.21-5ubuntu1) ...
Setting up libhugs-haxml-bundled (98.200609.21-5ubuntu1) ...
Setting up libhugs-x11-bundled (98.200609.21-5ubuntu1) ...
Setting up libhugs-hgl-bundled (98.200609.21-5ubuntu1) ...
Setting up libhugs-hunit-bundled (98.200609.21-5ubuntu1) ...
Setting up libhugs-parsec-bundled (98.200609.21-5ubuntu1) ...
Setting up libhugs-network-bundled (98.200609.21-5ubuntu1) ...
Setting up libhugs-quickcheck-bundled (98.200609.21-5ubuntu1) ...
Setting up libhugs-stm-bundled (98.200609.21-5ubuntu1) ...
Setting up libhugs-time-bundled (98.200609.21-5ubuntu1) ...
Setting up libhugs-unix-bundled (98.200609.21-5ubuntu1) ...
Setting up libhugs-xhtml-bundled (98.200609.21-5ubuntu1) ...
Processing triggers for libc-bin ...

Hugs on Ubuntu Linux can be installed using:

sudo apt-get install hugs

You can view the package metadata for different Ubuntu versions online: https://packages.ubuntu.com/search?keywords=hugs