lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: *.mid vs *.midi


From: Hans Aberg
Subject: Re: *.mid vs *.midi
Date: Sun, 18 May 2008 20:36:15 +0200

On 18 May 2008, at 19:55, immanuel litzroth wrote:

So the C language itself does not
have any #include directive.

The C language standard is available at:
http://www.open-std.org/JTC1/SC22/WG14/www/docs/n1256.pdf
You'll see all the preprocessing directives explained there and no mention of a separate preprocessor program.

Sure: it just defines the two languages, without explicitly mentioning their grammar sentence symbols. So it is formally impossible to deduce it from the standards alone. Somebody pointed this out to me. The C++ standardization committee felt this was clear enough, since the standard does not include a formal grammar, but jut an informal description of it.

The introduction does say: "A C program need not all be translated at the same time".

This refers to the C/C++ grammar sentence symbol called "translation- unit". Translation units can be compiled separately at different times and later linked together using the C linker.

This is probably just to define the language semantics.
That's my point, semantically the inclusion models are the same.

It just describes the module effect of name separation.

Haskell does not define how modules are mapped to files, how they are searched for...

The point is to not do that, but keep the information within the language, so that a better analysis of dependencies can be done.

...and how to "figure out" what to include in a compilation. These are implementation issues.

In Haskell, you really only need to tell what you need, not worrying how it should be included syntactically (though the location of the module must somehow be given)). In each module one tells what other modules it may depend on, and then Haskell figures out out to link them together. This is different from C/C++ where one by hand has to make the file inclusions i the right order and put in guards to that files are not include more than once, so that hopefully a series of translation units are created which can be linked together by the C linker.

  Hans








reply via email to

[Prev in Thread] Current Thread [Next in Thread]