The Squeak Smalltalk programming language is a dialect of Smalltalk and is object-oriented, reflective and class-based. It was derived directly from Smalltalk-80. Squeak Smalltalk is a open source and full-featured implementation of the powerful Smalltalk programming language and environment. Squeak is highly-portable - even its virtual machine is written entirely in Smalltalk which makes easy to debug, analyze, and change. It is the vehicle for a wide range of projects from multimedia applications and educational platforms to commercial web application development. The Squeak system includes code for generating a new version of the virtual machine (VM) on which it runs. It includes a VM simulator written in Squeak itself.
fibonacci: n | numbers a b | numbers := OrderedCollection new. a := 1. b := 1. [ numbers size < n ] whileTrue: [ | temp | numbers add: a. temp := b. b := a + b. a := temp. ]. ^ numbers.