LINUX.ORG.RU

Вышел новый релиз Idris 2 версии 0.3.0

 , ,


0

3

https://www.idris-lang.org/idris-2-version-030-released.html

В новой версии

Library changes:

  • Added Data.HVect in contrib, for heterogeneous vectors.
  • Various other library functions added throughout base and contrib

Command-line options changes:

  • Added --color and --no-color options for colored terminal output. Color is enabled by default.
  • Added --console-width <auto|n> option for printing margins. By default the auto option is selected, the result is that the compiler detects the current terminal width and sets it as the option value, otherwise a user value can be provided. An explicit 0 has the effect of simulating a terminal with unbounded width.

Language and compiler changes:

  • Removed multiplicity subtyping, as this is unsound and unfortunately causes more problems than it solves. This means you sometimes now need to write linear versions of functions as special cases. (Though note that the 1 multiplicity is still considered experimental, so hopefully this will change for the better in the future!)

  • Added new syntax for named applications of explicit arguments:

    f {x [= t], x [= t], ...} f {x [= t], x [= t], ..., _}

  • Added syntax for binding all explicit arguments (in the left hand side);

    f {}

  • Added new syntax for record updates (without the need for the record keyword):

    {x := t, x $= t, ...}

  • Local implementations of interfaces (in let or where blocks) now work, along with %hint annotations on local definitions, meaning that local definitions can be searched in auto implicit search.

    • Note, though, that there are still some known limitations (with both local hints and local implementations) which will be resolved in the next version.
  • New experimental refc code generator, which generates C with reference counting.

  • Added primitives to the parsing library used in the compiler to get more precise boundaries to the AST nodes FC.

REPL/IDE mode changes:

  • Added :color (on|off) option for colored terminal output.
  • Added :consolewidth (auto|n) option for printing margins. Mirrors the command line option.

Ответ на: комментарий от alienclaster

Задумывался не только как исследовательский проект но и как язык общего назначения на котором можно писать приложения. Пока что писать приложения на нём трудно, но дело движется. Я лично использовал чтобы написать крестики-нолики с минимаксом :)

AndreyKl ★★★★★ ()
Ответ на: комментарий от alienclaster

Кто использует для чего-то помимо хеллоуворлдов или это чисто исследовательская игрушка?

Ложная дилемма

Это пока чисто исследовательская игрушка, но на ней пишут такие «хеллоуворлды», что тебе и не снилось

Crocodoom ★★★★ ()
Ответ на: комментарий от Crocodoom

Ссылки на гитхаб без документации это прекрасно, больше половины проектов в репе вообще не на идрисе, а описания вроде «primitive flat arrays containing Idris values» как-то не впечатляют. Есть какой-то мини-проект о криптографии https://github.com/idris-hackers/idris-crypto, а что-то более general purpose?

alienclaster ★★★ ()
Ответ на: комментарий от Crocodoom

но на ней пишут такие «хеллоуворлды», что тебе и не снилось

https://github.com/idris-hackers

Половина проектов – это плагины для различных редакторов, а вторая – биндинги для других языков и библиотек. Что-то на уровне Раста или даже выше. Попробуй заново, только в этот раз старайся получше.

anonymous ()
Ответ на: комментарий от anonymous

Кроме этого, там всё сплошь свежачки: линии графиков обновлений прямые как в морге.

Что уж и говорить, язык живёт и активно развивается.

anonymous ()
Ответ на: комментарий от kookoo

Спасибо за поправку, к сожалению перестал следить за идрисом, как завязал с хаскелем :)

А действительно, какой текущий самый большой/сложный проект на идрисе, не считая самого идриса?

Crocodoom ★★★★ ()
Последнее исправление: Crocodoom (всего исправлений: 1)
Ответ на: комментарий от alienclaster

Язык в бете, хоть и вторая версия. Так как первая была всё же больше про доказательства :) Язык пока исследовательский, так что проекты пилят исследователи, например https://github.com/clayrat/sequent-calc

anonymous ()