GNU Guileは、GNUプロジェクトの優先通訳者です、Schemeプログラミング言語の実装があります。 Guile 多くのタスクのためのモジュラー拡張が含まれています とりわけ、POSIXシステムへの呼び出しなどのプログラミング。
プログラムを拡張するために、Guileにはlibguileがあります。 他のプログラムに挿入し、Cプログラミング言語アプリケーションプログラミングインターフェイス(API)を使用して正確に統合できるライブラリ。同様に、このAPIを介して定義された新しいタイプとサブルーチンを、Guile拡張機能としてユーザーが利用できるようにすることができます。
他のプログラミング言語のアプリケーションにコードを埋め込む機能をサポートします。 Guileは、アプリケーション拡張機能の開発、構成の定義、またはアプリケーションによって提供されるさまざまなプリミティブを接続するためのコンポーネントの開発を行うための言語として使用できます。 Guileは、GNUオペレーティングシステムの公式の拡張機能開発言語です。
GnuGuileについて
のコア Guileは効率的な仮想マシンです これは、特別な最適化コンパイラによって生成されたポータブル命令セットを実行します。 仮想マシン Guileは、CおよびC ++アプリケーションコードとシームレスに統合されます。
Scheme言語に加えて、 R5RS、R6RS、およびR7RS仕様をサポートします、Guileプロジェクトは、ECMAScript、Emacs Lisp、Lua(開発中)などの他の言語用のコンパイラーも開発しました。
Guile Schemeの主なアイデアは、開発者が重要なアルゴリズムを実装することです。 CまたはC ++のデータ構造と、インタープリター型コードで使用する関数と型をエクスポートします。
したがって、Guileスキーム、およびGuileによって実装された他の言語は、CAPIを介して実装された新しいタイプとサブルーチンで拡張できます。
標準ディストリビューションは、POSIXシステムコール、スケジューラー、外部関数インターフェース、SXML、SXPath、およびSXSLTからのXML処理に基づく式のためのモジュールを提供します。
また、HTTPプロトコルやその他のWebAPIも含まれています。c継続、ベクトルプログラミングおよびその他の機能の制限。 Guileで記述されたプログラムは、SchemeのポータブルライブラリであるSLIBの機能を使用できます。
このパッケージには、HTTPプロトコルの操作、XML解析、オブジェクト指向プログラミングメソッドの使用など、標準のサービス機能を実装するモジュールのライブラリが含まれています。
GNU Guile3.0の主な新機能
GNU Guile3.0の重要な革新は JITコンパイラの登場、以前に提案されたバイトコードインタプリタとコンパイラに加えて、ライブラリの形式でアプリケーションにリンクされている特別な仮想マシンで実行されます。
JITを使用すると、その場でマシンコードを生成できます また、Guileアプリケーションの実行を大幅に高速化します(テストでは最大4倍の加速が示されます)。 JITコンパイラ x86-64、i686、ARMv7、およびAArch64アーキテクチャをサポートします。
また 新しいSchemeR7RS言語仕様のサポートが追加されたことを強調します そしてその中で定義されたライブラリモジュール。
En http-request、http-get およびWebクライアントに関連するその他の手順では、TLSを使用して暗号化された通信チャネルを介してコンテンツをダウンロードする機能が、証明書の正しい検証とともに追加されました。
virtuaマシンの側面にl Guile、バイトコードをサポートするための改善が行われました 下位レベル、 高度な最適化を適用できます。
その他の変更点 この新しいバージョンに組み込まれたもの:
- 定義と内部定義定義の組み合わせのサポート(定義_(begin(foo)#f)).
- 構造化データ型の統一された実装(«記録«)。
- 例外処理プリミティブ(throwおよびcatch)が再設計されました。
- リンクは拡張構文用に定義されています "そうしないと«、«=>«、«...« y «_»。
Gnu Guile 3.0をインストールするにはどうすればいいですか?
Guileをインストールできることに興味がある人のために システムでは、アプリケーションのソースコードをダウンロードしてコンパイルできます。
このために ターミナルを開く必要があり、その中に次のように入力します。
wget -r ftp://ftp.gnu.org/gnu/guile/guile-3.0.0.tar.gz
現在 コンパイルするのは次のとおりです。
zcat guile-3.0.0.tar.gz | tar xvf -
cd guile-3.0.0
./configure
make
make install