Personal tools


From HaskellWiki

< Yhc
Revision as of 21:21, 13 February 2006 by MikeDodds (Talk | contribs)

Jump to: navigation, search
Part of Yhc


Yhe is a command-line style tool in the vein of Ghci and Hugs. It consists of a command-line tool, yhe, and a GUI, Gyhe, written using gtk2hs. It was mostly written by Mike Dodds.

Features of Gyhe:

  • Single and multi-line input
  • Cross-platform gui (works on Linux, Windows and MacOS)
  • Syntax-highlighting of input with gtksourceview widget


1 Trying Gyhe

Gyhe is still very much alpha software - if you need a stable haskell command-line gui, I'd suggest you use WinHugs. That said, if you want to try Gyhe:

  • Download the yhc-devel branch from darcs
  • Ensure that you have the development version of gtk2hs installed.
  • Change directory to yhc-devel/src/interactive/
  • Run 'make gui'

...and the gyhe executable should be created in yhc-devel/inst/bin

2 Todo List


  • Add lazy evaluation - currently we only get a result after the program terminates
  • Generally the evaluation code needs a lot of work


  • Put the evaluation code into a thread so that the gui doesn't block while evaluating. I've tried this, and the performance advantage is extremely marginal - may be worth while if we implement user interaction with a running process.
  • Add file URI support to link to a file and load a text editor. Currently waiting for a response from the gtk2hs people re: clickable regions in TextView widgets.
  • Rebuild the icon - the lambda should be centered.
  • Fix the makefile to detect the sourceview widget - at the moment it is always off at compile-time

Speculative / Moon on a stick:

  • Save the pane-divider position between sessions - I don't know if we really want this?
  • Add clickable links into Hoogle
  • Handle drag-and-drop events from other processes - probably OS dependant
  • Windows version, like WinHugs, using native widgets.

3 Bugs

  • Closing while maximised and then restarting results in a fullscreen non-maximised window

4 Screenshots