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