From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Julian Graham Newsgroups: gmane.lisp.guile.user Subject: Re: ANN: libRUIN project development release 0.1.1 Date: Thu, 2 Feb 2006 08:37:50 -0500 Message-ID: <2bc5f8210602020537q78d18573rf09f7c9b82f39311@mail.gmail.com> References: <2bc5f8210601311312v4ad3f18bo4ca2b8305a77674b@mail.gmail.com> <87u0biyxhm.fsf@laas.fr> NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Trace: sea.gmane.org 1138893059 16889 80.91.229.2 (2 Feb 2006 15:10:59 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Thu, 2 Feb 2006 15:10:59 +0000 (UTC) Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Thu Feb 02 16:10:56 2006 Return-path: Envelope-to: guile-user@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by ciao.gmane.org with esmtp (Exim 4.43) id 1F4g5w-0006S6-S1 for guile-user@m.gmane.org; Thu, 02 Feb 2006 16:10:02 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1F4fcL-0004zN-DC for guile-user@m.gmane.org; Thu, 02 Feb 2006 09:39:25 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1F4enK-0000Yg-SI for guile-user@gnu.org; Thu, 02 Feb 2006 08:46:43 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1F4el2-0008O2-UU for guile-user@gnu.org; Thu, 02 Feb 2006 08:44:28 -0500 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1F4eht-0007I0-SU for guile-user@gnu.org; Thu, 02 Feb 2006 08:41:06 -0500 Original-Received: from [64.233.162.194] (helo=zproxy.gmail.com) by monty-python.gnu.org with esmtp (Exim 4.52) id 1F4egj-0004zS-SD for guile-user@gnu.org; Thu, 02 Feb 2006 08:39:54 -0500 Original-Received: by zproxy.gmail.com with SMTP id v1so398935nzb for ; Thu, 02 Feb 2006 05:37:51 -0800 (PST) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=kNAibzgwEsVJDRIYYFx9dEwaHzwfoe2jP+nuvd/sISRabk7inYA5NI7Zd6y0NHebpYfOwagNDtcfyS8OwxwDLIBFkQQzXncRlBAWyO0wEuPlC6wGYDxvA1G9ITbtvwMw6hKO/kKiMdaNBf2O9Nat/R9HGGWttGx/lBJfPJhJ+L0= Original-Received: by 10.36.42.5 with SMTP id p5mr619430nzp; Thu, 02 Feb 2006 05:37:50 -0800 (PST) Original-Received: by 10.36.252.35 with HTTP; Thu, 2 Feb 2006 05:37:50 -0800 (PST) Original-To: Julian Graham , guile-user@gnu.org In-Reply-To: <87u0biyxhm.fsf@laas.fr> Content-Disposition: inline X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: General Guile related discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: guile-user-bounces+guile-user=m.gmane.org@gnu.org Errors-To: guile-user-bounces+guile-user=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.user:5116 Archived-At: Hi Ludovic, Yes, the interface description is interpreted at runtime, though it is amost immediately converted to SXML, an S-expression-based representation that is isomorphic to the original XML. The C structures that are used during rendering are tightly bound to the spine of this S-expression (which is just a list). I'm open to the idea of a "compiled" document, but it'd need to somehow maintain a mapping to the structure of the original document, since event-handling scripts need to be able to refer to this structure via the DOM -- for exaple, in order to dynamically add and remove UI elements. I was planning to add other rendering targets, such as GTK+, but I wanted to see if there was any way to use existing libraries -- such as, say, Mozilla Gecko -- before really diving in on that one. Thanks for your remarks! Julian On 2/2/06, Ludovic Court=E8s wrote: > Hi, > > Julian Graham writes: > > > Our project description, from Savannah: libRUIN (Renderer for User > > Interfaces in Ncurses) is a rendering library for various XML-based > > user interface markup languages (such as Mozilla XUL), using the > > Ncurses terminal control library as a rendering target. GNU Guile and > > the SDOM Scheme module are used as the "glue" that manages user input > > and event handling. An application programmer passes an XML document > > (including, potentially, a set of CSS stylesheets) and an Ncurses > > WINDOW structure, and libRUIN paints the WINDOW according to the > > markup and CSS; the programmer may subsequently pass Ncurses-style > > input strings to that WINDOW via libRUIN, and libRUIN will handle the > > resulting event flows. > > As I understand it, the interface description (XML) is interpreted at > run-time to actually construct the Ncurses interface. Is this correct? > Is so, are you considering the possibility of ``compiling'' an interface > description directly to, e.g., Scheme code, in order to strip that level > of interpretation? OTOH, on the Scheme side, one could use macros to > that end. > > Also, are you planning to write a simple GTK+ (or guile-gnome) back-end > as well? :-) > > Thanks for your work! > > Ludovic. > > _______________________________________________ Guile-user mailing list Guile-user@gnu.org http://lists.gnu.org/mailman/listinfo/guile-user