PRESSone所使用的合约脚本解释器PRSC 已经开源啦


  • administrators

    0_1543969343004_PRSC.png

    PRESS.one已经可以提供最基本的合约功能。为了确保透明性和中立性,我们开源了PRESS.one所使用的合约脚本解释器PRSC。这个解释器使用clojure(一种lisp方言)开发。它会把用户编写的合约脚本转换成真正执行的代码运行,并返回结果。这个解释器最终会被运行在所有PRS节点上,作为共同见证的一部分。

    PRESS.one DSL script interpreter 开源代码:https://github.com/Press-One/prsc

    需要说明的几点是:

    1. 目前这个解释器仍然在比较早期,它体现了我们对项目未来的预期,但是功能还相当有限。

    2. 这是一种DSL(领域专用语言)解释器,用户可以使用它来定义业务规则,比如如何出售自己的作品,如何定义许可证内容。

    3. 和以太坊等系统不同,PRSC不是一种图灵完全的语言。因为对于非职业程序员,一种图灵完全的语言会带来更大的困难,也很难避免最终用户因为对语言特性不够了解所带来的bug。PRSC希望提供灵活的业务逻辑定义功能,并借助区块链技术使得所有人可以见证业务逻辑确立和应用过程,所以一种图灵完全的合约语言不应该是我们的目标。提供更安全,更简单易用,但功能相对有限的业务逻辑描述DSL才符合我们的需求。

    4. PRSC仍然在快速进化,下一步会把更多功能包含进来开放给用户。也会支持更多的语法和链操作功能,比如对Mixin network的查询和应用等,将来用户都可以用一条简单的语句完成。甚至我们会开放插件系统允许用户使用lisp定义自己的语法和功能。这些会随着PRESS.one的发展逐步提供出来。

    PRESS.one contracts are available for all users. We open source the PRSC interpreter to ensure the transparency and neutrality.

    1. The interpreter is still in the early stage with only minimum features, but it could help developers and users understand our approach.

    2. PRSC is Domain-Specific Languages interpreter allowing the users to write their business rules such as how to sell & distribute their creation or how to define their licenses.

    3. Comparing with Solidity, the contract language of Etherum, PRSC is not a turning complete language. Because PRSC is designed to solve specific problems, helping users to define their business rules and keep their contract codes on the blockchain. So we prefer a security and easy-to-understand descriptive DSL rather than a turning complete program language.

    4. PRSC is in its continuous evolution. We will open more features, add more statements and include more blockchain interoperate functions. For examples, users can query and operated Mixin network with a single statement. In the future, we will also open the lisp based plug-in systems allowing users to define their own syntax and usage.



  • 转发一篇文章,便于大家更好地理解LISP:

    1024程序员节那天,微信群流传着这样的一个段子:

    某女:你能让这个论坛的人都吵起来,我今晚就跟你走。

    某程序猿:PHP是最好的语言!

    然后论坛真的就炸锅了,各种吵架……

    某女:服了你了,我们走吧,你想干啥都行。

    某程序猿:今天不行,我一定要说服他们,PHP是世界上最好的语言…

    如果把PHP换成其它编程语言,总是能引发键盘远征军们的口水大战。有理性而冷静的人提出:

    不同语言的能力不同。不声明特定用途就声称某门语言比其他语言更优秀只能导致侮辱性的无用争论。

    有适合写操作系统的,也有适合把其它程序黏在一起来完成特殊工作的。就好像这些语言是一条工具带上的各种工具似的。

    但这依然无法阻止程序员们对于孰优孰劣的争论。仅有一门语言例外。

    这门语言“似乎受到和用途无关的特殊尊敬,那就是广泛使用的编程语言中第二古老的(只比 Fortran 年轻一岁)的LISP。人们对 Lisp 的敬意是如此深厚,甚至于到了这门语言会时而被加上神话属性的程度。”

    这篇译文《Lisp 是怎么成为上帝的编程语言的》给出了一些令人啼笑皆非又心驰神往的描述:

    • Lisp 是奥术魔法;有史以来最奇异、最迷人的东西
    • 程序员们怂恿彼此:“在你死掉之前至少试一试 Lisp”
    • 人工智能研究的“母语”,“绝大数人工智能工作者的语言选择”
    • 不管在怎么样的电脑上,实现 Lisp 都是一件相对简单直白的事
    • 将来的通用编程语言……

    当人们谈论为什么LISP没有它的高声望所匹配的流行度时,常常调侃:那是因为现在的个人计算机没有配备括号键。

    当人们分享精通LISP是一种怎样的体验时,李遥如此表示:

    万一选了一个以后没人维护的编程语言,有可能写了几十年的代码最后都白写了(没法在最新的机器上运行)。但是,如果使用Lisp的话,完全不用担心这一点。Lisp的规则是如此简单,以至于任何人可以在任何图灵完备的计算环境上(无论有多新、多旧、多古怪)迅速写出一个最基础的解释器。

    LISP作为世界第二大古老的编程语言,因为人工智能重新被更多程序员们关注,如今也被用在了区块链项目中。

    PRESSone项目的 COO 西乔在onedev.club论坛宣告称:PRESSone所使用的合约脚本解释器PRSC 已经开源啦

    PRESS.one已经可以提供最基本的合约功能。为了确保透明性和中立性,我们开源了PRESS.one所使用的合约脚本解释器PRSC。这个解释器使用clojure(一种Lisp方言)开发。它会把用户编写的合约脚本转换成真正执行的代码运行,并返回结果。这个解释器最终会被运行在所有PRS节点上,作为共同见证的一部分。

    PRESS.one contracts are available for all users. We open source the PRSC interpreter to ensure the transparency and neutrality.

    LISP 会因为被应用在区块链项目中,而焕发新的活力吗?


    编者:牛轧糖 参考资料如下:

    Linux 中国:《Lisp 是怎么成为上帝的编程语言的》

    PRESSone 西乔:PRESSone所使用的合约脚本解释器PRSC 已经开源啦

    知乎用户 李遥:精通 Lisp 是一种怎样的体验?



  • 加油,相信你们是最棒的!虽然我不懂程序语言……



  • 大道至简,简单的语言并不表明功能不强大。



  • 又要学习一门新的语言了



  • 虽然不懂,但看着兴奋,能用例子解释一下会更好。



  • 不明觉厉。
    第一段表达有些不顺。或可修改如下:
    目前这个解释器尚在比较早期,功能也相当有限,但它体现了我们对项目未来的预期。



  • 不懂编程的人对pressone的开发者表示膜拜,恭喜Pressone又取得重大进展!



  • 不会编程也不懂这个语言,不过第三点里说的图灵完全就是图灵完备的意思吗?



  • 很早就听说过这门语言,但一直没尝试过,没想到还被用在区块链中。加油^0^~



  • @dc 虽然不懂技术,但祝福PRS飞天!



  • Great job, please keep up the good work.



  • 霍师傅西乔姐加油~



  • 加油,相信pressone会因为你们的不断努力越来越好



  • @HelenLiu 今天又知道一门新编程语言!好腻害啊!项目进度真是又稳又快!加油加油!



  • 今天又知道一门新编程语言!好腻害啊!PRESSone项目进度真是又稳又快!加油加油!



  • 看到一个真正做产品的团队,也庆幸自己能碰到这样棒团队,希望自己可以提升的更快一些哈😄



  • 祝pressone茁壮成长!



  • @XiQiao 不错



  • 对于一名程序员,编程语言就是一个工具。对于PRS,智能合约的构建,的确方便了众多作者,这才是实实在在的突破。