-
Notifications
You must be signed in to change notification settings - Fork 0
Charmisms
Ergoline embodies the ideas of SDAG through its when and await [any|all] constructs.
Ergoline's sections are "anonymous" and do not feature an ID. They can be created using slices or lists of indices. Cross-array sections are not supported at this time.
Ergoline supports readonly-like variables through its object-type classes. They are instantiated (on-demand) as mutable, one-per-PE singletons. A PE may broadcast its local changes to an object using the ck::updateGlobal<...> function; it takes a callback as its parameter. A PE's local instance must be accessed in some capacity before a call to ck::updateGlobal<...>, otherwise it will fail with a null pointer exception (due to on-demand creation). The behavior of multiple PEs simultaneously broadcasting updates to the same object is, largely, undefined; in the future, a transactional approach could be utilized to resolve this. For an example of how to use these language features, we defer to globcheck.erg.