Фаджеты
В области вычислений Fudgets инструментов представляет собой набор пользовательского интерфейса графического для функционального языка программирования Haskell и X Window System . [1] [2] Fudgets упрощает создание клиент-серверных приложений, взаимодействующих через Интернет .
Большая часть работы над Fudgets была проделана в 1991–1996 годах Томасом Халлгреном и Магнусом Карлссоном. [3]
Авторы утверждают, что многие преимущества Fudgets проистекают из того факта, что они программируются на языке ленивого функционального программирования . [4]
Основным объектом набора инструментов является fudget (реализованный на низком уровне посредством потоковых процессоров), который имеет собственный ввод и вывод. [5] Фаджиты могут создаваться параллельно или последовательно, создавая новый фаджет, который можно использовать в коде как любой другой фаджет.
Пример
[ редактировать ]factorialF = stdoutF >==< mapF (show . factorial . read) >==< stdinF factorial :: Integer -> Integer factorial n = product [1..n]
Код является самоописывающим, учитывая, что >==< — это последовательная обработка fudget, а mapF — это fudget, который принимает функцию одного аргумента и создает fudget, выходные данные которого применяются к этой функции. Обратите внимание, что композицию fudget следует читать справа налево, как простую композицию функций. Теперь вы можете просто написать
main = fudlogue factorialF
скомпилировать и запустить. Для каждого заданного целочисленного значения он печатает факториал.
Лицензия
[ редактировать ]Лицензия Fudgets утверждает, что это программное обеспечение бесплатно только для некоммерческого использования.
Ссылки
[ редактировать ]- ^ Халлгрен, Томас; Карлссон, Магнус (1995). «Программирование с помощью Fudgets» . В Жеринге, Йохан; Мейер, Эрик (ред.). Расширенное функциональное программирование . Конспекты лекций по информатике. Том. 925. Берлин, Гейдельберг: Springer. стр. 137–182. дои : 10.1007/3-540-59451-5_5 . ISBN 978-3-540-49270-2 .
- ^ Рид, Аластер; Сингх, Сатнам (1994), О'Доннелл, Джон Т.; Хаммонд, Кевин (ред.), «Реализация Fudgets со стандартными наборами виджетов» , Функциональное программирование, Глазго, 1993: Материалы семинара по функциональному программированию в Глазго 1993 года, Эйр, Шотландия, 5–7 июля 1993 г. , Семинары по вычислительной технике, Лондон: Springer , стр. 222–235, doi : 10.1007/978-1-4471-3236-3_18 , ISBN. 978-1-4471-3236-3 , получено 26 октября 2023 г.
- ^ Халлгрен, Томас; Карлссон, Магнус (6 июня 2023 г.). «Домашняя страница Фаджета» . altocumulus.org . Проверено 25 октября 2023 г.
- ^ Карлссон, Магнус; Халлгрен, Томас (1 июля 1993 г.). «FUDGETS: графический пользовательский интерфейс на ленивом функциональном языке» . Материалы конференции «Функциональные языки программирования и архитектура компьютеров» . АКМ. стр. 321–330. дои : 10.1145/165180.165228 . ISBN 978-0-89791-595-3 . S2CID 9943994 .
- ^ Бертон, Ф. Уоррен (1999). «Расширенное функциональное программирование: конспекты лекций по информатике 925 под редакцией Йохана Юринга и Эрика Мейера, Springer-Verlag, 1995» . Журнал функционального программирования . 9 (1): 105–111. дои : 10.1017/S0956796899223246 . ISSN 1469-7653 .
Внешние ссылки
[ редактировать ]- Домашняя страница Fudgets (последний выпуск отмечен 13 января 2016 г.)
- Докторская диссертация Фаджета Халлгрена и Карлссона