`
诺铁
  • 浏览: 35379 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

又一段很有启发的haskell filter代码

阅读更多

又一段很有启发的haskell filter代码

--从列表 xs中过滤出满足谓词p的元素,注意foldr的使用

myFilter p xs = foldr step [] xs
        where step x ys p x = x:ys
                                  otherwise = ys
 

 

使用:

--过滤出1到10的list中大于5的元素

myFilter (>5)  [1..10]

分享到:
评论
2 楼 诺铁 2011-09-15  
恩,貌似代码显示有问题
1 楼 mgampkay 2011-09-11  
我想应该是这样的
......
   where step x ys
           | p x = x:ys
           | otherwise = ys

是ITEYE代码显示有问题吗?

相关推荐

    stylish-haskell, Haskell代码 prettifier.zip

    stylish-haskell, Haskell代码 prettifier 时尚 haskell 简介简单的Haskell代码 prettifier 。 目标不是格式化文件中的所有代码,因为我发现这类工具经常是"别挡着路"。 然而,手动清理导入语句 等等 很快就会变得...

    haskell代码:Haskell代码试用

    在Haskell社区中,这类挑战很常见,它们鼓励开发者实践编写纯函数式代码,同时锻炼其逻辑思维和问题解决能力。 在Haskell中,基础语法包括定义函数(如`f x = x + 1`)和模式匹配(如`f (Just x) = x; f Nothing = ...

    HaskellDO一个Haskell代码编辑器专注于交互式开发

    HaskellDO是一款专为Haskell编程语言设计的代码编辑器,其核心特色在于提供了一个强大的交互式开发环境。Haskell是一种纯函数式编程语言,以其严谨的类型系统、高效的编译器和对数学概念的优雅表达而受到程序员的...

    haskell-mode emacs

    8. **Hlint 整合**:Hlint 是一个 Haskell 的代码风格检查工具,`haskell-mode` 可以显示 Hlint 的建议,帮助改进代码质量。 9. **源代码导航**:通过跳转到定义或查找引用,`haskell-mode` 提供了源代码导航功能,...

    HaskellPart1_Haskell_

    Haskell的模块系统有助于组织代码,提供命名空间和导入机制,便于代码重用和封装。 ### 八、错误处理与调试 在Haskell中,错误通常通过返回`Nothing`(在`Maybe`类型中)或`Left`(在`Either`类型中)来处理。GHCi...

    compile haskell to java

    - **抽象语法树(AST)构建**:编译器首先将Haskell源代码解析为一个抽象语法树。 - **中间表示转换**:接下来,通过一系列转换(如优化和简化),将AST转化为更适合于后续编译阶段的形式。 - **生成目标代码**:...

    Haskell 文档

    - **特点**: 作为一种函数式语言,Haskell强调通过函数组合来构建程序,避免了状态和可变数据的显式管理,从而使得代码更易于理解和维护。 - **发展历程**: - **起源**: Haskell起源于1980年代末期,是由一群计算机...

    模拟退火的Haskell实现_Haskell_代码_下载

    模拟退火算法是一种启发式搜索方法,源自物理中的固体退火过程,用于解决优化问题。在计算机科学领域,它常被用来寻找全局最优解,尤其适用于解决旅行商问题、图着色问题等组合优化难题。Haskell是一种纯函数式编程...

    Haskell代码改进工具HLint.zip

    HLint 是用来改进 Haskell 代码的工具。改进的地方包括,使用可替换函数、简化代码、定位冗余。你可以在 lpaste.net 上在线试用 HLint - 建议会在底部显示。 标签:HLint

    Haskell教程(中文版)

    Haskell中的map、filter、foldl/foldr等都是高阶函数的例子,它们极大地增强了代码的抽象性和复用性。 5. **模式匹配** 模式匹配是Haskell中解构数据结构和控制流的一种方式。通过定义不同的模式,你可以根据输入...

    Atom-atom-haskell,Atom的一组Haskell包。贡献给Technix/Atom.zip

    2. **自动补全**:"atom-haskell-master"很可能包含一个补全插件,它能根据当前代码上下文提供Haskell函数和类型的自动补全建议,提高编码效率。 3. **GHCi集成**:部分包可能集成了GHCi(Glasgow Haskell Compiler...

    Haskell 编程入门五星教程

    Haskell中的map、filter和foldl/foldr等函数都是高阶函数的实例,它们大大增强了代码的简洁性和可重用性。 5. **Monads(范畴)** Monads是Haskell中的一个重要概念,它提供了一种组织和控制副作用的方式。Monads...

    Haskell 2010 Language Report

    代数数据类型是Haskell中数据类型的一种,它可以包含构造函数,每一个构造函数都可以有一个或多个参数。 类型类和过载部分说明了如何定义类型类,以及如何声明类型类的实例。类型类可以看作是一组类型共同实现的...

    Real World Haskell PDF

    5. **模块系统**:Haskell有良好的模块系统,可以组织和重用代码,提高代码的可维护性。 6. **高阶函数**:Haskell支持高阶函数,即函数可以接受函数作为参数,也可以返回函数作为结果,这极大地增强了代码的灵活性...

    HASKELL函数编程讲义

    Haskell是一种纯函数式编程语言,它以其静态类型系统、惰性求值和强类型检查而闻名。在学习Haskell的过程中,掌握函数编程的基本概念以及Haskell的特性至关重要。以下是对压缩包内各文件内容的详细解读: 1. **2....

    haskell语言教程(learn you a haskell)

    《Haskell语言教程》是一本深受开发者欢迎的在线书籍,主要目标是帮助初学...尽管它可能对初学者来说有一定的学习曲线,但一旦掌握了Haskell,你将获得一种全新的编程视角,这对于解决复杂问题和提高代码质量非常有益。

    Haskell Cookbook.zip

    《Haskell Cookbook》是一本专为Haskell编程语言爱好者和开发者准备的实用指南。这本书以英文撰写,以PDF格式提供,被压缩在一个名为"Haskell Cookbook.zip"的文件中。Haskell是一种纯函数式编程语言,以其强大的...

    real world haskell english

    总之,《Real World Haskell》是一本全面介绍Haskell语言的实战指南,无论你是初学者还是有经验的开发者,都能从中获得宝贵的知识和实践经验。通过阅读这本书,你可以深入理解函数式编程思想,提升编程技能,为解决...

Global site tag (gtag.js) - Google Analytics