Org Mode ideas for GNU's application to GSoC 2012
Here is some info from Google about a typical GSoC ideas page:
"An Ideas list should be a list of suggested student projects. This
list is meant to introduce contributors to your project's needs and to
provide inspiration to would-be student applicants. It is useful to
classify each idea as specifically as possible, e.g. "must know
Python" or "easier project; good for a student with more limited
experience with C++." If your organization plans to provide an
application template, it would be good to include it on your Ideas
Keep in mind that your Ideas list should be a starting point for
student applications; we've heard from past mentoring organization
participants that some of their best student projects are those that
greatly expanded on a proposed idea or were blue-sky proposals not
mentioned on the Ideas list at all. A link to a bug tracker for your
open source organization is NOT an ideas list."
(quoted from the official GSoC 2012 home page)
PicoLisp is one out of many Org Babel languages, but may be special in the sense that it does not only contribute to the static webpublishing capacities, but may introduce dynamic webprogramming on top of a real database into Org Mode.
Real interactive webprogramming frequently involves a (SQL) database like MySQL, a programming language like PHP or Python to build a MVC (Model-View-Controller) application on top of the database, a web framework for that programming language to make the programmers life easier (e.g. Django for Python), and a persistence layer that abstract away the conceptual mismatch between the SQL database and the (mostly) object-oriented application. Sometimes, a WYSIWYG html editor like MS Frontpage is invovled too, when webdesigners design the UI of the application.
This kind of dynamic webprogramming can't be done with Org Mode. Typical webpages made with Org Mode are static in nature, even if they update their content frequently with some cron jobs on the server. There is no interaction with the user.
Considering the web stack for dynamic web apps described above, Org Mode really functions as a kind of 'Frontpage on steroids' for highly skilled academics. The project idea is to let PicoLisp replace all the other elements of the webstack and combine Org Mode and PicoLisp into an entirely Lisp-based framework for dynamic web programming.
In the PicoLisp application framework, UI and database are unified. Database objects are first class members of the language, and the UI elements act directly on this object-oriented lisp database (that is fast and scalable). No external SQL storage is needed, no persistence layer between the relational world of the DB and the object-oriented world of the application, and no glue code (controller) that connects the view to the model.
By merging PicoLisp's framework for rapid web-application development with Org Modes framework for rapid (web-) content production via Org Babel, new kinds of websites produced with Org Mode should become possible.
Implementing a multi-programming-language "notebook" like console interface build on top of Org-mode and Babel (with both Emacs and HTML interfaces) [Mentor: Eric Schulte] Adding support for asynchronous code block execution [Mentor: Eric Schulte] Adding support for piping results between code blocks allowing many blocks to run concurrently (probably best combined with asynchronous execution) [Mentor: Eric Schulte]
Adding support for handling output written to STDERR [Mentor: Eric Schulte]