Original author(s) | Thomas Hallgren, Magnus Carlsson |
---|---|
Initial release | June 1993; 31 years ago (1993-06) |
Stable release | 0.18.4 / June 2023; 1 year ago (2023-06) |
Written in | Haskell |
Operating system | POSIX compatible: Unix, Unix-like, Linux, macOS via XQuartz |
Platform | IA-32, x86-64 |
Available in | English |
Type | 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. 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.
The authors claim that many of the advantages of Fudgets come from it being programmed in a lazy functional programming language.
The main entity of toolkit is fudget (implemented on low level through stream processors) which has its own input and output. 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) >==< stdinF factorial :: Integer -> Integer factorial n = product
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.
References
- 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.
- 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.
- Hallgren, Thomas; Carlsson, Magnus (June 6, 2023). "Fudgets Home Page". altocumulus.org. Retrieved October 25, 2023.
- 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.
- 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.
External links
- Official website, latest release marked January 13, 2016
- Fudgets Phd thesis by Hallgren and Carlsson
Haskell programming | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Software |
| |||||||||||||||||||||
Book | ||||||||||||||||||||||
Community |
| |||||||||||||||||||||
Italics = discontinued
Book Category:Family Category:Software |
This computer-library-related article is a stub. You can help Misplaced Pages by expanding it. |