AWS 实战

AWS (Amazon Web Service) 要使用亚马逊的免费云服务 AWS,必须先注册账号,然后绑定信用卡。 创建 AMI(Amazon Machine Image) 选择 EC2 服务 EC2 Management Console(EC2 Dashboard) 打开 EC2...

2018-07-24 22:11:06

阅读数 546

评论数 0

Haskell语言学习笔记(1)

函数, 列表解析, (.), ($), data, type, newtype, 类型类(typeclass)

2015-05-11 11:47:19

阅读数 1896

评论数 0

C++11尝鲜:右值引用和转发型引用

解决移动语义及完美转发问题

2013-10-05 19:52:37

阅读数 11136

评论数 5

C++11尝鲜:std::move和std::forward源码分析

std::move和std::forward是C++0x中新增的标准库函数,分别用于实现移动语意和完美转发。 下面让我们分析一下这两个函数在gcc4.6中的具体实现。 预备知识 引用折叠规则: X& + & => X& X&& + & =&g...

2011-10-07 14:48:33

阅读数 54395

评论数 19

趣味编程:FizzBuzz(Swift版)

func toFizzBuzzExpr(n: Int) -> String { return n % 3 == 0 && n % 5 == 0 ? "FizzBuzz" : ...

2018-07-24 22:23:49

阅读数 167

评论数 0

C++17尝鲜:变长 using 声明

using 声明 先来看 using 声明在类中的应用: 代码1 #include <iostream> using namespace std; struct A { void f(int) {cout <&...

2018-07-24 22:10:12

阅读数 532

评论数 1

C++17尝鲜:编译期 if 语句

Constexpr If(编译期 if 语句) 以 if constexpr 打头的 if 语句被称为 Constexpr If。 Constexpr If 是C++17所引入的新的语法特性。它为C++语言提供了在编译期处理条件分歧的功能。 运行期 if 语句 预处理 if 语...

2018-07-24 22:09:28

阅读数 303

评论数 1

C++17尝鲜:variant

variant variant 是 C++17 所提供的变体类型。variant<X, Y, Z> 是可存放 X, Y, Z 这三种类型数据的变体类型。 与C语言中传统的 union 类型相同的是,variant 也是联合(union)类型。即 v...

2018-07-24 22:08:39

阅读数 1017

评论数 1

C++17尝鲜:string_view

string_view string_view 是C++17所提供的用于处理只读字符串的轻量对象。这里后缀 view 的意思是只读的视图。 通过调用 string_view 构造器可将字符串转换为 string_view 对象。 string 可隐式转换为 string_view。 str...

2018-07-24 22:07:51

阅读数 1125

评论数 1

Haskell语言学习笔记(80)req

req req 是一个好用,类型安全,可扩展,上层的HTTP客户端的库。 $ cabal install req Installed req-1.1.0 Prelude> :m +Network.HTTP.Req Prelude Network.HTTP.Req&am...

2018-07-16 20:03:41

阅读数 102

评论数 1

Haskell语言学习笔记(79)lambda演算

lambda演算 根据维基百科,lambda演算(英语:lambda calculus,λ-calculus)是一套从数学逻辑中发展,以变量绑定和替换的规则,来研究函数如何抽象化定义、函数如何被应用以及递归的形式系统。 lambda项 lambda演算由 lambda 项的语言构成。基本...

2018-07-16 20:03:16

阅读数 218

评论数 0

Haskell语言学习笔记(78)fix

fix 函数 fix 是一个在 Data.Function 模块中定义的函数,它是对于递归的封装,可以用于定义不动点函数。 fix :: (a -> a) -> a fix f = let x = f x in x fix 函数的定义使用了递归...

2018-07-16 20:02:50

阅读数 157

评论数 0

Haskell语言学习笔记(77)Lens(6)

ix Prelude Control.Lens> [1,2,3] ^? ix 1 Just 2 Prelude Control.Lens> [1,2,3] ^?! ix 1 2 Prelude Control.Lens> [1...

2018-07-16 20:02:18

阅读数 66

评论数 0

Haskell语言学习笔记(76)Data.Tree

Data.Tree data Tree a = Node { rootLabel :: a, subForest :: Forest a } deriving (Eq, Read, Show) type Forest a = [Tree a] Dat...

2018-07-16 20:01:48

阅读数 142

评论数 0

Haskell语言学习笔记(75)Conduit

安装 conduit $ cabal install conduit Installed conduit-1.3.0.3 Prelude> import Conduit Prelude Conduit> Conduit Conduit 是...

2018-07-16 20:01:22

阅读数 68

评论数 0

Haskell语言学习笔记(74)GADT

GADTs GADTs(Generalised Algebraic Data Types,广义代数数据类型)是对代数数据类型的一种扩展。 它允许在定义数据类型时明确指定类型参数的类型并使用模式匹配。 --ADT data Maybe a = Nothing | ...

2018-07-16 20:00:51

阅读数 112

评论数 0

Haskell语言学习笔记(73)Existentials

Existentials(存在类型) Existentially quantified types(Existentially types,Existentials)是一种将一组类型归为一个类型的方式。 通常在使用 type, newtype, data 定义新类型的时候,出现在右边的类型参数...

2018-07-16 20:00:24

阅读数 61

评论数 0

Haskell语言学习笔记(72)Free Monad

安装 free 包 $ cabal install free Installed free-5.0.2 Free Monad data Free f a = Pure a | Free (f (Free f a)) instance Functor f =&gt...

2018-07-16 19:59:56

阅读数 82

评论数 0

Haskell语言学习笔记(71)Semigroup

Semigroup class Semigroup a where (<>) :: a -> a -> a sconcat :: NonEmpty a -&...

2018-07-16 19:59:21

阅读数 99

评论数 0

Haskell语言学习笔记(70)NonEmpty

NonEmpty(非空列表) infixr 5 :| data NonEmpty a = a :| [a] deriving (Eq, Ord) instance Functor NonEmpty where fmap f ~(a :| as) = f a :| fmap f a...

2018-07-15 10:21:53

阅读数 81

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭