<div dir="ltr">My project was to implement support for IPywidgets (<a href="https://github.com/ipython/ipywidgets">https://github.com/ipython/ipywidgets</a>), in IHaskell (<a href="https://github.com/gibiansky/IHaskell">https://github.com/gibiansky/IHaskell</a>). You should look at IPywidgets if you're interested in working with widgets in Python.<div><br></div><div>The IPywidgets have some javascript that runs in the Jupyter notebook frontend, and some python code that integrates with IPython to provide support for them. My project reused the javascript provided by IPywidgets, and implemented support for them inside IHaskell.</div><div><br></div><div>The formlets idea can be easily applied here. For example, one can implement the date picker example from the papers by creating a module that exports:</div><div><br></div><div><font face="monospace, monospace">    mkDateFormlet :: IO (Box, IO (Maybe Date))</font></div><div><br></div><div>Here, `Box` is a widget from `ihaskell-widgets` that can hold more widgets inside it. In our case, it may hold any widgets that can be used to read a date.</div><div><br></div><div>The `IO (Maybe Date)` can be used to read a date from the `Box` that we provided. As the Box is a widget, it can be displayed inside the jupyter notebook.</div><div><br></div><div>These two together constitute a formlet. Am I right in saying this?</div><div><br></div>This will make for a good example, I'll implement this as an example notebook for the online demo. Thanks for the great idea.</div><div class="gmail_extra"><br><div class="gmail_quote">On 17 September 2015 at 16:08, Graham Klyne <span dir="ltr"><<a href="mailto:gk@ninebynine.org" target="_blank">gk@ninebynine.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<br>
I spotted this project and my interest was piqued.  I am particularly wondering if there's scope in some future development to exploit ideas of formlets/form lenses:<br>
<br>
  - <a href="http://homepages.inf.ed.ac.uk/slindley/papers/formlenses-bx13.pdf" rel="noreferrer" target="_blank">http://homepages.inf.ed.ac.uk/slindley/papers/formlenses-bx13.pdf</a><br>
  - <a href="http://homepages.inf.ed.ac.uk/slindley/papers/formlets-essence.pdf" rel="noreferrer" target="_blank">http://homepages.inf.ed.ac.uk/slindley/papers/formlets-essence.pdf</a><br>
  - <a href="http://groups.inf.ed.ac.uk/links/papers/formlets-tr2008.pdf" rel="noreferrer" target="_blank">http://groups.inf.ed.ac.uk/links/papers/formlets-tr2008.pdf</a><br>
<br>
(I'm currently working on a project in Python that could benefit from these ideas, but I'm not yet ready to refactor everything because some requirements are still emerging.)<br>
<br>
#g<br>
--<br>
<br>
<br>
On 17/09/2015 11:05, Sumit Sahrawat, Maths & Computing, IIT (BHU) wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
My project "Interactive widgets in IHaskell" was completed successfully.<br>
We'll be having a public announcement with an online demo on <a href="http://try.jupyter.org" rel="noreferrer" target="_blank">try.jupyter.org</a><br>
soon.<br>
<br>
On 17 September 2015 at 15:19, Dominic Steinitz <<a href="mailto:dominic@steinitz.org" target="_blank">dominic@steinitz.org</a>><br>
wrote:<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I have created a wiki page here:<br>
<a href="https://wiki.haskell.org/Google_summer_of_code#Accepted_GSOC2015_projects" rel="noreferrer" target="_blank">https://wiki.haskell.org/Google_summer_of_code#Accepted_GSOC2015_projects</a><br>
<br>
Dominic Steinitz<br>
<a href="mailto:dominic@steinitz.org" target="_blank">dominic@steinitz.org</a><br>
<a href="http://idontgetoutmuch.wordpress.com" rel="noreferrer" target="_blank">http://idontgetoutmuch.wordpress.com</a><br>
<br>
On 17 Sep 2015, at 09:18, Dominic Steinitz <<a href="mailto:dominic@steinitz.org" target="_blank">dominic@steinitz.org</a>> wrote:<br>
<br>
For example, if I look at<br>
<br>
<br>
    - Implementation of Layered Gramamar of Graphics<br>
    <<a href="https://gist.github.com/AjayRamanathan/c84a4641836700a2547b" rel="noreferrer" target="_blank">https://gist.github.com/AjayRamanathan/c84a4641836700a2547b</a>> - chinu<br>
    <<a href="https://github.com/AjayRamanathan/Plot" rel="noreferrer" target="_blank">https://github.com/AjayRamanathan/Plot</a>><br>
<br>
<br>
I see the last commit was made on 30 June and the README says<br>
<br>
Working on a implementation of layered grammar of graphics. Work in<br>
progress, Nothing to see here, Move on.<br>
<br>
<br>
I don’t wish to be judgemental but this rather looks like the goal was<br>
never achieved?<br>
<br>
Dominic Steinitz<br>
<a href="mailto:dominic@steinitz.org" target="_blank">dominic@steinitz.org</a><br>
<a href="http://idontgetoutmuch.wordpress.com" rel="noreferrer" target="_blank">http://idontgetoutmuch.wordpress.com</a><br>
<br>
On 17 Sep 2015, at 09:13, Dominic Steinitz <<a href="mailto:dominic@steinitz.org" target="_blank">dominic@steinitz.org</a>> wrote:<br>
<br>
In past years, Gwern did an outstanding job of summarising the GSoC<br>
proposals and how well they had done:<br>
<a href="http://www.gwern.net/Haskell%20Summer%20of%20Code" rel="noreferrer" target="_blank">http://www.gwern.net/Haskell%20Summer%20of%20Code</a><br>
<br>
Here are the proposals for this year. Perhaps students or their mentors<br>
could comment on how successful their projects have been? I realise this is<br>
a very poor substitute for Gwen’s analyses but it would better than nothing.<br>
<br>
<br>
    - A Strict language pragma for GHC - Adam Sandberg Eriksson<br>
    <<a href="https://github.com/adamse" rel="noreferrer" target="_blank">https://github.com/adamse</a>><br>
    - STM Data Structures Implementation<br>
    <<a href="https://gist.github.com/Alllex/439480b7e80303f19ddc" rel="noreferrer" target="_blank">https://gist.github.com/Alllex/439480b7e80303f19ddc</a>> - Alex Semin<br>
    - Implementation of Layered Gramamar of Graphics<br>
    <<a href="https://gist.github.com/AjayRamanathan/c84a4641836700a2547b" rel="noreferrer" target="_blank">https://gist.github.com/AjayRamanathan/c84a4641836700a2547b</a>> - chinu<br>
    <<a href="https://github.com/AjayRamanathan/Plot" rel="noreferrer" target="_blank">https://github.com/AjayRamanathan/Plot</a>><br>
    - Implementing Version Comparison for Cabal Packages - Craig Roche<br>
    <<a href="https://github.com/cdxr" rel="noreferrer" target="_blank">https://github.com/cdxr</a>><br>
    - Improving Hackage Discoverability<br>
    <<a href="http://dzackgarza.com/mockup/main.html" rel="noreferrer" target="_blank">http://dzackgarza.com/mockup/main.html</a>> - D. Zack Garza<br>
    <<a href="https://github.com/dzackgarza" rel="noreferrer" target="_blank">https://github.com/dzackgarza</a>><br>
    - Darcsden improvements <<a href="http://darcs.net/GSoC/2015-Darcsden" rel="noreferrer" target="_blank">http://darcs.net/GSoC/2015-Darcsden</a>> - Daniil<br>
    Frumin <<a href="https://github.com/co-dan" rel="noreferrer" target="_blank">https://github.com/co-dan</a>><br>
    - Pursuit enhancements<br>
    <<a href="https://gist.github.com/hdgarrood/0a389937149453c69e03" rel="noreferrer" target="_blank">https://gist.github.com/hdgarrood/0a389937149453c69e03</a>> - Harry<br>
    Garrood <<a href="https://github.com/hdgarrood" rel="noreferrer" target="_blank">https://github.com/hdgarrood</a>><br>
    - Improvements For HBLAS And Adding LAPACK Bindings. - JuejiYang<br>
    - A standalone functional parser for CommonMark<br>
    <<a href="https://gist.github.com/Jubobs/7a9298eeaf02bcefbc35" rel="noreferrer" target="_blank">https://gist.github.com/Jubobs/7a9298eeaf02bcefbc35</a>> - Julien Cretel<br>
    <<a href="https://github.com/Jubobs" rel="noreferrer" target="_blank">https://github.com/Jubobs</a>><br>
    - Refactor program with HLint suggestions<br>
    <<a href="http://mpickering.github.io/gsoc2015.html" rel="noreferrer" target="_blank">http://mpickering.github.io/gsoc2015.html</a>> - Matthew Pickering<br>
    <<a href="https://github.com/mpickering" rel="noreferrer" target="_blank">https://github.com/mpickering</a>><br>
    - Replication back-end for acid-state - Max Voit<br>
    - Native Haskell Type Encoding for LiquidHaskell<br>
    <<a href="https://gist.github.com/spinda/b261167303515cc8a1d9" rel="noreferrer" target="_blank">https://gist.github.com/spinda/b261167303515cc8a1d9</a>> - Michael Smith<br>
    <<a href="https://github.com/spinda" rel="noreferrer" target="_blank">https://github.com/spinda</a>><br>
    - Exhaustiveness Checker for PureScript - Nicolas Del Piano<br>
    <<a href="https://github.com/nicodelpiano" rel="noreferrer" target="_blank">https://github.com/nicodelpiano</a>><br>
    - Fast splittable pseudorandom number generator for System.Random<br>
    <<a href="https://gist.github.com/nkartashov/e46fd146b1df2d79aaf3" rel="noreferrer" target="_blank">https://gist.github.com/nkartashov/e46fd146b1df2d79aaf3</a>> - Nikita<br>
    Kartashov <<a href="https://github.com/nkartashov" rel="noreferrer" target="_blank">https://github.com/nkartashov</a>><br>
    - Interactive widgets in IHaskell<br>
    <<a href="https://github.com/sumitsahrawat/gsoc/blob/master/2015/ihaskell.pdf" rel="noreferrer" target="_blank">https://github.com/sumitsahrawat/gsoc/blob/master/2015/ihaskell.pdf</a>><br>
     - Sumit Sahrawat <<a href="https://github.com/sumitsahrawat" rel="noreferrer" target="_blank">https://github.com/sumitsahrawat</a>><br>
    - Improvements to yesod-devel - urbanslug<br>
    <<a href="https://github.com/urbanslug" rel="noreferrer" target="_blank">https://github.com/urbanslug</a>><br>
    - Implement nix-like package management features in cabal<br>
    <<a href="https://gist.github.com/fugyk/37510958b52589737274" rel="noreferrer" target="_blank">https://gist.github.com/fugyk/37510958b52589737274</a>> - Vishal Agrawal<br>
    <<a href="https://github.com/fugyk" rel="noreferrer" target="_blank">https://github.com/fugyk</a>><br>
    - Haddock improvements - Łukasz Hanuszczak <<a href="https://github.com/mrhania" rel="noreferrer" target="_blank">https://github.com/mrhania</a>><br>
<br>
<br>
Dominic Steinitz<br>
<a href="mailto:dominic@steinitz.org" target="_blank">dominic@steinitz.org</a><br>
<a href="http://idontgetoutmuch.wordpress.com" rel="noreferrer" target="_blank">http://idontgetoutmuch.wordpress.com</a><br>
<br>
<br>
<br>
<br>
_______________________________________________<br>
Haskell-Cafe mailing list<br>
<a href="mailto:Haskell-Cafe@haskell.org" target="_blank">Haskell-Cafe@haskell.org</a><br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe</a><br>
<br>
<br>
</blockquote>
<br>
<br>
<br>
<br>
_______________________________________________<br>
Haskell-Cafe mailing list<br>
<a href="mailto:Haskell-Cafe@haskell.org" target="_blank">Haskell-Cafe@haskell.org</a><br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe</a><br>
<br>
</blockquote>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div>Regards</div><div dir="ltr"><div><br></div><div>Sumit Sahrawat</div></div></div></div></div></div></div>
</div>