Guile 2.9.5 β€” это пятый beta-выпуск Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ языка программирования Scheme ΠΎΡ‚ GNU, готовящийся ΠΊ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΠΉ 3.x Π²Π΅Ρ‚ΠΊΠ΅.

Guile ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ SRFI, прСдоставляСт ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΡƒΡŽ систСму, ΠΏΠΎΠ»Π½Ρ‹ΠΉ доступ ΠΊ POSIX систСмным Π²Ρ‹Π·ΠΎΠ²Π°ΠΌ, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ сСти, динамичСской Π»ΠΈΠ½ΠΊΠΎΠ²ΠΊΠΈ, Π²Ρ‹Π·ΠΎΠ²Π° Π²Π½Π΅ΡˆΠ½ΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ ΠΌΠΎΡ‰Π½ΡƒΡŽ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ строк. Guile ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ, ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π² Π±Π°ΠΉΡ‚ΠΊΠΎΠ΄ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ Π² качСствС встроСнного Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π°.

ИзмСнСния ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с ΠΏΡ€ΠΎΡˆΠ»ΠΎΠΉ Π±Π΅Ρ‚Π°-вСрсиСй:

  • ОбъСдинСниС Ρ€Π°Π·Π½Ρ‹Ρ… Π²ΠΈΠ΄ΠΎΠ² «Π·Π°ΠΏΠΈΡΠ΅ΠΉ» (Record) Π² ΠΎΠ΄ΠΈΠ½.
  • Новая рСализация ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ:
    • Π‘Ρ‚Π°Ρ€Ρ‹ΠΉ throw & catch ΠΈΠ· Guile -> Π² Π±ΠΎΠ»Π΅Π΅ общСпринятый Π² Scheme raise-exception & with-exception-handler.
  • ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ привСдСния цСлочислСнных Ρ‚ΠΈΠΏΠΎΠ² ΠΊ Ρ‚ΠΈΠΏΠ°ΠΌ с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой.
  • ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ высокоуровнСвых Π±ΠΈΠ½Π΄ΠΈΠ½Π³ΠΎΠ² для Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ синтаксиса: else, =>, …, _.
  • ΠžΠ±Ρ‰Π΅ΠΏΡ€ΠΈΠ½ΡΡ‚Ρ‹ΠΉ gettext-алиас Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ G_.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° опция —r6rs, Π½ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π½Π΅ полная.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° R7RS (!).
  • ОбъявлСн ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠΌ Π²Ρ‹Π·ΠΎΠ² record-constructor с двумя Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: linux.org.ru