TY - JOUR

T1 - Functional programming for finite elements

AU - Dwyer, J. F.

PY - 1989

Y1 - 1989

N2 - The problems of software reliability can, to some extent, be attributed to the nature of conventional imperative programming languages (FORTRAN, Pascal, etc.). Functional programming languages, on the other hand, adopt a radically different approach where the only control structure is the recursive application of a pre-defined function. This gives the advantage that programs are mathematical expressions and can be treated formally as such for the purpose of correctness proofs. The suitability of the functional approach is examined by writing a standard finite element program in SASL, which is a purely functional language. The clarity and conciseness of the solution is noted, and although certain problems of efficiency and optimal algorithm design require further research, it is clear that the overall top-down design imposed by a functional language is beneficial to the computational engineer.

AB - The problems of software reliability can, to some extent, be attributed to the nature of conventional imperative programming languages (FORTRAN, Pascal, etc.). Functional programming languages, on the other hand, adopt a radically different approach where the only control structure is the recursive application of a pre-defined function. This gives the advantage that programs are mathematical expressions and can be treated formally as such for the purpose of correctness proofs. The suitability of the functional approach is examined by writing a standard finite element program in SASL, which is a purely functional language. The clarity and conciseness of the solution is noted, and although certain problems of efficiency and optimal algorithm design require further research, it is clear that the overall top-down design imposed by a functional language is beneficial to the computational engineer.

UR - http://www.scopus.com/inward/record.url?scp=0024939723&partnerID=8YFLogxK

U2 - 10.1016/0045-7949(89)90474-4

DO - 10.1016/0045-7949(89)90474-4

M3 - Article

AN - SCOPUS:0024939723

VL - 33

SP - 1343

EP - 1348

JO - Computers and Structures

JF - Computers and Structures

SN - 0045-7949

IS - 6

ER -