Fudgets
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 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 the fact that they are 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) >==< 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. Note that 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 license of Fudgets claims that this software is free 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), O’Donnell, John T.; Hammond, Kevin (eds.), "Implementing Fudgets with Standard Widget Sets", Functional Programming, Glasgow 1993: Proceedings of the 1993 Glasgow Workshop on Functional Programming, Ayr, Scotland, 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
- Fudgets home page (latest release marked January 13, 2016)
- Fudgets Phd thesis by Hallgren and Carlsson
- v
- t
- e
Implementations (features) |
| ||||||||
---|---|---|---|---|---|---|---|---|---|
Libraries |
| ||||||||
Package managers |
| ||||||||
Windowing systems | |||||||||
Web frameworks |
| ||||||||
![](http://upload.wikimedia.org/wikipedia/commons/thumb/4/4d/Logo_of_the_Haskell_programming_language.svg/100px-Logo_of_the_Haskell_programming_language.svg.png)
Eponym |
---|
- Arvind
- Lennart Augustsson
- Richard Bird
- Jeremy Gibbons
- Andrew D. Gordon
- Paul Hudak
- John Hughes
- John Launchbury
- John MacFarlane
- Simon Marlow
- Conor McBride
- Erik Meijer
- Simon Peyton Jones
- David Roundy
- Joe Stoy
- Audrey Tang
- Simon Thompson
- Philip Wadler
![](http://upload.wikimedia.org/wikipedia/commons/thumb/8/89/Symbol_book_class2.svg/16px-Symbol_book_class2.svg.png)
![](http://upload.wikimedia.org/wikipedia/en/thumb/9/96/Symbol_category_class.svg/16px-Symbol_category_class.svg.png)
![](http://upload.wikimedia.org/wikipedia/en/thumb/9/96/Symbol_category_class.svg/16px-Symbol_category_class.svg.png)
![]() | This computer-library-related article is a stub. You can help Wikipedia by expanding it. |
- v
- t
- e