WikiDer > ELI (язык программирования)
Эта статья поднимает множество проблем. Пожалуйста помоги Улучши это или обсудите эти вопросы на страница обсуждения. (Узнайте, как и когда удалить эти сообщения-шаблоны) (Узнайте, как и когда удалить этот шаблон сообщения)
|
Парадигма | множество |
---|---|
Разработано | Вай-Ми Чинг |
Разработчик | Ханфэн Чен[2] (Rapidsoft) |
Впервые появился | 2011 |
Стабильный выпуск | 0.3 / 10 августа 2015 г. |
Печатная дисциплина | динамичный |
Язык реализации | C ++, Qt |
Платформа | IA-32, x86-64 |
Операционные системы | Кроссплатформенность: Windows, Linux, macOS |
Лицензия | Бесплатное ПО |
Расширения имени файла | .esf .eli |
Интернет сайт | Fastarray |
Под влиянием | |
APL, Q |
ELI[3] это интерактивный программирование массива языковая система на основе язык программирования APL. Он выполняет большинство функций Международная организация по стандартизации (ISO) Стандарт APL ИСО / МЭК 13751: 2001, а также список для неоднородных или непрямоугольных данных, комплексных чисел, символов, временных данных и управляющих структур. Имеется возможность создания файлов сценариев для организации программ аналогично использованию #включают
в C, который также предоставляет удобные данные ввод, вывод. В ELI есть словари, таблицы и базовый набор SQL-подобные высказывания. Для производительности у него есть компилятор ограничено программами с плоскими массивами.
Заменив каждый APL персонаж с одним или двумя ASCII символов, ELI сохраняет лаконичный и выразительный способ программирования массива APL по сравнению с MATLAB или же Python, ELI поощряет программирование потока данных стиль, в котором результат одной операции служит входом другой.
ELI доступен бесплатно на Windows, Linux, и macOS.
Версия 0.3
Версия ELI 0.3, описанная как стабильный выпуск, была выпущена 10 августа 2015 года. Она интегрируется с кроссплатформенной IDE, ELI Studio, которая предоставляет редактор кода со специализированными функциями для написания и загрузки кода ELI. Три добавленных виджета используются для мониторинга функций, переменных, библиотек и истории команд.
Версия 0.3 добавляет несколько новых функций.[4]
- Как: совпадение строк
- Матч
- [] PP: контроль точности печати
- ) время: мера производительности
- []: стандартный ввод
- Атрибуты даты и времени
- Дескриптор файла: [] открыть, [] закрыть, [] записать и [] получить
- Точка с запятой (;)
Пример кода
Строка ELI выполняется справа налево как цепочка операций; все, что находится справа от "//", является комментарием.
Восклицательный знак (!) - это интервальная функция. Он может генерировать вектор из n целых чисел от 1 до n.
!101 2 3 4 5 6 7 8 9 10
Порядок выполнения ELI - справа налево, и все примитивные функции имеют одинаковый приоритет.
5 * 2 + 10 // справа налево, 5 * (2 + 10) 60
В следующем примере функция Добавить
объявлен в краткой функциональной форме. Аргументы функции могут быть скаляром или вектором.
{add: x + y} // короткая функция formadd 1 add 2 // 1 + 23 1 add! 10 // 1+ (1..10) 2 3 4 5 6 7 8 9 10 11
В $
Оператор вращения возвращает обратный порядок вектора.
$! 10 // обратное 10 9 8 7 6 5 4 3 2 1
Матрица 2 на 3 (или массив более высокого измерения, например, 2 3 4#!24
) может быть порожден #
с левым аргументом 2 3
.
2 3 #! 6 // 2-х мерный массив (матрица) 1 2 34 5 6
В первой строке под Икс
задается вектор от 1 до 20. Тогда, 1 = 2 | х
возвращает нечетное число Истинный
и четное число Ложь
. В /
примитивная функция сжатия, которая поднимать ценность в Икс
соответствующий Истинный
значения в его левом аргументе.
x <-! 20 // 1..20 x1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 (1 = 2 | x) / x // получаем нечетные числа из x1 3 5 7 9 11 13 15 17 19
Расширения файлов
В ELI используются два расширения файлов для обмена и совместного использования кода для разных целей: .esf
и .eli
.
Файл ELI с расширением .esf
это файл сценария, который содержит все методы и данные. Простой способ создать файл сценария - использовать команду )из
. Однако перед созданием файла сценария необходимо чистое рабочее пространство без остатка информации об отладке или ошибке. Позже команда ) fload
может использоваться для перезагрузки файла сценария.
) из MyScript) libMyScript.esf) fload MyScriptsaved 2017.02.17 10:23:55 (gmt-5)
Файл ELI с расширением .eli
- это файл рабочего пространства ELI, который содержит все, что есть в рабочем пространстве. спасти
и нагрузка
- это команды для файлов рабочей области.
) сохранить MyWorkspace) загрузить MyWorkspacesaved 2017.02.17 10:57:19 (gmt-5)
Рекомендации
- ^ ELI: простая система для программирования массивов
- ^ ELI - зеркальный сайт лаборатории Sable в Университете Макгилла
- ^ ELI - официальный сайт Размещено на Google App Engine
- ^ Чен, Ханфэн (2015). "Обзор". ELI, система программирования с использованием массивов. Fastarray.appspot.com. Получено 26 февраля 2018.