Difference between revisions of "Yhc/Yhe"

From HaskellWiki
< Yhc
Jump to navigation Jump to search
 
Line 8: Line 8:
 
* Syntax-highlighting of input with gtksourceview widget
 
* Syntax-highlighting of input with gtksourceview widget
   
== Todo ==
+
== 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
  +
  +
== Todo List ==
   
 
General:
 
General:
Line 32: Line 42:
 
== Screenshots ==
 
== Screenshots ==
   
http://www-users.cs.york.ac.uk/~miked/images/gyhe_sceengrab2.jpg
+
http://www-users.cs.york.ac.uk/~miked/images/gyhe_screengrab3.png
 
http://www-users.cs.york.ac.uk/~miked/images/gyhe_sceengrab1.jpg
 

Revision as of 21:21, 13 February 2006

Part of Yhc

(Download)

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

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

Todo List

General:

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

GUI:

  • 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.

Bugs

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

Screenshots

gyhe_screengrab3.png