Y. 1. General purpose language syntactically like {RATFOR}, semantically like {C}. Lacks structures and pointers. Used as a source language for Jack W. Davidson and Christopher W. Fraser's peephole optimiser which inspired {GCC} {RTL} and other optimisation ideas. {(ftp://ftp.cs.princeton.edu/pub/y+po.tar.Z)}. It is a copy of the original distribution from the {University of Arizona} during the early 80's, totally unsupported. ["The Y Programming Language", D.R. Hanson, SIGPLAN Notices 16(2):59-68 (Feb 1981)]. [Jack W. Davidson and Christopher W. Fraser, "The Design and Application of a Retargetable Peephole Optimiser", TOPLAS, Apr. 1980]. [Jack W. Davidson, "Simplifying Code Through Peephole Optimisation" Technical Report TR81-19, The University of Arizona, Tucson, AZ, 1981]. [Jack W. Davidson and Christopher W. Fraser, "Register Allocation and Exhaustive Peephole Optimisation" Software-Practice and Experience, Sep. 1984]. 2. See {fixed point combinator}. Y2K. {Year 2000} YA-. {Yet Another} Yaa. Yet Another Assembler - Macro assembler for GCOS 8 and Mark III on Bull DPS-8 machines. Available from Bull as part of U Waterloo Tools package (maintained by ). YABA. /ya'b*/ [Cambridge] Yet Another Bloody Acronym. Whenever some program is being named, someone invariably suggests that it be given a name that is acronymic. The response from those with a trace of originality is to remark ironically that the proposed name would then be "YABA-compatible". Also used in response to questions like "What is {WYSIWYG}?" See also {YA-}, {TLA}. [{Jargon File}] yacc. {Yet Another Compiler Compiler} YADE. {Yet Another DSSSL Engine} YAFIYGI. /yaf'ee-y*-gee/ You asked for it, you got it. The command-oriented {ed}/{vi}/{nroff}/{TeX} style of {word processing} or other user interfaces which are not {WYSIWYG}. What you actually asked for is often not immediately apparent. This precise sense of "You asked for it, you got it" seems to have first appeared in Ed Post's classic parody "{Real Programmers} don't use Pascal"; the acronym is a more recent (as of 1993) invention. [{Jargon File}] (1995-03-13) Yahoo. Yet Another Hierarchical Officious/Obstreperous/Odiferous/Organized Oracle. (Or a member of a race of brutes in Swift's Gulliver's Travels who have the form and all the vices of man, or an uncouth or rowdy person). Probably the biggest hierarchical index of the {World-Wide Web}. Originally at {Stanford University}, Yahoo moved to its own site in April 1995. It allows you to move up and down the heirarchy, to search it and to suggest additions. It also features "What's New", "What's Popular", "What's Cool" and a random link. {Home (http://www.yahoo.com/)}. (1995-04-05) 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 {module}s, turn specific compiler diagnostics on and off and enable and disable various {optimiser}s. 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 menu}s. 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 instance}s 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 {annotation}s are available for controlling the optimiser, including those for specifying both function and data constructor {strict}ness 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} {module}s) 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)