Fudgets Explained

Fudgets
Author:Thomas Hallgren,
Magnus Carlsson
Latest Release Version:0.18.4
Programming Language:Haskell
Operating System:POSIX compatible: Unix, Unix-like, Linux, macOS via XQuartz
Platform:IA-32, x86-64
Language:English
Genre:GUI toolkit
License:freeware non-commercial

In computing, Fudgets is a graphical user interface toolkit for the functional programming language Haskell and the X Window System.[1] [2] Fudgets makes it easy to create client–server model applications that communicate via the Internet.

Most of the work on Fudgets was done in 1991-1996 by Thomas Hallgren and Magnus Carlsson.[3]

The authors claim that many of the advantages of Fudgets come from it being programmed in a lazy functional programming language.[4]

The main entity of toolkit is fudget (implemented on low level through stream processors) which has its own input and output.[5] Fudgets can be composed in parallel or sequence, yielding new fudget which can be used in code as any other fudget.

Example

factorialF = stdoutF >

< mapF (show . factorial . read) >

< stdinFfactorial :: Integer -> Integerfactorial n = product [1..n]

The code is self-describing considering that >==< is sequential fudget plumbing and mapF is fudget that takes a function of one argument and makes a fudget which output is input applied to that function. Fudget composition must be read from right to left, as a simple function composition. Now you can simply write:main = fudlogue factorialF

compile and run. For every given integer value it will print its factorial.

License

The software license of Fudgets claims that this software is freeware for non-commercial use only.

External links

Notes and References

  1. Book: Hallgren . Thomas . Carlsson . Magnus . 1995 . Advanced Functional Programming . Programming with Fudgets . Jeuring . Johan . Meijer . Erik . https://link.springer.com/chapter/10.1007/3-540-59451-5_5 . Lecture Notes in Computer Science . 925 . en . Berlin, Heidelberg . Springer . 137–182 . 10.1007/3-540-59451-5_5 . 978-3-540-49270-2.
  2. Book: Reid . Alastair . 1994 . Implementing Fudgets with Standard Widget Sets . Functional Programming, Glasgow 1993: Proceedings of the 1993 Glasgow Workshop on Functional Programming, 5–7 July 1993 . Ayr, Scotland . 222–235 . O’Donnell . John T. . Singh . Satnam . Hammond . Kevin . 2023-10-26 . Workshops in Computing . London . Springer . en . 10.1007/978-1-4471-3236-3_18 . 978-1-4471-3236-3.
  3. Web site: Hallgren . Thomas . Carlsson . Magnus . June 6, 2023 . Fudgets Home Page . October 25, 2023 . altocumulus.org.
  4. Book: Carlsson . Magnus . Hallgren . Thomas . 1993-07-01 . Proceedings of the conference on Functional programming languages and computer architecture . Fudgets: A graphical user interface in a lazy functional language . https://dl.acm.org/doi/10.1145/165180.165228 . en . ACM . 321–330 . 10.1145/165180.165228 . 978-0-89791-595-3. 9943994.
  5. Burton . F. Warren . 1999 . Advanced Functional Programming: Lecture Notes in Computer Science 925 edited by Johan Jeuring and Erik Meijer, Springer-Verlag, 1995. . Journal of Functional Programming . en . 9 . 1 . 105–111 . 10.1017/S0956796899223246 . 1469-7653.