[gambit-list] ##Prefix (was: Fatal crash)

Joel J. Adamson jadamson at partners.org
Tue Apr 15 10:30:45 EDT 2008


Marc Feeley <feeley at iro.umontreal.ca> writes:

> On 14-Apr-08, at 3:58 PM, Derek Peschel wrote:
>> On Mon, Apr 14, 2008 at 02:03:37PM -0400, Joel J. Adamson wrote:
>>> Is there somewhere I can read more about this?
>>
>> The manual doesn't mention type safety or the namespace feature
>> (which the ## prefix is one instance of) but the Wiki has a page
>> on them.  ## means "internal" more than "unsafe".  Many of the
>> internal procedures are unsafe, though, and all unsafe procedures
>> are supposed to be internal.
>>
>> http://dynamo.iro.umontreal.ca/~gambit/wiki/index.php/Namespaces
>>
>> Comments from new readers might improve the page.  That's why I'm
>> posting to the list.
>
> Here's a short explanation of the ## prefix.
>
> Gambit is a "Scheme in Scheme", meaning that most of the code  
> (including the Gambit compiler, the Gambit interpreter and the Gambit  
> runtime system and libraries) is written in Scheme and compiled with  
> the Gambit compiler.  OK, so how does this work?  Take something  
> simple like the car procedure.  How can car be implemented in Scheme?   

Excellent explanation professor.  Perhaps this is the beginning of the
namespaces chapter in the manual?  I must say Gambit's excellent
feature-request responses and cool-and-friendly user community are
keeping me using Gambit, despite how often I encounter undocumented
procedures or usage; certain elements of style are never documented
anywhere, but some things come up so often they seem like they require
explanation.

My main question was whether in coding an application I should be using

##define

or

define

and you answered it succinctly.

Thanks,
Joel

-- 
Joel J. Adamson
Biostatistician
Pediatric Psychopharmacology Research Unit
Massachusetts General Hospital
Boston, MA  02114
(617) 643-1432
(303) 880-3109
Public key: http://pgp.mit.edu

The information transmitted in this electronic communication is intended only
for the person or entity to whom it is addressed and may contain confidential
and/or privileged material. Any review, retransmission, dissemination or other
use of or taking of any action in reliance upon this information by persons or
entities other than the intended recipient is prohibited. If you received this
information in error, please contact the Compliance HelpLine at 800-856-1983 and
properly dispose of this information.






More information about the Gambit-list mailing list