Copyright © 2004-2005,2008 by Marcin 'Qrczak' Kowalczyk (QrczakMK@gmail.com)
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included here.
Kogut is an experimental programming language which supports impurely functional programming and a non-traditional flavor of object-oriented programming. Its semantics is most similar to Scheme or Dylan, but the syntax looks more like ML or Ruby.
The name “Kogut” means “Rooster” (“Cock”) in Polish and is pronounced like [KOH-goot].
True
or False
, and
trying to get a non-existent element of a collection throws
an exception.
==
, which generally compares values of immutable
objects and identity of mutable objects, and can also be
defined manually for particular types.
%Foo
or Foo%
).
()
are used for grouping
subexpressions and subpatterns. Brackets []
are
used for making and matching lists. Braces {}
are used for delimiting other parts of the syntax (function
bodies, if
and case
branches,
object definitions etc.).
LikeThis
, except
type names which are LIKE_THIS
(because they
often coexist with a function or constant of similar name)
and names or important macros like let
and
if
. Local names and field names are usually
written likeThis
.