ocsigen / eliomlang

Runtime and tools for the eliom language
ISC License
9 stars 1 forks source link

Module paths are not properly handled #3

Closed Drup closed 8 years ago

Drup commented 8 years ago

Since sides are on Ident.t only, and Path.t contains an Ident only for the first segment of the path. M.foo doesn't properly account for side. However opam M put foo in the correct scope.

Example of badly handled code:

module M = struct
  let%client foo = 3 
  let%server bar = 4
end 

let%server x = M.foo (* Typechecks, WRONG *)
let%server x = let open M in foo (* Does not typechecks *)
Drup commented 8 years ago

This is now working correctly, by using ident tables inside components.