caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
* [Caml-list] GSoC ideas
@ 2011-02-28 18:22 Dario Teixeira
  0 siblings, 0 replies; only message in thread
From: Dario Teixeira @ 2011-02-28 18:22 UTC (permalink / raw)
  To: caml-list

Hi,

I would like to suggest a thread for brainstorming GSoC ideas.  I don't
mean one where people produce full-fledged proposals (though they are also
welcome), but instead one where even half-baked ideas can be thrown for
discussion of their feasibility.  Moreover, even if they are not picked by
GSoC students, these ideas can later on be recycled into student projects
under another umbrella.  Below are three suggestions of my own.

Cheers,
Dario Teixeira


===================================
A native generic syntax highlighter

Create a generic syntax highlighting engine that given a source-code fragment
and a description of the language syntax produces a highlighted version of
the code (in XHTML, for example).  Camlhighlight [1] does this already, but
it's only a very thin wrapper around a very heavy C++ library.  I suspect
that a much lighter and elegant solution could be built using only Ocaml.
For extra usefulness, the engine should be able to handle existing syntax
definition formats such as the ones used by Vim or other popular editors.

[1] http://camlhighlight.forge.ocamlcore.org/


======================================
A WYSIWYG text editor widget for Eliom

Create an Eliom widget offering users a WYSIWYG editor for semantically-rich
documents.  It can be used, for instance, for entering wiki content by users
who are not well-versed in wiki syntax.  This widget would also be a good
demonstration of Ocsigen 2.0's ability to generate both backend and frontend
code from a common Ocaml source.


================================================
A converter of any DTD into a combinator library

The XHTML.M module shipped with Ocsigen provides a clever way to ensure that
Eliom's output is valid XHTML in accordance to the W3C's DTD for the markup.
However, the module was constructed manually, which does not bode well for
an easy, quick, and above all, correct application of the same idea to other
Web markups such as MathML and SVG.

Most of these standard markups are still defined using old-fashioned DTDs,
which are not that expressive. In particular, I assume that the phantom-type
trickery used by XHTML.M is more than expressive enough to encode any DTD.
So, it should be possible to create a programme that given a DTD will
automatically generate an XHTML.M-like combinator library, particularly if
the DTD is annotated with extra information (such as how some PCDATAs should
map into native Ocaml types).




      


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2011-02-28 18:24 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-02-28 18:22 [Caml-list] GSoC ideas Dario Teixeira

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).