id	summary	reporter	owner	description	type	status	priority	resolution	keywords	cc	topic	difficulty	mentor
83	Graphical evaluation	palomer	none	"I propose to let the programmer the reductions in specific portions of their code graphically. for example, take the function
fac n = if n = 0 then 1 else n * fac (n-1)
fac 2 would evaluate as follows:

fac 2 ->
if 2 = 0 then 1 else 2 * (fac 1) ->
2 * (fac 1) ->
2 * (if 1 = 0 then 1 else 1 * (fac 0)) ->
2 * (1 * (if 0 = 0 then 1 else 0 * (fac -1)) ->
2 * (1 * 1) ->
2 * 1 ->
2

This would be tremendously useful for beginners. Furthermore, I have also wished for such a tool when debugging. This project would differ from Hat ( http://www.haskell.org/hat/#intro ) in that:
 * It would not involve any compiler
 * You would not have to start your tracing from where your program aborted
 * terms would collapse graphically, making the output more readable 


This project would involve:

 * Choosing heuristics for deciding which reductions to show and giving the users a way for them to decide which reductions should be shown
 * Implementing a way to present the reductions. This would involve collapsing terms
 * Writing a haskell evaluator
 * Incorporating it into Yi with gtk2hs

== Interested Mentors ==
 * ?

== Interested Students ==
 * Juan José Olivera Rodríguez <jotajota@hetnet.nl>
 * Tatiana Andrea Moruno R. <[mailto:tatiana.moruno@gmail.com]> <[mailto:tatiana@memi.umss.edu.bo]>
 * Zsolt Dollenstein <[mailto:zsol+scratch@elte.hu]>"	proposed-project	closed	not yet rated	wontfix	evaluation, teaching, debugging		misc	1 person Summer	not-accepted
