List of Design Decisions - Spicery/Nutmeg GitHub Wiki
In reverse chronological order:
07 Nov 2021
- Adopting the term sealing in preference to 'permanent locking'.
- Removed reversible locking from the language. Reversible locking doesn't have any key use-cases, so I have dropped this complexity. (SL)
02 Jan 2021
- Adopting the term const in preference to "fully immutable" or "recursively immutable".
04 Oct 2020
- To reduce the overuse of the word 'function' the "kind":"function" is now "kind":"lambda"
02 Sep 2020
- Modifier
local
replacesprivate
as the latter is reserved for actor-like semantics.
30 Aug 2020:
- Modifiers
var
,val
andconst
adopted meaning re-assignable, single-assignment, single-assignment-to-immutable value.var x
meansx
can be reassigned after the initial bindingval y
meansy
cannot be reassigned after the initial binding but may be bound to any kind of valueconst z
meansz
cannot be assigned after the initial binding and may only be bound to immutable* values
- The default is
const
in functions andval
in procedures and finesses.
24 Aug 2020:
private
modifier introduced along withblock
scope (renamedlocal
02 Sep 2020).class ... endclass
is implicitly a block scope.