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
