FACTOID # 169: Train spotters should go to Australia - Australians have more railway per capita than anyone else on the globe.
 
 Home   Encyclopedia   Statistics   Countries A-Z   Flags   Maps   Education   Forum   FAQ   About 
 
WHAT'S NEW
RECENT ARTICLES
More Recent Articles »
 

FACTS & STATISTICS    Simple view

  1. Select countries to view: (hold down Control key and click to select several)

     

     

    Compare:

     

     

  1. Select fact or statistic: (* = graphable)

     

     

     

  2. (OPTIONAL) Compare to statistic: (both need to be graphable)

     

     

     

  3. View result as:

     

       
(OR) SEARCH ALL encyclopedia, stats & forums:   

Encyclopedia > SAC programming language

SAC (Single Assignment C) is a strict purely functional programming language which design is focussed on the needs of numerical applications. Emphasis is laid on efficient support for array processing. Efficiency concerns are essentially twofold. On the one hand, efficiency in program development is to be improved by the opportunity to specify array operations on a high level of abstraction. On the other hand, efficiency in program execution, i.e. the runtime performance of programs, in time and memory consumption, is still to be achieved by sophisticated compilation schemes. Only as far as the latter succeeds, the high-level style of specifications can actually be called useful. Functional programming is a programming paradigm that treats computation as the evaluation of mathematical functions. ... A programming language or computer language is a standardized communication technique for expressing instructions to a computer. ... Array processing consists of using an array of sensors to: Enhance the signal-to-noise ratio compared to that of a single sensor (through e. ... An abstraction is an idea, concept, or word which defines the phenomena which make up the concrete events or things which the abstraction refers to, the referents. ... A compiler is a computer program that translates a computer program written in one computer language (called the source language) into an equivalent program written in another computer language (called the output or the target language). ...


To facilitate compiling to efficiently executable code, certain functional language features which are not considered essential for numerical applications, e.g. higher-order functions, polymorphism, or lazy evaluation, are not (yet) supported by SAC. These may be found in general-purpose functional languages, e.g. Haskell, Clean, Miranda, or ML. In general, polymorphism describes multiple possible states for a single property (it is said to be polymorphic). ... In computer programming, lazy evaluation is a concept that attempts to minimize the work the computer has to do. ... Haskell is a standardized functional programming language with non-strict semantics, named after the logician Haskell Curry. ... Clean is a general-purpose purely functional programming language. ... Miranda is a non-strict purely functional programming language developed by Professor David Turner as a successor to his earlier programming languages Sasl and KRC, using some concepts from ML and Hope. ... ML is a general-purpose functional programming language developed by Robin Milner and others in the late 1970s at Edinburgh University, whose syntax is inspired by ISWIM. Historically, ML stands for metalanguage as it was conceived to develop proof tactics in the LCF theorem prover (the language of which ML...


To overcome the acceptance problems encountered by other functional or array based languages intended for numerical / array intensive applications, e.g. SISAL, Nesl, Nial, APL, J, or K, particular regard is paid to ease the transition from a C / Fortran like programming environment to SAC. For the programming language, see SISAL, and for the town, see Sisal, Yucatán. ... Nial (from Nested Interactive Array Language) is a high-level array-based programming language developed from about 1981 by Michael Jenkins of Queens University, Kingston, Ontario, Canada. ... APL (for A Programming Language, or sometimes Array Processing Language) is an array programming language invented in 1962 by Kenneth E. Iverson while at Harvard University. ... The J programming language, developed in the early 90s by Ken Iverson and Roger Hui, is a synthesis of APL (also by Iverson) and the FP and FL functional programming languages created by John Backus (of FORTRAN, ALGOL, and BNF fame). ... K is a high level array programming language developed by Arthur Whitney, a very influential member of the APL community. ... The C Programming Language, Brian Kernighan and Dennis Ritchie, the original edition that served for many years as an informal specification of the language The C programming language is a standardized imperative computer programming language developed in the early 1970s by Ken Thompson and Dennis Ritchie for use on the... Fortran (also FORTRAN) is a statically typed, compiled programming language originally developed in the 1950s and still heavily used for scientific computing and numerical computation half a century later. ...


In more detail, the basic language design goals of SAC are to:

 * provide a purely functional language with a syntax very similar to that of C in order to ease, for a large community of programmers, the transition from an imperative to a functional programming style; * support multi-dimensional arrays as first class objects; * allow the specification of shape- and dimension-invariant array operations; * provide high-level array operations that liberate programming from tedious and error-prone specifications of starts, stops and strides for array traversals thereby improving code reusability and programming productivity, in general. * incorporate a module system that allows for separate compilation, separate name spaces, and abstract data types, and, additionally, provides an interface to foreign languages in order to enable reuse of existing code; * provide means for a smooth integration of states and state modifications into the functional paradigm based on uniqueness types; * use the module system, the foreign language interface, and the integration of states in order to create a standard library which provides a functionality similar to that of the standard C libraries, e.g. powerful I/O facilities or mathematical functions; * facilitate the compilation to host machine code which can be efficiently executed both in terms of time and space demand; * facilitate the compilation for non-sequential program execution in multiprocessor environments. 

  Results from FactBites:
 
SAC - Wikipedia, the free encyclopedia (196 words)
SAC Capital Partners, a hedge fund managed by Steven A. Cohen
This page disambiguates a three-character combination which might be any or all of an abbreviation, an acronym, an initialism, a word in English, or a word in another language.
If an article link referred you to this page, you may wish to change the link to point directly to the intended article.
  More results at FactBites »


 

COMMENTARY     


Share your thoughts, questions and commentary here
Your name
Your comments
Please enter the 5-letter protection code

Want to know more?
Search encyclopedia, statistics and forums:

 


Lesson Plans | Student Area | Student FAQ | Reviews | Press Releases |  Feeds | Contact
The Wikipedia article included on this page is licensed under the GFDL.
Images may be subject to relevant owners' copyright.
All other elements are (c) copyright NationMaster.com 2003-5. All Rights Reserved.
Usage implies agreement with terms.