Для установки нажмите кнопочку Установить расширение. И это всё.

Исходный код расширения WIKI 2 регулярно проверяется специалистами Mozilla Foundation, Google и Apple. Вы также можете это сделать в любой момент.

4,5
Келли Слэйтон
Мои поздравления с отличным проектом... что за великолепная идея!
Александр Григорьевский
Я использую WIKI 2 каждый день
и почти забыл как выглядит оригинальная Википедия.
Статистика
На русском, статей
Улучшено за 24 ч.
Добавлено за 24 ч.
Альтернативы
Недавние
Show all languages
Что мы делаем. Каждая страница проходит через несколько сотен совершенствующих техник. Совершенно та же Википедия. Только лучше.
.
Лео
Ньютон
Яркие
Мягкие

Из Википедии — свободной энциклопедии

Agda
Изображение логотипа
Класс языка функциональный, доказыватель теорем
Появился в 2007; 17 лет назад (2007) (1.0 в 1999; 25 лет назад (1999))
Автор Ульф Норелл
Расширение файлов .agda или .lagda
Выпуск 2.6.2.2 (2 апреля 2022; 2 года назад (2022-04-02))
Система типов статическая, строгая, зависимая
Испытал влияние Haskell, Coq, Epigram[англ.]
Повлиял на Idris
Лицензия BSD
Сайт wiki.portal.chalmers.se/…
ОС Windows и Unix-подобная операционная система

Agda — чистый функциональный язык программирования с зависимыми типами, то есть типами, которые могут быть индексированы значениями другого типа. Теоретической основой Agda служит интуиционистская теория типов Мартин-Лёфа, которая расширена набором конструкций, полезных для практического программирования.

Agda также является системой автоматического доказательства. Логические высказывания записываются как типы, а доказательствами являются программы соответствующего типа.

Agda поддерживает индуктивные типы данных, сопоставление с образцом (гибко использующее наличие зависимых типов), систему параметризованных модулей, проверку завершаемости программ[англ.], миксфиксный синтаксис для операторов. Поддержка неявных аргументов приводит к существенному упрощению программирования с зависимыми типами. Для программ на Agda характерно широкое использование Юникода.

В стандартную реализацию Agda входит расширение редактора Emacs, позволяющее осуществлять пошаговое построение программ. Система проверки типов языка дает программисту полезную информацию о ещё не написанных частях программы.

Конкретный синтаксис языка Agda весьма близок к синтаксису Haskell, на котором система Agda и реализована.

Энциклопедичный YouTube

  • 1/3
    Просмотров:
    64 907
    9 192
    7 820
  • Eliminating Run-Time Errors with Agda - Computerphile
  • David Sankel: The Intellectual Ascent to Agda
  • A Simple Introduction to Agda

Субтитры

Примеры

Натуральные числа и их сложение

 data Nat : Set where
   zero : Nat
   suc  : Nat -> Nat
 _+_ : Nat -> Nat -> Nat
 zero  + m = m
 suc n + m = suc (n + m)

Пример зависимого типа: список, в типе которого хранится натуральное число — его длина

 data Vec (A : Set) : Nat -> Set where
   []   : Vec A zero
   _::_ : {n : Nat} -> A -> Vec A n -> Vec A (suc n)

Безопасная функция вычисления головы списка, не позволяющая выполнять эту операцию над пустым списком (нулевой длины):

 head : {A : Set}{n : Nat} -> Vec A (suc n) -> A
 head (x :: xs) = x

Ссылки

Эта страница в последний раз была отредактирована 10 июня 2024 в 12:35.
Как только страница обновилась в Википедии она обновляется в Вики 2.
Обычно почти сразу, изредка в течении часа.
Основа этой страницы находится в Википедии. Текст доступен по лицензии CC BY-SA 3.0 Unported License. Нетекстовые медиаданные доступны под собственными лицензиями. Wikipedia® — зарегистрированный товарный знак организации Wikimedia Foundation, Inc. WIKI 2 является независимой компанией и не аффилирована с Фондом Викимедиа (Wikimedia Foundation).