Home > Programming > C Programming Language
wxFruit:A Practical GUI Toolkitfor Functional Reactive Programming
Sort Desciption:widelyused and featurerich C++ GUI toolkit wxW idgets. However the. programming idioms used by wxHaskell are decidedly imperative making ...
Content Inside:wxFruit:A Practical GUI Toolkitfor Functional Reactive ProgrammingPage 11wxFruit:A Practical GUI ToolkitforFunctional Reactive ProgrammingBartRobinsonbartholomew.robinso n@yale.eduM ay2004AbstractAbstractAbstractAbstractThe Haskell programming language has sufferedin the pastfrom the lack ofa fullfeaturedgraphical userinterface (GUI) toolkit. The situation has beenimproved recentlybythe introduction ofwxHaskell a librarybuiltupon thewidelyused and featurerich C++ GUI toolkit wxW idgets. However theprogramming idioms used by wxHaskell are decidedly imperative makingwxHaskell a problematical choice for those who wish to keep with thefunctional andhighlyformal programming paradigms supportedbyHaskell.The need for a genuinely functional userinterface toolkit has beenaddressed in the Fruit library which brings the concepts of FunctionalReactive Programming (FRP) a programming paradigm designedspecificallyfordynamicsystems like userinterfaces tothe world ofGUIs. Fruitallowsfor a very elegant declarative style of GUI programming in Haskell.However the implementation ofFruithas been hinderedbyits reliance on alowlevel graphics library todraw graphical elements instead ofinterfacingto the hostplatforms GUI API. Thus Fruit up till now has been able tooffer only a tiny fraction of the features available in most modern userinterfaces.In this paper I presentmy attemptto address the drawbacks ofbothwxHaskell and Fruitbyreplacing the implementation ofFruitwith one thatuses the GUI resources providedbywxHaskell. The resulting hybridtoolkitcalledwxFruit combines some ofthe powerandversatilityofwxHaskell withthe elegance and simplicity ofFruit. I describe the obstacles faced in thedesign and implementation of wxFruit discuss some of the issues thatremain unresolved and present a small application demonstrating theexpressive powerofthe new toolkit.1 Introduction1 Introduction1 Introduction1 IntroductionThe workdone byCourtneyandothers 12] toapplytothe worldofgraphicaluser interfaces (G ...
Source: zoo.cs.yale.edu
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
Related Files
Programming in C C++ Java
Filed under: Programming and C Programming LanguageProgramming in C C++ Java. Course Overview. Object oriented programming languages are widely used for the development of complex software systems. ...
C Programming
Filed under: Programming and C Programming LanguageThe C Programming Language ANSI C. By Brian W. C. Kernighan & Dennis M. Ritchie. K and R. "Practical C programming". By Steve ...
An Overview of the C++ Programming Language
Filed under: Programming and C Programming LanguageThe C++ programming language provides a model of memory and computation that ... 3 The C Programming Model presents the C subset of C++ and other C++ ...
C Programming Fundamentals
Filed under: Programming and C Programming Language1 C Programming Fundamentals C is a compiled language. The user creates source code (often ... exe extension). Below is typical C program called LED.C that illustrates some fundamental C ...
Essential C
Filed under: Programming and C Programming LanguageC Programming Language (below) as part of their research at AT&T. Unix and C++ ... The C Programming Language 2nd ed. by Kernighan and Ritchie. ...
