We currently only support BSON, but other packages may provide better support in some cases. In particular, it seems like JLD2 may support arbitrary types better than BSON: https://juliaio.github.io/JLD2.jl/dev/
Perhaps it would have resolved some issues with saving BigInts that I was running into in one of my projects.
BSON also has some other limitations: JuliaIO/BSON.jl#20
At the same time, I seem to be seeing slightly smaller file sizes for BSON in some cases.
All in all, this suggests that some added flexibility here could be nice, which I think can be accomplished via FileIO. Added flexibility may even make it possible to use other formats (e.g., MAT.jl) in some cases for some amount of interoperability. (decided not to proceed this direction - see #19 (comment))
Some care will be needed to check that loading from within a module still works (e.g., for loading from Pluto).
It would also be great if this can be done in a non-breaking way, i.e., the saved file when using BSON is the same as before. This will probably require providing the option to pass kwargs to the save and load functions (to enable passing mod for BSON), which may be handy to have in general anyway. (not necessary since we already made breaking changes in #20)
We currently only support BSON, but other packages may provide better support in some cases. In particular, it seems like JLD2 may support arbitrary types better than BSON: https://juliaio.github.io/JLD2.jl/dev/
Perhaps it would have resolved some issues with saving
BigInts that I was running into in one of my projects.BSON also has some other limitations: JuliaIO/BSON.jl#20
At the same time, I seem to be seeing slightly smaller file sizes for BSON in some cases.
All in all, this suggests that some added flexibility here could be nice, which I think can be accomplished via FileIO. Added flexibility may even make it possible to use other formats (e.g., MAT.jl) in some cases for some amount of interoperability.(decided not to proceed this direction - see #19 (comment))Some care will be needed to check that loading from within a module still works (e.g., for loading from Pluto).
It would also be great if this can be done in a non-breaking way, i.e., the saved file when using BSON is the same as before. This will probably require providing the option to pass kwargs to the(not necessary since we already made breaking changes in #20)saveandloadfunctions (to enable passingmodfor BSON), which may be handy to have in general anyway.