Hi Hienrich,<div><br></div><div>It is indeed a big scope as you mentioned. Matlab has been working for years to get this functionality right. On the other hand, the project you linked is interesting. For me it would already be a huge advantage if I could edit and re-evaluate expressions interactively (in a comfortable GUI, not ghci). Also a plot widget with sliders would also help. I was wondering if you know any reason the project has not been worked on for various months (as I see in the repo). Is there anyone working in this project and has a later version? I mean these are features that are even available in free math packages such as Sage.</div>
<div><br></div><div>Best regards,</div><div><br></div><div>Ernesto Rodriguez<br><br><div class="gmail_quote">On Sat, Apr 13, 2013 at 10:33 AM, Heinrich Apfelmus <span dir="ltr">&lt;<a href="mailto:apfelmus@quantentunnel.de" target="_blank">apfelmus@quantentunnel.de</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">Ernesto Rodriguez wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Dear Haskell Community,<br>
<br>
During the last months I used Haskell for machine learning, particularly in<br>
the field of Echo State Neural Networks. The main drawback I encountered is<br>
that its difficult to visualize and plot data in Haskell in spite the fact<br>
there are a couple of plotting libraries. Data visualization is very<br>
important in the field of machine learning research (not so much in machine<br>
learning implementation) since humans are very efficient to analyze<br>
graphical input to figure out what is going on in order to determine<br>
possible adjustments. I was wondering if other members of the community<br>
have experienced this drawback and would be interested in improved data<br>
visualization for Haskell, especially if there is interest to use Haskell<br>
for machine learning research. I collected my ideas in the following page:<br>
 <a href="https://github.com/netogallo/Visualizer" target="_blank">https://github.com/netogallo/<u></u>Visualizer</a> . Please provide me with feedback<br>
because if the proposal is interesting for the community I would start<br>
working with it, even if it doesn&#39;t make it to this GSoC, but a project<br>
like this will need a lot of collaboration for it to be successful.<br>
</blockquote>
<br></div>
Your project is very ambitious! In fact, too ambitious.<br>
<br>
Essentially, you want to build an interactive environment for evaluating Haskell expressions. The use case you have in mind is data visualization for machine learning, but that is just a special case. If you can zoom in and out of plots of infinite time series, you can zoom in and out of audio data, and then why not add an interactive synthesizer widget to create that audio data in the first place.<br>

<br>
Your idea decomposes into many parts, each of which would easily fill an entire GSoC project on their own.<br>
<br>
* GUI. Actually, we currently don&#39;t have a GUI library that is easy to install for everyone. Choosing wxHaskell or gtk2hs immediately separates your user base into three disjoint parts. I think it&#39;s possible to use the web browser as GUI instead (&lt;<a href="https://github.com/HeinrichApfelmus/threepenny-gui" target="_blank">https://github.com/<u></u>HeinrichApfelmus/threepenny-<u></u>gui</a>&gt;).<br>

<br>
* Displaying Haskell values in a UI. You mentioned that you want matrices to come with a contextual menu where you can select different transformations on them. It&#39;s just a minor step to allow any Haskell function operating on them. I have a couple of ideas on how to do this is in a generic fashion. Unfortunately, the project from last year &lt;<a href="http://hackage.haskell.org/trac/summer-of-code/ticket/1609" target="_blank">http://hackage.haskell.org/<u></u>trac/summer-of-code/ticket/<u></u>1609</a>&gt; did not succeed satisfactorily. There were some other efforts, but I haven&#39;t seen anything released.<br>

<br>
* UI programming is hard. You could easily spend an entire project on implementing a single visualization, for instance an infinite time series with responsive zoom. It&#39;s not difficult to implement something, but adding the right level of polish so that people want to use it takes effort. There&#39;s a reason that Matlab costs money, and there&#39;s a reason that your mentor relies on it.<br>

<br>
* Functionality specific to machine learning. Converting Vector to a format suitable for representation of matrices, etc. This is your primary interest.<br>
<br>
<br>
Note that, unfortunately, the parts depend on each other from top to bottom. It&#39;s possible to write functionality specific to machine learning, but it would be of little impact if it doesn&#39;t come with a good UI.<br>

<br>
<br>
Best regards,<br>
Heinrich Apfelmus<br>
<br>
--<br>
<a href="http://apfelmus.nfshost.com" target="_blank">http://apfelmus.nfshost.com</a><div class="HOEnZb"><div class="h5"><br>
<br>
<br>
______________________________<u></u>_________________<br>
Haskell-Cafe mailing list<br>
<a href="mailto:Haskell-Cafe@haskell.org" target="_blank">Haskell-Cafe@haskell.org</a><br>
<a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">http://www.haskell.org/<u></u>mailman/listinfo/haskell-cafe</a><br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br>Ernesto Rodriguez<div><br></div><div>Bachelor of Computer Science - Class of 2013</div><div>Jacobs University Bremen</div><div><br></div><div><br></div>
<div><br></div>
</div>