Fudgets

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
Fudgets
Original authorsThomas Hallgren,
Magnus Carlsson
Initial releaseJune 1993; 32 years ago (1993-06)
Stable release
0.18.4 / June 2023; 2 years ago (2023-06)
Repository
  • {{URL|example.com|optional display text}}Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
Written inHaskell
Engine
    Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
    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 | edit source]
    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 | edit source]

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

    References

    [edit | edit source]
    1. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    2. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    3. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    4. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    5. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    [edit | edit source]