Marc Feeley <feeley@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.