Jump to content

Фаджеты

В области вычислений 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 утверждает, что это программное обеспечение бесплатно только для некоммерческого использования.

  1. ^ Халлгрен, Томас; Карлссон, Магнус (1995). «Программирование с помощью Fudgets» . В Жеринге, Йохан; Мейер, Эрик (ред.). Расширенное функциональное программирование . Конспекты лекций по информатике. Том. 925. Берлин, Гейдельберг: Springer. стр. 137–182. дои : 10.1007/3-540-59451-5_5 . ISBN  978-3-540-49270-2 .
  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 г.
  3. ^ Халлгрен, Томас; Карлссон, Магнус (6 июня 2023 г.). «Домашняя страница Фаджета» . altocumulus.org . Проверено 25 октября 2023 г.
  4. ^ Карлссон, Магнус; Халлгрен, Томас (1 июля 1993 г.). «FUDGETS: графический пользовательский интерфейс на ленивом функциональном языке» . Материалы конференции «Функциональные языки программирования и архитектура компьютеров» . АКМ. стр. 321–330. дои : 10.1145/165180.165228 . ISBN  978-0-89791-595-3 . S2CID   9943994 .
  5. ^ Бертон, Ф. Уоррен (1999). «Расширенное функциональное программирование: конспекты лекций по информатике 925 под редакцией Йохана Юринга и Эрика Мейера, Springer-Verlag, 1995» . Журнал функционального программирования . 9 (1): 105–111. дои : 10.1017/S0956796899223246 . ISSN   1469-7653 .
[ редактировать ]


Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 742da3edf1cb4d3565caf2f0ca1488a6__1704977580
URL1:https://arc.ask3.ru/arc/aa/74/a6/742da3edf1cb4d3565caf2f0ca1488a6.html
Заголовок, (Title) документа по адресу, URL1:
Fudgets - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)