pEpACIDLang { include pEpACIDLang.yml2 package example { version 1.0; license "License text"; api api1 { // deftype is used for two things: // * create a type-alias for any type with optional // properties to narrow the definition of the type. // * instantiate a "generic type" into a (concrete) type deftype deftype1 as size; deftype deftype2 as string; deftype stringlist as list; deftype stringlist2 as stringlist; enum enum1 { item item1 doc="item with automatic value"; item item2 23 doc="item with explicit decimal value"; item item3 "0xff" doc= """ hex enum item ------------- specify value in quotes """; }; struct struct1 { field int int1; field size size1 doc="short doc"; field string string1 doc=""" Multiline Doc """; }; // Param Passing Modes // * borrow // * mborrow // * claim // * provide method method1 { param borrow struct1 param1; } method method2 { param mborrow struct1 param1; } method method3 { param claim struct1 param1; } method method4 { param provide struct1 param1; } }; test_types; }; };