Есть ли какие-либо проекты с открытым исходным кодом, написанные в APL?

Я пытаюсь изучить APL (Kona), и я ищу примеры проектов, чтобы я мог понять, как опытный APL ' er организует его/ее код.

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

Ответы

Ответ 1

Я тоже искал и еще не нашел. APL - очень старый язык; он полностью предшествует движению с открытым исходным кодом. В отличие от одинаково старого Lisp (чья история включает в себя много исследований в области ИИ и дух открытого сотрудничества), культура APL исторически ассоциировалась с IBM, коммерческими системами смены времени и финансами. Мы с Кевином пытаемся изменить это с помощью Kona.

Существует справедливый бит кода k в без вонючих циклов. Некоторые из них были написаны для другой версии k, чем цели Kona. Hakan Kjellerstrand также имеет отличную страницу K.

Есть также несколько замечательных книг APL/J/K/Q. Я особенно рекомендую Kenneth Iverson A Programming Language, Henry Rich J для программистов C, Jeffry Borror Q для Mortals (Q - новейшая версия Kx K), а Gilman и Rose APL: интерактивный подход. Все, кроме последних, легко доступны в Интернете.

Имейте в виду, что многие люди используют APL как математические инструменты (например, R, математику, gnuplot и т.д.), а не для программирования. (IMHO, J лучше для этого.) K разработан как более универсальный язык программирования и похож на синтез APL, Lisp и C. Однако это отклонение в языковом семействе.

Ответ 2

Если вы прочитаете это, вы увидите, что Kona является "реализацией языка программирования K (K3.2) с открытым исходным кодом", К сожалению для вас, если вы заходите на домашнюю страницу для создателя языка программирования K и смотрите на продукты, вы увидите, что K, кажется, неподдерживается.

Кроме того, глядя на статьи в Википедии как для APL, так и для K, синтаксис кажется довольно сложным (например, x @ > #: 'x используется для сортировки списка строк по их длине)! Я рекомендую изучать Ассемблер (через nasm, один из самых популярных ассемблеров), С++, C и, возможно, Python, а не APL или K (оба кажутся неподдерживаемыми и неиспользуемыми).