id |
ecaade2014_214 |
authors |
António Leitão and Sara Proença |
year |
2014 |
title |
On the Expressive Power of Programming Languages for Generative Design - The Case of Higher-Order Functions |
doi |
https://doi.org/10.52842/conf.ecaade.2014.1.257
|
source |
Thompson, Emine Mine (ed.), Fusion - Proceedings of the 32nd eCAADe Conference - Volume 1, Department of Architecture and Built Environment, Faculty of Engineering and Environment, Newcastle upon Tyne, England, UK, 10-12 September 2014, pp. 257-266 |
wos |
WOS:000361384700025 |
summary |
The expressive power of a language measures the breadth of ideas that can be described in that language and is strongly dependent on the constructs provided by the language. In the programming language area, one of the constructs that increases the expressive power is the concept of higher-order function (HOF). A HOF is a function that accepts functions as arguments and/or returns functions as results. HOF can drastically simplify the programming activity, reducing the development effort, and allowing for more adaptable programs. In this paper we explain the concept of HOFs and its use for Generative Design. We then compare the support for HOF in the most used programming languages in the GD field and we discuss the pedagogy of HOFs. |
keywords |
Generative design; higher-order functions; programming languages |
series |
eCAADe |
email |
|
full text |
file.pdf (291,125 bytes) |
references |
Content-type: text/plain
|
Barendregt, HP (1984)
The Lambda Calculus
, North-Holland, Amsterdam
|
|
|
|
Binard, F and Felty, A (2008)
Genetic programming with polymorphic types and higher-order functions
, Proceedings of the 10th annual conference on Genetic and evolutionary computation (GECCO '08), Atlanta, pp. 1187-1194
|
|
|
|
Boranyak, S (2010)
Archetype
, ASCE, 80(2), pp. 76-79
|
|
|
|
Davy, J and Dew, P (1995)
A polymorphic library for constructive solid geometry
, Journal of Functional Programming, 5, pp. 415-442
|
|
|
|
Felleisen, M (1991)
On the expressive power of programming languages
, Selected papers from the symposium on 3rd European symposium on programming (ESOP '90), Amsterdam, pp. 35-75
|
|
|
|
Fry, B and Reas, C (2010)
Getting Started with Processing
, O'Reilly Media
|
|
|
|
Hughes, J (1989)
Why functional programming matters
, The computer journal, 32(2), pp. 98-107
|
|
|
|
Kalay, Y (2004)
Architecture's New Media: Principles, Theories, and Methods of Computer-Aided Design
, Massachusetts: The MIT Press, Cambridge
|
|
|
|
Leit?o, A, Cabecinhas, F and Martins, S (2010)
Revisiting the Architecture Curriculum: The programming perspective
, Proceedings of 28th eCAADe, Zurich, pp. 81-88
|
|
|
|
Lewis, J, Rosenholtz, R, Fong, N and Neumann, U (2004)
VisualIDs: automatic distinctive icons for desktop interfaces
, ACM SIGGRAPH 2004, New York, pp. 416-423
|
|
|
|
Lopes, J and Leit?o, A (2011)
Portable Generative Design for CAD Applications
, Proceedings of ACADIA 2011, Alberta, pp. 196-203
|
|
|
|
McCormack, J, Dorin, A and Innocent, T (2004)
Generative design: a paradigm for design research
, Proceedings of Futureground, Melbourne
|
|
|
|
Moses, J (1970)
The function of FUNCTION in LISP or why the FUNARG problem should be called the environment problem
, ACM Sigsam Bulletin, pp. 13-27
|
|
|
|
Paoluzzi, A and Sansoni, C (1992)
Programming language for solid variational geometry
, Computer-AidedDesign, 24(7), pp. 349-366
|
|
|
|
Terdizis, K (2003)
Expressive Form: A Conceptual Approach to Computational Design
, London and New York, Spon Press
|
|
|
|
Tobin-Hochstadt, S (2011)
Languages as libraries
, ACM SIGPLAN Notices, 46(6), pp. 132-141
|
|
|
|
Watson, A (eds) (2009)
GDL handbook: A comprehensive guide to creating powerful ArchiCAD objects
, Cadimage Solutions, NewZealand
|
|
|
|
last changed |
2022/06/07 07:54 |
|