| SAC | |
|---|---|
![]() |
|
| Paradigm | array, functional |
| Appeared in | 1994 |
| Designed by | Sven-Bodo Scholz, Clemens Grelck, et al |
| Typing discipline | static, strong |
| Influenced by | APL, SISAL, C |
| OS | POSIX-compliant UNIX |
| Website | http://www.sac-home.org |
SAC (Single Assignment C) is a strict purely functional programming language which design is focused on the needs of numerical applications. A programming paradigm is a fundamental style of Computer programming. In Computer science, array programming languages (also known as vector or multidimensional languages generalize operations on scalars to apply In Computer science, functional programming is a Programming paradigm that treats Computation as the evaluation of mathematical functions and Year 1994 ( MCMXCIV) was a Common year starting on Saturday (link will display full 1994 Gregorian calendar) In Computer science, a type system defines how a Programming language classifies values and expressions into '''types''', how it can In Computer science, a type system defines how a Programming language classifies values and expressions into '''types''', how it can In Computer science and Computer programming, the term strong typing is used to describe those situations where Programming languages specify one or more Sisal or sisal hemp is an Agave Agave sisalana that yields a stiff Fiber used in making Rope. tags please moot on the talk page first! --> In Computing, C is a general-purpose cross-platform block structured An operating system (commonly abbreviated OS and O/S) is the software component of a Computer system that is responsible for the management and coordination POSIX (ˈpɒzɪks or "Portable Operating System Interface" is the collective name of a family of related standards specified by the IEEE to define Unix (officially trademarked as UNIX, sometimes also written as Unix with Small caps) is a computer A website (alternatively web site or Web site, a back-construction from the Proper noun World Wide Web) is a collection of Web pages In Computer science, functional programming is a Programming paradigm that treats Computation as the evaluation of mathematical functions and A programming language is an Artificial language that can be used to write programs which control the behavior of a machine particularly a Computer. Emphasis is laid on efficient support for array processing. Array processing is signal processing of the outputs of an Array of Sensors to Enhance the signal-to-interference-plus-noise ratio (SINR compared to that 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. --> Abstraction is the process or result of generalization by reducing the information 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. A compiler is a Computer program (or set of programs that translates text written in a computer language (the source language) into another 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. In Computer science, polymorphism is a Programming language feature that allows values of different Data types to be handled using a In Computer programming, lazy evaluation (or delayed evaluation) is the technique of delaying a computation until such time as the result of the computation is These may be found in general-purpose functional languages, e. g. Haskell, Clean, Miranda, or ML. Haskell is a standardized Purely functional Programming language with non-strict semantics, named after the Logician Haskell Curry In Computer science, Clean is a general-purpose Purely functional Computer programming language. Miranda is a non-strict purely functional Programming language designed by David Turner as a successor to his earlier programming languages ML is a general-purpose Functional programming language developed by Robin Milner and others in the late 1970s at the University of Edinburgh, whose syntax
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. Sisal or sisal hemp is an Agave Agave sisalana that yields a stiff Fiber used in making Rope. NESL is a parallel Programming language developed at Carnegie Mellon by the SCandAL project Nial (from "Nested Interactive Array Language" is a high-level Array programming language developed from about 1981 by Mike Jenkins of Queen's University Not to be confused with the J++ or J# programming languages The J programming language, developed in the early 1990s by K is a proprietary array processing language developed by Arthur Whitney and commercialized by Kx Systems tags please moot on the talk page first! --> In Computing, C is a general-purpose cross-platform block structured Fortran (previously FORTRAN) is a general-purpose, procedural, imperative Programming language that is especially suited to
In more detail, the basic language design goals of SAC are to: