In the docs about validators a function named unstableMakeIsData
is used, but has the following comment:
-- 'unstableMakeIsData' is a TemplateHaskell function that takes a type name and
-- generates an 'IsData' instance definition for it. It should work for most
-- types, including newtypes and sum types. For production usage use 'makeIsDataIndexed'
-- which ensures that the output is stable across time.
unstableMakeIsData ''Date
It seems inconvenient to have code that needs to be changed for production so I'm curious why this is required. For example, why not just use makeIsDataIndexed
in development too? What benefit does unstableMakeIsData
have?
I tried searching for both function names across the docs, but the only instances are in two different comments along these same lines.