Functional Programming Languages
2004
Cited by 3
Read the abstract, see who wrote it and who cites it, and get the citation in APA, MLA, Chicago or Harvard.
About 3,828 papers for “functional programming languages”
2004
Cited by 3
Cambridge University Press eBooks · 2010
This chapter gives a short introduction to functional programming languages and their structural operational semantics.
Cited by 1
Andrew W. Appel, Jens Palsberg · Cambridge University Press eBooks · 2002
func-tion: a mathematical correspondence that assigns exactly one element of one set to each element of the same or another setWebster's Dictionary
Cited by 3
ERGÜN UĞURCAN, Ahmet Sayar · Kocaeli Üniversitesi - AVESİS · 2014
Cited by 0
James H. Morris · 2010
The established properties of functional languages-easy to define semantics and mathematical elegance---are appealing to meta-programmers who study programming and programs at one remove. Most people believe that functional programming is inappropriate for real programmers who write programs that are judged on their behavior rather than their appearance. We shall explore this question by considering experience with two languages, Poplar and Euclid, that have a claim to being functional languages and to being used on real problems-string processing and system programming, respectively.
Cited by 6
Peter H. Salus · Medical Entomology and Zoology · 1998
Volume IV begins with the Logic Programming group, all descended from John McCarthy's LISP of the late 1960s. The Volume begins with a few pages from the LISP 1.5 Programmers Manual, a vital token of things to come and moves on to LISP's offspring: LISP, Scheme, Guile, and CLOS. Finally, Jamie Andrews provides a substantial essay on the most important Functional programming language, Prolog. The contributions are designed to enable the programmer to evaluate the languages and to understand the ways in which each works. -- Bob Chassell on Emacs LISP -- Brian Harvey on Scheme -- Jim Blandy on Guile -- Jim Veitch on CLOS -- Jamie Andrews on Prolog
Cited by 5
Paul Roe · 1991
I am greatly indebted to Simon Peyton Jones, my supervisor, for his encouragement and technical assistance. His overwhelming enthusiasm was of great support to me. I particularly want to thank Simon and Geoff Burn for commenting on earlier drafts of this thesis. Through his excellent lecturing Cohn Runciman initiated my interest in functional programming. I am grateful to Phil Trinder for his simulator, on which mine is based, and Will Partain for his help with LaTex and graphs. I would like to thank the Science and Engineering Research Council of Great Britain for their financial support. Finally, I would like to thank Michelle, whose culinary skills supported me whilst I was writing-up.The Imagination the only nation worth defending a nation without alienation a nation whose flag is invisible and whose borders are forever beyond the horizon a nation whose motto is why have one or the other when you can have one the other and both
Cited by 41
R. Govindarajan · IEEE Transactions on Software Engineering · 1993
Constructs for expressing exception handling can greatly help to avoid clutter in code by allowing the programmer to separate the code to handle unusual situations from the code for the normal case. The author proposes a new approach to embed exception handlers in functional languages. The proposed approach discards the conventional view of treating exceptions, as a means of effecting a control transfer; instead, exceptions are used to change the state of an object. The two types of exceptions, terminate and resume, are treated differently. A terminate exception, when raised, is viewed as shielding the input object. On the other hand, a resume exception designates the input object as curable and requires the immediate application of a handler function. This approach enables the clean semantics of functions raising exceptions without associating any implementation restriction and without loss of the referential transparency and the commutativity properties of functions.< <ETX xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">></ETX>
Cited by 4
Paul Hudak · 2008
This paper describes the history of Haskell, including its genesis and principles, technical contributions, implementations and tools, and applications and impact.
Cited by 0
Brad A. Myers · 2002
Programming languages are the way for a person to express a mental plan in a way that the computer can understand. Therefore, it is appropriate to consider properties of people when designing new programming languages. In our research, we are investigating how people think about algorithms, and how programming languages can be made easier to learn and more effective for people to use. By taking human-productivity aspects of programming languages seriously, designers can more effectively match programming language features with human capabilities and problem solving methods. Human factors methods can be used to measure the effects, so unsubstantiated claims can be avoided.This talk will present a quick summary of new and old results in what is known about people and programming, from areas that are sometimes called "empirical studies of programmers" and "psychology of programming." Much is known about what people find difficult, and what syntax and language features are especially tricky and bug-prone. Our new research has discovered how people naturally think about algorithms and data structures, which can help with making programming languages more closely match people's problem solving techniques.
Cited by 5
Microprocessors and Microsystems · 1987
Cited by 1,079
Matthew Roberts · Figshare · 2014
"We address the problem of extending existing functional language compilers to support generic programming constructs, such as those that arise in term rewriting and datatype generic programs. In particular, we present a compiler capable of compiling a wide range of generic programs in a way which substantially reduces the execution overhead traditionally associated with such programs, without requiring type classes. We explicitly build upon a baseline functional compiler by extending it to support a universal spine view of data and by adding a mechanism for building polymorphic functions from monomorphic ones. This work employs variants of standard pattern compilation and lambda lifting translations that render these generic extensions into efficient code while making only modest modifications to our baseline compiler and its run-time. We show that type inference (with annotations for higher-ranked types and polymorphic recursion) can be maintained, by building all the mechanisms needed for type inference of generic programs on top of an existing variant of Damas and Milner's algorithm W. We demonstrate that this compiler achieves type safe and efficient compiled generic programs by showing the breadth of generic programs that we can encode with it and by benchmarking the execution speed and memory use of the programs output by the compiler. The generic programs we demonstrate are generic transformations, generic queries, generic traversals, generic equality, generic show plus a large number of variants of these. We also provide a proof of the soundness of the type system which underpins the compiler. In summary, the primary outcome of this research is a new compiler for generic programs which uses a unique combination of encoding techniques and which generates efficient generic code. For each of our extensions (polymorphic functions with specific behaviour and the explicit spine view) we provide new algorithms for pattern compilation, type inference and conversion to primitive operations. These can be easily incorporated into existing functional language compilers.
Cited by 1Open access
Jana Rapavá · Digital Repository (National Repository of Grey Literature) · 2018
In Artificial Intelligence, especially in area of constraint programming, it's popular to design various modeling languages which allow solving problems on domain level and by using domain specific abstractions. Techniques known from research on Domain-Specific Languages are often useful in this effort. Functional programming languages offer new tools for designing such languages, particularly Domain-Specific Embedded Languages. This work investigates the advantages and disadvantages of using functional programming for designing and implementing a Domain-Specific Embedded Language for state space search problems.
Cited by 0
Yasunao Takano · 2016
Cited by 0
J&apos;er&apos;emie Blanc, Herbert Kuchen, Rachid Echahed et al. · 1998
In this paper we present a new extension of functional logic programming languages which allows to specify, at a very high level, applications that need parallelism and reactivity with the environment. For that, we introduce the possibility of defining procedures (agents) which specify the dynamics (evolution) of a classical functional logic program, including its communication with the environment. The resulting formalism integrates in a uniform way the main features of functional (algebraic), logic and parallel programming. 1 Introduction Many functional logic languages have been proposed in the literature, see [8] for a survey and [10, 9] for recent language propositions. The aim of functional logic languages is to integrate, in a uniform way, the main advantages of functional languages and (constraint) logic languages. Roughly speaking, a functional logic program is a static entity. It consists of a presentation theory, defining data types, functions and possibly predicates, with ...
Cited by 0
Bailes P.A. · Queensland's institutional digital repository (The University of Queensland) · 1992
The pedagogical desirability of functional programming is effectively swamped by an overwhelmingly imperative-language-oriented culture. Because a meaningful subset of the functional paradigm is accessible within imperative languages, it is possible to identify a subset of Modula-2 that characterizes the functional paradigm subset. A series of list-processing problems and their solutions in the Modula-2 subset provides students with ample exposure to the practice and theory of functional programming. Extension to the full functional paradigm and migration to specialized functional languages are managed, in the worst case by initial pseudo-Modula-2 programming involving hypothetical extensions supporting higher-order functions and polymorphism. More powerful solutions to this problem are foreshadowed, in the form of preprocessor implementations of Modula-2- and Ada-derivative functional languages.
Cited by 0
Peyton Jones, Simon L. 1958- · 1987
Cited by 12
Harold Boley Deutsches, Harold Boley, Deutsches Forschungszentrum et al. · 2000
A 10-step strategy for sharing integrated functional-logic programs or knowledge bases as XML documents is given. Four well-known functional-logic design essentials are revisited for the Web. An XML-based `vanilla&apos; Prolog (XmlLog) is dened and developed into the Relational-Functional Markup Language (RFML). \\Content markup&quot; in MathML is regarded as a (higher-order) sublanguage for Lisp-like notations in XML and is compared to RFML. XML assertion and query languages are unied in this functional-logic setting.
Cited by 0
Romain Edelmann, Simon Bliudze, Joseph Sifakis · Journal of Logical and Algebraic Methods in Programming · 2017
Cited by 7Open access
Cited by 0