0去购物车结算
购物车中还没有商品,赶紧选购吧!
当前位置: 图书分类 > 信息技术 > 软件开发与程序设计 > Haskell函数式编程基础(第3版)

浏览历史

Haskell函数式编程基础(第3版)


联系编辑
 
标题:
 
内容:
 
联系方式:
 
  
Haskell函数式编程基础(第3版)
  • 电子书不支持下载,仅供在线阅读
  • 书号:9787030379375
    作者:(美)Simon Thompson
  • 外文书名:Haskell:The Craft of Functional Programming
  • 装帧:平装
    开本:B5
  • 页数:604
    字数:600
    语种:eng
  • 出版社:科学出版社
    出版时间:2013/7/10
  • 所属分类:
  • 定价: ¥129.00元
    售价: ¥77.40元
  • 图书介质:
    电子书

  • 购买数量: 件  可供
  • 商品总价:

内容介绍

样章试读

用户评论

全部咨询

  本书是一本非常优秀的Haskell函数式程序设计的入门书,各章依次介绍函数式程序设计的基本概念、编译器和解释器、函数的各种定义方式、简单程序的构造、多态和高阶函数、诸如数组和列表的结构化数据、列表上的原始递归和推理、输入输出的控制处理、类型分类与检测方法、代数数据类型、抽象数据类型、惰性计算等内容。书中包含大量的实例和习题,注重程序测试、程序证明和问题求解,易读易学。全书循序渐进,从基本的函数式程序设计直至高级专题,让读者对Haskell的学习不断深入。   本书可作为计算机科学和其他相关学科的高年级本科生、研究生的教材,也可供对函数式程序设计感兴趣的程序员、软件工程师等参考学习。
样章试读
  • 暂时还没有任何用户评论
总计 0 个记录,共 1 页。 第一页 上一页 下一页 最末页

全部咨询(共0条问答)

  • 暂时还没有任何用户咨询内容
总计 0 个记录,共 1 页。 第一页 上一页 下一页 最末页
用户名: 匿名用户
E-mail:
咨询内容:

目录

  • Preface
    1 Introducing functional programming
    1.1 Computers and modelling
    1.2 What is a function?
    1.3 Pictures and functions
    1.4 Types
    1.5 The Haskell programming language
    1.6 Expressions and evaluation
    1.7 Definitions
    1.8 Function definitions
    1.9 Types and functional programming
    1.10 Calculation and evaluation
    1.11 The essence of Haskell programming
    1.12 Domain-specific languages
    1.13 Two models of Pictures
    1.14 Tests, properties and proofs
    2 Getting started with Haskell and GHCi
    2.1 A first Haskell program
    2.2 Using Haskell in practice
    2.3 Using GHCi
    2.4 The standard prelude and the Haskell libraries
    2.5 Modules
    2.6 A second example:pictures
    2.7 Errors and error messages
    3 Basic types and definitions
    3.1 The Booleans:Bool
    3.2 The integers:Integer and Int
    3.3 Overloading
    3.4 Guards
    3.5 Characters and strings
    3.6 Floating-point numbers:Float
    3.7 Syntax
    4 Designing and writing programs
    4.1 Where do I start? Designing a program in Haskell
    4.2 Solving a problem in steps:local definitions
    4.3 Defining types for ourselves:enumerated types
    4.4 Recursion
    4.5 Primitive recursion in practice
    4.6 Extended exercise:pictures
    4.7 General forms of recursion
    4.8 Program testing
    5 Data types, tuples and lists
    5.1 Introducing tuples and lists
    5.2 Tuple types
    5.3 Introducing algebraic types
    5.4 Our approach to lists
    5.5 Lists in Haskell
    5.6 List comprehensions
    5.7 A library database
    6 Programming with lists
    6.1 Generic functions:polymorphism
    6.2 Haskell list functions in the Prelude
    6.3 Finding your way around the Haskell libraries
    6.4 The Picture example:implementation
    6.5 Extended exercise:alternative implementations of pictures
    6.6 Extended exercise:positioned pictures
    6.7 Extended exercise:supermarket billing
    6.8 Extended exercise:cards and card games
    7 Defining functions over lists
    7.1 Pattern matching revisited
    7.2 Lists and list patterns
    7.3 Primitive recursion over lists
    7.4 Finding primitive recursive definitions
    7.5 General recursions over lists
    7.6 Example:text processing
    8 Playing the game:I/O in Haskell
    8.1 Rock-Paper-Scissors:strategies
    8.2 Why is I/O an issue?
    8.3 The basics of input/output
    8.4 The do notation
    8.5 Loops and recursion
    8.6 Rock-Paper-Scissors:playing the game
    9 Reasoning about programs
    9.1 Understanding definitions
    9.2 Testing and proof
    9.3 Definedness,termination and finiteness
    9.4 A little logic
    9.5 Induction
    9.6 Further examples of proofs by induction
    9.7 Generalizing the proof goal
    10 Generalization:patterns of computation
    10.1 Patterns of computation over lists
    10.2 Higher-order functions:functions as arguments
    10.3 Folding and primitive recursion
    10.4 Generalizing:splitting up lists
    10.5 Case studies revisited
    11 Higher-order functions
    11.1 Operators:function composition and application
    11.2 Expressions for functions:lambda abstractions
    11.3 Partial application
    11.4 Under the hood:curried functions
    11.5 Defining higher-order functions
    11.6 Verification and general functions
    12 Developing higher-order programs
    12.1 Revisiting the Picture example
    12.2 Functions as data:strategy combinators
    12.3 Functions as data:recognizing regular expressions
    12.4 Case studies:functions as data
    12.5 Example:creating an index
    12.6 Development in practice
    12.7 Understanding programs
    13 Overloading, type classes and type checking
    13.1 Why overloading?
    13.2 Introducing classes
    13.3 Signatures and instances
    13.4 A tour of the built-in Haskell classes
    13.5 Type checking and type inference:an overview
    13.6 Monomorphic type checking
    13.7 Polymorphic type checking
    13.8 Type checking and classes
    14 Algebraic types
    14.1 Algebraic type definitions revisited
    14.2 Recursive algebraic types
    14.3 Polymorphic algebraic types
    14.4 Modelling program errors
    14.5 Design with algebraic data types
    14.6 Algebraic types and type classes
    14.7 Reasoning about algebraic types
    15 Case study:Huffman codes
    15.1 Modules in Haskell
    15.2 Modular design
    15.3 Coding and decoding
    15.4 Implementation-Ⅰ
    15.5 Building Huffman trees
    15.6 Design
    15.7 Implementation-Ⅱ
    16 Abstract data types
    16.1 Type representations
    16.2 The Haskell abstract data type mechanism
    16.3 Queues
    16.4 Design
    16.5 Simulation
    16.6 Implementing the simulation
    16.7 Search trees
    16.8 Sets
    16.9 Relations and graphs
    16.10 Commentary
    17 Lazy programming
    17.1 Lazy evaluation
    17.2 Calculation rules and lazy evaluation
    17.3 List comprehensions revisited
    17.4 Data-directed programming
    17.5 Case study:parsing expressions
    17.6 Infinite lists
    17.7 Why infinite lists?
    17.8 Case study:simulation
    17.9 Proof revisited
    18 Programming with monads
    18.1 I/O programming
    18.2 Further I/O
    18.3 The calculator
    18.4 The do notation revisited
    18.5 Monads:languages for functional programming
    18.6 Example:monadic computation over trees
    19 Domain-specific languages
    19.1 Programming languages everywhere
    19.2 Why DSLs in Haskell?
    19.3 Shallow and deep embeddings
    19.4 A DSL for regular expressions
    19.5 Monadic DSLs
    19.6 DSLs for computation:generating data in QuickCheck
    19.7 Taking it further
    20 Time and space behaviour
    20.1 Complexity of functions
    20.2 The complexity of calculations
    20.3 Implementations of sets
    20.4 Space behaviour
    20.5 Folding revisited
    20.6 Avoiding recomputation:memoization
    21 Conclusion
    Appendices
    A Functional,imperative and OO programming
    B Glossary
    C Haskell operators
    D Haskell practicalities
    E GHCi errors
    F Project ideas
    Bibliography
    Index
帮助中心
公司简介
联系我们
常见问题
新手上路
发票制度
积分说明
购物指南
配送方式
配送时间及费用
配送查询说明
配送范围
快递查询
售后服务
退换货说明
退换货流程
投诉或建议
版权声明
经营资质
营业执照
出版社经营许可证