Haskell也是使用缩进来表示一个表达式或者块延伸的范围的,这点与Python类似。Haskell的缩进规则简单总结起来只用下面三条:
    1. 源文件中第一个顶级的定义或者声明的缩进,定义了该文件中所有顶级定义或者声明的缩进;
    2. 空白行(只有注释的行也认为是空白行)和比前面某一行更加向右的缩进都表示对前面那一行所在块或者表达式的继续;
    3. 由let和where开始的一个块,在let或者where关键字后第一个定义或者声明的缩进,定义了该块中所有定义或者声明应该具有的缩进。

Haskell 的代码中允许省略 括号 和 分号,使用 代码缩进 来表示相同的内容,有相同缩进的代码,就是一个代码块。

case也要对齐:

head'' xs=case xs of []->error "no head for empty list"
                               (x:_)->x

如果不对其两个pattern,会报错。

Haskell缩进规则的更多相关文章

  1. 6.Python缩进规则(包含快捷键)

    和其它程序设计语言(如 Java.C 语言)采用大括号“{}”分隔代码块不同,Python 采用代码缩进和冒号( : )来区分代码块之间的层次. 在 Python 中,对于类定义.函数定义.流程控制语 ...

  2. 【Python】解析Python的缩进规则

    Python中的缩进(Indentation)决定了代码的作用域范围.这一点和传统的c/c++有很大的不同(传统的c/c++使用花括号花括号{}符决定作用域的范围:python使用缩进空格来表示作用域 ...

  3. 【Python⑥】python的缩进,条件判断和循环

    缩进 Python的最大特色是用缩进来标明成块的代码. 这点和其他语言区别很明显,比如大家熟悉的C语言里: ) { num+=; flag-=; } 而在python中: if flag>= 0 ...

  4. Python3缩进对逻辑的影响

    前话 我很佩服设计Python这门语言的人,因为这门语言的规则让我不得不写出美观的代码. Python的缩进要求是强制的,因为缩进不对直接影响了代码逻辑. 因为python写法相对其他编程语言简化许多 ...

  5. 【原创】Python第二章——行与缩进

    Python的基本组成——逻辑行和缩进 a="我是一个物理行" a="""我是一个逻辑行 因为我一条语句便跨越了2个物理行""&q ...

  6. Android软件设计规范---命名规则/代码包设计规则等

    如果你将源码作为产品发布,就需要确认它是否被很好地打包并且清晰无误,一如你已构建的其他任何产品. 作为软件设计师,代码即是产品:不仅需要实现功能,还需有“优美.大方”的外表. 标识符命名法,标识符命名 ...

  7. CheckStyle检查规则中文翻译

    本文主要介绍CheckStyle 的各个规则配置项目,这个版本的CheckStyle将样式规则分为了以下十六种类型共138条规则: 官方文档地址:http://checkstyle.sourcefor ...

  8. 折腾VIM的C++缩进

    自己是2014年的时候,开始学习VIM编辑器.记得当时把整个VIM入门手册几乎通读了一边,为其强大的功能和便捷的操作所折服. 今天再次捣鼓了以下VIM,只因为用VIM编辑C++的代码时,类中的publ ...

  9. IDE - IDEA - 代码缩进设置

    1. 概述 Idea 的代码缩进设置 2. 场景 最近进场会从别的地方找到代码, 然后导入 Idea 时长出现 缩进的问题 会 弹出 以下提示 # 后面还有 3 个 可选按钮 this file in ...

随机推荐

  1. Windows Server 2008 R2中关闭“IE增强的安全配置”

    当在Windows Sever 2008 R2中运动IE8的时候会发现默认情况下IE启用了增强的安全配置,为了方便而且是在内网的情况下我们可以关闭IE8的增强安全配置,操作很简单如下步骤. 一,以本机 ...

  2. 一个小时成功安装SQL Server 2012图解教程

    在安装微软最新数据库SQL Server 2012之前,编者先确定一下安装环境:Windonws 7 SP1,32位操作系统.CPU是2.1GHz赛扬双核T3500,内存2.93GB. 安装SQL S ...

  3. CSS自动控制图片大小的代码

    img { max-width: 800px; height: auto; } 代码中的max-width:800px限制图片的最大宽度为800像素,而下面的hight:auto很关键,可以保证图片有 ...

  4. Java-Android 之动画的实现

    一:显示隐藏动画 在res目录下创建一个anim目录,然后在里面创建一个alpha.xml文件 <?xml version="1.0" encoding="utf- ...

  5. Spring中事务的5种属性总结

    Sping的事务 和 数据库的事务是不同的概念,数据库的事务一般称为底层事务 Spring的事务是对这种事务的抽象 我称之为逻辑事务 Spring对事务的功能进行了扩展,除了基本的Isolation之 ...

  6. [GDI+] 生成缩略图的类文件SmallImage (转载)

    直接看代码吧,大家可以直接复制使用 /// <summary> /// 类说明:SmallImage类, /// 编码日期:2012-08-20 /// 编 码 人: 苏飞 /// 联系方 ...

  7. 微软未公开的 SP

    一些用在SQL 2000的企业管理GUI中,并且不打算用于其他的流程.微软已预计将其中的一些存储过程从未来的SQL Server版本中删除(或已经删除了).虽然这些存储过程可能很有用并为你节省了很多时 ...

  8. mvc性能优化

    mvc性能优化 (1)移动设备卡顿问题 -1请求方式 在mvc中GET请求有问题,出现错误 在MVC中在进行GET请求获取JSON数据时,需要进行如下设置: return Json("&qu ...

  9. LVS高可用集群

    高可用LVS 集群构建 在LVS集群当中Director的作用是很关键的,所以我们在生产环境中要保证其高可用. 高可用架构图: 1.通过 piranha搭建LVS高可用性集群 piranha是REDH ...

  10. LVS 介绍以及配置应用

    1.负载均衡集群介绍 1.1.什么是负载均衡集群 负载均衡集群提供了一种廉价.有效.透明的方法,来扩展网络设备和服务器的负载.带宽.增加吞吐量.加强网络数据的处理能力.提高网络的灵活性和可用性 搭建负 ...