دسترسی نامحدود
برای کاربرانی که ثبت نام کرده اند
برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید
در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید
برای کاربرانی که ثبت نام کرده اند
درصورت عدم همخوانی توضیحات با کتاب
از ساعت 7 صبح تا 10 شب
ویرایش:
نویسندگان: 韩冬
سری: 图灵原创
ISBN (شابک) : 711543283X, 9787115432834
ناشر: 人民邮电出版社
سال نشر: 2016
تعداد صفحات: 365
زبان: Chinese
فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود)
حجم فایل: 64 مگابایت
در صورت تبدیل فایل کتاب 魔力Haskell به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.
توجه داشته باشید کتاب 魔力Haskell نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.
این کتاب ابتدا به معرفی نحو اولیه Haskell و مفاهیم اساسی برنامه نویسی تابعی و همچنین استفاده از GHC، GHCi، Cabal و ابزارهای دیگر می پردازد؛ با در نظر گرفتن مونادهای لیست، مونادهای Reader و مونادهای حالت به عنوان مثال، به تجزیه و تحلیل داده ها و نتایج آن می پردازد. انواع موناد را به تفصیل معرفی کنید؛ سپس کلاسهای نوع تاشو و قابل عبور، تبدیلهای موناد، پسوندهای زبان GHC و حاشیهنویسیهای برنامه، و همچنین برنامهنویسی شبکه، پایگاههای داده، همزمانی و موازیسازی، سریالسازی/Deserialization و برنامهنویسی عمومی، مدیریت استثنا و غیره را معرفی کنید.
本书首先介绍Haskell的基础语法和函数式编程的基本概念,以及GHC,GHCi,Cabal等工具的用法;接着按照函子-应用函子-单子的顺序介绍Haskell中核心的三大类型类,并以列表单子,Reader单子和State单子为例详细分析单子类型类的来龙去脉;后介绍Foldable和Traversable类型类,单子变换,GHC的语言扩展和程序标注,以及网络编程,数据库,并发并行,序列化/反序列化与泛型编程,异常处理等内容.
封面 书名 版权 前言 目录 第一部分 基础知识 第1章 基本语法和GHCi 1.1 注释 1.2 表达式 1.3 声明 1.3.1 类型声明和绑定声明 1.3.2 模块声明和导入声明 1.4 函数 1.5 GHCi 1.6 初级函数 第2章 data和模式匹配 2.1 数据声明data 2.2 模式匹配 2.2.1 无处不在的模式匹配 2.2.2 @pattern 2.3 各式各样的数据类型 2.3.1 多构造函数 2.3.2 完备性检查 2.3.3 无参数构造函数 2.3.4 data与类型变量 2.3.5 记录语法 2.4 排版规则 第3章 列表、递归和盒子比喻 3.1 列表 3.1.1 等差数列 3.1.2 匹配列表 3.2 递归操作 3.3 盒子比喻 第4章 元组、类型推断和高阶函数 4.1 元组 4.2 类型推断 4.3 高阶函数 4.3.1 拉链和zipWith 4.3.2 柯里化 第5章 常用的高阶函数和函数的补充语法 5.1 应用函数$和& 5.2 匿名函数 5.3 组合函数 5.4 函数的补充语法 5.4.1 where 5.4.2 guard 5.4.3 MultiWayIf 5.4.4 where与let 5.5 Point free 5.6 黑魔法词汇表 第6章 常用的列表操作:映射、过滤、折叠和扫描 6.1 映射 6.2 过滤 6.3 折叠 6.4 扫描 6.5 方向是相对的 第7章 类型类 7.1 实例声明 7.2 类声明 7.3 类型类的实现 7.3.1 层级和约束 7.3.2 推导类型类 7.3.3 Show/Read 第8章 数字相关的类型类 8.1 顺序类 8.2 data和类型约束 8.3 枚举类 8.4 边界类 8.5 数字类 第9章 type、newtype和惰性求值 9.1 类型别名type 9.2 新类型声明newtype 9.3 惰性求值 9.3.1 标记语义、常态和弱常态 9.3.2 seq和deepseq 第10章 模块语法以及cabal、Haddock工具 10.1 模块语法 10.2 使用cabal 10.2.1 使用cabal安装依赖 10.2.2 项目的cabal配置 10.3 Haddock 第二部分 重要的类型和类型类 第11章 函子 11.1 容器抽象 11.2 范畴 11.3 Identity和Const 11.4 IO函子 第12章 透镜组 12.1 getter和setter 12.2 透镜组 12.3 view、set和over函数 12.3.1 over函数 12.3.2 set函数 12.3.3 view函数 12.4 函数库 第13章 应用函子 13.1 函子的局限 13.2 什么是函子 13.2.1 Reader应用函子 13.2.2 自然升格 13.3 IO应用函子 第14章 单位半群和一些有趣的应用函子 14.1 单位半群 14.1.1 Endo单位半群 14.1.2 自由单位半群 14.1.3 逆 14.2 当单位半群遇上应用函子 14.2.1 Const a的应用函子实例 14.2.2 选择应用函子 14.2.3 拉链应用函子 第15章 解析器 15.1 参数解析 15.2 optparse-applicative 15.3 选择解析 第16章 单子 16.1 应用函子的局限 16.2 什么是单子 16.2.1 粘合函数 16.2.2 do语法糖 16.3 IO单子 第17章 八皇后问题和列表单子 17.1 列表单子与数组归纳 17.2 八皇后问题 17.3 MonadPlus 17.4 结构控制函数 17.4.1 sequence/sequence_ 17.4.2 mapM/mapM_ 17.4.3 replicateM/replicateM_ 17.4.4 forever 17.4.5 filterM 17.4.6 foldM/foldM_ 第18章 Reader单子 18.1 (->)a的单子实例声明 18.2 模板渲染 18.3 Reader新类型 第19章 State单子 19.1 什么是State单子 19.2 随机数 19.3 简易计算器 第20章 IO和它的伙伴们 20.1 IO单子的本质 20.2 基本IO操作 20.3 IO中的变量 20 4 forkIO 20.5 ST单子 20.6 后门函数 第三部分 高级类型类和项目实践 第21章 语言扩展和程序标注 21.1 语言扩展 21.2 严格求值数据项 21.3 惰性模式 21.4 程序标注 21.5 编译选项 21.6 运行分析 第22章 Foldable和Traversable 22.1 Foldable 22.2 折叠与单位半群 22.3 Traversable 22.4 推导规则 22.5 Data.Coerce 第23章 列表、数组和散列表 23.1 列表 23.2 数组 23.3 散列表 第24章 单子变换 24.1 Kleisli范畴 24.2 ReaderT 24.3 Identity和IdentityT 24.4 StateT 24.5 RandT 第25章 单子变换的升格操作 25.1 MonadIO 25.2 MonadState和MonadReader 25.3 类型家族 25.4 Lazy StateT和Strict StateT 25.5 Writer单子 第26章 高效字符串处理 26.1 bytestring函数库 26.1.1 Lazy ByteString 26.1.2 ByteString Builder 26.2 text和utf8-string函数库 26.3 mono-traversable函数库 第27章 网络编程 27.1 wai/warp 27.2 wai-extra 27.3 HTTP的单子抽象 27.4 WebSocket编程 27.5 Socket编程 第28章 Haskell与数据库 28.1 persistent 28.2 esqueleto 第29章 模板编程 29.1 什么是模板 29.2 Q单子 29.3 拼接 29.4 reify 第30章 并发和并行编程 30.1 运行时工作原理 30.2 并行编程 30.3 并发编程 30.3.1 MVar 30.3.2 STM 30.3.3 aysnc 第31章 高级类型编程 31.1 Typeable和Dynamic 31.2 存在类型 31.3 类型家族、数据家族和GADT 31.3.1 类型家族 31.3.2 数据家族 31.3.3 GADT 31.4 数据类别DataKinds 第32章 序列化/反序列化与泛型编程 32.1 aeson函数库 32.1.1 使用模板编程自动生成ToJSON/FromJSON实例 32.1.2 使用泛型提供的ToJSON/FromJSON 32.2 泛型 第33章 Haskell中的异常处理 33.1 使用Either/Maybe表示异常 33.2 运行时异常 33.2.1 异步异常 33.2.2 资源的清理和释放 33.3 纯函数中的异常处理 33.4 异常和单子变换 33.4.1 exceptions 33.4.2 monad-control 33.5 常见的异常处理问题