About: SAC programming language     Goto   Sponge   NotDistinct   Permalink

An Entity of Type : dbo:ProgrammingLanguage, within Data Space : dbpedia.demo.openlinksw.com associated with source document(s)
QRcode icon
http://dbpedia.demo.openlinksw.com/c/9DHc8zyont

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.

AttributesValues
rdf:type
rdfs:label
  • SAC programming language (en)
  • SAC编程语言 (zh)
rdfs:comment
  • SAC(Single Assignment C)是一门严格的纯函数式编程语言,以满足数值计算领域的需求为主要目的。怎样实现对多维数组的高效计算是SAC的核心部分。效率在程序设计领域可以有两方面的理解。一方面是提供高级的数组运算操作,以加快开发程序,另一方面是在某种模式下优化编译程序,以减少其所需的运行时间和存储容量。作为一门成功的计算机语言,必须满足第二个条件。 为了能够编译出高效的可执行代码,某些对数值计算不重要的函数式语言的特征(到目前为止)还不被SAC支持,比如高阶函数,多态,以及惰性求值。而像Haskell、Clean、Miranda或者ML却拥有这些特征。 (zh)
  • 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. (en)
foaf:name
  • SAC (en)
foaf:homepage
name
  • SAC (en)
foaf:depiction
  • http://commons.wikimedia.org/wiki/Special:FilePath/SAC_language_logo.png
foaf:page
dct:subject
Wikipage page ID
Wikipage revision ID
Link from a Wikipage to another Wikipage
Link from a Wikipage to an external page
sameAs
dbp:wikiPageUsesTemplate
thumbnail
designer
  • Sven-Bodo Scholz, Clemens Grelck, et al. (en)
developer
  • SaC Research Group (en)
influenced by
license
  • Proprietary https://github.com/SacBase/Stdlib/blob/master/LICENSE.txt (en)
logo
  • SAC language logo.png (en)
operating system
paradigm
programming language
  • C and SAC (en)
typing
website
has abstract
  • 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 program execution in multiprocessor environments. (en)
  • SAC(Single Assignment C)是一门严格的纯函数式编程语言,以满足数值计算领域的需求为主要目的。怎样实现对多维数组的高效计算是SAC的核心部分。效率在程序设计领域可以有两方面的理解。一方面是提供高级的数组运算操作,以加快开发程序,另一方面是在某种模式下优化编译程序,以减少其所需的运行时间和存储容量。作为一门成功的计算机语言,必须满足第二个条件。 为了能够编译出高效的可执行代码,某些对数值计算不重要的函数式语言的特征(到目前为止)还不被SAC支持,比如高阶函数,多态,以及惰性求值。而像Haskell、Clean、Miranda或者ML却拥有这些特征。 (zh)
file ext
  • .sac (en)
dbp:wordnet_type
prov:wasDerivedFrom
page length (characters) of wiki page
influenced by
license
foaf:isPrimaryTopicOf
is Link from a Wikipage to another Wikipage of
Faceted Search & Find service v1.17_git147 as of Sep 06 2024


Alternative Linked Data Documents: ODE     Content Formats:   [cxml] [csv]     RDF   [text] [turtle] [ld+json] [rdf+json] [rdf+xml]     ODATA   [atom+xml] [odata+json]     Microdata   [microdata+json] [html]    About   
This material is Open Knowledge   W3C Semantic Web Technology [RDF Data] Valid XHTML + RDFa
OpenLink Virtuoso version 08.03.3331 as of Sep 2 2024, on Linux (x86_64-generic-linux-glibc212), Single-Server Edition (378 GB total memory, 58 GB memory in use)
Data on this page belongs to its respective rights holders.
Virtuoso Faceted Browser Copyright © 2009-2024 OpenLink Software