Циклопедия скорбит по жертвам террористического акта в Крокус-Сити (Красногорск, МО)

Idris (язык программирования)

Материал из Циклопедии
Перейти к навигации Перейти к поиску

Idris — функциональный язык программирования общего назначения с зависимыми типами. Использует строгую стратегию вычислений и Haskell-подобный синтаксис. Разрабатывается c 2009 года Эдвином Брэди в университете города Сент-Эндрюс.

Для компиляции программ на Idris используется стек промежуточных представлений, нисходящих по уровню абстракции. Подходящее представление затем транслируется отдельным модулем в код на другом языке. В официальную поставку включены модули для компиляции в C и JavaScript, существуют сторонние модули для компиляции в JVM, Erlang, СIL и другие языки и платформы.

Также в язык встроена мощная система метапрограммирования, использующую рефлексию так называемого элаборатора, то есть, доступ из программы к части компилятора, занимающейся преобразованием в промежуточное представление. Данный механизм позволяет, к примеру, гибко реализовывать Coq-подобные тактики, упрощающие построение доказательств.

Ссылки[править]

 
Используемые
в разработке

Ада A+ APL Atlast Forth AWL Язык ассемблера ActionScript ABAP/4 AutoIt AWK BeanShell Бейсик Си Кобол C++ C# Clarion Clojure ColdFusion Common Lisp D dBase Delphi DuAL Eiffel Erlang Euphoria F# Форт Фортран Gambas Go Groovy HAL/S Haskell IBM PL/S Icon IridiumJava JavaScript Limbo Lua Модула-3 Object Pascal Objective-C OCaml Oz Parser Паскаль Компонентный Паскаль Perl Pixilang PHP PowerBASIC Python ПЛ/1 Пролог Qi Ruby Scala Scheme Seed7 Smalltalk SQL PL/SQL Tcl TouchDesigner Vala Visual Basic (.NET) • X-Robot

Академические

Agda Clean Curry Idris Лого ML Оберон Planning C РЕФАЛ Симула

IEC 61131-3

Instruction List ST FBD Ladder Diagram (LD) • SFC

Прочие

Алгол Алгол 68 Модула-2 Миранда Hope НОРМИН Санда

Эзотерические

HQ9+/HQ9++ • INTERCAL Brainfuck Befunge Malbolge Piet Spoon Unlambda Whitespace FALSE LOLCODE Глагол

Визуальные

G (LabVIEW) • Microsoft VPL Sikuli VisSim Алиса ДРАКОН Скретч

Прочее

ДинамическиеКомпилируемыеС ключевыми словами не на английском языке С C-style синтаксисом СинтаксисYoptaScript

Категория Языки программирования