caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Gabriel Scherer <gabriel.scherer@gmail.com>
To: Adrien Nader <adrien@notk.org>
Cc: "Olaf Hering" <olaf@aepfle.de>,
	"Daniel Bünzli" <daniel.buenzli@erratique.ch>,
	"caml users" <caml-list@inria.fr>
Subject: Re: [Caml-list] OASIS circular dependency in xml-light
Date: Sat, 11 Jun 2016 08:03:35 -0400	[thread overview]
Message-ID: <CAPFanBGHVwcg1Uua4Z8TXGM2MScL9OUhbY9Dgr8=x+-D-La0NQ@mail.gmail.com> (raw)
In-Reply-To: <20160611082021.GB3981@notk.org>

I have the same memories of tricky circular dependencies from looking
at the xml-light sources a while ago, and if I remember correctly
there were some really shady Obj.magic going on at the same time. If
people depend on this library, the best fix is probably to clean it up
in these respects.

On Sat, Jun 11, 2016 at 4:20 AM, Adrien Nader <adrien@notk.org> wrote:
> Well, it has seen some development in the past couple years on github.
>
> Anyway, back to the original problem.
>
> xml.ml references Dtd
> dtd.ml references Xml (through 'open Xml', which is needed)
>
> xml.mli does not reference Dtd
> dtd.mli references Xml
>
> Currently xml.mli is compiled, then dtd.mli, then dtd.ml and finally
> xml.ml (there are other modules involved but they don't seem to be
> involved in the loop). I'm not completely surprised this works but I
> didn't know it was possible (my current version here is 4.01.0 but it
> has probably been that way for a long time). Maybe someone else can
> comment on that.
>
> I'm actually wondering how this works wrt module initialization order.
>
> I think the sure way would be to move at least some declarations to a
> separate module that has no dependency on others and which both Xml and
> Dtd could depend on.
>
> --
> Adrien Nader
>
> --
> Caml-list mailing list.  Subscription management and archives:
> https://sympa.inria.fr/sympa/arc/caml-list
> Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
> Bug reports: http://caml.inria.fr/bin/caml-bugs

  reply	other threads:[~2016-06-11 12:04 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-10  8:39 Olaf Hering
2016-06-10 10:32 ` Daniel Bünzli
2016-06-10 10:37   ` Olaf Hering
2016-06-11  6:14     ` Adrien Nader
2016-06-11  8:20       ` Adrien Nader
2016-06-11 12:03         ` Gabriel Scherer [this message]
2016-06-11 15:19           ` Gabriel Scherer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAPFanBGHVwcg1Uua4Z8TXGM2MScL9OUhbY9Dgr8=x+-D-La0NQ@mail.gmail.com' \
    --to=gabriel.scherer@gmail.com \
    --cc=adrien@notk.org \
    --cc=caml-list@inria.fr \
    --cc=daniel.buenzli@erratique.ch \
    --cc=olaf@aepfle.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).