Title Details: | |
Logic and Functional Programming |
|
Authors: |
Stamatopoulos, Panagiotis |
Reviewer: |
Rontogiannis, Panagiotis |
Subject: | MATHEMATICS AND COMPUTER SCIENCE > COMPUTER SCIENCE > PROGRAMMING LANGUAGES MATHEMATICS AND COMPUTER SCIENCE > COMPUTER SCIENCE > INTELLIGENT SYSTEMS > BASIC KNOWLEDGE REPRESENTATION AND REASONING MATHEMATICS AND COMPUTER SCIENCE > COMPUTER SCIENCE > PROGRAMMING LANGUAGES > LOGIC PROGRAMMING |
Keywords: |
Logic Programming
Functional Programming Logic Programming Languages Functions Prolog Haskell |
Description: | |
Abstract: |
Two programming paradigms are presented in the book, quite different from procedural programming. We discuss logic programming and functional programming, two problem solving methodologies which, although quite different from each other, share the common characteristic of supporting a declarative way of programming. These methodologies are applied in practice through specific programming languages, but at the same time, they also have strict theoretical foundations. Initially, the concept of declarative programming is introduced and contrasted with procedural programming, mainly through examples of solving specific problems. Subsequently, an introductory description of the philosophy of logic programming is given, and the logic programming language Prolog is presented as a typical representative of this philosophy. A brief reference is made to issues related to the implementation of Prolog systems, topics concerning the capabilities of parallel processing in Prolog programming environments are discussed, and the concept of constraints in logic programming is introduced. Elements from first-order logic, which is the mathematical background of logic programming, are provided, and various approaches to studying the semantics of logic programs are presented at a relatively high level. In the next part of the book, the second declarative programming methodology, that of functional programming, is introduced, and a representative functional programming language, Haskell, is presented. Finally, some topics related to the theoretical background of functional programming, such as lambda calculus and combinators, are touched upon, as well as others related to the implementation techniques of functional programming languages, such as reduction orders and graph reduction.
|
Linguistic Editors: |
Xifara, Foteini |
Technical Editors: |
Papavasileiou, Spyridon |
Graphic Editors: |
Papavasileiou, Spyridon |
Type: |
Undergraduate textbook |
Creation Date: | 2015 |
Item Details: | |
ISBN |
978-960-603-335-3 |
License: |
http://creativecommons.org/licenses/by-nc-nd/3.0/gr |
DOI | http://dx.doi.org/10.57713/kallipos-648 |
Handle | http://hdl.handle.net/11419/3587 |
Bibliographic Reference: | Stamatopoulos, P. (2015). Logic and Functional Programming [Undergraduate textbook]. Kallipos, Open Academic Editions. https://dx.doi.org/10.57713/kallipos-648 |
Language: |
Greek |
Consists of: |
1. Procedural and Declarative Programming 2. Logic Programming – Computation through Logic 3. The Logic Programming Language Prolog – The Basics 4. Structures in Prolog 5. Built-in Capabilities and Extensions of Prolog 6. Constraint Logic Programming 7. First Order Logic 8. Semantics of Logic Programs 9. Functional Programming – Computation through Functions 10. The Functional Programming Language Haskell – The Basics 11. Expressive Capabilities in Haskell 12. The Internals of Functional Programming |
Number of pages |
225 |
Publication Origin: |
Kallipos, Open Academic Editions |
You can also view | |
User comments | |
There are no published comments available! | |