Информатика и вычислительная техника
  • формат djvu
  • размер 2.14 МБ
  • добавлен 12 октября 2011 г.
Curien P.-L. Categorical Combinators, Sequential Algorithms, and Functional Programmimg
Издательство Birkh?user, 1993, -424 pp.

The goal of this monograph is to give a concrete approach to the semantics of sequential programming languages, with application to the design and implementation of programming languages. Just as machines do not manipulate numbers, but representations of numbers, we do not present sets and functions, but concrete representations of these sets and functions. The motivation behind our constructions is to ensure that any two program pieces have the same meaning as soon as they behave the same way on a computer. Restricting this known problem, entitled the full abstraction problem, to sequential programming languages implies giving a semantic account to sequentiality. Sequential languages are languages in which constructs are evaluated one at a time; as a consequence, if the evaluation of a given construct loops, the next construct in the program text will not be evaluated. The construction of sequential objects in the semantics has led us to replace sets and functions with descriptions of sets and functions: concrete data structures and sequential algorithms. A sequential algorithm is a pair of a function and a computational strategy. The intensionality of our model, that is, the fact that it does not account only for the input-output behavior of the interpreted programs and procedures, constitutes one of its most original features. The concrete nature of our semantics has led us naturally to the design of a programming language, calles CDS0, where the full abstraction property we sought holds true.

Categorical Combinators
Sequential Algorithms
CDSO:The Keel of the Functional Language
The Full Abstraction Problem
Похожие разделы
Смотрите также

Hughes J. The Design of a Pretty-printer Library

Статья
  • формат pdf
  • размер 331.67 КБ
  • добавлен 05 марта 2011 г.
Статья одного из пропагандистов ФП о разработке библиотеки комбинаторов вывода. Реализация осуществлена на языке Haskell. Краткое содержание: Introduction A Preview of the Pretty-printing Library Deriving Functional Programs from Specifications Designing a Sequence Type Implementing Monads Monads for Backtracking Specifying Pretty-printing Implementing Pretty-printing: A Term Representation Optimized Pretty-printing: A Term Representation A Con...

Launchbury J., Peyton-Jones S.L. Lazy Functional State Threads

Статья
  • формат pdf
  • размер 291.25 КБ
  • добавлен 09 марта 2011 г.
John Launchbury and Simon L. Peyton Jones, Lazy Functional State Threads // In Programming Languages Design and Implementation. - ACM Press, 1993. - pp. 24-35. Краткое содержание: Introduction Overview Array references Input/output Formal semantics Implementation Other useful combinators Related work Acknowledgements References Appendix

Loverdos C.K.K., Syropoulos A. Steps in Scala

  • формат pdf
  • размер 12.25 МБ
  • добавлен 05 декабря 2011 г.
CAMBRIDGE UNIVERSITY PRESS, 2010. - 485 p. - ISBN: 978-0-511-90054-9 Object-functional programming is already here. Scala is the most prominent representative of this exciting approach to programming, both in the small and in the large. In this book we show how Scala proves to be a highly expressive, concise, and scalable language, which grows with the needs of the programmer, whether professional or hobbyist. Read the book to see how to: - leve...

Meijer E., Fokkinga M., Paterson R. Functional Programming with Bananas, Lenses, Envelopes and Barbed Wire

  • формат pdf
  • размер 246.78 КБ
  • добавлен 09 марта 2011 г.
Erik Meijer and Maarten Fokkinga and Ross Paterson, Functional Programming with Bananas, Lenses, Envelopes and Barbed Wire. - Springer-Verlag, 1991. - pp. 124-144. Краткое содержание: Introduction The data type of lists Algebraic data types Recursion schemes Parametrized types Conclusion References

Nielson F., Nielson H.R. Two-Level Functional Languages

  • формат djvu
  • размер 1.48 МБ
  • добавлен 03 февраля 2012 г.
Издательство Cambridge University Press, 1992, -311 pp. The subject area of this book concerns the implementation of functional languages. The main perspective is that part of the implementation process amounts to making computer science concepts explicit in order to facilitate the application, and the development, of general frameworks for program analysis and code generation. This is illustrated on a specimen functional language patterned a...

Odersky M. Programming in Scala

  • формат pdf
  • размер 4.84 МБ
  • добавлен 28 ноября 2009 г.
Scala is an object-oriented programming language for the Java Virtual Machine. In addition to being object-oriented, Scala is also a functional language, and combines the best approaches to OO and functional programming. Programming in Scala is the definitive book on Scala, the new language for the Java Platform that blends object-oriented and functional programming concepts into a unique and powerful tool for developers. Coauthored by the desi...

Okasaki Chris. Purely Functional Data Structures

  • формат pdf
  • размер 614.14 КБ
  • добавлен 24 сентября 2010 г.
When a C programmer needs an efficient data structure for a particular problem, he or she can often simply look one up in any of a number of good textbooks or handbooks. Unfortunately, programmers in functional languages such as Standard ML or Haskell do not have this luxury. Although some data structures designed for imperative languages such as C can be quite easily adapted to a functional setting, most cannot, usually because they depend in cr...

Payne A. Programming Scala: Scalability = Functional Programming + Objects

  • формат pdf
  • размер 3.37 МБ
  • добавлен 25 декабря 2009 г.
Learn how to be more productive with Scala, a new multi-paradigm language for the Java Virtual Machine (JVM) that integrates features of both object-oriented and functional programming. With this book, you'll discover why Scala is ideal for highly scalable, component-based applications that support concurrency and distribution. Programming Scala clearly explains the advantages of Scala as a JVM language. You'll learn how to leverage the wealth o...

Pollak D. Beginning Scala

  • формат pdf
  • размер 9.25 МБ
  • добавлен 28 ноября 2009 г.
The open source Scala language is a Java–based dynamic scripting, functional programming language. Moreover, this highly scalable scripting language lends itself well to building Cloud–based/deliverable Software as a Service (SaaS) online applications. Written by Lift Scala web framework founder and lead Dave Pollak, Beginning Scala takes a down–to–earth approach to teaching Scala that leads you through simple examples that can be combined to bu...

Subramaniam V. Programming Scala.Tackle multi-core complexity on the Java Virtual Machine

  • формат pdf
  • размер 3.5 МБ
  • добавлен 28 ноября 2009 г.
The increasing popularity and availability of multicore processors is creating a whole new set of challenges--although you can enjoy true concurrency, you're now faced with higher contention and synchronization issues. Deploying an existing application on a multicore processor may bring out previously hidden concurrency issues. Java's multi-threading facility by itself isn't enough---it's a very low level abstraction. Instead, you need a paradigm...