Hubbry Logo
search button
Sign in
Fudgets
Fudgets
Comunity Hub
History
arrow-down
starMore
arrow-down
bob

Bob

Have a question related to this hub?

bob

Alice

Got something to say related to this hub?
Share it here.

#general is a chat channel to discuss anything related to the hub.
Hubbry Logo
search button
Sign in
Fudgets
Community hub for the Wikipedia article
logoWikipedian hub
Welcome to the community hub built on top of the Fudgets Wikipedia article. Here, you can discuss, collect, and organize anything related to Fudgets. The purpose of the hub is to connect people, foster de...
Add your contribution
Fudgets
Fudgets
Original author(s)Thomas Hallgren,
Magnus Carlsson
Initial releaseJune 1993; 32 years ago (1993-06)
Stable release
0.18.4 / June 2023; 2 years ago (2023-06)
Written inHaskell
Operating systemPOSIX compatible: Unix, Unix-like, Linux, macOS via XQuartz
PlatformIA-32, x86-64
Available inEnglish
TypeGUI toolkit
Licensefreeware 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

[edit]
factorialF  = stdoutF >==< mapF (show . factorial . read) >==< stdinF
factorial   :: Integer -> Integer
factorial 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

[edit]

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

References

[edit]
  1. ^ Hallgren, Thomas; Carlsson, Magnus (1995). "Programming with Fudgets". In Jeuring, Johan; Meijer, Erik (eds.). Advanced Functional Programming. Lecture Notes in Computer Science. Vol. 925. Berlin, Heidelberg: Springer. pp. 137–182. doi:10.1007/3-540-59451-5_5. ISBN 978-3-540-49270-2.
  2. ^ Reid, Alastair; Singh, Satnam (1994). "Implementing Fudgets with Standard Widget Sets". Written at Ayr, Scotland. In O’Donnell, John T.; Hammond, Kevin (eds.). Functional Programming, Glasgow 1993: Proceedings of the 1993 Glasgow Workshop on Functional Programming, 5–7 July 1993. Workshops in Computing. London: Springer. pp. 222–235. doi:10.1007/978-1-4471-3236-3_18. ISBN 978-1-4471-3236-3. Retrieved 2023-10-26.
  3. ^ Hallgren, Thomas; Carlsson, Magnus (June 6, 2023). "Fudgets Home Page". altocumulus.org. Retrieved October 25, 2023.
  4. ^ Carlsson, Magnus; Hallgren, Thomas (1993-07-01). "Fudgets: A graphical user interface in a lazy functional language". Proceedings of the conference on Functional programming languages and computer architecture. ACM. pp. 321–330. doi:10.1145/165180.165228. ISBN 978-0-89791-595-3. S2CID 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. 9 (1): 105–111. doi:10.1017/S0956796899223246. ISSN 1469-7653.
[edit]