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...
Main Authors: | , |
---|---|
Other Authors: | |
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 |