This is the mail archive of the guile@sources.redhat.com mailing list for the Guile project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Translation for extension is a bad idea


Han-Wen Nienhuys <hanwen@cs.uu.nl> writes:

> jostobfe@linux.zrz.TU-Berlin.DE writes:
> 
> >You probably don't want to use scheme as an extension
> >language for lilipond because this would make your customers
> >stay away from your program.
> 
> Duh.  Customers didn't stay away from the program. 

How do you let them configure and extend your program?
As it stands now *every* program uses its own configuration language, 
e.g.:

------------------------------
.Xdefaults:
#ifdef COLOR
*customization: -color
*background: ivory
#endif

.bashrc:
PS1=\$\  ; export PS1
LESSCHARSET=latin1; export LESSCHARSET

.calendar:
Calendar [v1.7]
Appt [
Start [480]

.doomrc:
sfx_volume              8
music_volume            8

.dvipsrc:
% teTeX's config.ps.
%
% Memory available.
m 1000000

.emacs:
(if window-system
    (server-start)
)

.fvwm2rc
ClickTime 150
IconFont fixed
DeskTopSize 2x1

.screenrc
# Make the output buffer large for (fast) xterms.
termcapinfo xterm* OL=10000

.lynxrc:
#    BY_DATE     -- sorts on the date of the file
file_sorting_method=BY_FILENAME
user_mode=ADVANCED

.gdbint
# -*- sh -*- 
# Define a bunch of useful functions for debugging Guile.
# Add more as required.

define dp
set $gp=gdb_print($arg0)
output gdb_output
echo \n

.inputrc:
set output-meta On
set convert-meta Off

And so on and so on.

------------------------------

It doesn't make sense to me to write yet another "scheme enabled
window manager", yet another "scheme enabled shell", yet another
"scheme enabled music editor".

I think it would be better to link fvwm2 with guile, write a (simple)
translator module which translates the fvwm2 config language to scheme
and let people play with this at run time.

The Gimp supports both, a scheme like syntax and a perl like syntax to
extend the program.  Why do I have to link it against a perl interpreter
*and* a scheme interpreter to write scripts in perl/scheme syntax? 
(Well, I think it's impossible to write a perl->scheme module, so this
might be okay :>) 

Blender.  Why do I have to learn the python syntax to write a simple
script? (The full power of python isn't available anyway).

Or the Bash.  Why not write a sh->scheme translator and link the Bash
with Guile?


Jost







Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]