The Functional Imperative: Shape!

Introduction FiSh is a new programming language for array computation that compiles higher-order polymorphic programs into simple imperative programs expressed in a sub-language Turbot, which can then be translated into, say, C. Initial tests show that the resulting code is extremely fast: two order...

Full description

Bibliographic Details
Main Authors: C. B. Jay, P. A. Steckler
Other Authors: The Pennsylvania State University CiteSeerX Archives
Format: Text
Language:English
Published: Springer Verlag 1997
Subjects:
Online Access:http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.24.5099
http://www.cs.rice.edu/~steck/esop98.ps.gz
id ftciteseerx:oai:CiteSeerX.psu:10.1.1.24.5099
record_format openpolar
spelling ftciteseerx:oai:CiteSeerX.psu:10.1.1.24.5099 2023-05-15T18:41:12+02:00 The Functional Imperative: Shape! C. B. Jay P. A. Steckler The Pennsylvania State University CiteSeerX Archives 1997 application/postscript http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.24.5099 http://www.cs.rice.edu/~steck/esop98.ps.gz en eng Springer Verlag http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.24.5099 http://www.cs.rice.edu/~steck/esop98.ps.gz Metadata may be used without restrictions as long as the oai identifier remains attached to it. http://www.cs.rice.edu/~steck/esop98.ps.gz text 1997 ftciteseerx 2016-01-07T19:08:24Z Introduction FiSh is a new programming language for array computation that compiles higher-order polymorphic programs into simple imperative programs expressed in a sub-language Turbot, which can then be translated into, say, C. Initial tests show that the resulting code is extremely fast: two orders of magnitude faster than Haskell, and two to four times faster than Objective Caml, one of the fastest ML variants for array programming. Every functional program must ultimately be converted into imperative code, but the mechanism for this is often hidden. FiSh achieves this transparently, using the "equation" from which it is named: Functional = Imperative + Shape Shape here refers to the structure of data, e.g. the length of a vector, or the number of rows and columns of a matrix. The FiSh compiler reads the equation from left to right: it converts functions into procedures by using Text Turbot Unknown Haskell ENVELOPE(-64.279,-64.279,-66.749,-66.749)
institution Open Polar
collection Unknown
op_collection_id ftciteseerx
language English
description Introduction FiSh is a new programming language for array computation that compiles higher-order polymorphic programs into simple imperative programs expressed in a sub-language Turbot, which can then be translated into, say, C. Initial tests show that the resulting code is extremely fast: two orders of magnitude faster than Haskell, and two to four times faster than Objective Caml, one of the fastest ML variants for array programming. Every functional program must ultimately be converted into imperative code, but the mechanism for this is often hidden. FiSh achieves this transparently, using the "equation" from which it is named: Functional = Imperative + Shape Shape here refers to the structure of data, e.g. the length of a vector, or the number of rows and columns of a matrix. The FiSh compiler reads the equation from left to right: it converts functions into procedures by using
author2 The Pennsylvania State University CiteSeerX Archives
format Text
author C. B. Jay
P. A. Steckler
spellingShingle C. B. Jay
P. A. Steckler
The Functional Imperative: Shape!
author_facet C. B. Jay
P. A. Steckler
author_sort C. B. Jay
title The Functional Imperative: Shape!
title_short The Functional Imperative: Shape!
title_full The Functional Imperative: Shape!
title_fullStr The Functional Imperative: Shape!
title_full_unstemmed The Functional Imperative: Shape!
title_sort functional imperative: shape!
publisher Springer Verlag
publishDate 1997
url http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.24.5099
http://www.cs.rice.edu/~steck/esop98.ps.gz
long_lat ENVELOPE(-64.279,-64.279,-66.749,-66.749)
geographic Haskell
geographic_facet Haskell
genre Turbot
genre_facet Turbot
op_source http://www.cs.rice.edu/~steck/esop98.ps.gz
op_relation http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.24.5099
http://www.cs.rice.edu/~steck/esop98.ps.gz
op_rights Metadata may be used without restrictions as long as the oai identifier remains attached to it.
_version_ 1766230696753364992