TV: Tangible Values -- composable interfaces

[ bsd3, interfaces, library ] [ Propose Tags ]

TV is a library for composing tangible values ("TVs"), i.e., values that carry along external interfaces. Values and interfaces are combined and separable, which makes TVs ready to use and to reuse.

If you just want to use TV, see the main module below (Interface.TV). The other modules (UI.Graphics.TV.*) are useful for understanding the implementation and adding new features.

Try out the examples in src/Examples.hs.

For more information, including examples, please see the project wiki page

This page and the module documentation pages have links to colorized source code and to wiki pages where you can read and contribute /user comments/. Enjoy!

© 2007 by Conal Elliott; BSD3 license.

[Skip to Readme]
Versions [RSS] [faq] 0.0, 0.1.1, 0.2, 0.4, 0.4.2, 0.4.3, 0.4.5, 0.4.6, 0.4.7, 0.4.8, 0.4.9, 0.5.0
Change log CHANGES
Dependencies base, DeepArrow, mtl, phooey (>=0.1) [details]
License BSD-3-Clause
Copyright (c) 2006 by Conal Elliott
Author Conal Elliott
Category Interfaces
Home page
Uploaded by ConalElliott at 2007-02-11T04:15:44Z
Distributions NixOS:0.5.0
Downloads 9078 total (57 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs not available [build log]
All reported builds failed as of 2016-11-11 [all 7 reports]


  • Interface
    • Interface.TV
      • Interface.TV.Common
      • Interface.TV.Defaults
      • Interface.TV.IO
      • Interface.TV.Input
      • Interface.TV.Kleisli
      • Interface.TV.Misc
      • Interface.TV.OFun
      • Interface.TV.Output
      • Interface.TV.Present
      • Interface.TV.Tangible
      • Interface.TV.UI


Maintainer's Corner

For package maintainers and hackage trustees


Readme for TV-0.1.1

[back to package description]
TV is a library for visualizing functional values.  It can also be viewed
as an approach to functional user interfaces.  It is implemented very
simply on top of Phooey (  The name "TV" comes
"tangible values", which is the central idea of the library.

TV is an intermediate stage between Phooey and Eros

See tv.cabal for more info, including home page and license.

You can configure, build, generate haddock docs, and install all in the usual
way with Cabal commands.

  runhaskell Setup.lhs configure
  runhaskell Setup.lhs build
  runhaskell Setup.lhs install

You can find the Haddock-generated documentation at

Or you can generate them locally with "make colourPrep hscolour haddock".
There are a few other tricky bits in the Makefile you probably won't need.