From ok@atlas.otago.ac.nz  Thu Apr 13 01:27:00 2000
Received: from atlas.otago.ac.nz (atlas.otago.ac.nz [139.80.32.250])
	by swi.psy.uva.nl (8.9.3/8.9.3) with ESMTP id BAA09439
	for <prolog@swi.psy.uva.nl>; Thu, 13 Apr 2000 01:26:58 +0200 (MET DST)
Received: (from ok@localhost)
	by atlas.otago.ac.nz (8.9.3/8.9.3) id LAA30654;
	Thu, 13 Apr 2000 11:27:16 +1200 (NZST)
Date: Thu, 13 Apr 2000 11:27:16 +1200 (NZST)
From: "Richard A. O'Keefe" <ok@atlas.otago.ac.nz>
Message-Id: <200004122327.LAA30654@atlas.otago.ac.nz>
To: p.singleton@keele.ac.uk, prolog@swi.psy.uva.nl
Subject: Re:  modules and foreign code

	 2) is the null atom (or empty C string) a valid module name?
	
Prolog atoms can't map to C strings quite that simply.
Try

    ?- name(X, [0]), assert(X:p(1)), X:p(N).

It works in SWI Prolog, and should work in any halfway reasonable Prolog.
Prolog atoms may contain _any_ character including NUL.

    ?- X = '', assert(X:p(1)), X:p(N).

also works.

