欢迎来到相识电子书!

标签:函数式编程

  • The Scheme Programming Language

    作者:R. Kent Dybvig

    This thoroughly updated edition of The Scheme Programming Language provides an introduction to Scheme and a definitive reference for standard Scheme, presented in a clear and concise manner. Written for professionals and students with some prior programming experience, it begins by leading the programmer gently through the basics of Scheme and continues with an introduction to some of the more advanced features of the language. Many exercises are presented to help reinforce the lessons learned, and answers to the exercises are given in a new appendix. Most of the remaining chapters are dedicated to the reference material, which describes in detail the standard features of Scheme included in the Revised Report on Scheme and the ANSI/IEEE standard for Scheme. Numerous examples are presented throughout the introductory and reference portions of the text, and a unique set of extended example programs and applications, with additional exercises, are presented in the final chapter. Reinforcing the book's utility as a reference text are appendixes that present the formal syntax of Scheme, a summary of standard forms and procedures, and a bibliography of Scheme resources. The Scheme Programming Language stands alone as an introduction to and essential reference for Scheme programmers. It is also useful as a supplementary text for any course that uses Scheme. The Scheme Programming Language is illustrated by artist Jean-Pierre Hebert, who writes Scheme programs to extend his ability to create sophisticated works of digital art.
  • Real World Haskell

    作者:Bryan O'Sullivan,Joh

    This easy-to-use, fast-moving tutorial introduces you to functional programming with Haskell. Learn how to use Haskell in a variety of practical ways, whether it's for short, script-like programs or large and demanding applications. Written for experienced programmers, Real World Haskell takes you through the basics of functional programming at a brisk pace, and helps you increase your understanding of Haskell in real-world issues like I/O, performance, dealing with data, concurrency, and more as you move through each chapter. With this book, you will: Understand the difference between procedural and functional programming Learn about Haskell's compiler, interpreter, values, simple functions, and types Find your way around Haskell's library -- and write your own Use monads to express I/O operations and changes in state Interact with databases, parse files and data, and handle errors Discover how to use Haskell for systems programming Learn concurrency and parallel programming with Haskell You'll find plenty of hands-on exercises, along with examples of real Haskell programs that you can modify, compile, and run. If you've never used a functional language before, and want to understand why Haskell is now coming into its own as a practical language in so many major organizations, Real World Haskell is the place to start.
  • An Introduction to Functional Programming Through Lambda Calculus

    作者:Greg Michaelson,Math

    This well-respected text offers an accessible introduction to functional programming concepts and techniques for students of mathematics and computer science. The treatment is as nontechnical as possible, assuming no prior knowledge of mathematics or functional programming. Numerous exercises appear throughout the text, and all problems feature complete solutions. 1989 edition.
  • Functional Programming Patterns in Scala and Clojure

    作者:Michael Bevilacqua-L

    Functional languages have their own patterns that enable you to solve problems with less code than object-oriented programming alone. This book introduces you, the experienced Java programmer, to Scala and Clojure: practical, production-quality languages that run on the JVM and interoperate with existing Java. By using both the statically typed, type-inferred Scala and the dynamically typed, modern Lisp Clojure, you’ll gain a broad understanding of functional programming. For each pattern, you’ll first see the traditional object-oriented solution, and then dig into the functional replacements in both Scala and Clojure. These patterns are common in the functional world and deserve to become part of your problem-solving toolkit. On the object-oriented side, you’ll see many common patterns, such as Command, Strategy, and Null Object. On the functional side, you’ll learn core functional patterns such as Memoization, Lazy Sequence, and Tail Recursion. Each pattern helps you solve a common programming problem. Working through them gives you a set of patterns you can use to solve problems you come across while writing programs. Finally, you’ll learn how to work your existing Java code into new Scala or Clojure projects. You can start off small, adding functional code little by little, so you can complement your existing knowledge with Scala and Clojure as these languages gain popularity on the JVM.
  • Erlang 程序设计

    作者:Armstrong

    书是讲述下一代编程语言Erlang 的权威著作,主要涵盖顺序型编程、异常处理、编译和运行代码、并发编程、并发编程中的错误处理、分布式编程、多核编程等内容。本书将帮助读者在消息传递的基础上构建分布式的并发系统,免去锁与互斥技术的羁绊,使程序在多核CPU 上高效运行。本书讲述的各种设计方法和行为将成为设计容错与分布式系统中的利器。. 在多核、并发、分布为王的时代,谁将成为下一个主流编程语言?来自全世界的众多专家都认为,Erlang最有可能在竞争中胜出。 Erlang开源语言系出名门,通信巨头爱立信公司用它开发出了可靠性惊人的交换机系统AXD301。它天生就是面向并发、分布和高容错的,兼有函数式语言和脚本语言的各种优点,而且已经用于商业开发多年,具有稳定性极高的虚拟机和平台库。有了这些天时地利,无怪乎Erlang能够迅速成为热门的开发语言,除了广泛应用于通信行业之外,它已经进入了各个领域:Facebook用它实现了聊天系统,Yahoo用它重写了Delicious,Amazon用它开发了云计算数据服务SimpleDB,还有多人游戏、测试工具、电子支付、数据采集与监控、企业消息、电子邮件、空中交通管制…….. 本书由Erlang之父Joe Armstrong编写,是毋庸置疑的经典著作。书中兼顾了顺序编程、并发编程和分布式编程,较深入地讨论了开发Erlang应用中至关重要的文件和网络编程、OTP、MNesia、Ets和Dets等主题,更为精彩的是,大师亲自操刀,构建了MapReduce实例和多人聊天实例,一定让你大呼过瘾。...
  • A Little Java, A Few Patterns

    作者:Matthias Felleisen,D

    Java is a new object-oriented programming language that was developed by Sun Microsystems for programming the Internet and intelligent appliances. In a very short time it has become one of the most widely used programming languages for education as well as commercial applications.Design patterns, which have moved object-oriented programming to a new level, provide programmers with a language to communicate with others about their designs. As a result, programs become more readable, more reusable, and more easily extensible.In this book, Matthias Felleisen and Daniel Friedman use a small subset of Java to introduce pattern-directed program design. With their usual clarity and flair, they gently guide readers through the fundamentals of object-oriented programming and pattern-based design. Readers new to programming, as well as those with some background, will enjoy their learning experience as they work their way through Felleisen and Friedman's dialogue.
  • Erlang程序设计(第2版)

    作者:[瑞典] Joe Armstrong

    本书由Erlang之父Joe Armstrong编写,是毋庸置疑的经典著作。书中兼顾了顺序编程、并发编程和分布式编程,重点介绍如何编写并发和分布式的Erlang程序以及如何在多核CPU上自动加速程序,并深入地讨论了开发Erlang应用中至关重要的文件和网络编程、OTP、ETS和DETS等主题。第2版全新改写,反应了自第1版面世以来Erlang历经的所有变化,添加了大量针对初学者的内容,并在每章后都附上了练习题。
  • Haskell趣学指南

    作者:[斯洛文尼亚] Miran Lipova

    《haskell趣学指南》是一本讲解haskell这门函数式编程语言的入门指南,语言通俗易懂,插图生动幽默,示例短小清晰,结构安排合理。书中从haskell的基础知识讲起,涵盖了所有的基本概念和语法,内容涉及基本语法、递归、类型和类型类、函子、applicative 函子、monad、zipper及所有haskell重要特性和强大功能。 《haskell趣学指南》适合对函数式编程及haskell语言感兴趣的开发人员阅读。
  • Clojure编程乐趣

    作者:Michael Fogus,Chris

    Clojure是一门Lisp方言。它通过函数式编程技术,直接支持并发软件开发,得到众多开发人员的欢迎。 《Clojure编程乐趣》并非Clojure初学指南,也不是一本Clojure的编程操作手册,而是通过对Clojure详尽地探究,教授函数式的程序设计方式,帮助读者理解和体会Clojure编程的乐趣,进而开发出优美的软件。 全书分为5个部分共13章。第1部分是基础,包括第1章到第3章,从Clojure背后的思想开始,介绍了Clojure的基础知识,并带领读者初步尝试Clojure编程。第2部分包括第4章和第5章,介绍了Clojure的各种数据类型。第3部分是第6章和第7章,介绍了函数式编程的特性。第4部分包括第8章到第11章,分别介绍了宏、组合数据域代码、Clojure对Java的调用,以及并发编程等较为高级的话题。第5部分为第12章和第13章,探讨了Clojure的性能问题及其带给我们的思考。 《Clojure编程乐趣》适合有一定基础的Clojure程序员阅读,进而掌握函数编程的思考方法和程序设计方法,也可以作为读者学习函数式编程的参考资料。
  • Let Over Lambda

    作者:Doug Hoyte

    Let Over Lambda is one of the most hardcore computer programming books out there. Starting with the fundamentals, it describes the most advanced features of the most advanced language: Common Lisp. Only the top percentile of programmers use lisp and if you can understand this book you are in the top percentile of lisp programmers. If you are looking for a dry coding manual that re-hashes common-sense techniques in whatever langue du jour, this book is not for you. This book is about pushing the boundaries of what we know about programming. While this book teaches useful skills that can help solve your programming problems today and now, it has also been designed to be entertaining and inspiring. If you have ever wondered what lisp or even programming itself is really about, this is the book you have been looking for.
  • Land of Lisp

    作者:Conrad Barski M.D.

    Lisp is a uniquely powerful programming language that, despite its academic reputation, is actually very practical. Land of Lisp brings the language into the real world, teaching Lisp by showing readers how to write several complete Lisp-based games, including a text adventure, an evolution simulation, and a robot battle. While building these games, readers learn the core concepts of Lisp programming, such as data types, recursion, input/output, object-oriented programming, and macros. And thanks to the power of Lisp, the code is short. Rather than bogging things down with reference information that is easily found online, Land of Lisp focuses on using Lisp for real programming. The book is filled with the author Conrad Barski's famous Lisp cartoons, featuring the Lisp alien and other zany characters.
  • 实用Common Lisp编程

    作者:Peter Seibel

    由塞贝尔编著的《实用Common Lisp编程》是一本不同寻常的Common Lisp入门书。《实用Common Lisp编程》首先从作者的学习经过及语言历史出发,随后用21个章节讲述了各种基础知识,主要包括:REPL及Common Lisp的各种实现、S-表达式、函数与变量、标准宏与自定义宏、数字与字符以及字符串、集合与向量、列表处理、文件与文件I/O处理、类、FORMAT格式、符号与包,等等。而接下来的9个章节则翔实地介绍了几个有代表性的实例,其中包含如何构建垃圾过滤器、解析二进制文件、构建ID3解析器,以及如何编写一个完整的MP3 Web应用程序等内容。最后还对一些未介绍内容加以延伸。 《实用Common Lisp编程》内容适合Common Lisp初学者及对之感兴趣的相关人士。
  • ML程序设计教程

    作者:保罗森

    本书是关于ML程序设计的经典教材,详细介绍如何使用 ML语言进行程序设计,并讲解函数式程序设计的基本原理。   书中含有大量例子,涵盖了排序、矩阵运算、多项式运算等方面。大型的例子包括一个一般性的自顶向下语法分析器、一个一演算归约程序和一个定理证明机。书中也讲述了关于数组、队列、优生队列等高效的函数式实现,并且有一章专门讨论函数式程序的形式论证。本书的代码均可以从作者网站(http://www.cl.cam.ac.uk/users/lcp/)得到。   本书详细讲解如何使用ML语言进行程序设计,并介绍函数式程序设计的基本原理。书中特别讲述了为ML的修订版所设计的新标准库的主要特性,并且给出大量例子,涵盖排序、矩阵运算、多项式运算等方面。大型的例子包括一个一般性的自顶向下语法分析器、一个l-演算归约程序和一个定理证明机。书中也讲述了关于数组、队列、优先队列等高效的函数式实现,并且有一章专门讨论函数式程序的形式论证。   本书可作为高等院校计算机专业相关课程的教材,也适合广大程序设计人员参考。
  • The Little Schemer - 4th Edition

    作者:Daniel P. Friedman,M

    This delightful book leads you through the basic elements of programming in Scheme (a Lisp dialect) via a series of dialogues with well-chosen questions and exercises. Besides teaching Scheme, The Little Schemer teaches the reader how to think about computation. The authors focus on ten essential concepts of thinking about how to compute and demonstrate how to apply these concepts in inventive ways. The Little Schemer is an excellent book both for the beginner and for the seasoned programmer.