FieldProperties.jl helps in documenting, creating, and assigning properties. This package was developed because I had a need to create a consistent but generic interface for many different types. Documentation goes over how it compares to other packages, what it does, and a couple examples on how to use it in detail.
Here’s the big picture:
- What it helps with
- Defining generic methods
- Documenting methods
- Flexibly enforcing type stability for methods
- Useful methods it provides
-
@defprop
: for defining a property -
@properties
: overloads thegetproperty
,setproperty!
, andpropertynames
methods for a specific type
-
This package was my first serious venture into macros and documentation. That and continually rewriting things as I experimented with it made it take a while until I felt it would be generally helpful to others. If you’re curious about future directions for the package (or want to provide some input) take a look at the issues for the repo.
Comments, feedback, and questions are welcome.