Language Standards¶
-
Language Standard
1
¶ Tool Version: >=
1.0This is the base language standard that was introduced with Coco 1.0.0.
-
Language Standard
1.1
¶ Tool Version: >=
1.3This is a small revision to
1
in order to introduce some new features. This standard was introduced in Coco 1.3.0.The changes are:
compound await
andsimple await
were introduced.- The builtin
Vector
module was introduced. - The following additional keywords were reserved:
abstract
,await
,inherit
,monitor
,trace
,verify
. - Ports were prohibted from defining any members called:
ambiguous
,call
,connect
,drainQueue
,processQueue
,send
,timer
, orunused
.
To upgrade to
1.1
, modify theCoco.toml
file to setlanguage.standard
to1.1
. Following this, fix any name clashes identified by the tooling; these should all be clashes with the new reserved words mentioned above.
-
Language Standard
1.2
¶ Tool Version: >=
1.4See Migrating to Coco Standard 1.2 for further details on how to upgrade.
-
Language Standard
2024
¶ Tool Version: >=
1.5This is a small revision to
1.2
. The changes are:- The
Display
trait was introduced. - Format strings now default to format expressions using the
Display
trait instead of theLog
trait. - Coco’s logging will by default log sends of signals if value logging is enabled. This can be disabled by setting the
logSendSignals
option tofalse
. - The C++ generator will generate functions marked with
@noSideEffects
asconst
. - The C++ runtime will by default be split into header and source files. This can be disabled by setting the
generator.cpp.headerOnlyRuntime
option tofalse
.
- The