phooey 2.0 → 2.0.0.1
raw patch · 9 files changed
+7/−185 lines, 9 filesdep ~basedep ~mtldep ~reactivenew-uploader
Dependency ranges changed: base, mtl, reactive
Files
- CHANGES +0/−103
- Makefile +0/−9
- README +0/−28
- TODO +0/−11
- phooey.cabal +6/−5
- src/Examples/Examples.hs +0/−21
- src/Graphics/UI/Phooey/Monad.hs +1/−1
- src/Graphics/UI/Phooey/Test.hs +0/−3
- src/Graphics/UI/Phooey/tst.hs +0/−4
− CHANGES
@@ -1,103 +0,0 @@-% [Phooey](http://haskell.org/haskellwiki/Phooey) changes--== Version 1.4 ==--* Switched from DataDriven to reactive.-* Exposed a few more functions-* WinEvents: motion' and motionDiff' carry key modifiers (shift, control, etc)-* Menu-related functions in WinEvents-* wxHaskell attributes as Pair-* Several tests for events & sources: t1, ...-* Changed examples to track Event/Source changes, especially with accumulation.-* Calculator now shows keys pressed as well as result-* Optional debugging output for mouse events.--## Version 1.3 ##--This version is mostly a simplification and sync'ing with changes to-DataDriven (previously part of TypeCompose) and TV.--+ Several new examples in Examples.Monad, including the classic- calculator.-+ Removed modules `TagT`,`LayoutT` and `Arrow` from `Graphics.UI.Phooey`.-+ Removed `Examples.Arrow`.-+ Simplified `Phooey.Monad`.-+ Removed `isliderDyn` & examples, for simplicity. I'd like to find more- compelling examples of dynamic UIs and recursive UIs.-+ Replaced `title` functions with `title` method from `Title` class in- [TypeCompose].-+ Fixed [Examples.Applicative](src/Examples/Applicative.hs).-+ Added [WinEvents](src/Graphics/UI/Phooey/WinEvents.hs): with high-level- interfaces to [wxHaskell] events.--## Version 1.2 ##--+ Renamed "Upd" to "Act" in Monad.hs-+ Added "commandNews" in Imperative.hs-+ Tweaked for compatibility with [TypeCompose] 0.1--## Version 1.1 ##--+ Added [Examples.Applicative](src/Examples/Applicative.hs). I'd- accidentally omitted it.-+ In [Imperative](src/Graphics/UI/Phooey/Imperative.hs): renamed "mkNews"- to "commandNews" and added a more general function called "mkNews".--## Version 1.0 ##--+ Uses new TypeCompose package, which includes a simple implementation of- data-driven computation.-+ New Applicative functor interface.-+ Eliminated the catch-all Phooey.hs module. Now import any one of- Graphics.UI.Phooey.{Monad,Applicative,Arrow}. -+ renamed "textEntry" to "stringEntry"-+ added "isliderDisplay"-+ Phooey.Monad has two different styles of output widgets, made by owidget- and owidget'. The latter is used to implement Phooey.Applicative.-+ Self- and mutually-recursive widgets now work again in Phooey.Monad.- They still hang in Phooey.Arrow.--## Version 0.3.1 ##--+ Fixed dos-style line breaks in src/MonadExamples.hs-+ Fixed Functor UI def (broke the circularity)--## Version 0.3 ##--+ Finished renaming "CallbackT" to "CallBackT" (thanks to Michal Palka for- catching the inconsistency).-+ Renamed AmA.hs to AFA.hs. AFA is more general in that it works with- applicative functors instead of monads.-+ ArrowUI.title now defined in terms of ArrowMonad.title.-+ Added src/MonadExamples.hs-+ Changed type of MonadUI.runUI. Now takes a UI (Source ()) instead of UI- (). The new type is more convenient for use.-+ Relaxed type of LayoutT.runL, to accommodate the new MonadUI.runUI type.-+ Makefile tweaks to fit cabal-make changes.--## Version 0.2.1 ##--+ Changed all files to *nix-style line endings.--## Version 0.2 ##--+ Finally fixed a long-standing stretching bug. When widgets are abutted- horizontally, they now all stretch together.--## Version 0.1 ##--+ Web-located references to other libraries (base, mtl, arrows.)-+ Colorized source code links (thanks to hscolour).-+ "User Comments", for adding add comments and questions.-+ New home (wiki) page: http://haskell.org/haskellwiki/Phooey-+ Switched from monadLib to mtl, for easier installation-+ Added this "CHANGES" file-+ Text input (textEntry)-+ Fixed all of the module intro comments-+ Boolean input/output (checkBoxEntry, checkBoxDisplay)-+ runNamedUI for explicit window title (rather "Phooey GUI")-+ Phooey is now used in TV: http://haskell.org/haskellwiki/Phooey .---[TypeCompose]: http://haskell.org/haskellwiki/TypeCompose-[wxHaskell]: http://haskell.org/haskellwiki/wxHaskell
− Makefile
@@ -1,9 +0,0 @@-# For special configuration, especially for docs. Otherwise see README.--# haddock-interfaces=\-# http://haskell.org/ghc/docs/latest/html/libraries/base,c:/ghc/ghc-6.6/doc/html/libraries/base/base.haddock \-# http://haskell.org/ghc/docs/latest/html/libraries/mtl,c:/ghc/ghc-6.6/doc/html/libraries/mtl/mtl.haddock \-# http://darcs.haskell.org/packages/TypeCompose/doc/html,c:/Haskell/packages/TypeCompose-0.2/doc/html/TypeCompose.haddock \-# http://wxhaskell.sourceforge.net/doc,c:/Haskell/wxhaskell/out/doc/wxhaskell.haddock--include ../my-cabal-make.inc
− README
@@ -1,28 +0,0 @@-Phooey is a library for functional user intefaces. It's currently built-on wxHaskell, but could probably be tweaked to run on top of other-imperative UI libraries. For a fuller description and link to-documentation, please see the project wiki page:-- http://haskell.org/haskellwiki/phooey--You can configure, build, and install all in the usual way with Cabal-commands.-- runhaskell Setup.lhs configure- runhaskell Setup.lhs build- runhaskell Setup.lhs install--See src/Examples.hs for examples.--The dependencies are recorded in phooey.cabal. Besides base, you'll need-"mtl", "arrows" and the wxHaskell packages "wx" and "wxcore". I've tested-Phooey with wxHaskell built on wxWidgets-2.4.2 and on wxWidgets-2.6.3.-Both work, but wxWidgets-2.4.2 is much friendlier with ghci, as it lets-you run more than one wxHaskell app (Phooey app) per ghci session. With-wxWidgets-2.6.3, the ghci process will crash if you try to run two GUIs.-(True also for ghc-compiled code, but rarely problematic.) Since there is-no known fix for for this crashing problem, I recommend wxWidgets-2.4.2.--If you find that Phooey doesn't work with some version of base, mtl,-arrows, wx, or wxcore, please let me know, and I'll update phooey.cabal-accordingly.
− TODO
@@ -1,11 +0,0 @@-% [Phooey](http://haskell.org/haskellwiki/Phooey) To Do--+ Even out the stretching between sub-layouts. I nest binary layout- operators, and I think the stretch space is divided in two each time.- Look for *associative* layout operators. I may have to make my own- layout data type that holds lists of layouts, so I can append them.- Right now, I just make rows, columns, boxed, and widget (with fill), so- the data type could reflect those tools.--+ Consider rewriting `Phooey.Monad` to use mtl-style operations instead of- working on `UI'`.
phooey.cabal view
@@ -1,5 +1,5 @@ Name: phooey-Version: 2.0+Version: 2.0.0.1 Synopsis: Functional user interfaces Category: User Interfaces Description:@@ -35,14 +35,15 @@ Stability: provisional Hs-Source-Dirs: src Extensions: CPP, Arrows-Build-Depends: base, array, mtl, wx, wxcore, TypeCompose>=0.2, reactive+Build-Type: Simple+Build-Depends: base < 5, array, mtl < 2, wx, wxcore, TypeCompose>=0.2, reactive < 0.6 Exposed-Modules: Graphics.UI.Phooey.Imperative Graphics.UI.Phooey.WinEvents Graphics.UI.Phooey.Monad Graphics.UI.Phooey.Applicative Extra-Source-Files:- Examples.Monad- Examples.Applicative-ghc-options: -O -Wall+ src/Examples/Monad.hs+ src/Examples/Applicative.hs+ghc-options: -Wall
− src/Examples/Examples.hs
@@ -1,21 +0,0 @@-{-# OPTIONS #-}--------------------------------------------------------------------------- |--- Module : Examples.Examples--- Copyright : (c) Conal Elliott 2007--- License : LGPL--- --- Maintainer : conal@conal.net--- Stability : experimental--- Portability : portable--- --- Imports example modules for easy error-checking-------------------------------------------------------------------------module Examples.Examples where---- import qualified Examples.Imperative as Imp-import qualified Examples.Monad as Mon-import qualified Examples.Applicative as App--- import qualified Examples.Arrow as Arr
src/Graphics/UI/Phooey/Monad.hs view
@@ -1,5 +1,5 @@ {-# LANGUAGE TypeOperators, TypeSynonymInstances, FlexibleContexts- , UndecidableInstances, ScopedTypeVariables #-}+ , UndecidableInstances, ScopedTypeVariables, Rank2Types #-} -- For ghc 6.6 compatibility -- {-# OPTIONS -fglasgow-exts #-}
− src/Graphics/UI/Phooey/Test.hs
@@ -1,3 +0,0 @@-import Graphics.UI.WX-main = io >> io where io = start (frame [] >> return ())-
− src/Graphics/UI/Phooey/tst.hs
@@ -1,4 +0,0 @@-{-# OPTIONS -fglasgow-exts #-}---- Build an arrow out of two -newtype AFF (~>) f src a b = FF (f (src a ~> src b))