Copyright © Philip M. Parker, INSEAD. Terms of Use.

YALE HASKELL

Specialty Definition: YALE HASKELL

DomainDefinition

Computing

Yale Haskell A fully integrated Haskell programming environment. It provides tightly coupled interactive editing, incremental compilation and dynamic execution of Haskell programs. Two major modes of compilation, correspond to Lisp's traditional "interpreted" and "compiled" modes. Compiled and interpreted modules may be freely mixed in any combination. Yale Haskell is run using either a command-line interface or as an inferior process running under the Emacs editor. Using the Emacs interface, simple two-keystroke commands evaluate expressions, run dialogues, compile modules, turn specific compiler diagnostics on and off and enable and disable various optimisers. Commands may be queued up arbitrarily, thus allowing, for example, a compilation to be running in the background as the editing of a source file continues in Emacs in the foreground. A "scratch pad" may be automatically created for any module. Such a pad is a logical extension of the module, in which additional function and value definitions may be added, but whose evaluation does not result in recompilation of the module. A tutorial on Haskell is also provided in the Emacs environment. A Macintosh version of Yale Haskell includes its own integrated programming environment, complete with an Emacs-like editor and pull-down menus. Yale Haskell is a complete implementation of the Haskell language, but also contains a number of extensions, including: (1) Instead of stream based I/O, a monadic I/O system is used. Although similar to what will be part of the new Haskell 1.3 report, the I/O system will change yet again when 1.3 becomes official. (2) Haskell programs can call both Lisp and C functions using a flexible foreign function interface. (3) Yale Haskell includes a dynamic typing system. Dynamic typing has been used to implement derived instances in a user extensible manner. (4) A number of small Haskell 1.3 changes have been added, including polymorphic recursion and the use of @_@ in an expression to denote bottom. Although the 1.3 report is not yet complete, these changes will almost certainly be part of the new report. (5) A complete Haskell level X Window System interface, based on CLX. (6) A number of annotations are available for controlling the optimiser, including those for specifying both function and data constructor strictness properties, "inlining" functions, and specialising over-loaded functions. Many standard prelude functions have been specialised for better performance using these annotations. (7) Separate compilation (including mutually recursive modules) is supported using a notion of a UNIT file, which is a kind of localised makefile that tells the compiler about compiler options and logical dependencies amongst program files. (8) Yale Haskell supports both standard and "literate" Haskell syntax. Performance of Yale Haskell's compiled code has been improved considerably over previous releases. Although still not as good as the Glasgow (GHC) and Chalmers (HBC) compilers, the flexibility afforded by the features described earlier makes Yale Haskell a good choice for large systems development. For some idea of performance, Hartel's latest "Nuc" benchmark runs at about the same speed under both Yale Haskell and hbc. (Our experiments suggest, however, that Yale Haskell's compiled code is on average about 3 times slower than hbc.) Binaries are provided for Sun/SPARC and Macintosh, but it is possible to build the system on virtually any system that runs one of a number of Common Lisp implementations: CMU Common Lisp, Lucid Common Lisp, Allegro Common Lisp or Harlequin LispWorks. akcl, gcl and CLisp do not have adaquate performance for our compiler. The current version is 2.1. Yale (ftp://nebula.cs.yale.edu/pub/haskell/yale) (128.36.13.1). UK (ftp://ftp.dcs.glasgow.ac.uk/pub/haskell/yale/). Sweden (ftp://ftp.cs.chalmers.se/pub/haskell/yale/). E-mail: , . (1993-07-14). Source: The Free On-line Dictionary of Computing.

Source: compiled by the editor from various references; see credits.

Top     

Anagrams: YALE HASKELL

Scrabble® Enable2K-Verified Anagrams

Words within the letters "a-a-e-e-h-k-l-l-l-s-y"

-3 letters: allheals.

-4 letters: alleles, allheal, eyelash, hallels, sleekly.

-5 letters: akelas, alkyls, allays, allees, allele, alleys, allyls, hallel, kayles, leally, shaley, shekel, shelly, sleeky.

Source: compiled by the editor from various references; see credits.

SCRABBLE® is a registered trademark. All intellectual property rights in and to the game are owned in the U.S.A and Canada by Hasbro Inc., and throughout the rest of the world by J.W. Spear & Sons Limited of Maidenhead, Berkshire, England, a subsidiary of Mattel Inc. Mattel and Spear are not affiliated with Hasbro.

Top     

Alternative Orthography: YALE HASKELL


Hexadecimal (or equivalents, 770AD-1900s) (references)

59 41 4C 45      48 41 53 4B 45 4C 4C

Leonardo da Vinci (1452-1519; backwards) (references)

    

Binary Code (1918-1938, probably earlier) (references)

01011001 01000001 01001100 01000101 00100000 01001000 01000001 01010011 01001011 01000101 01001100 01001100

HTML Code (1990) (references)

&#89 &#65 &#76 &#69 &#32 &#72 &#65 &#83 &#75 &#69 &#76 &#76

ISO 10646 (1991-1993) (references)

0059 0041 004C 0045      0048 0041 0053 004B 0045 004C 004C

Encryption (beginner's substitution cypher): (references)

59354639242355345394646

Top     



INDEX

1. Anagrams
2. Orthography
3. Bibliography


  

Copyright © Philip M. Parker, INSEAD. Terms of Use.