[ocaml-platform] Changes to my previous proposal for namespaces

Yaron Minsky yminsky at janestreet.com
Mon Mar 18 12:55:52 GMT 2013


It occurs to me I just don't understand the semantics of this.  What
happens if I do this:

    open namespace Core
    let () = printf "Hello world!\n"
    open namespace Async
    let () = printf "Hello world!\n"

or, for that matter:

    open namespace Core
    let () = printf "Hello world!\n"
    let open namespace Async in
    printf "Hello world!\n"

Async and Core have different definitions of printf, as it happens.
Which gets called in these cases?

y

On Mon, Mar 18, 2013 at 8:34 AM, Leo White <lpw25 at cam.ac.uk> wrote:
>> Can the case of both Core and Async (and opening both of their
>> pervasives modules) be handled here?  This seems to me to be of
>> fundamental importance.  If that's missing, then I misunderstood
>> the proposal.
>
> Yes that is fine. It just means that if you made a new namespace by
> merging the Core namespace with the Async namespace then the Pervasives
> module of one would shadow the Pervasives module of the other.
> _______________________________________________
> Platform mailing list
> Platform at lists.ocaml.org
> http://lists.ocaml.org/listinfo/platform


More information about the Platform mailing list