I'm using SML/NJ 110.79, which includes support for new structures defined by the Successor ML project. Among others, the Fn
structure.
As it happens, I already had an identically named structure in one of my personal project with utilities, which worked fine before 110.79.
With 110.79, for this .cm file:
group is
$/basis.cm
$SMACKAGE/sml-extras/v0.1.0/sources.sml.cm
I get the following error, though:
sources.cm:3.3-3.45 Error: structure Fn imported from $SMLNJ-BASIS/(basis.cm):basis-common.cm@155252(fn.sml) and also from $SMACKAGE/sml-extras/v0.1.0/(sources.sml.cm):src/fn.sml
Does anyone know how to resolve this conflict through the Compilation Manager. Ideally, my Fn
structure will be able to "extend" the standard Fn
by just open
-ing it, but projects using the sml-extras library, will not see the standard Fn
structure, only my extended version.
Is this possible? Do I need to wrap/re-export the whole basis.cm library in my sml-extras.cm project?
Fn
(e.g. toFnct
). The Compilation Manager does have facilities for conditional compilation. Also -- the release notes for the new version give a couple of suggestions about how to handle cases where the new features break old code. – John Coleman