From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Maciek Godek" Newsgroups: gmane.lisp.guile.user Subject: Re: What new libraries or functionality does Guile need? Date: Sat, 19 Jul 2008 07:49:04 +0200 Message-ID: References: <300493.30487.qm@web37903.mail.mud.yahoo.com> <877ibibtaf.fsf@mithrandir.homeunix.net> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1216446561 22113 80.91.229.12 (19 Jul 2008 05:49:21 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 19 Jul 2008 05:49:21 +0000 (UTC) To: guile-user@gnu.org Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Sat Jul 19 07:50:09 2008 Return-path: Envelope-to: guile-user@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1KK5Kb-0007GJ-4X for guile-user@m.gmane.org; Sat, 19 Jul 2008 07:50:09 +0200 Original-Received: from localhost ([127.0.0.1]:56694 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1KK5Ji-0005ZQ-7x for guile-user@m.gmane.org; Sat, 19 Jul 2008 01:49:14 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1KK5Jb-0005ZG-Tb for guile-user@gnu.org; Sat, 19 Jul 2008 01:49:07 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1KK5Ja-0005Z4-9V for guile-user@gnu.org; Sat, 19 Jul 2008 01:49:07 -0400 Original-Received: from [199.232.76.173] (port=60289 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1KK5Ja-0005Z1-0H for guile-user@gnu.org; Sat, 19 Jul 2008 01:49:06 -0400 Original-Received: from wf-out-1314.google.com ([209.85.200.169]:9797) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1KK5JZ-000205-PC for guile-user@gnu.org; Sat, 19 Jul 2008 01:49:05 -0400 Original-Received: by wf-out-1314.google.com with SMTP id 28so381581wfc.24 for ; Fri, 18 Jul 2008 22:49:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to :subject:in-reply-to:mime-version:content-type :content-transfer-encoding:content-disposition:references; bh=iKEhgm4/DeWKLOlE0HEF0UqTSDLR6Jl/4v1kiE8UbJI=; b=OZsUzvdb2BJeYX44T3ETb+MMLw0b/pTRQHv8REMlkxlXDu6O95UdLs9owUPxs6qiPK l3dULCGgq2atWxukg3C/bbjAHM9dX9sGjXZt1zETLHK5Xtr+4Ek4NT6TpxDFKLE9/DXx xYGbL1AOeZsnj4LrEKwReeEt6NfaJEVKN1Zhs= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:in-reply-to:mime-version :content-type:content-transfer-encoding:content-disposition :references; b=ke/8znpZvrsr06hvEG04Glo1WmYgG136s6PdpzC+8Ik5EIlhJ2JR/ly+u6HMsVgKJ8 +CXzXgqNp90CVcgH1lSWoBXO15TclI0jOhuO4ZdUJnEdv7Fxo5mmNNjtLvioMeTTvDXO xSV5xhxwmdxYMmuHPRvOcQJLWGQXVVqx7ITRY= Original-Received: by 10.142.179.7 with SMTP id b7mr346428wff.128.1216446544154; Fri, 18 Jul 2008 22:49:04 -0700 (PDT) Original-Received: by 10.142.133.13 with HTTP; Fri, 18 Jul 2008 22:49:04 -0700 (PDT) In-Reply-To: <877ibibtaf.fsf@mithrandir.homeunix.net> Content-Disposition: inline X-detected-kernel: by monty-python.gnu.org: Linux 2.6 (newer, 2) 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:6677 Archived-At: >> Hi- > >> If you could ask someone to write a library or package a set of >> functionality for Guile that it doesn't currently have, what would it >> be? (My personal projects are near completion, and I may have some >> Saturdays free.) > > Bindings for OpenGL/GLU/GLUT would be great. They definitely wouldn't be disturbing. On the other hand, OpenGL is such flat a library if it comes to structure, that it could be wiser to write a semi automatic tool for making guile bindings from C headers, i.e. to transform declarations like // gl.h #define GL_BYTE 0x1400 // ... GLAPI void GLAPIENTRY glVertex3d(GLdouble x, GLdouble y, GLdouble z); to // gl-module.c static SCM glVertex3d_scmwrapped(SCM x, SCM y, SCM z) { glVertex3d(scm_to_double(x), scm_to_double(y), scm_to_double(z)); return SCM_UNSPECIFIED; } // ... void init() { scm_c_define_gsubr("glVertex3d", 3, 0, 0, glVertex3d_scmwrapped); // ... } ;; gl.scm (define-module (gl)) (load-extension "gl-module" "init") (define-public GL_BYTE 0x1400) ; ... (export glVertex3d) GL is a great library to start with, for it uses only the embedded C types