From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: rm@fabula.de Newsgroups: gmane.lisp.guile.devel,gmane.lisp.guile.user Subject: Re: Doc organization (Re: Around again, and docs lead role) Date: Thu, 8 May 2003 19:50:58 +0200 Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Message-ID: <20030508175058.GD920@www> References: <3E92E1B4002B0632@pop3.tiscalinet.es> <3EAFE4EC000D9733@pop1.tiscalinet.es> <87d6its93b.fsf@raven.i.defaultvalue.org> NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: main.gmane.org 1052413082 29476 80.91.224.249 (8 May 2003 16:58:02 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Thu, 8 May 2003 16:58:02 +0000 (UTC) Cc: Neil Jerram Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Thu May 08 18:57:58 2003 Return-path: Original-Received: from monty-python.gnu.org ([199.232.76.173]) by main.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 19Dof0-0007SY-00 for ; Thu, 08 May 2003 18:54:22 +0200 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.10.13) id 19Dof9-0005zJ-03 for guile-devel@m.gmane.org; Thu, 08 May 2003 12:54:31 -0400 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.10.13) id 19Dodz-0005Uy-00 for guile-devel@gnu.org; Thu, 08 May 2003 12:53:19 -0400 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.10.13) id 19DodV-0005Cg-00 for guile-devel@gnu.org; Thu, 08 May 2003 12:52:50 -0400 Original-Received: from [217.22.192.104] (helo=www.elogos.de) by monty-python.gnu.org with esmtp (Exim 4.10.13) id 19DocP-0004zR-00; Thu, 08 May 2003 12:51:41 -0400 Original-Received: by www.elogos.de (Postfix, from userid 5001) id E366F1457F; Thu, 8 May 2003 19:50:58 +0200 (CEST) Original-To: Rob Browning Content-Disposition: inline In-Reply-To: <87d6its93b.fsf@raven.i.defaultvalue.org> User-Agent: Mutt/1.5.3i Original-cc: guile-devel@gnu.org Original-cc: guile-user@gnu.org X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1b5 Precedence: list List-Id: Developers list for Guile, the GNU extensibility library List-Help: List-Post: List-Subscribe: , List-Archive: List-Unsubscribe: , Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Xref: main.gmane.org gmane.lisp.guile.devel:2295 gmane.lisp.guile.user:1919 X-Report-Spam: http://spam.gmane.org/gmane.lisp.guile.user:1919 THANKS, Rob! On Thu, May 08, 2003 at 11:21:12AM -0500, Rob Browning wrote: > Neil Jerram writes: > > > Specifically, I think we should (**) promote doing as much programming > > as possible in Scheme, and restrict documentation of the C API to the > > parts needed for interfacing Scheme to C code. (To give a concrete > > example from another thread, I see no need for people to write C code > > that uses scm_internal_catch.) > > I'm not sure how commonly this is an issue, but how hard would this be > on people who are just writing C code (say perhaps for a shared lib or > an object file that was intended to be used by apache (or whatever) as > a dynamic module, i.e. mod_guile)? This is pretty much the position i'm in -- writing C extensions for Guile (currently Guile bindings for the neon http/WebDAV client library. Should be out as soon as Tomas made my crap working and recovered from RFC shock :) I myself (and probably many others) really need more information on the C side of Guile. A lot of if not most of my code deals with data conversion from Scheme <--> C and verso. Right now i'm looking for _the_ Guile way of converting a SCM real number to a C IEEE float (any help?). > In particular, are there cases where it's hard to support having > (finding) any .scm file, and if so, in those cases, what's the > preferred solution -- embedded scheme strings that are evaled at > runtime, now, that would be _really_ clumsy. > or when you need something with more dynamic content, > building the scheme form representing your function (or whatever) and > then calling eval on that? I'm not sure this applies to > scm_internal_catch, but just wanted to make sure we had thought about > the likelihood of such a situation. Even in my very humble attempts in coding i had to build/manipulate modules/environments from C. Evaluating user code in a save environment is absolutely neccessary as well a catching errors in user-provided Scheme code (callbacks, in the case of the neon bindings). > > That's what I'm thinking now, anyway. I think (**) may be quite > > controversial, so that at least needs a lot more discussion first. Not enough time to comment on that right now (but i have to admit that i hate it when languages try to be too pedagogic ...) > > I think one counter argument would be "where do people who want to > write C extensions to Guile go for documentation?". > As an example, if you want to write a big complex smob for something > that's a heterogeneous collection of both C and scheme data, you may > well need to use any number of scm_* functions to manipulate the > smob's data structures from the C side, and you'd certainly want to > have documentation for those functions. > > If it weren't for the fact that it could be a lot of extra work > (unless we could somehow automate much of the process), it seems like > a solution would be to have one main section that was Scheme oriented, > with a structure and composition similar to what you described, and > one main section which was "Guile from the C side". I thought a lot about this problem recently (unfortunately with no clear outcome :-/) Maybe a 3-book approach: - Guile for the scripter (user of an embedded Guile using application who want's to write scripts -- Scheme only). - Guile for the embedder/extender: people like my who write bindings or pplications that use Guile (focus on memory management and data conversion etc.). - Guile hacker: for people working on the Guile core. > Of course there would be a lot of duplicated text between the sections > since, for example, you'd have to document scm_list_p and list? in > separate sections with essentially the same text. Just my 0.002$ Ralf Mattes > -- > Rob Browning > rlb @defaultvalue.org, @linuxdevel.com, and @debian.org > Previously @cs.utexas.edu > GPG starting 2002-11-03 = 14DD 432F AE39 534D B592 F9A0 25C8 D377 8C7E 73A4 > > > _______________________________________________ > Guile-user mailing list > Guile-user@gnu.org > http://mail.gnu.org/mailman/listinfo/guile-user _______________________________________________ Guile-devel mailing list Guile-devel@gnu.org http://mail.gnu.org/mailman/listinfo/guile-devel