動態類型的編程語言:Mochi

jopen 9年前發布 | 38K 次閱讀 Mochi 腳本/動態語言

Mochi是一個動態類型的編程語言,用于函數式編程和actor風格的編程。

它的解析器采用Python3編寫。這個解析器將一個采用Mochi編寫的程序轉換成Python3的AST / bytecode。

特性

  • 類似于Python的語法
  • Tail recursion optimization (self tail recursion only), and no loop syntax
  • Re-assignment are not allowed in function definition.
  • Basic collection type is a persistent data structure. (using Pyrsistent)
  • Pattern matching / Data types, like algebraic data types
  • Pipeline operator
  • Syntax sugar of anonymous function definition
  • Actor, like the actor of Erlang(using Eventlet)
  • Macro, like the traditional macro of Lisp
  • Builtin functions includes functions exported by itertools module, recipes, functools module and operator module
  • </ul>

    示例

    Factorial

    def factorial(n, m): if n == 1: m else: factorial(n - 1, n * m)

    factorial(10000, 1)

    => 28462596809170545189064132121198688...

    Or

    def factorial: n: factorial(n, 1) 0, acc: acc n, acc: factorial(n - 1, acc * n)

    factorial(10000)

    => 28462596809170545189064132121198688...</pre>

    項目主頁:http://www.baiduhome.net/lib/view/home/1418651539823

    </strong>

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!