gEDA-dev: My £0.02 worth

Peter TB Brett peter at peter-b.co.uk
Mon Jun 4 16:47:05 EDT 2007


Hi folks,

There is a debate about moving gEDA to using some scripting language other 
than Guile Scheme for extensibility.  I oppose this.

  - Scheme has unambiguous syntax
  - Scheme is easy to debug
  - Guile is fast
  - Guile is under the same license as gEDA
  - Adding new Guile functions in C code is really easy.

The current complaints seem to be about the fact that the 1.6 stable and 1.8 
stable branches of Guile are different.  This seems to come as a surprise, 
even considering the fact that there are THREE YEARS of development between 
them.

Think how far gEDA has come in three years.

There are several reasons for using 1.8:

 - String support is better and faster.
 - Memory management is much better.
 - Thread support is hugely improved -- although we don't use this yet, it
   might be a way of speeding up gnetlist for very large schematics.
 - Gettext support, so we can internationalise the gEDA Scheme code.
 
In addition, there are many changes to the C API which make it easier to 
program for -- so people can understand code which calls libguile without 
scratching their heads wondering what SCM_MAKINUM does (scm_to_integer 
instead) -- as well as a lot of changes which make the API more future-proof, 
meaning that there will be less (hopefully *much* less) pain next time a 
stable branch is released.

By the way, this may be useful to people:

  find . -type f -name '*.[ch]' -print0 | xargs -0 -e \
  grep -ohi -e '\bscm[[:alnum:]_]*\b' | sort -u

It returns a sorted list of all functions, macros & types used by code which 
might be related to libguile.  Obviously this isn't perfect, because some 
non-Guile symbols beginning with "scm_" are used in gaf, but hey.  I might 
knock something up based on it which lets people check their code for 
compatibility with GTK 2.4 & Guile 1.8.

Peter



   
-- 
Fisher Society                              http://tinyurl.com/o39w2
CU Small-Bore Club                          http://tinyurl.com/mwrc9

      09f911029d74e35bd84156c5635688c0            peter-b.co.uk
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://www.seul.org/pipermail/geda-dev/attachments/20070604/4f50d6b7/attachment.pgp 


More information about the geda-dev mailing list