An experimental programming language with relations to SMALLTALK, PYTHON, C++, MAGIK ...
DOWNLOAD |
Class Exemaples |
Object | +-- Boolean | | | | | +-- True | | | +-- False | +-- Slotted | +-- Collection | ..
Syntax Examples |
Integer.fak if self.eq(0) then ^1 else ^self * (self - 1).fak endif
Integer.fak |res c| res = 1; c = self; while (c > 1) res = res * c; c = c - 1 end; ^res
Dictionary.at(key) |i| i = self.indexFor(key); if i.eq(nil) then ^nil else ^values.at(i) endif
Dictionary.indexFor(key) |i| i=0; # And now a really poor implementation. while (i < size) # Size is the instance variable size if keys.at(i).eq(key) then ^i endif; i = i + 1 end; ^nil
True.||(other) ^self True.or(other) ^self True.&(other) ^other True.and(other) ^other True.not ^false