Browse files

More work on Chapter01

  • Loading branch information...
1 parent 265dd5e commit 144f21bb295a74a595942bb6cd3a7c4aee0fcaf3 @bakkdoor bakkdoor committed Nov 3, 2010
Showing with 20 additions and 5 deletions.
  1. +20 −5
@@ -9,18 +9,33 @@ programming language inspired by
It runs on [Rubinius](
The goal is to create a language implementation that is easy to
-understand and improve, even for people new to language
+understand and improve, even for people new implementing programming
Fancy's compiler is currently written in Ruby, while all of Fancy's
standard library is written in Fancy itself. It's a good starting
point if you want to get a better feel for the language and its
built-in classes and methods, once you've mastered the fundamental
semantics and syntax.
+You can view the standard library classes on GitHub
-Which leads us to:
+OK, enough said, let's get started with Fancy's basic concepts.
## Basic concepts ##
-Fancy is heavily inspired by [Smalltalk](, a pure object-oriented,
-message passing dynamic programming language, developed at [XEROX PARC](
+Fancy is heavily inspired by
+[Smalltalk](, a pure
+object-oriented, message passing dynamic programming language,
+developed at [XEROX PARC]( in the 1970s and
+The core idea of Smalltalk (and thus Fancy) is the concept of
+**message sending** (also called *message passing*). Fancy code
+interacts by sending messages to objects and getting reponses while
+doing so. You can think of methods as message handlers for incoming
+messages on objects. In Fancy, as in Smalltalk and Ruby, every value
+is an Object. There is no distinction between so-called *value types*
+and *reference types*. In Fancy, every value is a *reference type*,
+meaning each argument in a message send in Fancy is passed around as a
+reference (*call by reference semantics*).

0 comments on commit 144f21b

Please sign in to comment.