Csound Csound-dev Csound-tekno Search About

Re: if.../ Common Lisp Music / compilers / interpreters

Date1999-02-27 14:15
FromThomas Hudson
SubjectRe: if.../ Common Lisp Music / compilers / interpreters
Richard Dobson wrote:
> 
> The trouble is that if we use the term 'compiler' too librerally, it
> ends up meaning everything and nothing. 
[snip]
> Conversely, I understand CLM to be (according to the given descriptions)
> a language ~translator~ - it translates it's native language into C.

Yes, but now we have to change the definition of the first C++ "compiler",
since it really translated to C and leveraged the existing C compilers
to create machine code. And of course GCC is not a compiler since it
really translates to assembly and calls the assembler to create machine code.

I tend to believe that any tool that calls other tools and eventually ends
up with native machine intstructions can be called a compiler.

[snip]
> If MIDI
> sequencers depended on the availablility of a C compiler on everyone's
> machine, I don't think they would be the commercial and musical
> phenomenon they are!
>
Agreed. But at least on Unix-style systems, I feel this a proper approach.
Rather than reimplementing a compiler, leverage an existing one by generating
C. Every good Unix system has a C compiler. Now instead of a program that
only generates machine code for x86, I have a program that generates code
for anything the compiler supports. GCC can be configured as a cross-compiler
for a staggering number of architectures, including some DSPs. GCC is free,
freely redistributable, and runs on all Unices, win32 platforms, BeOS, and
quite a few others. I'm not sure if there is a mac port.

I would love to see an environment where during the development stage it
did interpretation, and when ready I could compile to a standalone executable
a new generator, or a shared library.

However, the recent discussion about licensing has made me want to shy
away from csound. If I contribute code, it suddenly becomes something
that only MIT can financially profit from. Has anyone contributed code
with an explicitly different license?

Perhaps it is time for a new environment, inspired by both CLM and CSound, 
with a GPL-style license so it could be distributed like Linux, and of
course, a more modern syntax.