Submitted by Kevin Reid at
1. For any Java type foo.Bar, accept
<import:foo.makeBar> as equivalent to <import:foo.Bar>,
and deprecate (with a warning on use) the latter.
1a. Wait for adoption of the above.
2. Redefine <import:foo.Bar> to be equivalent to
current <type:foo.Bar>, and deprecate <type>.
2a. Wait for adoption of the above.
3. Remove <type>.
* code need not care whether makers and types it
imports are implemented in E or Java
* there will be slightly less of "the underlying java
bleeding through too much", as David Mercer put it recently
* there is no longer a whole namespace (<type>) that is
specific to Java libraries (objects? classes?
Alternate path, preserving backward compatibility
For any Java type foo.Bar, accept <import:foo.makeBar>
as equivalent to current <import:foo.Bar>.
For any Java type foo.Bar, accept <import:type.foo.Bar>
as equivalent to current <type:foo.Bar>.
Redefine <type> as <import:type.*>.
(Or, if you'd prefer to preserve package grouping in
the filesystem, use <import:foo.type.Bar>, which is
slightly more complicated to implement and could be
argued to stomp on others' namespaces.)