GNU Guile 3.0 發布

發生 釋放 GNU Guile 3.0,函數式程式語言的自由實現 方案,它支援將程式碼嵌入到其他程式語言的應用程式中的能力。 Guile 可用作開發應用程式擴充功能、定義配置或開發元件以連接應用程式提供的各種原語的語言。 Guile 是 GNU 作業系統的官方擴充開發語言。

Guile 的核心是一個高效的虛擬機,它執行由特殊最佳化編譯器產生的一組可移植指令。 Guile 虛擬機器可以輕鬆地與 C 和 C++ 中的應用程式程式碼整合。除了Scheme語言之外,還實現了規範支持 R5RS, R6RS и R7RS,Guile 專案還開發了其他語言的編譯器,例如 ECMAScript、Emacs Lisp 和 Lua(正在開發中)。該軟體包包括一個實現標準服務功能的模組庫,例如使用 HTTP 協定、XML 解析和使用物件導向的程式設計方法。

GNU Guile 3.0 的關鍵創新是除了先前提供的解釋器和字節碼編譯器之外還引入了 JIT 編譯器,這些編譯器在以庫的形式與應用程式綁定的特殊虛擬機器中執行。 JIT 可讓您即時產生機器碼,並顯著加快 Guile 應用程式的執行速度(測試顯示速度提升高達 4 倍)。 JIT 編譯器支援 x86-64、i686、ARMv7 和 AArch64 架構。

其他一些改進:

  • 支援新的Scheme語言規範 R7RS 以及其中定義的庫模組;
  • Guile虛擬機提供對較低等級字節碼的支持,允許進階最佳化;
  • 支援組合內部定義和表達式(例如,“(define _ (begin (foo) #f))”);
  • 提出了結構化資料類型(“記錄”)的統一實現;
  • 異常處理原語(拋出和捕獲)已被重新設計;
  • 定義擴充語法「else」、「=>」、「...」和「_」的綁定;
  • 在 http-request、http-get 和其他與 Web 用戶端相關的流程中,新增了使用 TLS 和正確的憑證驗證透過加密通訊通道下載內容的功能。

來源: opennet.ru

添加評論