[Book Note] PFDS: Lists

原创 2016年05月31日 15:25:24
signature STACK
sig
  type a Stack

  val empty   : a Stack
  val isEmpty : a Stack -> bool

  val cons    : a * a Stack -> a Stack
  val head    : a Stack -> a
  val tail    : a Stack -> a Stack
end
structure List : STACK =
struct
  type a Stack = a list

  val empty = []
  fun isEmpty s = null s

  fun cons (x, s) = x :: s
  fun head s = hd s
  fun tail s = tl s
end
structure CustomStack : STACK = 
struct
  datatype a Stack = NIL
                   | CONS of a * a Stack

  val empty = NIL
  fun isEmpty NIL = true
    | isEmpty _ = false

  fun cons (x, s) = CONS (x, s)
  fun head NIL = raise EMPTY
    | head (CONS (x, s)) = x
  fun tail NIL = raise EMPTY
    | tail (CONS (x, s)) = s
end
fun [] ++ ys = ys
  | (x :: xs) ++ ys = x :: (xs ++ ys)

fun update ([], i, y) = raise SUBSCRIPT
  | update (x :: xs, 0, y) = y :: xs
  | update (x :: xs, i, y) = x :: update(xs, i - 1, y)
版权声明:本文为博主原创文章,未经博主允许不得转载。

Swift2.2中的新变化

原文链接点击这里Swift2.2已经更新了,这次更新去除了一些难用的语法还添加了一些缺失的特性,并且还弃用了一些有争议的语言特性。这篇文章将详细介绍Swift2.2中的一些主要的变化和一些细微的改变,...
  • chaoyang805
  • chaoyang805
  • 2016年03月27日 00:27
  • 967

spark2.0下实现IPYTHON3.5开发,兼配置jupyter,notebook降低python开发难度

spark2.0下实现IPYTHON3.5开发1、spark2.0安装就不说了,网上有很多,不会的话给我留言。 2、我们在spark2.0下用python开发的话,不需要安装python了,直接安装...
  • pang_hailong
  • pang_hailong
  • 2016年11月11日 21:12
  • 1669

erlang lists模块函数使用大全

一,带函数Pred 1, all(Pred, List) -> boolean() 如果List中的每个元素作为Pred函数的参数执行,结果都返回true,那么all函数返回true, 否则返回...
  • nadakiss
  • nadakiss
  • 2014年04月01日 09:05
  • 5586

Mac Book Pro新手上路

2016年年末心心念念的想买一台笔记本,对比来对比去,还是选择了种草已久的Mac Book Pro。其实犹豫的两个方向就是,买便宜的性价比还是高价的高性能。选择的过程就不一一赘述了。反正最终结果就是这...
  • hierro_zs
  • hierro_zs
  • 2017年01月15日 00:18
  • 894

《The Docker Book》读书笔记

《The docker book》英文版 chap 01 简介 1.Docker组件: 1)Docker客户端和服务器:C/S架构,RESTful API。 2)Docker镜像:基于镜像管理容器...
  • conanswp
  • conanswp
  • 2016年08月15日 23:17
  • 533

python--有关函数的问题

前段时间学习过python,但是只是学了个皮毛。现在想用它来做数据分析,因此决定好好学习!本篇文章是在阅读python官方文档的过程中抽取出来的一些知识点。        python的函数 调用...
  • Ace_Yom
  • Ace_Yom
  • 2015年08月15日 23:46
  • 320

数据结构之“Ordered List and Sorted List”(一)

本系列文章将学习我们生活中最常用也最简单的一种数据结构——List(列表,点击打开链接)。List就是一个元素项(items)序列,支持“添加”、“删除”和“访问元素”等操作。本系列文章主要学习两种L...
  • Sagittarius_Warrior
  • Sagittarius_Warrior
  • 2016年03月04日 14:45
  • 378

求大神 一定要看完啊

#include #include #include #include //输入/输出文件流类 #include using namespace std; cons...
  • shen_yuting
  • shen_yuting
  • 2013年08月31日 15:52
  • 603

小米note低配版(8974)专用TWRP2.8.6.1中文版recovery(单系统版)

小米note低配版(8974高通801cpu) 中文TWRP2.8.6.1 Recovery 全屏触摸全中文操作 支持MTP连接电脑传刷机包到内置存储,支持截图,支持清除电量操作,支持屏蔽官方Reco...
  • soyudesign
  • soyudesign
  • 2015年04月09日 21:21
  • 4905

如何去完成一个SAP notes的实现

本文主要介绍如何去看SAP notes,以及如何去实现SAP notes,有那些注意事项: 1、查看SAP notes: 2、实现SAP notes: 3、注意事项:...
  • zzj_rainbow
  • zzj_rainbow
  • 2013年12月04日 14:32
  • 2826
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[Book Note] PFDS: Lists
举报原因:
原因补充:

(最多只允许输入30个字)