Currently, the internals got complicated and hard to maintain. If we want to be able to support this library certain simplifications and refactoring will be necessary.
For version 0.7.0 we might provide API necessary to unblock the simplifications:
provide a better alternative to lifted transformers (TransformerFs) - partial transformers
once partial transformers are ready:
deprecate TransformerFs
deprecate unsafe options in Transformer
describe migration-path in documentation
create benchmarks to make sure that our new structure is at least as performant as old one
Currently, the internals got complicated and hard to maintain. If we want to be able to support this library certain simplifications and refactoring will be necessary.
For version 0.7.0 we might provide API necessary to unblock the simplifications:
TransformerF
s) - partial transformersTransformerF
sunsafe
options inTransformer
Major work for partial transformers is being done in https://github.com/scalalandio/chimney/pull/235 while benchmarks were kicked-off in https://github.com/scalalandio/chimney/pull/226.
For following versions (possibly 0.8.0):
TransformerF
s) and unsafe optionsExpr[T]
andType[T]
(would require taggingc.universe.Type
) instead of untypedTree
sMigration for DSL-related macros was researched in https://github.com/jchyb/chimney/tree/scala-3-migration while ways of sharing logic between macros and internal structure for macro errors aggregation was researched in https://github.com/MateuszKubuszok/pipez.
Incorporating these findings would unblock https://github.com/scalalandio/chimney/issues/201 and this issue will be used to trace work preceding #201.
Currently planned work:
build.sbt
to sbt-projectmatrix and sbt-commandmatrix to enable easy SJS and SN addition, and easy S3 addition - https://github.com/scalalandio/chimney/pull/241Tree
s in internal methods toType[A]
and/orExpr[A]
protected
,private
orprivate[internal]
where possible to prevent intellisense pollution