闪光为0.15 - Erlang VM的类型安全语言

2021-05-06 20:47:32

Gleam是Erlang虚拟机的一种安全和可扩展的语言,andtoday v0.15.0已发布!让我们看看一些Highlights。

到目前为止,闪光开发人员的常见Bugbeg是元组文字yntax相当冗长。

经过大量关于GitHub和Discord的讨论,我们定居了这种新的语法,由ECMAScript TC39提案和流行的编程语言等元组语法,如Python,Rust和Haskell。

目前,Gleam编译器将继续接受两个语法,并在以后的日期中删除元组(..)语法。自动将您的码升级到项目中的新语法运行闪光格式。

谢谢塞巴斯蒂安波尔图,开始击败讨论,并建议新的语法,Marcin Pucf为实现新的语法,以及为讨论做出贡献的每个人。

GLEEM的PRELUDE是定义了核心数据类型的核心数据类型,例如int,结果和字符串。 PRELUDE的内容被自动进入每个模块,并且没有办法将它们第二次导入。

这在模块定义具有与来自前奏的项目之一的新类型或ValueConstructor的情况下有问题,因为它不可能参考前置前部。

pub类型tingbool {true // bool'真实的被遮蔽了假// bool' s false被遮蔽的dunno} pub fn do_it_halt(程序) - > TINGBOOL {DUNNO} PUB FN IS_PROBLE_SOLVABLE() - > bool {false //错误的bool类型! }

现在,使用V0.15.0,可以使用亮闪的名称导入前列模块,从而可以使用普拉德项目的合格使用。

目前闪光的分配现在是返回正在分配的值的表达式。闪光地分配是陈述的陈述,这意味着它们没有评估任何东西,并且不能是函数中的最终表单或块。这个hadtwo主要缺点。

第一个是发展人体工程学问题。在编写Gleam代码时,它是希望尽可能经常保存,以便类型检查程序可以在刚刚写入的代码中提供任何错误或不一致。

pub fn main(){let x =运行(1,2,3)//现在我命中保存...}

如果我在上面写下代码并点击保存,我可能会期望Gleam编译器告诉我是否正确使用运行功能。相反,它会抱怨语法错误,让我毫不考虑我的代码是否正确,我在下一个行上添加占位符值并再次点击保存。使用此代码的此代码现在将被接受并键入此代码。

这是一个微小的变化,但它可以通过这些编辑习惯从开发工作流程中删除摩擦,使闪亮友好更友好,更容易接送。发光体验是闪光的第一阶级关注,闪光应该是尽可能的仿效和愉快。

下一个问题是之前在函数或块中无法在函数或块中具有断言哮喘的最终表单,强制用户添加要返回的超规度智能值。

///断言`段'是非空的和///从斜杠开始的函数。 PUB FN Assert_Valid(段){Assert [" /" ,..] =段}

通常,我们更倾向于使用结果类型来安全地处理无效状态,但在某些情况下,利用这样的情况有利于使用这样的服务器来利用Erlang VirtualMachine的进攻性编程和容错能力。例如,当原型设计或写入后台BatchProcessing脚本时。

此版本包含许多新标准库函数,主要是在列表和迭代器模块中。

列表是Gleam的主要订购集合类型。这些新功能已被呈现使用列表:

组合 - 获取列表中给定大小的唯一组合集。

map_fold - 用于更新列表中的每个元素,同时从nutemfrom元素携带到元素。

减少 - 将列表中的所有元素组合成单个值。 折叠的缺陷是在列表中使用的第一元素作为theaccumulator。 扫描 - 将列表中的所有元素组合成单个值,而保留每个intemediate值创建的。 Take_While - 在HaveOme属性的同时将元素保持在列表的前面,丢弃其余部分。 迭代器类似于列表,除了它们懒惰地评估。 这款Makesthem特别适用于处理太大而无法加载到内存时的数据集。 或者将延迟减少,因为可以处理收集的开始,但其余的已加载。 index - 用于将每个元素返回在迭代器中,其中索引密集在迭代器中的位置。 交错 - 用于组合两个迭代器,使其元素一次被产生,从每个迭代器交替。 迭代 - 通过在Aninitial Value中重复调用函数来创建新迭代器。

减少 - 将迭代器中的所有元素组合成单个值。折叠的缺陷是在列表中使用的第一元素作为theaccumulator。

扫描 - 将迭代器中的所有元素组合成单个值,然后保留创建的每个intemediate值。

Take_While - 用于将元素从迭代器的前面保持,同时他们有些属性,丢弃其余部分。

感谢Marcin Puc,Sebastian Porto,Robert Attard和Evuez在标准的图书馆发布的所有工作。

我很高兴地宣布我回到全职闪闪发光的发展!您可以预期的功能和释放更大,更频繁地频繁,而且我迫不及待地与您分享我们接下来的内容!这是闪闪发光的令人兴奋的时间。

闪闪发光的赞助现在是我的主要收入来源。如果你想要ToSupport我制作闪光,请考虑赞助闪光或询问您的雇主赞助闪闪发光。每一个捐款都有所作为,无论如何,谢谢你的帮助。

如果您想尝试将新版本的Gleam头转移到AppertActpage。我很想听到你发现它的发现,并获得你的反馈索霍姆可以继续改善。

通过赞助和为该项目提供贡献的所有人的支持,可以实现闪光,使SOA巨大谢谢他们。 谢谢!