Occam.fi 技术系列之五:Haskell编程语言

Posted OccamFi 中文

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Occam.fi 技术系列之五:Haskell编程语言 相关的知识,希望对你有一定的参考价值。

这篇文章是 Occam.fi 技术系列的第五篇也是最后一篇。在将 Haskell 引入加密空间之前,我们将简要介绍它的历史,并发现我们能够对区块链及其 DApp 进行编码的当前语言。
我们还将探讨为什么 Haskell 对Cardano有意义,并根据使用 DApp 和Cardano原生代币协议开创 Haskell 未来的人们越来越多的经验做出一些推测。
由于距离Cardano历史上最重要的硬分叉事件之一只有几周的时间,因此我们都必须了解 Haskell 如何在Cardano生态系统中发挥极其重要的作用。那么,让我们从 Haskell 的历史开始吧!
 

Haskell,简单的历史介绍

Haskell 诞生于 1985 年发布的“Miranda”,这是一种懒惰的纯函数式编程语言。发布后,与 Miranda 的范围相似的语言逐渐增多,到 1987 年,函数式语言会议推动将所有函数式语言整合为一个通用标准,从而促成了 Haskell 的诞生。
在那次会议之后,Haskell 1.0 到 1.4 发布了具有类型类和类型安全运算符重载的特性。类型类最好被理解为指定一组函数或常量名称以及它们各自的类型的代码,对于所述类的每种类型都必须存在这些代码。
此外,这允许开发运算符重载,这允许运算符(例如加法和减法)根据传递给它们的参数具有不同的用例。类型类与运算符重载相结合是 Haskell 初始版本的主要创新,并为开发人员社区迭代和改进提供了坚实的基础。
Haskell 将随着 Haskell 98 和 Haskell 2010 的开发进一步迭代。前者正式发布为“Haskell 98 报告”,旨在成为稳定、轻量级且易于移植的 Haskell 版本。Haskell 98 具有一个标准库,以鼓励教学并作为该语言未来扩展和变体的起点。Haskell 的后一个版本是对 Haskell 98 的“增量更新”,并结合了 Haskell 98 发布后多年来开发的各种较小的功能。Haskell 2010 旨在作为一系列潜在的每年更新 Haskell 以继续改进它并将其使用商业化。
尽管肯定是一种起源非常古老的语言,但自 1987 年的“Haskell 1.0”以来,Haskell 经历了多次迭代,现在发现它的使用越来越广泛,这可能部分归功于 Cardano 和智能合约语言 Plutus 的开发。
此外,IOHK 已决定赞助“Haskell 基金会”的启动,以“扩大 Haskell 语言的采用并支持工具、研究、教育和库。”这是在 IOHK 的开发人员和工程师做出重大贡献的基础上tje Glasgow Haskell Compiler 或“GHC”的开发,Haskell 的编译器,发现和解决Haskell 错误,为多个 Haskell 库做出贡献并改进交叉编译支持。
Haskell 目前大约 34 岁,但随着 Cardano 不断带来的创新,随着我们迈向 2037 年 50 周年,Haskell 似乎至少会发现自己在区块链领域占据更重要的地位。
 

产业中的 Haskell

尽管肯定不是一种众所周知的语言,但 Haskell 仍然在私营部门行业中广泛使用,而不仅仅是学术界和Cardano。看一眼Haskell wiki,乍一看,很多东西都很突出。例如,它在金融领域非常流行,被广泛用于处理大量数据和高效的算法分析。
在金融领域,您会发现瑞士信贷、德意志银行、美银美林和巴克莱资本量化分析集团等使用 Haskell 的大型实体。
AT&T、BAE Systems、Facebook、谷歌和英特尔等其他公司在各种用例中实施 Haskell——部分原因是它通过函数式编程避免错误的高度倾向。虽然 Haskell 本身可能不是人们想到编程时立即想到的语言之一,但它仍然被用作一种可靠且健壮的语言,能够执行多种领域。


区块链中的当前语言

看看更广泛的加密货币生态系统,项目所基于的标准语言是 C++、javascript、Python 之类,目前是它们的王者;以太坊的Solidity。
理解所有这些语言的关键在于,在大多数情况下,它们都是“命令式的”——这意味着它们的程序作为计算机需要执行的一系列语句运行,并且通常具有全局状态该程序在其中运行。可以在此处找到有关全局状态和以太坊的更多信息。
相比之下,在 Haskell 中,函数式编程基于参数和值通过函数和转换数据的移动。通过这种方式,Haskell 将计算视为对数学函数的评估,并避免了状态和可变数据。
尽管这可能看起来像是以太坊和Cardano等区块链之间的细微差别,但其影响是巨大的。由于编码的命令式语言的“状态性”,以太坊已经经历了——并将继续经历——它的许多困境,例如高昂的 gas 费用和各种错误和错误。
另一方面,Cardano采用函数式语言进行编码,消除了全球国家带来的网络臃肿问题,转而采用基于可靠数学函数的区块链,这些函数易于重现且一致。有了 Haskell,Cardano试图通过开发一种在处理越来越多的资本时更高效、更快、更安全的语言来应对扩展到全球潜在数亿用户的挑战。



确保您关注Occam.fi的社交媒体频道,以了解最新消息:
电报官方社区-https://t.me/occamfi_com
电报公告群-https://t.me/occamfi
Medium-https://medium.com/occam-finance
Twitter-https://twitter.com/OccamFi
Reddit-https://www.reddit.com/user/OccamFi

Discord-https://discord.gg/9eQbAkPj7K



以上是关于Occam.fi 技术系列之五:Haskell编程语言 的主要内容,如果未能解决你的问题,请参考以下文章

Python猫荐书系列之五:Python高性能编程

第883期成为一名函数式码农系列之五

Microsoft Azure系列之五 使用IaaS 虚拟机

C# 9.0新特性详解系列之五:记录(record)和with表达式

Matrix技术分享| Haskell与函数式编程简介

技术分享 | Haskell 工程化的挑战和收获