For namespacing purposes, . in names might be useful. Say you seriously use both Stream and List - you're going to have operator overlap.
Modules are going to need their own namespacing some day. / might work?
So you could have List/list.foldl instead of list-foldl. stream.zip-with still makes sense.
In practice, it'd be List/foldl anyway, because you're not going to export namespaced names from modules.
Combine with the ? predicate proposal, and you end up with Number/scott.zero?.
Hmmm .. may want to import multiple Numbers. Number/BinaryScott/add or NegaBinaryScott/Number/not-zero? Can leave that choice to user with import renaming actually. User might do BijectiveBinary-Scott-Number/sub. Or Number.Church/mul. Or have hierarchical modules, and restrict to Number/Scott/succ. But if you import only one Number, you may not want that clutter.
For namespacing purposes,
.in names might be useful. Say you seriously use bothStreamandList- you're going to have operator overlap.Modules are going to need their own namespacing some day.
/might work?So you could have
List/list.foldlinstead oflist-foldl.stream.zip-withstill makes sense.In practice, it'd be
List/foldlanyway, because you're not going to export namespaced names from modules.Combine with the
?predicate proposal, and you end up withNumber/scott.zero?.Hmmm .. may want to import multiple
Numbers.Number/BinaryScott/addorNegaBinaryScott/Number/not-zero?Can leave that choice to user with import renaming actually. User might doBijectiveBinary-Scott-Number/sub. OrNumber.Church/mul. Or have hierarchical modules, and restrict toNumber/Scott/succ. But if you import only oneNumber, you may not want that clutter.