PureScript的特性-不会像其他语言那样在运行时改变规则-然后编译器会帮你自动推断这些空白处的类型
一、PureScript的特性
PureScript是一种编程语言,它有几个特别的地方:
- 严格求值:这意味着它总是按照相同的规则来执行代码,不会像其他语言那样在运行时改变规则。
- 持久性数据结构:这些数据结构在修改后不会丢失原来的信息。
- 类型推论:这个功能能帮你自动确定变量的类型,让编程变得更简单。
它还有一些和其他类似语言(比如Haskell)相似的地方:
- 代数数据类型及模式匹配:就像你用不同的方式打开不同的抽屉来找到东西一样,这个功能让你可以用不同的方式处理数据。
- 高种类类型:这是用来描述数据类型的类型,有点像描述一个抽屉里有什么东西。
- 类型类及函数依赖:这些是让你可以创建更灵活和强大的数据结构的工具。
- 高秩多态:这个功能让你可以用一种方式写代码,但可以用来处理多种不同类型的数据。
PureScript还有一些自己的特点,比如行多态和可扩展记录,但它不支持Haskell的一些更高级的功能。
它还能生成可读的JavaScript代码,并且可以重用现有的JavaScript代码。
编译器支持增量编译,还有专门的插件可以让你在流行的编辑器里使用它。
它还有一个叫做“类型孔洞”的特性,可以让你在代码中留一些空白,然后让编译器帮你自动填充。
PureScript编译器
PureScript的编译器能生成非常容易理解的JavaScript代码。而且,它还提供了一个FFI(Foreign Function Interface)接口,让你可以用JavaScript代码调用PureScript函数。
编译器还支持增量编译,这意味着你只需要重新编译改变的部分。此外,它还有一些插件,可以让你在Vim、Emacs、Sublime Text、Atom和Visual Studio Code等编辑器中使用PureScript。
类型驱动开发
PureScript有一个叫做“类型孔洞”的特性,它允许你在代码中留下一些空白。然后,编译器会帮你自动推断这些空白处的类型。这个功能可以让你在开发过程中更灵活,同时又能保持代码的类型安全。
二、PureScript是什么
PureScript是由Phil Freeman在2013年发布的。它是一种强类型、纯函数式的编程语言,最终会编译成JavaScript。你可以用它来开发网络、服务端和桌面应用程序。
PureScript的语法和Haskell非常相似,但它也有一些自己的特性,比如行多态和可扩展记录。
和Haskell不同的是,PureScript坚持使用严格求值策略。
JavaScript是什么
JavaScript是一种轻量级的编程语言,它最初是为了开发Web页面而设计的。但现在,它被用在了很多其他地方,比如服务器端和桌面应用程序。
JavaScript有一些特点:
- 它是一种脚本语言,需要在运行时进行解释。
- 它基于对象,这意味着你可以创建和使用对象。
- 它很简单,并且对数据类型的要求不是很严格。
- 它是动态的,可以响应用户的操作。
- 它是跨平台的,可以在任何支持JavaScript的浏览器中运行。
JavaScript在1995年由Netscape公司的Brendan Eich创建,它的名字是为了和Java区分开来。
JavaScript语言特点
JavaScript有一些特点,让它成为了一种非常流行的编程语言:
- 它是一种解释型的脚本语言。
- 它基于对象。
- 它很简单。
- 它是动态的。
- 它是跨平台的。
JavaScript最初是为了开发Web页面而设计的,但现在,它被用在了很多其他地方,比如服务器端和桌面应用程序。
50万+团队都在用的项目协作工具
一个工具满足团队所需:任务、项目、文档、IM、目标、日历、甘特图、工时、审批以及更多,让工作更简单。
智能化研发管理工具PingCode
PingCode是简单易用的新一代研发管理平台,让研发管理自动化、数据化、智能化,帮助企业提升研发效能。