congress/releasenotes/notes/namespaced-builtins-5e742106e90015bc.yaml
Tim Hinrichs bc0c346391 Add namespace 'builtin' for builtins
Previously, builtins and helper tables were in the same namespace.
This is problematic because whenever we introduce a new builtin,
it would override any helper tables that a user had written
using that same name.

In this change, all builtins are prefixed with builtin: so we are free
to add as many new builtins as we like.  So that we can officially
deprecate the bare version of builtins (i.e. builtins not prefixed
by builtin:), the bare version is still allowed.  Once the deprecation
period is over, we will remove support for bare builtins.

Change-Id: I0438826289a4219b9d1043f8132ba5d193e8751b
2017-01-05 08:25:35 -08:00

20 lines
658 B
YAML

---
prelude: >
features:
- Builtins like plus, times, lt now have the
namespace 'builtin'. For example, instead
of writing 'plus(x,y,z)' you now write
'builtin:plus(x,y,z)'
upgrade:
- Policies using the bare version of builtins,
such as 'plus(x,y,z)' should be modified to
include the 'builtin' namespace, such as
'builtin:plus(x,y,z)'.
deprecations:
- Builtins without the 'builtin' namespace are
now deprecated. They will be supported in the
near term, but all policies should be modified
to include the 'builtin:' prefix on all builtins.
For example, use 'builtin:plus(x,y,z)' instead
of 'plus(x,y,z)'.