You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Building aeson takes lots of time, even if a client uses only the most basic facilities. This matters not that much for local development (however depending on the frequency of cabal update it can get annoying too), but is a big deal for CI jobs, which often has cold cache.
A normal strategy would be to modularise aeson, separating Data.Aeson.Type into a package of its own. However, in this case it does not help much because Data.Aeson.Type incurs dependency on vector, which itself builds for ages, longer than the rest of aeson package.
Could we replace Data.Aeson.Type.Array from Vector Value to Array Value? Probably by making Data.Aeson.Type.Array an abstract data type, similar to KeyMap. I don't think aeson benefits on any way from vector fusion.
The text was updated successfully, but these errors were encountered:
Given how painful aeson-2 migration was, my opinion is that compilation time is not enough of a reason to do something like that.
I thought about this when making KeyMap module, but couldn't find a good reason. Vector is used quite universally, which in turn makes the recompilation argument even less strong: you likely well need to recompile vector for some other reason anyway.
Building
aeson
takes lots of time, even if a client uses only the most basic facilities. This matters not that much for local development (however depending on the frequency ofcabal update
it can get annoying too), but is a big deal for CI jobs, which often has cold cache.A normal strategy would be to modularise
aeson
, separatingData.Aeson.Type
into a package of its own. However, in this case it does not help much becauseData.Aeson.Type
incurs dependency onvector
, which itself builds for ages, longer than the rest ofaeson
package.Could we replace
Data.Aeson.Type.Array
fromVector Value
toArray Value
? Probably by makingData.Aeson.Type.Array
an abstract data type, similar toKeyMap
. I don't thinkaeson
benefits on any way from vector fusion.The text was updated successfully, but these errors were encountered: