楼主: Scalachen
2263 12

[Jerker]Beginning Haskell [推广有奖]

  • 0关注
  • 0粉丝

本科生

56%

还不是VIP/贵宾

-

TA的文库  其他...

Haskell NewOccidental

Splunk NewOccidental

Apache Storm NewOccidental

威望
0
论坛币
5149 个
通用积分
0
学术水平
9 点
热心指数
11 点
信用等级
9 点
经验
1156 点
帖子
24
精华
1
在线时间
0 小时
注册时间
2015-3-29
最后登录
2017-8-22

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

Beginning Haskell


Book Description
Beginning Haskell provides a broad-based introduction to the Haskell language, its libraries and environment, and to the functional programming paradigm that is fast growing in importance in the software industry. The book takes a project-based approach to learning the language that is unified around the building of a web-based storefront. Excellent coverage is given to the Haskell ecosystem and supporting tools. These include the Cabal build tool for managing projects and modules, the HUnit and QuickCheck tools for software testing, the Scotty framework for developing web applications, Persistent and Esqueleto for database access, and also parallel and distributed programming libraries.
Book Details
  • Publisher:        Apress
  • By:        Alejandro Serrano Mena
  • ISBN:        978-1-4302-6250-3
  • Year:        2014
  • Pages:        428
  • Language:        English
  • File size:        5.1 MB
  • File format:        PDF
  • Download: To Be Uploaded


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:Beginning haskell beginn begin ning supporting software industry learning building

回帖推荐

jerker 发表于8楼  查看完整内容

**** 本内容被作者隐藏 ****

本帖被以下文库推荐

沙发
Nicolle 学生认证  发表于 2015-7-3 09:42:41 |只看作者 |坛友微信交流群
提示: 作者被禁止或删除 内容自动屏蔽

使用道具

藤椅
Nicolle 学生认证  发表于 2015-7-3 09:43:40 |只看作者 |坛友微信交流群
提示: 作者被禁止或删除 内容自动屏蔽

使用道具

板凳
Nicolle 学生认证  发表于 2015-7-3 09:44:33 |只看作者 |坛友微信交流群
提示: 作者被禁止或删除 内容自动屏蔽

使用道具

报纸
fin-qq 发表于 2015-7-3 09:44:59 |只看作者 |坛友微信交流群

Chapter 6 Summary

In this chapter you finally got in touch with the notion of monad:

  • Several implementations of the K-means clustering algorithm have been presented, starting with a handwritten one, then refining it using our own combinators, and finally creating versions using theState and RWS monads,
  • Gathering information from incomplete data lead to define combinators for working with Maybe values in an easier way,
  • From the similarities in the code using Maybe and using State the notion of monad was devised: a way to combine computations with some special characteristic, such as being able to fail or having an internal state,
  • Monads are one of the most important constructions in Haskell and come with a custom syntax, called do notation, which you have studied in depth. This is the most used style of writing monadic code,
  • You have seen several other monads: Reader, which holds a read-only context; Writer, which outputs a write-only value that is combined using a monoid structure; RWS, which combines the threeReader, Writer, and State monads; and ST, which implements controlled mutable variables,
  • Apart from monads, in this chapter lenses have also been introduced as a way to query and update data structures in a common and powerful way.
已有 1 人评分论坛币 收起 理由
Nicolle + 20 鼓励积极发帖讨论

总评分: 论坛币 + 20   查看全部评分

使用道具

地板
Nicolle 学生认证  发表于 2015-7-3 09:46:18 |只看作者 |坛友微信交流群
提示: 作者被禁止或删除 内容自动屏蔽

使用道具

7
auirzxp 学生认证  发表于 2015-7-3 09:46:26 |只看作者 |坛友微信交流群
Chapter 5 Summary
  • You have seen how lazy evaluation allows you to work with seemingly infinite or cyclic structures, making for elegant patterns in the code.
  • A long explanation has been given about the lazy evaluation model, explaining the special role of thunks for delaying evaluation until a value is needed, and at the same time increasing sharing of evaluated computations.
  • At the same time, you have looked at the shortcomings of lazy evaluation, the most important being increased memory consumption and uncertainty about the moment in which a thunk will become evaluated.
  • You have learned how to annotate the code using seq, or strictness annotations in both pattern matching and data types to work around these problems,
  • The GHC profiler is a powerful tool for detecting time and space leaks: its basic usage and interpretation of its results have been shown in this chapter.


使用道具

8
jerker 发表于 2015-7-3 09:46:49 |只看作者 |坛友微信交流群

本帖隐藏的内容

Alejandro Serrano Mena (auth.)-Beginning Haskell_ A Project-Based Approach-Apres.pdf (4.47 MB)


已有 1 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
Nicolle + 100 + 100 + 5 + 5 + 5 精彩帖子

总评分: 经验 + 100  论坛币 + 100  学术水平 + 5  热心指数 + 5  信用等级 + 5   查看全部评分

使用道具

9
Nicolle 学生认证  发表于 2015-7-3 09:50:00 |只看作者 |坛友微信交流群
提示: 作者被禁止或删除 内容自动屏蔽

使用道具

10
jerker 发表于 2015-7-3 09:50:10 |只看作者 |坛友微信交流群

Chapter 7 Summary

This chapter has gone deeper into the notion of monad, which was introduced in the previous chapter:

  • The list monad, which models nondeterministic computations that may return more than one value, has been explained. You have seen how this monad can be used to implement search problems.
  • In cases where the list monad doesn’t give enough control over the search, the Logic monad can implement fair conjunction and disjunction.
  • You have learned about an important extension of Monad, MonadPlus, which allows modeling failure and choice. Using its functions mzero and mplus, you now know how to implement the Apriori rule-learning algorithm.
  • A high-level view of monad utility functions, such as sequence, mapM…, has been done.
  • You have learned how the comprehension syntax can be generalized to work on any monad with the MonadComprehensions GHC extension. This has enabled you to relate Haskell monads with other notions in Scala and C#,
  • Finally, you have learned how to combine monads using monad transformers.
已有 1 人评分论坛币 收起 理由
Nicolle + 100 精彩帖子

总评分: 论坛币 + 100   查看全部评分

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-27 23:44