caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Dario Teixeira <darioteixeira@yahoo.com>
To: caml-list@inria.fr
Subject: [Caml-list] GSoC ideas
Date: Mon, 28 Feb 2011 10:22:07 -0800 (PST)	[thread overview]
Message-ID: <676122.49521.qm@web111511.mail.gq1.yahoo.com> (raw)

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).




      


                 reply	other threads:[~2011-02-28 18:24 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=676122.49521.qm@web111511.mail.gq1.yahoo.com \
    --to=darioteixeira@yahoo.com \
    --cc=caml-list@inria.fr \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).