最新文章列表

Learn Haskell(三)

1.Tuple Tuple用来将几个元素打包成为一个值。Tuple用()包起来。看起来和List很像,但是Tuple和List有很重要的区别: (1)List元素数量是不固定的,但是Tuple的元素数量是固定的; (2)List必须存储同种类型的元素,但是Tuple可以存储不同类型元素。 看几个Tuple的例子: Prelude> (1,2) (1,2) ...
wawlian 评论(0) 有1454人浏览 2012-08-10 08:54

Learn Haskell(二)

1.Ranges 有时候我们有这样一种需求:我们需要一个List,它的元素从1到20。从1到20敲出每一个元素肯定是一种可以搞定的办法,但肯定不是好办法。这时候,我们可以使用Haskell的Ranges来处理这种需求。 Ranges用来构建元素可以按照某种顺序枚举的List。像数字1,2,3,4就是可枚举的;字母a,b,c,d也是。我们看看两个Ranges的例子:上面说到的1-20,使用Rang ...
wawlian 评论(0) 有2142人浏览 2012-08-08 00:27

Learn Haskell(一)

这一系列博客是《Learn You a Haskell for Great Good》的读书笔记。 一句话介绍:Haskell是一门纯粹的函数式编程语言。至于什么是函数式编程?尽管网上也有很多关于函数式语言与指令式语言之间的区别与联系,但是没有实际使用过函数式编程语言的情况下,我也搞不清楚。因此,先从学习一门函数式编程语言开始吧。 1.安装Haskell要开始使用Haske ...
wawlian 评论(0) 有1884人浏览 2012-08-07 17:45

Natural merge sort

通常我们见到的merge sort的思路是典型的分而治之divide and conquer策略: 1. 如果待排序序列为空,或者只有1个元素,结束 2. 否则,将序列一分为二,将两个子序列分别merge sort,再将两个排好的子序列merge 我们也可以从另外一个角度出发,序列中存在一些已经排好的片段,我们可以把这些排好的片段merge起来,不断重复直到序列排好(只含有一个排好的片段,亦即整个 ...
liuxinyu95 评论(1) 有1715人浏览 2012-07-11 13:20

谁主张、谁举证 ACM crashing balloon / zoj 1003

题目详情可以参考这里: http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=3 ZOJ上的判定标准是: b不服,站出来质疑; 如果a能举证说:你瞧,存在一种合理的解释,a = a[1]*a[2]*…*a[n],  b = b[1]*b[2]*…*b[m]; 其中 2<= a[i], b[j] <=100, 且 a[i] ...
liuxinyu95 评论(0) 有2167人浏览 2012-07-03 18:15

[转]为什么我们要学习Haskell这样的编程语言

转外刊IT评论:为什么我们要学习Haskell这样的编程语言 摘录: 高阶函数(Higher Order Functions) 在Haskell语言中,最多的被反复使用的函数都是高阶函数(higher order functions)——能以函数作为参数、能返回函数的函数。这使得它们具有固有的灵活性。下面是一个不太灵活的函数:它计算一个数组里等于某个值的元素的个数。 // 不灵活 functi ...
jeffenchung 评论(0) 有1029人浏览 2012-04-17 14:53

单子、上帝和程序员

我在高中时第一次接触到单子(Monad)这个词,是在莱布尼兹哲学中。初看上去,这个生造的概念平平无奇,论原创古希腊人早就发明了原子论了,论科学性绝对不如现代物理学的微观粒子。过了很久我才恍然大悟,只有把这个词放在德国唯心主义这碗“调味酱”中拌一下,才能品出味道来。   唯心主义的要义在于两个世界的划分。眼前的、世俗的世界是非本质的,后面还有一个本源世界。莱布尼兹单子论的本源世界是多元的,由无 ...
netbabe 评论(0) 有1011人浏览 2012-04-15 00:25

一个面向Scheme程序员的monad介绍

今天整理硬盘时翻出一篇旧的翻译稿,那是多年前“计算机英语”课程上要求交的一篇作业, 也是哥投身此行业后不多翻译过的东西(还有一篇记得是被面试时考官要求的),作为英语水平 差强人意之人,当初挑这篇翻译是有小算盘的,代码多文字少,能少翻就少翻,免得“翻多必失”。 好久没空在博客园上发帖,只好把陈年旧货拿出来晒一晒,希望对想理解monad机制又不想学 习范畴论的朋友有所帮助,当然高 ...
netbabe 评论(0) 有1616人浏览 2012-04-15 00:22

我的编程语言学习经历

越来越发现自己是个语言控。回想一下,上学期间除了课本里的ASM/C/SQL以外,自己业余时间学习过Basic/C++/AS,当然这些都是实际写过代码的: Visual Basic ...
qiezi 评论(4) 有4092人浏览 2012-01-02 01:59

答复: Monad浅析(Java伪代码)

http://www.iteye.com/topic/1114416 今天来看到这篇帖子。先说明我没详细把楼主的原文细读完了。我也分享一些我对Monad的简单的理解。其实我觉得楼主所讲的Monad侧重于StateMonad 我先说说Monad,其实这东西理解起来我觉得很简单,类似于一个Box的理念 程序代码是运行在机器中的,外面的世界就像在盒子外一样。 程序自身的世界是可推导的,而外面的世界是不可 ...
jamcode 评论(0) 有491人浏览 2011-12-03 23:25

开始 Haskell 三步走

开始 Haskell 三步走 如果你还不了解FP,或压根没听过haskell,个人不赞成你继续阅读。   1 网站 http://www.haskell.org  浏览下网站上到底有哪些资源 2 下载 hackage.haskell.org/platform  根据你自己的OS,选择下载合适的版本;这里我是在windows上下载安装ghci,简便,适合学习练习。3 教程学习 http:// ...
bluky999 评论(0) 有1610人浏览 2011-09-16 17:13

《编程机制探析》第十九章 函数 = 数据 = 类型 ?

《编程机制探析》第十九章 函数 = 数据 = 类型 ? 本章继续讲解ErLang和Haskell的语言特性。 本书中选择ErLang和Haskell作为研讨语言,是因为我个人觉得这 ...
buaawhl 评论(0) 有2354人浏览 2011-08-29 14:36

AVL tree,比红黑树更朴素

AVL树发明于上世纪60年代,比红黑树早了近十年。 上一章里,我展示了用pattern matching实现的红黑树。本章我展示同样策略实现的AVL tree。相比于传统的基于旋转的解法,这一解法再次展示了简单一致的特点。 本章内容如下:   - 简单介绍;给出AVL树的高度与节点数的证明;   - 类比红黑树的思路;   - 解:     - pattern matching 的形式分析    ...
liuxinyu95 评论(1) 有2881人浏览 2011-08-15 15:34

答复: python娱乐下

http://www.iteye.com/topic/750294 26个英语字母,分别用1~26标识,就是一个单词所有标识的和。。 比如 abc的和为1+2+3=6 对于attitude单词这个标识和为多少? calc=lambda s: sum( [ ord(i) -96 for i in s]) 发个简单的Haskell版(ord方法没有使用标准库) calc s ...
jamcode 评论(0) 有193人浏览 2011-08-05 10:18

中国剩余问题的Haskell解法

神奇的原贴算法题看程序员的魅力 无穷列表在解决这个问题上有很好的直观性. {-- 如果3个人一桌,多2个人。 如果5个人一桌,多4个人。 如果7个人一桌,多6个人。 如果9个人一桌,多8个人。 如果11个人一桌,正好。请问这屋里多少人? --} main = f 1 1 1 1 2 k l m n o where k = [3 * x + 2 | x < ...
aristotle9 评论(0) 有887人浏览 2011-07-14 01:23

关键概念是类型和计算,发现微博和轻博都不适合记技术内容

haskell关键概念是类型和计算 发现微博和轻博都不适合记技术内容,还是移到这个博客来算了。 在研究yesod的持久框架时再次体会到haskell社区对这个语言的类型系统的极度信赖和依赖 而计算从最抽象的角度来看又可以理解为在做类型的转换(将入参转换为结果)  
诺铁 评论(0) 有1255人浏览 2011-06-27 19:09

高阶函数的威力

  高阶函数的威力   从All about monads里看到的解释mondad的例子,令人感动的优雅代码,我用纯foldl改写,去除了其中monad的内容,这样初学haskell的人应 ...
诺铁 评论(0) 有1458人浏览 2011-06-27 19:06

最近博客热门TAG

Java(141747) C(73651) C++(68608) SQL(64571) C#(59609) XML(59133) .net(54785) 编程(39454) JSP(37542) 数据结构(36423) Eclipse(31254) PHP(29988) F#(26079) 算法(24867) 脚本(19840) J#(18922) JDBC(17888) ASP(17480) JDK(14881) JVM(14450)

博客人气排行榜

    博客电子书下载排行

      >>浏览更多下载

      相关资讯

      相关讨论

      Global site tag (gtag.js) - Google Analytics