C Sharp
- 1 year ago
- 0
- 0
Spec# — язык программирования с поддержкой особенностей языка спецификаций , расширяющих возможности языка программирования C# контрактным программированием , так, как это сделано в языке Эйфель , включая объектные инварианты , предусловия и постусловия. Как и , язык содержит инструмент статической проверки, основанный на доказательстве теорем, позволяющий статически проверять большинство таких инвариантов. Также он включает в себя множество других не столь значимых дополнений, как например, ненулевые ссылочные типы.
Microsoft Research разработала оба языка Spec# и C# . Spec# же послужил основой для создания языка Sing# , разработанный также Microsoft Research.
Данный пример демонстрирует две базовые структуры, используемые при добавлении контрактов в ваш код.
static void Main(string![] args)
requires args.Length > 0
{
foreach(string arg in args)
{
Console.WriteLine(arg);
}
}