]]> ]]>

Cool 2008

Версия реализации Cool языка программирования Cool

Cool — Classroom Object-Oriented Language является учебным языком программирования, включающий классы и объекты. Cool является функциональным строготипизированным языком, т.е. проверка типов происходит статически на этапе компиляции. Программа по сути является набором классов. Классы включают в себя набор полей и функций (feature). Все поля являются видимыми внутри базового и производного классов. Все функции являются видимыми отовсюду (public). Данный язык построен на выражениях (expression). Все функции в качестве аргументов могут принимать выражения и телами всех функций являются выражения, который возвращают какой-либо результат. Даже такие функции, как вывод строки, возвращают результат, а именно экземпляр класса, из которого они вызваны. Cool содержит также и статические классы String, Int, Bool, от которых нельзя наследоваться и которые не могут принимать значения null.Объекты данных классов передаются по значению, а не по ссылке.

Примеры:

Hello, World! - Cool (445):

-- Hello World in Cool

class Main inherits IO{
    main():Object{
    out_string("Hello, world!\n")
    };
};

Факториал - Cool (446):

class Main : IO is
  Main() begin
    out_string("Enter an integer greater-than or equal-to 0: ");

    let input: Integer := in_int(); in
      if input < 0 then
        out_string("ERROR: Number must be greater-than or equal-to 0\n")
      else
        out_string("The factorial of ").out_int(input);
        out_string(" is ").out_int(factorial(input))
      fi
    end
  end;

  factorial(num: Integer): Integer := if num = 0 then 1 else num * factorial(num - 1) fi;
end;

Комментарии

]]>

blog comments powered by Disqus

]]>

Работа программистам