The Cobra Programming Language

Cobra Release 0.7.4

Cobra 0.7.4 adds typed method signatures (aka delegates) and assembly level attributes. Additionally, there are several bugfixes and refinements.

Additions

sig BinaryOp(a as int, b as int) as int # accepting a delegate: def foo(op as BinaryOp) x = op(a, b) # passing a delegate: .foo(ref .add)
assembly has AssemblyVersion('1.2.3.4') has AssemblyDescription('Library for ...')
class Something def computeFoo as int has MustUseResult return 42 class Program def main is shared s = Something() s.computeFoo # warning: The result of "computeFoo" should be used in an expression # such as assignment or passing arguments (as indicated by # its MustUseResult attribute).

Refinements

Expecting a statement instead of extra indentation. One indent is 4 spaces or 1 tab with display width of 4.

Fixes