函数式编程

关注
收录了函数式编程频道下的 115 篇内容
  • 全部
  • 文章
  • 视频
  • 话题
  • 电子书
开源引路人:我的Apache Mentor之路 | 二叉树视频
开源引路人:我的 Apache Mentor 之路 | 二叉树视频

年前“开源软件”这个词第一次出现,关于开源与商业公司之间竞争的讨论一直没有停过。“开源其实很大程度是建立在分享以及协作的基础上。

Clojure和Haskell——深度学习中的函数式语言之美
Clojure 和 Haskell——深度学习中的函数式语言之美

在深度学习系统的生产环境中,性能和安全性这两大问题促使公司倾向选择 Clojure 和 Haskell 等函数式编程语言。

面向对象编程被批是“灾难”,为什么这么多开发者讨厌它?| 话题
面向对象编程被批是“灾难”,为什么这么多开发者讨厌它?| 话题

面向对象编程(OOP)已经存在了很长时间。有人喜欢它,有人讨厌它,但目前面向对象编程目前面临的一个尴尬是:讨厌它的人似乎比喜欢它的人多。这到底是为什么呢?

面向对象编程被批是“灾难”,为什么这么多开发者讨厌它?| 话题
面向对象编程被批是“灾难”,为什么这么多开发者讨厌它?| 话题

面向对象编程(OOP)已经存在了很长时间。有人喜欢它,有人讨厌它,但目前面向对象编程目前面临的一个尴尬是:讨厌它的人似乎比喜欢它的人多。这到底是为什么呢?

通过 Lisp 语言理解编程算法:数据结构篇
通过 Lisp 语言理解编程算法:数据结构篇

本文将从数据结构和元组或结构概念开始,它们是最原始、最基本的概念。

Haskell 使用率和用户满意度双双增长

FP Complete 首席执行官 Aaron Contorer 写道,“2018 年 Haskell 用户调查显示用户对 Haskell 的安全性、质量、可靠性、可维护性和高级功能均表示出了非常高的满意度。” InfoQ 与其谈论了 Haskell 当前的情况和未来的前景。

F# 2017 回顾

据微软项目经理 Phillip Carter 介绍,2017 年,F#达到了 4.1 版本,用户社区也得到了发展,基本上与.NET Core 2.0 的发布保持了一致。同时,F#的工具变得更加强大,大会参与人数增加。

理解 Monad,一份 monad 的解惑指南

随着函数式编程的再次兴起,“monad” 这种函数式结构再次让初学者感到恐惧。在本文中,Introduction to Functional Programming 的课程导师 Dr. Barry Burd 会对这个让人难以掌握的概念进行清楚的讲解。

Racket 6.11 提供了稳定的细化类型和依赖函数特性

Typed Racket 是 Racket 语言的一种静态类型方言。Racket 6.11 为 Typed Racket 提供了细化类型(Refinement Type)和依赖函数(Dependent Function)特性。

函数式编程语言时代已经来临

英国著名计算机科学家、微软首席研究员及 Haskell 主要贡献者 Simon Peyton Jones 在一次访谈中说,函数式编程语言的时代已经来临。

文章系列:响应式 JavaScript

在不断发展的 JavaScript 编程领域,响应式编程技术正变得愈加流行。本文章系列希望能够介绍这一领域的发展现状,分享在这个主题下的多项技术变种。

依赖类型语言 Idris 发布 1.0 版本

英国圣安德鲁大学讲师、Idris 创建者 Edwin Brady 写道,在达到 alpha 版本几个月之后,Idris 1.0 发布。

“理解数据科学”系列文章

在这一系列文章中,我们将探讨如何利用数据科学,即从已经采用并成功实施数据科学的人那里,了解数据科学的适用场景,以及如何让它成为你的资产。

Idris 趋近发布 1.0 版

基于依赖类型的 Idris 语言即将完成 0.99 版本,其 1.0 版有望于 2017 年 2 月左右发布。Idris 是一种纯函数式编程语言,目标在于注重语言通用性及满足系统编程所需效率的同时,让更多的编程人员使用基于类型的程序验证技术。

Javaslang 3.0 之路

Javaslang 是一个开源的函数式库,为 Java 8 及以上提供了持久化的数据类型和函数式的控制结构,最近,它发布了主版本 3.0 的路线图,承诺要对这个库进行比较明显的变更,移除不必要和废弃的特性。

Elm 提供的语言级响应性

JavaScript 编程领域内,响应性编程正在变得愈加流行,但目前这种技术总是以“事后想法”或库的形式实现。如果能默认使用这种技术,使其成为语言固有的一种特性又会如何?Richard Feldman 介绍了以此为目标的 Elm 语言。Elm 不仅仅是为了让 JavaScript 变得更好,而是为了重塑整个开发者体验,使其获得内在的改进。

Racket 6.7 最新版本:提供对 Android App 的支持及改进的 REPL 等等

PLT Design 发布了新版本的 Racket,类 Scheme 通用多模式编程语言 Racket 6.7 可以支持在 Android 上构建图形类应用程序,它同时改进了 REPL、包管理器,还支持扩展的 Typed Racked。

F#创建者 Don Syme 谈 F#设计原则

在.Net Fringe 2016 大会上,F#创建者 Don Syme 谈了他对 F#现状的看法以及 F#的二元性。F#是以一个为面向对象语言构建的运行时为基础构建的函数式语言。

BuckleScript 1.0 发布,面向 OCaml 的开源 JavaScript 编译器

BuckleScript 1.0 几乎完全兼容 OCaml 特性,同时改进了外部函数接口(FFI)以避免编写不安全的 JavaScript 存根。近日,InfoQ 采访了 BuckleScript 作者张宏波。

回顾:在生产环境中使用 Haskell

Better 联合创始人 Carl Baatz 发表了一篇博文,总结了他们四年来在生产环境中使用 Haskell 的情况。他写道,在构建服务器端软件时,Haskell 可能“最像秘密武器了”

Elixir 1.3 带来新的语言功能、API 和改进后的工具

José Valim 最近宣布 Elixir 1.3 中弃用了必要赋值,添加了一些新的类型和存取器,提升了其 Mix 搭建工具和 ExUnit 单元测试框架。

Scala 中的函数式特性

Scala 作为最有意思的编程语言之一,其中一等公民函数具有哪些特性呢?本文整理自 ArchSummit 微课堂:Scala 布道师、挖财资深架构师王宏江老师的分享内容。

对《Clojure in Action》第二版的书评与作者问答

由 Amit Rahore 及 Francis Avila 撰写的《Clojure in Action》以本质性的、通透的、结构组织良好的方式对 Clojure 1.6 进行了介绍,本书探索了该语言的核心部分,并为读者介绍了 Clojure 的编程与习惯。InfoQ 与 Francis Avila 进行了一次访谈,以进一步了解本书出版的情况、Clojure 的优点以及未来的发展。

书评:《All About Java 8 Lambdas》

《All About Java 8 Lambdas》定位为周末读物,它所涵盖的内容其实远超过 lambdas,它涵盖了接口中的默认和静态方法、方法引用、Optional 值以及原始 / 对象流。如果你已经熟悉了 Java 并且需要快速掌握 Java 8 的话,可以选读本书,请先阅读 InfoQ 的书评。

Racket 6.5 改善了 Typed Racket,提供更快迭代并添加更多新功能

Ryan Culpepper 在 Racket 博客上宣布,属于 Lisp/Scheme 家族的多范式编程语言 Racket 已经发布了 6.5 版本。这个新版本中添加了许多新功能,包括 typed/untyped 代码之间交互的改进,对哈希表和集合更快的迭代以及更多内容。

《Clojure Recipes》书评与问答

由 Addison Wesley 出版的新书《Clojure Recipes》旨在帮助开发者深入理解 Clojure,在初步了解语言的特性及语法的基础上构建更复杂的项目,与外部库进行集成。本书列举了一系列“在周末时间即可完成的小项目”,其中包括 web 客户端与服务端应用,实现 DSL,使用 Datomic、Cascalog、Hadoop 等等。

通过 Jinq 简化数据库查询

Jinq 库为数据库查询提供了一个 DSL,可以用于 Java 和 Scala。这个项目的灵感来源于.NET 的 LINQ,致力于提供易于编写的查询,同时支持类型安全。据这个工具的创建者 Ming-Yee Iu 介绍,Jinq 起步于 2006 年,当时的名称为 Queryll,但是直到采用了 Java 8 的 lambdas,才完全发挥出了它的潜力。

Bloomberg 开源面向 OCaml 的 JavaScript 后端 BuckleScript

近日,Bloomberg 开源了 BuckleScript,这是一个面向 OCaml 的 JavaScript 后端。按照 Bloomberg 的说法,BuckleScript 旨在为任何 JavaScript 执行引擎带来 OCaml 类型安全及高性能的代码。

Swift 烧脑体操(三) - 高阶函数

Swift 相关的学习资料已经很多,我想从另外一个角度来介绍它的一些特性,我把这个角度叫做「烧脑体操」。什么意思呢?就是我们专门挑一些比较费脑子的语言细节来学习。通过「烧脑」地思考,来达到对 Swift 语言的更加深入的理解。

Swift 烧脑体操(二) - 函数的参数

Swift 相关的学习资料已经很多,我想从另外一个角度来介绍它的一些特性,我把这个角度叫做「烧脑体操」。什么意思呢?就是我们专门挑一些比较费脑子的语言细节来学习。通过「烧脑」地思考,来达到对 Swift 语言的更加深入的理解。

    电商领域精准测试生态建设实践
    电商领域精准测试生态建设实践

    吴金杰 | 阿里巴巴 新零售技术质量部/高级测试开发专家

    立即下载
    持续测试:10X 质量工程效能实践

    李倩 | KodeRover 创始人

    立即下载
    外卖风控实时数仓实践

    蔡敏 | 美团点评 外卖风控技术负责人

    立即下载