SUPPORT THE WORK

GetWiki

SAC programming language

ARTICLE SUBJECTS
aesthetics  →
being  →
complexity  →
database  →
enterprise  →
ethics  →
fiction  →
history  →
internet  →
knowledge  →
language  →
licensing  →
linux  →
logic  →
method  →
news  →
perception  →
philosophy  →
policy  →
purpose  →
religion  →
science  →
sociology  →
software  →
truth  →
unix  →
wiki  →
ARTICLE TYPES
essay  →
feed  →
help  →
system  →
wiki  →
ARTICLE ORIGINS
critical  →
discussion  →
forked  →
imported  →
original  →
SAC programming language
[ temporary import ]
please note:
- the content below is remote from Wikipedia
- it has been imported raw for GetWiki
{{About|the functional language intended for numerical applications|hardware description language|SA-C (programming language)}}







factoids
}}SAC (Single Assignment C) is a strict purely functional programming language whose design is focused on the needs of numerical applications. Emphasis is laid on efficient support for array processing via data parallelism. 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.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.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.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.

References

  • THESIS, PhD, Scholz, Sven-Bodo, 1996, Single Assignment C — Entwurf Und Implementierung Einer Funktionalen C-variante Mit Spezieller Unterstützung Shape-invarianter Array-operationen, Single Assignment C — Design and Implementation of a Functional C-variant with Special Support for Shape-invariant Array Operations, de, Institute of Computer Science and Applied Mathematics, Christian-Albrecht University of Kiel, Kiel, Germany,
  • THESIS, PhD, Grelck, Clemens, 2001, Implicit Shared Memory Multiprocessor Support for the Functional Programming Language SaC — Single Assignment C, en, Institute of Computer Science and Applied Mathematics, Christian-Albrecht University of Kiel, Kiel, Germany, ((3-89722-719-3)),

External links



- content above as imported from Wikipedia
- "SAC programming language" does not exist on GetWiki (yet)
- time: 4:01am EDT - Sat, May 18 2024
[ this remote article is provided by Wikipedia ]
LATEST EDITS [ see all ]
GETWIKI 23 MAY 2022
GETWIKI 09 JUL 2019
Eastern Philosophy
History of Philosophy
GETWIKI 09 MAY 2016
GETWIKI 18 OCT 2015
M.R.M. Parrott
Biographies
GETWIKI 20 AUG 2014
CONNECT