首页
首页
沸点
课程
直播
活动
竞赛
商城
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Tangent
掘友等级
iOS
Swifter、Rustaceans
获得徽章 5
动态
文章
专栏
沸点
收藏集
关注
作品
赞
67
文章 61
沸点 6
赞
67
返回
|
搜索文章
最新
热门
函数式编程进阶 - 实现 Parser Combinator [Swift描述]
在函数式编程的世界里,抽象与组合往往密不可分:多个细粒度抽象通过特定的组合则形成更高粒度的抽象,而后高粒度的抽象又可以被再次组合、不断递进,一步一步地抬升代码抽象的高度。我在工程开发中所感受到的函数式编程的魅力,也正是体现在它强大的抽象能力上。 Parser(解析器)能分析输入…
函数式编程 - 酷炫Applicative(应用函子) [Swift描述]
Applicative functor(应用函子),简称Applicative,作为函数式编程里面一个比较重要的概念,其具有十分酷炫的特性,在工程上的实用性也非常高。这篇文章将会以工程的角度不断深入、层层剖析Applicative,在阐述其概念的同时也会结合小Demo进行实战演…
函数式编程 - 有趣的Monoid(单位半群)
Monoid(中文:单位半群,又名:幺半群),一个来源于数学的概念;得益于它的抽象特性,Monoid在函数式编程中起着较为重大的作用。 本篇文章将会以工程的角度去介绍Monoid的相关概念,并结合几个有趣的数据结构(如Middleware、Writer)来展现Monoid自身强…
函数式编程 - Lens(透镜)原理与应用 [Swift描述]
Lens(透镜)是一个较为抽象的概念,顾名思义,它的作用是能够深入到数据结构的内部中去,观察和修改结构内的数据。Lens也像现实世界中的透镜一样,能相互组合形成透镜组,以达到可操作结构更深层级数据的效果。 本篇文章将会介绍Lens的相关原理以及使用方式,涉及函数式编程的许多概念…
函数式编程 - 玩转高阶回调函数
已经有一段时间没有写过东西了,虽每天都循环渡着咸鱼般的编码生活,但我对函数式编程的兴趣依旧高涨不退。这篇文章主要介绍的是一个非常有趣且实力强劲的函数,它有着高阶的特性,且它主要的作用就是用来实现回调机制,所以在标题中我称之为高阶回调函数;在文章的后面我会结合项目实战来演示它的实…
Runtime - 基于isa-swizzling实现消息监听,扩展响应式框架
在上一篇文章《函数式编程 - 实现响应式框架》中,我实现了一个非常简单小巧的函数式响应式框架,并对它做了与Cocoa相关的一些扩展,比如支持将UIControl的用户触发事件以及Notification转换成响应式的流,供我们进行流转换以及订阅。在其中有一个比较重要的扩展我还没…
函数式编程 - 实现响应式框架
函数式响应式编程框架我们应该也用得比较多了,如ReactiveCocoa、ReactiveX系列(RxSwift、RxKotlin、RxJava),这些框架内部实现都是基于函数式编程的思想来构建的。还记得前不久面试的时候面试官有问道:“有阅读过ReactiveCocoa的源码吗…
函数式编程-将Monad(单子)融入Swift
近期又开始折腾起Haskell,掉进这个深坑恐怕很难再爬上来了。在不断深入了解Haskell的各种概念以及使用它们去解决实际问题的时候,我会试想着将这些概念移植到Swift中。函数式编程范式的很多概念在Swift等主打面向对象范式的语言中就像各种设计模式一样,优雅地帮助我们构建…
函数式编程 - Swift中的Functor(函子)、Monad(单子)、Applicative
初步深入函数式编程是在寒假的时候,搞了一本Haskell的书,啃了没多久就因为我突然的项目任务被搁置了,不过在学习的时候也是各种看不懂,里面的概念略微抽象,再加上当时没有适当地实战敲Demo,导致没过多久脑袋就全空了。庆幸的是,Swift是一门高度兼容函数式编程范式的语言,而我…
个人成就
文章被点赞
217
文章被阅读
22,604
掘力值
744
关注了
36
关注者
1,783
收藏集
6
关注标签
19
加入于
2016-11-02