<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>.gitignore</filename>
    </added>
    <added>
      <filename>Makefile</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -1,12 +1,12 @@
 Hongmini Programming Language
 =============================
 
-Hongmini is the programming language to embed in C++ programs. If you want
+Hongmini is the programming language to embed in C++ programs.  If you want
 cooler embeddable programming language, there are [Lua][] and [Io][].
 
-Do not write serious programs in this language. Its implementation is not and
-won&#8217;t be optimized, so, too slow. Use it to embed only while you are writing a
-big C++ program and it should have various small plug-in programs.
+Do not write serious programs in this language.  Its implementation is not and
+won&#8217;t be optimized, so, too slow.  Use it to embed only while you are writing
+a big C++ program and it should have various small plug-in programs.
 
   [lua]: http://www.lua.org/
   [io]: http://iolanguage.com/
@@ -15,11 +15,11 @@ big C++ program and it should have various small plug-in programs.
 Origin Of Language&#8217;s Name And Author
 ------------------------------------
 
-It is written by [Hong MinHee][1]. (This name is [Korean style][2]. You should
-write Hong first, but it is not given name but family name.) Naming the language
-bothers the author, so he named it casually: Hongmini. It is small and useless.
-The word &#8216;mini&#8217; befits it, and the name &#8216;MinHee&#8217; is pronounced like &#8216;mini&#8217;
-in Korean.
+It is written by [Hong MinHee][1].  (This name is [Korean style][2].  You
+should write Hong first, but it is not given name but family name.)  Naming
+the language bothers the author, so he named it casually: Hongmini.  It is
+small and useless.  The word &#8216;mini&#8217; befits it, and the name &#8216;MinHee&#8217; is
+pronounced like &#8216;mini&#8217; in Korean.
 
   [1]: http://dahlia.kr/
   [2]: http://en.wikipedia.org/wiki/Korean_name
@@ -45,14 +45,11 @@ Following code defines some functions.
     abs &lt;- (number): (number &lt; 0)(&quot;-1&quot;, 1) * number
 
     max &lt;- (numbers...): {
-        numbers.each((number): {
-            top &lt;- top(
-                (): (top &gt; number)(top, number),
-                (): number
-            )()
-        })
-
-        top
+      top &lt;- numbers(0)
+      numbers.each (number): {
+        top &lt;- (top &gt; number)(top, number)
+      }
+      top
     }
 
 You may be able to infer some interesting rules.
@@ -60,15 +57,15 @@ You may be able to infer some interesting rules.
  - The assignment operator is not `=`, but `&lt;-`.
 
  - No function definition; However, you can assign function values to variable
-   name, like JavaScript, Lua. Lambda the ultimate!
+   name, like JavaScript, Lua.  Lambda the ultimate!
 
- - Two literal types. General function literal (block), and string literal.
+ - Two literal types.  General function literal (block), and string literal.
    For example, `123` same as `&quot;123&quot;`.
 
  - When boolean values are called, they behave like trinary operator in the
    other well-known languages such as C and Java.
 
- - There&#8217;s no specific number type. Instead, it can use arithmetic operators
+ - There&#8217;s no specific number type.  Instead, it can use arithmetic operators
    like `+`, `*` with string values.
 
  - Instead of the `return` keyword in other languages, it just returns last
@@ -79,23 +76,21 @@ Lambda And Lexical Closure
 --------------------------
 
 All values are functions and all functions are values in the Hongmini
-programming language. To call function generally, you should name it. &#8216;Naming&#8217;
-in computer programming means assignment or binding.
+programming language.  To call function generally, you should name it.
+&#8216;Naming&#8217; in computer programming means assignment or binding.
 
     add &lt;- (x, y): x + y
 
-We can call evaluating `(x + y)` `add(x, y)`. After this naming, `add(3, 9)`
-means `(3 + 9)` viz. `12`. Functions can be more complex and longer.
+We can call evaluating `(x + y)` `add(x, y)`.  After this naming, `add(3, 9)`
+means `(3 + 9)` viz. `12`.  Functions can be more complex and longer.
 
     multiply &lt;- (x, y): {
-        result &lt;- 0; i &lt;- 0
-
-        loop (): {
-            result &lt;- add(result, x)
-            i &lt;- i + 1; i &lt;= y
-        }
-
-        result
+      result &lt;- 0; i &lt;- 0
+      loop (): {
+        result &lt;- add(result, x)
+        i &lt;- i + 1; i &lt;= y
+      }
+      result
     }
 
 When the function contains two or more expressions, curly brackets should wrap
@@ -136,7 +131,7 @@ and applying function with list or dictionary prettier.
 
     # higher-order function
     map (filter [1, 2, 3, 4], (x): x % 2 == 1), (x): {
-        log(x &amp; &quot;\n&quot;)
+      log(x &amp; &quot;\n&quot;)
     }
 
 
@@ -144,20 +139,20 @@ Pseudo-attributes And Pseudo-methods
 ------------------------------------
 
 Hongmini programming language has no attributes. It is just syntactic sugar
-for calling function. Following two expressions are the same.
+for calling function.  Following two expressions are the same.
 
     function.attribute
     function(&quot;attribute&quot;)
 
 In other words, all function call can be also attribute accessor of the
-object. Likewise setting attribute is translated into calling function. The
+object.  Likewise setting attribute is translated into calling function.  The
 name of attribute passes into first parameter and value to set passes into
 second it.
 
     function.attribute &lt;- value
     function(&quot;attribute&quot;, value)
 
-You can apply this feature to imitate object&#8217;s method call. It will behave as
+You can apply this feature to imitate object&#8217;s method call.  It will behave as
 higher-order function.
 
     object.method()
@@ -172,8 +167,9 @@ You can use non-negative numeral as the name of attributes also.
 Pseudo-operators
 ----------------
 
-There are no operators in Hongmini programming language. However, pseudo-methods
-call can seem to use operators. Following expressions are the same.
+There are no operators in Hongmini programming language.  However,
+pseudo-methods call can seem to use operators.  Following expressions are the
+same.
 
     value operator operand
     value.operator(operand)
@@ -192,7 +188,7 @@ There are two types of the string literal in Hongmini programming language.
  - numeric string
 
 The double quotation string literal is a widely used way to represent string
-values. It can contains any characters except double quotation character.
+values.  It can contains any characters except double quotation character.
 
     &quot;To be, or not to be.&quot;
     &quot;1234&quot;
@@ -205,9 +201,9 @@ To contain double quotation character, it should be escaped with backslash.
 
     &quot;Lin Chi said, \&quot;If you meet the Buddha on the road, kill him.\&quot;&quot;
 
-The numerical string literal is used usually to repreent number. Because there&#8217;s
-no specific number types in Hongmini programming language. However, `123` equals
-`&quot;123&quot;`.
+The numerical string literal is used usually to repreent number.  Because
+there&#8217;s no specific number types in Hongmini programming language.  However,
+`123` equals `&quot;123&quot;`.
 
     42
     3.14159265
@@ -216,7 +212,7 @@ no specific number types in Hongmini programming language. However, `123` equals
 List And Map
 ------------
 
-To contain one or more values, you can use containers. There are two built-in
+To contain one or more values, you can use containers.  There are two built-in
 container types.
 
  - ordered list, e.g. `[]`, `[1, 2, 3]`, `[&quot;hello&quot;, [1, 2], (x): x + 1]`
@@ -227,24 +223,24 @@ the number of elements. It accepts any type.
 
     list &lt;- [&quot;a&quot;, &quot;b&quot;, &quot;c&quot;, [1, 2, 3]]
 
-You can count the number of elements in the list. Use pseudo-attribute `size`.
+You can count the number of elements in the list.  Use pseudo-attribute `size`.
 
     list.size
 
-To iterate the list, use psuedo-method `each`. This method is higher-order
+To iterate the list, use psuedo-method `each`.  This method is higher-order
 function, and, function to pass to its parameters should accept one or two
 arguments: value and optional index number of element.
 
     list.each (value): stdout.write(value &amp; &quot;\n&quot;) # it prints elements of list
 
     list.each (value, index): {            # it prints elements and its index
-        stdout.write(index &amp; &quot;. &quot; &amp; value) # of list
-        stdout.write(&quot;\n&quot;)
+      stdout.write(index &amp; &quot;. &quot; &amp; value)   # of list
+      stdout.write(&quot;\n&quot;)
     }
 
-If you need `for`-like loop of C/C++, use function `range`. It generates a list
-that contains sequential numbers. It is equal to the function of the same name
-in Python.
+If you need `for`-like loop of C/C++, use function `range`.  It generates a
+list that contains sequential numbers.  It is equal to the function of the
+same name in Python.
 
     range(5)        # [0, 1, 2, 3, 4]
     range(3, 7)     # [3, 4, 5, 6]
@@ -252,9 +248,9 @@ in Python.
 
     range(1, 10) each stdout.write # it prints: 123456789
 
-Maps have keys of string and its values. The key and its value are called &#8220;pair&#8221;
-, and you can translate pairs of the map to the two-dimensional list by function
-`pairs`.
+Maps have keys of string and its values.  The key and its value are called
+&#8220;pair&#8221;, and you can translate pairs of the map to the two-dimensional list by
+function `pairs`.
 
     name &lt;- { family &lt;- &quot;Hong&quot;; given &lt;- &quot;MinHee&quot; }
     pairs(name) # [[&quot;family&quot;, &quot;Hong&quot;], [&quot;given&quot;, &quot;MinHee&quot;]]</diff>
      <filename>README.markdown</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>c5d96df995d53f70a78d4e4dbb87b9a2d878c180</id>
    </parent>
  </parents>
  <author>
    <name>Hong, MinHee</name>
    <email>minhee@dahlia.kr</email>
  </author>
  <url>http://github.com/dahlia/hongmini/commit/b992035fe10bd5b88cffd607c6fd2a50f8da11c4</url>
  <id>b992035fe10bd5b88cffd607c6fd2a50f8da11c4</id>
  <committed-date>2009-06-07T20:14:06-07:00</committed-date>
  <authored-date>2009-06-07T20:14:06-07:00</authored-date>
  <message>(Nothing special.)</message>
  <tree>1a5c504278110a731db83d1dea431b2a5b6d032b</tree>
  <committer>
    <name>Hong, MinHee</name>
    <email>minhee@dahlia.kr</email>
  </committer>
</commit>
