PureScript的特性:主要为严格求值、持久性数据结构和类型推论。PureScript的类型系统同类似的函数式语言如Haskell共享了很特征:代数数据类型及模式匹配、高种类类型(英语:Kind (type theory))、类型类及函数依赖和高秩多态。
一、PureScript的特性
PureScript特征主要为严格求值、持久性数据结构和类型推论。PureScript的类型系统同类似的函数式语言如Haskell共享了很特征:代数数据类型及模式匹配、高种类类型(英语:Kind (type theory))、类型类及函数依赖和高秩多态。PureScript的类型系统增加了对行多态(英语:Row polymorphism)和可扩展记录的支持。但是,PureScript缺乏对Haskell的某些更高级特征如GADT(英语:Generalized algebraic data type)和类型家族(英语:Type family)的支持。
PureScript编译器尝试产生尽可能可读的JavaScript代码。通过一个简单的FFI接口(英语:Foreign function interface),它还允许重用现存的JavaScript代码。
PureScript支持增量编译,而且编译器发行包括了支持为迭代开发建造源代码编辑器插件。存在编辑器插件针对很多流行的编辑器,包括Vim、Emacs、Sublime Text、Atom和Visual Studio Code。
PureScript通过它的“类型孔洞”特征支持“类型驱动开发”,在其中可以构造具有缺失子表达式的程序。编译器随后将尝试推论出缺失子表达式的类型,并将这些类型报告给用户。这个特征已经启发了GHC的类似工作。
二、PureScript是什么
PureScript编程范型函数式设计者Phil Freeman发行时间2013年,9年前(2013)目前版本0.15.8 (2023年3月6日) 型态系统类型推论, 静态, 强类型许可证三条款BSD许可证文件扩展名.purs网站www.purescript.org启发语言Haskell, JavaScriptPureScript是一种强类型、纯函数式、最终编译为JavaScript的编程语言。PureScript可以开发网络应用程序、服务端应用程序,也可以借助Electron开发桌面应用程序。其语法大多与Haskell相当。此外,它还引入了行多态性和可扩展记录。不过,与Haskell相反的是,PureScript坚持严格求值策略。
延伸阅读
JavaScript是什么
JavaScript(简称“JS”)是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。虽然它是作为开发Web页面的脚本语言而出名,但是它也被用到了很多非浏览器环境中,JavaScript基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式、声明式、函数式编程范式。
JavaScript在1995年由Netscape公司的Brendan Eich,在网景导航者浏览器上首次设计实现而成。因为Netscape与Sun合作,Netscape管理层希望它外观看起来像Java,因此取名为JavaScript。但实际上它的语法风格与Self及Scheme较为接近。
JavaScript语言特点
JavaScript脚本语言具有以下特点:
(1)脚本语言。JavaScript是一种解释型的脚本语言,C、C++等语言先编译后执行,而JavaScript是在程序的运行过程中逐行进行解释。
(2)基于对象。JavaScript是一种基于对象的脚本语言,它不仅可以创建对象,也能使用现有的对象。
(3)简单。JavaScript语言中采用的是弱类型的变量类型,对使用的数据类型未做出严格的要求,是基于Java基本语句和控制的脚本语言,其设计简单紧凑。
(4)动态性。JavaScript是一种采用事件驱动的脚本语言,它不需要经过Web服务器就可以对用户的输入做出响应。在访问一个网页时,鼠标在网页中进行鼠标点击或上下移、窗口移动等操作JavaScript都可直接对这些事件给出相应的响应。
(5)跨平台性。JavaScript脚本语言不依赖于操作系统,仅需要浏览器的支持。因此一个JavaScript脚本在编写后可以带到任意机器上使用,前提是机器上的浏览器支持JavaScript脚本语言,JavaScript已被大多数的浏览器所支持。不同于服务器端脚本语言,例如PHP与ASP,JavaScript主要被作为客户端脚本语言在用户的浏览器上运行,不需要服务器的支持。所以在早期程序员比较倾向于使用JavaScript以减少对服务器的负担,而与此同时也带来另一个问题,安全性。
而随着服务器的强壮,虽然程序员更喜欢运行于服务端的脚本以保证安全,但JavaScript仍然以其跨平台、容易上手等优势大行其道。同时,有些特殊功能(如AJAX)必须依赖JavaScript在客户端进行支持。
文章标题:PureScript有什么特性,发布者:E.Z,转载请注明出处:https://worktile.com/kb/p/49653