ΠΎΡΠ»ΠΎΠ±ΠΎΠ΄ΡΠ²Π°ΡΠ΅ , Π±Π΅ΡΠΏΠ»Π°ΡΠ½Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ° Π½Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π΅Π½ ΠΏΡΠΎΠ³ΡΠ°ΠΌΡΠΊΠΈ ΡΠ°Π·ΠΈΠΊ , ΠΊΠΎΡ ΡΠ° ΠΏΠΎΠ΄Π΄ΡΠΆΡΠ²Π° ΠΌΠΎΠΆΠ½ΠΎΡΡΠ° Π·Π° Π²Π³ΡΠ°Π΄ΡΠ²Π°ΡΠ΅ ΠΊΠΎΠ΄ Π²ΠΎ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ Π½Π° Π΄ΡΡΠ³ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΡΠΊΠΈ ΡΠ°Π·ΠΈΡΠΈ. Guile ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ ΠΊΠ°ΠΊΠΎ ΡΠ°Π·ΠΈΠΊ Π·Π° ΡΠ°Π·Π²ΠΎΡ Π½Π° Π΅ΠΊΡΡΠ΅Π½Π·ΠΈΠΈ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ, Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°ΡΠ΅ Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠ° ΠΈΠ»ΠΈ ΡΠ°Π·Π²ΠΎΡ Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ Π·Π° ΠΏΠΎΠ²ΡΠ·ΡΠ²Π°ΡΠ΅ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈΡΠ΅ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²ΠΈ ΠΎΠ±Π΅Π·Π±Π΅Π΄Π΅Π½ΠΈ ΠΎΠ΄ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°ΡΠ°. Guile Π΅ ΠΎΡΠΈΡΠΈΡΠ°Π»Π΅Π½ ΡΠ°Π·ΠΈΠΊ Π·Π° ΡΠ°Π·Π²ΠΎΡ Π½Π° Π΅ΠΊΡΡΠ΅Π½Π·ΠΈΠΈ Π·Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΈΠΎΡ ΡΠΈΡΡΠ΅ΠΌ GNU.
ΠΠΎ ΡΡΡΠ΅ΡΠΎ Π½Π° Guile Π΅ Π΅ΡΠΈΠΊΠ°ΡΠ½Π° Π²ΠΈΡΡΡΠ΅Π»Π½Π° ΠΌΠ°ΡΠΈΠ½Π° ΠΊΠΎΡΠ° ΠΈΠ·Π²ΡΡΡΠ²Π° ΠΏΡΠ΅Π½ΠΎΡΠ»ΠΈΠ² ΡΠ΅Ρ Π½Π° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½ΠΈ ΠΎΠ΄ ΡΠΏΠ΅ΡΠΈΡΠ°Π»Π΅Π½ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°ΡΠΊΠΈ ΠΊΠΎΠΌΠΏΠ°ΡΠ»Π΅Ρ. ΠΠΈΡΡΡΠ΅Π»Π½Π°ΡΠ° ΠΌΠ°ΡΠΈΠ½Π° Guile Π»Π΅ΡΠ½ΠΎ ΡΠ΅ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ° ΡΠΎ ΠΊΠΎΠ΄ΠΎΡ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°ΡΠ° Π²ΠΎ C ΠΈ C++. ΠΠΎΠΊΡΠ°Ρ ΡΠ°Π·ΠΈΠΊΠΎΡ Π½Π° ΡΠ΅ΠΌΠ°ΡΠ°, Π·Π° ΠΊΠΎΡ Π΅ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΠ° , ΠΈ , ΠΏΡΠΎΠ΅ΠΊΡΠΎΡ Guile ΡΠ°Π·Π²ΠΈ ΠΊΠΎΠΌΠΏΠ°ΡΠ»Π΅ΡΠΈ Π·Π° Π΄ΡΡΠ³ΠΈ ΡΠ°Π·ΠΈΡΠΈ, ΠΊΠ°ΠΊΠΎ ΡΡΠΎ ΡΠ΅ ECMAScript, Emacs Lisp ΠΈ Lua (Π²ΠΎ ΡΠ°Π·Π²ΠΎΡ). ΠΠ°ΠΊΠ΅ΡΠΎΡ Π²ΠΊΠ»ΡΡΡΠ²Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π½Π° ΠΌΠΎΠ΄ΡΠ»ΠΈ ΠΊΠΎΠΈ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π°Ρ ΡΡΠ°Π½Π΄Π°ΡΠ΄Π½ΠΈ ΡΠ΅ΡΠ²ΠΈΡΠ½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠ°ΠΊΠΎ ΡΡΠΎ ΡΠ΅ ΡΠ°Π±ΠΎΡΠ° ΡΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΡ HTTP, ΠΏΠ°ΡΡΠΈΡΠ°ΡΠ΅ Π½Π° XML ΠΈ ΡΠΏΠΎΡΡΠ΅Π±Π° Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠ°Π½ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΈ Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°ΡΠ΅.
ΠΠ»ΡΡΠ½Π°ΡΠ° ΠΈΠ½ΠΎΠ²Π°ΡΠΈΡΠ° Π²ΠΎ GNU Guile 3.0 Π±Π΅ΡΠ΅ Π²ΠΎΠ²Π΅Π΄ΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° JIT ΠΊΠΎΠΌΠΏΠ°ΡΠ»Π΅Ρ, ΠΏΠΎΠΊΡΠ°Ρ ΠΏΡΠ΅ΡΡ ΠΎΠ΄Π½ΠΎ ΠΏΠΎΠ½ΡΠ΄Π΅Π½ΠΈΠΎΡ ΠΏΡΠ΅Π²Π΅Π΄ΡΠ²Π°Ρ ΠΈ ΠΊΠΎΠΌΠΏΠ°ΡΠ»Π΅Ρ Π½Π° Π±Π°ΡΡΠ΅ΠΊΠΎΠ΄, ΠΈΠ·Π²ΡΡΠ΅Π½ Π²ΠΎ ΡΠΏΠ΅ΡΠΈΡΠ°Π»Π½Π° Π²ΠΈΡΡΡΠ΅Π»Π½Π° ΠΌΠ°ΡΠΈΠ½Π° Π²ΡΠ·Π°Π½Π° Π·Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°ΡΠ° Π²ΠΎ ΡΠΎΡΠΌΠ° Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°. JIT Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° Π³Π΅Π½Π΅ΡΠΈΡΠ°ΡΠ΅ ΠΌΠ°ΡΠΈΠ½ΡΠΊΠΈ ΠΊΠΎΠ΄ Π²ΠΎ Π»Π΅Ρ ΠΈ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ Π³ΠΎ Π·Π°Π±ΡΠ·ΡΠ²Π° ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° Guile Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈΡΠ΅ (ΡΠ΅ΡΡΠΎΠ²ΠΈΡΠ΅ ΠΏΠΎΠΊΠ°ΠΆΡΠ²Π°Π°Ρ Π·Π°Π±ΡΠ·ΡΠ²Π°ΡΠ΅ Π΄ΠΎ 4 ΠΏΠ°ΡΠΈ). ΠΠΎΠΌΠΏΠ°ΡΠ»Π΅ΡΠΎΡ JIT ΠΏΠΎΠ΄Π΄ΡΠΆΡΠ²Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΈ x86-64, i686, ARMv7 ΠΈ AArch64.
ΠΠ΅ΠΊΠΎΠΈ Π΄ΡΡΠ³ΠΈ ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π°ΡΠ°:
- ΠΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° Π½ΠΎΠ²Π°ΡΠ° ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΠ° Π½Π° ΡΠ°Π·ΠΈΠΊΠΎΡ Π½Π° Π¨Π΅ΠΌΠ°ΡΠ° ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΡΠ½ΠΈ ΠΌΠΎΠ΄ΡΠ»ΠΈ Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π½ΠΈ Π²ΠΎ Π½Π΅Π³ΠΎ;
- ΠΠΈΡΡΡΠ΅Π»Π½Π°ΡΠ° ΠΌΠ°ΡΠΈΠ½Π° Guile ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° Π±Π°ΡΡΠ΅ΠΊΠΎΠ΄ ΠΎΠ΄ ΠΏΠΎΠ½ΠΈΡΠΊΠΎ Π½ΠΈΠ²ΠΎ, ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π°ΡΡΠΈ Π½Π°ΠΏΡΠ΅Π΄Π½ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ;
- ΠΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠ°ΡΠ΅ Π½Π° Π²Π½Π°ΡΡΠ΅ΡΠ½ΠΈ Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°ΡΠ° ΠΈ ΠΈΠ·ΡΠ°Π·ΠΈ (Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, "(define _ (begin (foo) #f))");
- Π‘Π΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π° ΡΠ½ΠΈΡΠΈΡΠΈΡΠ°Π½Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ° Π½Π° ΡΡΡΡΠΊΡΡΡΠΈΡΠ°Π½ ΡΠΈΠΏ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ (βΠ·Π°ΠΏΠΈΡΠΈβ);
- ΠΡΠΊΠ»ΡΡΠΎΠΊ Π·Π° ΡΠ°ΠΊΡΠ²Π°ΡΠ΅ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²ΠΈ (ΡΡΠ»Π°ΡΠ΅ ΠΈ ΡΠ°ΡΠ°ΡΠ΅) ΡΠ΅ ΠΏΡΠ΅ΡΠ°Π±ΠΎΡΠ΅Π½ΠΈ;
- ΠΠ΅ΡΠΈΠ½ΠΈΡΠ°Π½ΠΈ Π²ΡΡΠΊΠΈ Π·Π° ΠΏΡΠΎΡΠΈΡΠ΅Π½Π° ΡΠΈΠ½ΡΠ°ΠΊΡΠ° βΠ΄ΡΡΠ³ΠΎβ, β=>β, β...β ΠΈ β_β;
- ΠΠΎ http-Π±Π°ΡΠ°ΡΠ΅, http-get ΠΈ Π΄ΡΡΠ³ΠΈ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠΈ ΠΏΠΎΠ²ΡΠ·Π°Π½ΠΈ ΡΠΎ Π²Π΅Π±-ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΡ, Π΄ΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ ΠΌΠΎΠΆΠ½ΠΎΡΡΠ° Π·Π° ΠΏΡΠ΅Π·Π΅ΠΌΠ°ΡΠ΅ ΡΠΎΠ΄ΡΠΆΠΈΠ½Π° ΠΏΡΠ΅ΠΊΡ ΡΠΈΡΡΠΈΡΠ°Π½ ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΡΠΊΠΈ ΠΊΠ°Π½Π°Π» ΠΊΠΎΡΠΈΡΡΠ΅ΡΡΠΈ TLS ΡΠΎ ΠΏΡΠ°Π²ΠΈΠ»Π½Π° ΠΏΠΎΡΠ²ΡΠ΄Π° Π½Π° ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ.
ΠΠ·Π²ΠΎΡ: opennet.ru
