Dali - Lombok-inspired metaprogramming stuff that I'd love to see in DLang.
Mind you that following features may change a lot yet - they are usable, which doesn't mean that they have mature API.
ToString
- mixin that provides customizable implementation of toString() methodBuilder
- mixin that provides lombok-style buildersCopy
- mixin that provides shallow copy() method
Wither
- create copies of object with modified fieldsProxy
- it is intended to provide wrapper type that can use method interceptors, thus opening the way to observable objects and AOP.
DeepCopy
- similiar toCopy
but does full object tree traversalEqualsAndHashCode
- mixin similiar to Lombok-style annotation- integration with poodinis
- scavenge package scan from ioc
- reactive streams (probably integrate with existing project)
- wrapping of
std.container
into normalized API, inspired by Java Collections API <container>.stream()
- in java style, running thread per streaming operation
Initially I've called this lib "dombok", but I've figured that it's just lazy naming. I've quickly read about Lombok island, figured it is close to Bali, hence Dali that also refers to the legendary artist.