Results 1 -
7 of
7
The Ins and Outs of Clean I/O
, 1995
"... Functional programming languages have banned assignment because of its undesirable properties. The reward of this rigorous decision is that functional programming languages are side-effect free. There is another side to the coin: because assignment plays a crucial role in Input/Output (I/O), functio ..."
Abstract
-
Cited by 39 (7 self)
- Add to MetaCart
Functional programming languages have banned assignment because of its undesirable properties. The reward of this rigorous decision is that functional programming languages are side-effect free. There is another side to the coin: because assignment plays a crucial role in Input/Output (I/O), functional languages have a hard time dealing with I/O. Functional programming languages have therefore often been stigmatised as inferior to imperative programming languages because they cannot deal with I/0 very well. In this paper we show that I/O can be incorporated in a functional programming language without loss of any of the generally accepted advantages of functional programming languages. This discussion is supported by an extensive account of the I/O system offered by the lazy, purely functional programming language Clean. Two aspects that are paramount in its I/O stem make the approach novel with respect to other approaches. These aspects are the technique of explicit multiple environment passing, and the Event I/O framework to program Graphical User I/O in a highly structured and high-level way. Clean file I/O is as powerful and flexible as it is in common imperative languages (one can read, write, and seek directly in a file). Clean Event I/O provides programmers with a high-level framework to specify complex Graphical User I/O. It has been used to write applications such as a window-based text editor, an object based drawing program, a relational database, and a spreadsheet program. These graphical interactive programs are completely machine independent, but still obey the look-and-feel of the concrete window environment being used. The specifications are completely functional and make extensive use of uniqueness typing, higher-order functions, and algebraic data type...
The FL project: The design of a functional language
, 1991
"... FL is the result of an e ort to design a practical functional programming language based on Backus' FP. This paper provides an introduction to and critique of the FL language. The language e ort is analyzed from several points of view: language design, implementation, and user experiences. Emphasis ..."
Abstract
-
Cited by 4 (0 self)
- Add to MetaCart
FL is the result of an e ort to design a practical functional programming language based on Backus' FP. This paper provides an introduction to and critique of the FL language. The language e ort is analyzed from several points of view: language design, implementation, and user experiences. Emphasis is placed on the unusual aspects of FL, its strengths and weaknesses, and how FL compares with other functional programming languages. 1
Building Design Programming with a Functional Language
- 6th Conference on Computing in Civil and Building Engineering (Bauforum
, 1995
"... : A quite complex example of building design programming is discussed in this paper. In particular we introduce some operators which allow to easily define parametric layout plans, where both single and grouped rooms are constrained both on their linear dimensions and on the relative positioning. ..."
Abstract
-
Cited by 2 (2 self)
- Add to MetaCart
: A quite complex example of building design programming is discussed in this paper. In particular we introduce some operators which allow to easily define parametric layout plans, where both single and grouped rooms are constrained both on their linear dimensions and on the relative positioning. Such operators are then used to generate constraint-based models of the hierarchical set of spaces which define a terraced building. The given plasm description is completely coordinate free, i.e. all design parts are intrinsically defined. The relative positioning and dimensioning of parts is obtained using constraints. The whole set of design choices, i.e. the design knowledge, is compactly codified within the easily readable plasm description of each plan and section of the building. The 3D model of the building is then automatically generated from plans and sections. The authors believe that such a natural and semantically rich description may be very useful in the design process,...
A Visual Approach To Geometric Programming
- COMPUTER-AIDED DESIGN & APPLICATIONS
, 2005
"... In this paper we introduce a visual approach to functional programming with PLaSM, a design language used for geometric programming and the parametric generation of CAD models. A visual diagram is generated acc rding t very few simple rules, and may be used b th f r aut matically generating the ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
In this paper we introduce a visual approach to functional programming with PLaSM, a design language used for geometric programming and the parametric generation of CAD models. A visual diagram is generated acc rding t very few simple rules, and may be used b th f r aut matically generating the c rresp nding PLaSM c de and f r the specificati n and distributi n f c mputer tasks t be c ncurrently run in a multithread envirnment, either single r multi-h st. The visual diagram f a c mputati n may be used as a t l t m ake the c de debugging easier and interactive, since it all ws f r inspecting each value in the functional environment with a single point-and-click interaction paradigm, as well as a user-interface to powerful generative CAD environments.
Variable-free representation of manifolds via transfinite blending with a functional language
- EDS.) SPRINGER-VERLAG, LECTURE NOTES IN COMPUTER SCIENCE
"... In this paper a variable-free parametric representation of manifolds is discussed, using transfinite interpolation or approximation, i.e. function blending in some functional space. This is a power ful appr oach to gener ion of cur es,sur aces and solids (and even higher dimensional manifolds) by bl ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
In this paper a variable-free parametric representation of manifolds is discussed, using transfinite interpolation or approximation, i.e. function blending in some functional space. This is a power ful appr oach to gener ion of cur es,sur aces and solids (and even higher dimensional manifolds) by blending lower dimensional vector -valued functions. Tr ansfinite blending, e.g. used in Gor don-Coons patches, is well known to mathematicians and CAD people. It is pr esented her e in a ver y simple conceptual and computational fr amewor k, which leads such a power ful modeling to be easily handled even by the non mathematically sophisticated user of gr aphics techniques. In particular, transfinite blending is discussed in this paper by making use of a very powerful and simple functional language for geometric design.
Securing the Cultural Heritage via Geometric Programming and Modeling
"... Figure 1: Geometric modeling of the Leaning Tower of Pisa, a flagship element of the Italian cultural heritage, using a streaming progressive ..."
Abstract
- Add to MetaCart
Figure 1: Geometric modeling of the Leaning Tower of Pisa, a flagship element of the Italian cultural heritage, using a streaming progressive

