Skip to content

Dev meeting 2020 09 17

Jon Ludlam edited this page Sep 17, 2020 · 5 revisions

Agenda

Attending

  • @jonludlam
  • @trefis
  • @Julow
  • @Drup

Previous actions

  • @jonludlam to find out status of dune build @doc supporting external libs -- Not done

  • @jonludlam to post on discuss about plans for replacing ocamldoc plugins -- Not done

CI

Module type of issue

The problem

module type X = sig
  module Y : sig
    module Z : sig
      type t
      module Z1 : sig
        val x : t
      end
    end
  end
  module type Foo = sig
    module type A = module type of Y.Z
    module type B = module type of struct include Y.Z end
  end
end

module Z2 : sig
  type t = int
  type u
  module Z1 : sig
    val x : t
    val y : t
  end
end

module type BBB = X with module Y.Z := Z2

module AAA : BBB

OCaml's expansion of BBB:

 module type BBB =
      sig
        module Y : sig end
        module type Foo =
          sig
            module type A = sig type t module Z1 : sig val x : t end end
            module type B = sig type t = int module Z1 = Z2.Z1 end
          end
      end
  • intermediate expansions an issue for figuring out when a substitution has been made. We can't rely on a substitution happening in the argument of a module type of expression to tell us that one has happened.

  • simple tree 'mask' for module type of incorrect (difference between module type A and B above). Need to allow module aliases too.

New PRs on LaTeX

  • @Drup to review

CLI commands

PR merged - 'incomplete' in that there is more to do, though what there is is a useful basis for doing new commands.

The more to do:

  • remove the combined commands. This is a longer term goal so we don't need to have releases of other tools (dune, odig) before we can use odoc.
  • html fragments? nobody really knows what it does! Need to either make it work properly or remove it entirely. Not used by dune or JS internally.

Action: @jonludlam to ask Daniel whether this is being used in odig.

Comment parser

  • @trefis asked if the comment parser is still hand-written, which it is. It used to be a Menhir based parser but was replaced with a hand-written one. Altering this to add new syntax is a bit of a barrier, so putting the Menhir one back might be a useful step. There are many tests for the parser, so replacing it could be done with a degree of confidence. @trefis said he might have a go!

Parent/Child doc

This is a blocker for the next release. The draft sketch proposal needs fleshing out with some examples. @jonludlam to drive this.