<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -35,7 +35,15 @@ class Lucash
           end
         end
       when :and
-        if eval(*cdr[0])
+        if r = eval(*cdr[0])
+          eval(*cdr[1])
+        else
+          r
+        end
+      when :or
+        if r = eval(*cdr[0])
+          r
+        else
           eval(*cdr[1])
         end
       when :if</diff>
      <filename>lib/lucash/ast.rb</filename>
    </modified>
    <modified>
      <diff>@@ -7,7 +7,7 @@
 require 'racc/parser.rb'
 class LucashGrammar &lt; Racc::Parser
 
-module_eval(&lt;&lt;'...end grammar.y/module_eval...', 'grammar.y', 66)
+module_eval(&lt;&lt;'...end grammar.y/module_eval...', 'grammar.y', 67)
 
 require 'lucash/parser'
 
@@ -21,64 +21,64 @@ end
 ##### State transition tables begin ###
 
 racc_action_table = [
-    24,     7,     7,     3,     7,     7,    37,    38,    29,    30,
-    21,    88,     2,     8,     5,     7,    10,    13,    54,    47,
-     1,     1,    46,     1,     1,     4,     8,    45,    12,    16,
-    18,    19,     3,    46,     1,    87,    42,    44,    52,    21,
-    89,     2,    55,     5,     7,    10,    13,    56,    43,    37,
-    38,    29,    30,    39,     4,     8,    76,    12,    16,    18,
-    19,     3,    75,     1,    37,    38,    29,    30,    21,    23,
-     2,    96,     5,     7,    10,    13,    95,    31,    32,    33,
-    34,    35,    36,     4,     8,    68,    12,    16,    18,    19,
-     3,    98,     1,    37,    38,    29,    30,    21,   nil,     2,
+    24,    91,    52,     3,    31,    32,    33,    34,    35,    36,
+    21,    47,     2,    88,     5,     7,    10,    13,    89,     7,
+    37,    38,    29,    30,    46,     4,     8,    45,    12,    16,
+    18,    19,     3,     7,     1,    54,    42,    44,     1,    21,
+    55,     2,    56,     5,     7,    10,    13,     7,    43,    46,
+    39,    76,     1,     7,     4,     8,    75,    12,    16,    18,
+    19,    51,     3,     1,     8,    23,     1,    99,    68,    21,
+   101,     2,     1,     5,     7,    10,    13,    98,    31,    32,
+    33,    34,    35,    36,     4,     8,   nil,    12,    16,    18,
+    19,     3,   nil,     1,    37,    38,    29,    30,    21,   nil,
+     2,   nil,     5,     7,    10,    13,   nil,    31,    32,    33,
+    34,    35,    36,     4,     8,   nil,    12,    16,    18,    19,
+     3,   nil,     1,    37,    38,    29,    30,    21,    97,     2,
    nil,     5,     7,    10,    13,   nil,    31,    32,    33,    34,
     35,    36,     4,     8,   nil,    12,    16,    18,    19,     3,
-   nil,     1,    37,    38,    29,    30,    21,    94,     2,   nil,
-     5,     7,    10,    13,   nil,    31,    32,    33,    34,    35,
-    36,     4,     8,   nil,    12,    16,    18,    19,     3,   nil,
+   nil,     1,    37,    38,    29,    30,    21,   nil,     2,   nil,
+     5,     7,    10,    13,   nil,    31,    32,    33,    34,   nil,
+   nil,     4,     8,    28,    12,    16,    18,    19,     3,   nil,
      1,    37,    38,    29,    30,    21,   nil,     2,   nil,     5,
-     7,    10,    13,   nil,    31,    32,    33,    34,    35,    36,
-     4,     8,    28,    12,    16,    18,    19,     3,   nil,     1,
+     7,    10,    13,    96,    31,    32,    33,    34,   nil,   nil,
+     4,     8,   nil,    12,    16,    18,    19,     3,   nil,     1,
     37,    38,    29,    30,    21,   nil,     2,   nil,     5,     7,
-    10,    13,    93,    31,    32,    33,    34,    35,    36,     4,
+    10,    13,   nil,    31,    32,    33,    34,    35,    36,     4,
      8,   nil,    12,    16,    18,    19,     3,   nil,     1,    37,
     38,    29,    30,    21,   nil,     2,   nil,     5,     7,    10,
-    13,   nil,    31,    32,    33,    34,   nil,   nil,     4,     8,
+    13,    94,    37,    38,    29,    30,   nil,   nil,     4,     8,
    nil,    12,    16,    18,    19,     3,   nil,     1,    37,    38,
     29,    30,    21,   nil,     2,   nil,     5,     7,    10,    13,
-   nil,    31,    32,    33,    34,   nil,   nil,     4,     8,   nil,
+    37,    38,    29,    30,   nil,   nil,   nil,     4,     8,   nil,
     12,    16,    18,    19,     3,   nil,     1,    37,    38,    29,
-    30,    21,   nil,     2,   nil,     5,     7,    10,    13,    37,
-    38,    29,    30,   nil,   nil,   nil,     4,     8,   nil,    12,
+    30,    21,   nil,     2,   nil,     5,     7,    10,    13,   nil,
+   nil,   nil,   nil,   nil,   nil,   nil,     4,     8,   nil,    12,
     16,    18,    19,     3,   nil,     1,   nil,   nil,   nil,   nil,
     21,   nil,     2,   nil,     5,     7,    10,    13,   nil,   nil,
    nil,   nil,   nil,   nil,   nil,     4,     8,   nil,    12,    16,
     18,    19,     3,   nil,     1,   nil,   nil,   nil,   nil,    21,
-    85,     2,   nil,     5,     7,    10,    13,   nil,   nil,   nil,
+   nil,     2,   nil,     5,     7,    10,    13,   nil,   nil,   nil,
    nil,   nil,   nil,   nil,     4,     8,   nil,    12,    16,    18,
-    19,     3,   nil,     1,   nil,   nil,   nil,   nil,    21,    84,
+    19,     3,   nil,     1,   nil,   nil,   nil,   nil,    21,   nil,
      2,   nil,     5,     7,    10,    13,   nil,   nil,   nil,   nil,
    nil,   nil,   nil,     4,     8,   nil,    12,    16,    18,    19,
      3,   nil,     1,   nil,   nil,   nil,   nil,    21,   nil,     2,
    nil,     5,     7,    10,    13,   nil,   nil,   nil,   nil,   nil,
    nil,   nil,     4,     8,   nil,    12,    16,    18,    19,     3,
-   nil,     1,   nil,   nil,   nil,   nil,    21,   nil,     2,   nil,
+   nil,     1,   nil,   nil,   nil,   nil,    21,    86,     2,   nil,
      5,     7,    10,    13,   nil,   nil,   nil,   nil,   nil,   nil,
-   nil,     4,     8,   nil,    12,    16,    18,    19,    51,     3,
-     1,   nil,   nil,   nil,   nil,   nil,    21,   nil,     2,   nil,
-     5,     7,    10,    13,    82,    83,   nil,   nil,   nil,   nil,
    nil,     4,     8,   nil,    12,    16,    18,    19,     3,   nil,
      1,   nil,   nil,   nil,   nil,    21,   nil,     2,   nil,     5,
      7,    10,    13,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
      4,     8,   nil,    12,    16,    18,    19,     3,   nil,     1,
-   nil,   nil,   nil,   nil,    21,   nil,     2,   nil,     5,     7,
+   nil,   nil,   nil,   nil,    21,    85,     2,   nil,     5,     7,
     10,    13,   nil,   nil,   nil,   nil,   nil,   nil,   nil,     4,
      8,   nil,    12,    16,    18,    19,     3,   nil,     1,   nil,
    nil,   nil,   nil,    21,   nil,     2,   nil,     5,     7,    10,
     13,   nil,   nil,   nil,   nil,   nil,   nil,   nil,     4,     8,
    nil,    12,    16,    18,    19,     3,   nil,     1,   nil,   nil,
-   nil,   nil,    21,    79,     2,   nil,     5,     7,    10,    13,
-   nil,   nil,   nil,   nil,   nil,   nil,   nil,     4,     8,   nil,
+   nil,   nil,    21,   nil,     2,   nil,     5,     7,    10,    13,
+    82,   nil,   nil,   nil,   nil,   nil,   nil,     4,     8,   nil,
     12,    16,    18,    19,     3,   nil,     1,   nil,   nil,   nil,
    nil,    21,   nil,     2,   nil,     5,     7,    10,    13,   nil,
    nil,   nil,   nil,   nil,   nil,   nil,     4,     8,   nil,    12,
@@ -87,24 +87,27 @@ racc_action_table = [
    nil,   nil,   nil,   nil,   nil,     4,     8,    57,    12,    16,
     18,    19,     3,   nil,     1,   nil,   nil,   nil,   nil,    21,
    nil,     2,   nil,     5,     7,    10,    13,   nil,   nil,   nil,
-   nil,   nil,   nil,   nil,     4,     8,    77,    12,    16,    18,
-    19,     3,   nil,     1,   nil,   nil,   nil,   nil,    21,   nil,
+   nil,   nil,   nil,   nil,     4,     8,    80,    12,    16,    18,
+    19,     3,   nil,     1,   nil,   nil,   nil,   nil,    21,    79,
      2,   nil,     5,     7,    10,    13,   nil,   nil,   nil,   nil,
    nil,   nil,   nil,     4,     8,   nil,    12,    16,    18,    19,
-     3,    74,     1,   nil,   nil,   nil,   nil,    21,   nil,     2,
+     3,   nil,     1,   nil,   nil,   nil,   nil,    21,   nil,     2,
    nil,     5,     7,    10,    13,   nil,   nil,   nil,   nil,   nil,
-   nil,   nil,     4,     8,   nil,    12,    16,    18,    19,     3,
+   nil,   nil,     4,     8,    77,    12,    16,    18,    19,     3,
    nil,     1,   nil,   nil,   nil,   nil,    21,   nil,     2,   nil,
      5,     7,    10,    13,   nil,   nil,   nil,   nil,   nil,   nil,
-   nil,     4,     8,   nil,    12,    16,    18,    19,   nil,   nil,
-     1,     3,    31,    32,    33,    34,    35,    36,    21,   nil,
-     2,   nil,     5,     7,    10,    13,   nil,   nil,    37,    38,
-    29,    30,   nil,     4,     8,   nil,    12,    16,    18,    19,
-     3,   nil,     1,   nil,   nil,   nil,   nil,    21,   nil,     2,
-   nil,     5,     7,    10,    13,    81,   nil,   nil,     5,     7,
-    10,    13,     4,     8,   nil,    12,    16,    18,    19,     4,
-     8,     1,    12,    16,    18,    19,   nil,   nil,     1,     5,
-     7,    10,    13,   nil,   nil,   nil,     5,     7,    10,    13,
+   nil,     4,     8,   nil,    12,    16,    18,    19,     3,    74,
+     1,   nil,   nil,   nil,   nil,    21,   nil,     2,   nil,     5,
+     7,    10,    13,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
+     4,     8,   nil,    12,    16,    18,    19,     3,   nil,     1,
+   nil,   nil,   nil,   nil,    21,   nil,     2,   nil,     5,     7,
+    10,    13,   nil,   nil,   nil,   nil,   nil,   nil,   nil,     4,
+     8,   nil,    12,    16,    18,    19,   nil,   nil,     1,     3,
+    31,    32,    33,    34,    35,    36,    21,   nil,     2,   nil,
+     5,     7,    10,    13,   nil,   nil,    37,    38,    29,    30,
+   nil,     4,     8,   nil,    12,    16,    18,    19,     3,   nil,
+     1,   nil,   nil,   nil,   nil,    21,   nil,     2,   nil,     5,
+     7,    10,    13,    83,    84,   nil,     5,     7,    10,    13,
      4,     8,   nil,    12,    16,    18,    19,     4,     8,     1,
     12,    16,    18,    19,   nil,   nil,     1,     5,     7,    10,
     13,   nil,   nil,   nil,     5,     7,    10,    13,     4,     8,
@@ -117,142 +120,153 @@ racc_action_table = [
     19,     4,     8,     1,    12,    16,    18,    19,   nil,   nil,
      1,     5,     7,    10,    13,   nil,   nil,   nil,     5,     7,
     10,    13,     4,     8,   nil,    12,    16,    18,    19,     4,
-     8,     1,    12,    16,    18,    19,   nil,   nil,     1 ]
+     8,     1,    12,    16,    18,    19,   nil,   nil,     1,     5,
+     7,    10,    13,   nil,   nil,   nil,     5,     7,    10,    13,
+     4,     8,   nil,    12,    16,    18,    19,     4,     8,     1,
+    12,    16,    18,    19,   nil,   nil,     1 ]
 
 racc_action_check = [
-     6,     7,    29,     6,    12,     4,    63,    63,    63,    63,
-     6,    78,     6,    29,     6,     6,     6,     6,    22,    16,
-     7,    29,    15,    12,     4,     6,     6,    14,     6,     6,
-     6,     6,    18,    58,     6,    75,    14,    14,    20,    18,
-    80,    18,    23,    18,    18,    18,    18,    24,    14,    62,
-    62,    62,    62,    10,    18,    18,    50,    18,    18,    18,
-    18,    92,    49,    18,    61,    61,    61,    61,    92,     5,
-    92,    94,    92,    92,    92,    92,    92,     9,     9,     9,
-     9,     9,     9,    92,    92,    39,    92,    92,    92,    92,
-     0,    97,    92,     9,     9,     9,     9,     0,   nil,     0,
-   nil,     0,     0,     0,     0,   nil,    59,    59,    59,    59,
-    59,    59,     0,     0,   nil,     0,     0,     0,     0,    91,
-   nil,     0,    59,    59,    59,    59,    91,    91,    91,   nil,
-    91,    91,    91,    91,   nil,    71,    71,    71,    71,    71,
-    71,    91,    91,   nil,    91,    91,    91,    91,     8,   nil,
-    91,    71,    71,    71,    71,     8,   nil,     8,   nil,     8,
-     8,     8,     8,   nil,    67,    67,    67,    67,    67,    67,
-     8,     8,     8,     8,     8,     8,     8,    90,   nil,     8,
-    67,    67,    67,    67,    90,   nil,    90,   nil,    90,    90,
-    90,    90,    90,    66,    66,    66,    66,    66,    66,    90,
-    90,   nil,    90,    90,    90,    90,    89,   nil,    90,    66,
-    66,    66,    66,    89,   nil,    89,   nil,    89,    89,    89,
-    89,   nil,    65,    65,    65,    65,   nil,   nil,    89,    89,
-   nil,    89,    89,    89,    89,    87,   nil,    89,    65,    65,
-    65,    65,    87,   nil,    87,   nil,    87,    87,    87,    87,
-   nil,    64,    64,    64,    64,   nil,   nil,    87,    87,   nil,
-    87,    87,    87,    87,    83,   nil,    87,    64,    64,    64,
-    64,    83,   nil,    83,   nil,    83,    83,    83,    83,    60,
-    60,    60,    60,   nil,   nil,   nil,    83,    83,   nil,    83,
-    83,    83,    83,    74,   nil,    83,   nil,   nil,   nil,   nil,
-    74,   nil,    74,   nil,    74,    74,    74,    74,   nil,   nil,
-   nil,   nil,   nil,   nil,   nil,    74,    74,   nil,    74,    74,
-    74,    74,    73,   nil,    74,   nil,   nil,   nil,   nil,    73,
-    73,    73,   nil,    73,    73,    73,    73,   nil,   nil,   nil,
-   nil,   nil,   nil,   nil,    73,    73,   nil,    73,    73,    73,
-    73,    72,   nil,    73,   nil,   nil,   nil,   nil,    72,    72,
-    72,   nil,    72,    72,    72,    72,   nil,   nil,   nil,   nil,
-   nil,   nil,   nil,    72,    72,   nil,    72,    72,    72,    72,
-    96,   nil,    72,   nil,   nil,   nil,   nil,    96,   nil,    96,
-   nil,    96,    96,    96,    96,   nil,   nil,   nil,   nil,   nil,
-   nil,   nil,    96,    96,   nil,    96,    96,    96,    96,    19,
-   nil,    96,   nil,   nil,   nil,   nil,    19,   nil,    19,   nil,
-    19,    19,    19,    19,   nil,   nil,   nil,   nil,   nil,   nil,
-   nil,    19,    19,   nil,    19,    19,    19,    19,    19,    70,
-    19,   nil,   nil,   nil,   nil,   nil,    70,   nil,    70,   nil,
-    70,    70,    70,    70,    70,    70,   nil,   nil,   nil,   nil,
-   nil,    70,    70,   nil,    70,    70,    70,    70,    21,   nil,
-    70,   nil,   nil,   nil,   nil,    21,   nil,    21,   nil,    21,
+     6,    81,    20,     6,     9,     9,     9,     9,     9,     9,
+     6,    16,     6,    75,     6,     6,     6,     6,    78,    12,
+     9,     9,     9,     9,    15,     6,     6,    14,     6,     6,
+     6,     6,    19,     7,     6,    22,    14,    14,    12,    19,
+    23,    19,    24,    19,    19,    19,    19,     4,    14,    58,
+    10,    50,     7,    29,    19,    19,    49,    19,    19,    19,
+    19,    19,    95,    19,    29,     5,     4,    97,    39,    95,
+   100,    95,    29,    95,    95,    95,    95,    95,    59,    59,
+    59,    59,    59,    59,    95,    95,   nil,    95,    95,    95,
+    95,     0,   nil,    95,    59,    59,    59,    59,     0,   nil,
+     0,   nil,     0,     0,     0,     0,   nil,    71,    71,    71,
+    71,    71,    71,     0,     0,   nil,     0,     0,     0,     0,
+    93,   nil,     0,    71,    71,    71,    71,    93,    93,    93,
+   nil,    93,    93,    93,    93,   nil,    67,    67,    67,    67,
+    67,    67,    93,    93,   nil,    93,    93,    93,    93,     8,
+   nil,    93,    67,    67,    67,    67,     8,   nil,     8,   nil,
+     8,     8,     8,     8,   nil,    64,    64,    64,    64,   nil,
+   nil,     8,     8,     8,     8,     8,     8,     8,    92,   nil,
+     8,    64,    64,    64,    64,    92,   nil,    92,   nil,    92,
+    92,    92,    92,    92,    65,    65,    65,    65,   nil,   nil,
+    92,    92,   nil,    92,    92,    92,    92,    91,   nil,    92,
+    65,    65,    65,    65,    91,   nil,    91,   nil,    91,    91,
+    91,    91,   nil,    66,    66,    66,    66,    66,    66,    91,
+    91,   nil,    91,    91,    91,    91,    90,   nil,    91,    66,
+    66,    66,    66,    90,   nil,    90,   nil,    90,    90,    90,
+    90,    90,    63,    63,    63,    63,   nil,   nil,    90,    90,
+   nil,    90,    90,    90,    90,    88,   nil,    90,    60,    60,
+    60,    60,    88,   nil,    88,   nil,    88,    88,    88,    88,
+    61,    61,    61,    61,   nil,   nil,   nil,    88,    88,   nil,
+    88,    88,    88,    88,    84,   nil,    88,    62,    62,    62,
+    62,    84,   nil,    84,   nil,    84,    84,    84,    84,   nil,
+   nil,   nil,   nil,   nil,   nil,   nil,    84,    84,   nil,    84,
+    84,    84,    84,    80,   nil,    84,   nil,   nil,   nil,   nil,
+    80,   nil,    80,   nil,    80,    80,    80,    80,   nil,   nil,
+   nil,   nil,   nil,   nil,   nil,    80,    80,   nil,    80,    80,
+    80,    80,    74,   nil,    80,   nil,   nil,   nil,   nil,    74,
+   nil,    74,   nil,    74,    74,    74,    74,   nil,   nil,   nil,
+   nil,   nil,   nil,   nil,    74,    74,   nil,    74,    74,    74,
+    74,    18,   nil,    74,   nil,   nil,   nil,   nil,    18,   nil,
+    18,   nil,    18,    18,    18,    18,   nil,   nil,   nil,   nil,
+   nil,   nil,   nil,    18,    18,   nil,    18,    18,    18,    18,
+    99,   nil,    18,   nil,   nil,   nil,   nil,    99,   nil,    99,
+   nil,    99,    99,    99,    99,   nil,   nil,   nil,   nil,   nil,
+   nil,   nil,    99,    99,   nil,    99,    99,    99,    99,    73,
+   nil,    99,   nil,   nil,   nil,   nil,    73,    73,    73,   nil,
+    73,    73,    73,    73,   nil,   nil,   nil,   nil,   nil,   nil,
+   nil,    73,    73,   nil,    73,    73,    73,    73,    21,   nil,
+    73,   nil,   nil,   nil,   nil,    21,   nil,    21,   nil,    21,
     21,    21,    21,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
-    21,    21,   nil,    21,    21,    21,    21,    40,   nil,    21,
-   nil,   nil,   nil,   nil,    40,   nil,    40,   nil,    40,    40,
-    40,    40,   nil,   nil,   nil,   nil,   nil,   nil,   nil,    40,
-    40,   nil,    40,    40,    40,    40,    54,   nil,    40,   nil,
-   nil,   nil,   nil,    54,   nil,    54,   nil,    54,    54,    54,
-    54,   nil,   nil,   nil,   nil,   nil,   nil,   nil,    54,    54,
-   nil,    54,    54,    54,    54,    53,   nil,    54,   nil,   nil,
-   nil,   nil,    53,    53,    53,   nil,    53,    53,    53,    53,
-   nil,   nil,   nil,   nil,   nil,   nil,   nil,    53,    53,   nil,
-    53,    53,    53,    53,    25,   nil,    53,   nil,   nil,   nil,
+    21,    21,   nil,    21,    21,    21,    21,    72,   nil,    21,
+   nil,   nil,   nil,   nil,    72,    72,    72,   nil,    72,    72,
+    72,    72,   nil,   nil,   nil,   nil,   nil,   nil,   nil,    72,
+    72,   nil,    72,    72,    72,    72,    40,   nil,    72,   nil,
+   nil,   nil,   nil,    40,   nil,    40,   nil,    40,    40,    40,
+    40,   nil,   nil,   nil,   nil,   nil,   nil,   nil,    40,    40,
+   nil,    40,    40,    40,    40,    69,   nil,    40,   nil,   nil,
+   nil,   nil,    69,   nil,    69,   nil,    69,    69,    69,    69,
+    69,   nil,   nil,   nil,   nil,   nil,   nil,    69,    69,   nil,
+    69,    69,    69,    69,    25,   nil,    69,   nil,   nil,   nil,
    nil,    25,   nil,    25,   nil,    25,    25,    25,    25,   nil,
    nil,   nil,   nil,   nil,   nil,   nil,    25,    25,   nil,    25,
     25,    25,    25,    27,   nil,    25,   nil,   nil,   nil,   nil,
     27,   nil,    27,   nil,    27,    27,    27,    27,   nil,   nil,
    nil,   nil,   nil,   nil,   nil,    27,    27,    27,    27,    27,
-    27,    27,    52,   nil,    27,   nil,   nil,   nil,   nil,    52,
-   nil,    52,   nil,    52,    52,    52,    52,   nil,   nil,   nil,
-   nil,   nil,   nil,   nil,    52,    52,    52,    52,    52,    52,
-    52,    48,   nil,    52,   nil,   nil,   nil,   nil,    48,   nil,
-    48,   nil,    48,    48,    48,    48,   nil,   nil,   nil,   nil,
-   nil,   nil,   nil,    48,    48,   nil,    48,    48,    48,    48,
-    47,    48,    48,   nil,   nil,   nil,   nil,    47,   nil,    47,
-   nil,    47,    47,    47,    47,   nil,   nil,   nil,   nil,   nil,
-   nil,   nil,    47,    47,   nil,    47,    47,    47,    47,    46,
-   nil,    47,   nil,   nil,   nil,   nil,    46,   nil,    46,   nil,
-    46,    46,    46,    46,   nil,   nil,   nil,   nil,   nil,   nil,
-   nil,    46,    46,   nil,    46,    46,    46,    46,   nil,   nil,
-    46,    41,    41,    41,    41,    41,    41,    41,    41,   nil,
-    41,   nil,    41,    41,    41,    41,   nil,   nil,    41,    41,
-    41,    41,   nil,    41,    41,   nil,    41,    41,    41,    41,
-    69,   nil,    41,   nil,   nil,   nil,   nil,    69,   nil,    69,
-   nil,    69,    69,    69,    69,    69,   nil,   nil,    33,    33,
-    33,    33,    69,    69,   nil,    69,    69,    69,    69,    33,
-    33,    69,    33,    33,    33,    33,   nil,   nil,    33,    37,
-    37,    37,    37,   nil,   nil,   nil,    38,    38,    38,    38,
-    37,    37,   nil,    37,    37,    37,    37,    38,    38,    37,
-    38,    38,    38,    38,   nil,   nil,    38,    35,    35,    35,
-    35,   nil,   nil,   nil,    34,    34,    34,    34,    35,    35,
-   nil,    35,    35,    35,    35,    34,    34,    35,    34,    34,
-    34,    34,   nil,   nil,    34,    36,    36,    36,    36,   nil,
-   nil,   nil,    43,    43,    43,    43,    36,    36,   nil,    36,
-    36,    36,    36,    43,    43,    36,    43,    43,    43,    43,
-   nil,   nil,    43,    32,    32,    32,    32,   nil,   nil,   nil,
-    31,    31,    31,    31,    32,    32,   nil,    32,    32,    32,
-    32,    31,    31,    32,    31,    31,    31,    31,   nil,   nil,
-    31,    30,    30,    30,    30,   nil,   nil,   nil,    13,    13,
-    13,    13,    30,    30,   nil,    30,    30,    30,    30,    13,
-    13,    30,    13,    13,    13,    13,   nil,   nil,    13 ]
+    27,    27,    54,   nil,    27,   nil,   nil,   nil,   nil,    54,
+   nil,    54,   nil,    54,    54,    54,    54,   nil,   nil,   nil,
+   nil,   nil,   nil,   nil,    54,    54,    54,    54,    54,    54,
+    54,    53,   nil,    54,   nil,   nil,   nil,   nil,    53,    53,
+    53,   nil,    53,    53,    53,    53,   nil,   nil,   nil,   nil,
+   nil,   nil,   nil,    53,    53,   nil,    53,    53,    53,    53,
+    52,   nil,    53,   nil,   nil,   nil,   nil,    52,   nil,    52,
+   nil,    52,    52,    52,    52,   nil,   nil,   nil,   nil,   nil,
+   nil,   nil,    52,    52,    52,    52,    52,    52,    52,    48,
+   nil,    52,   nil,   nil,   nil,   nil,    48,   nil,    48,   nil,
+    48,    48,    48,    48,   nil,   nil,   nil,   nil,   nil,   nil,
+   nil,    48,    48,   nil,    48,    48,    48,    48,    47,    48,
+    48,   nil,   nil,   nil,   nil,    47,   nil,    47,   nil,    47,
+    47,    47,    47,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
+    47,    47,   nil,    47,    47,    47,    47,    46,   nil,    47,
+   nil,   nil,   nil,   nil,    46,   nil,    46,   nil,    46,    46,
+    46,    46,   nil,   nil,   nil,   nil,   nil,   nil,   nil,    46,
+    46,   nil,    46,    46,    46,    46,   nil,   nil,    46,    41,
+    41,    41,    41,    41,    41,    41,    41,   nil,    41,   nil,
+    41,    41,    41,    41,   nil,   nil,    41,    41,    41,    41,
+   nil,    41,    41,   nil,    41,    41,    41,    41,    70,   nil,
+    41,   nil,   nil,   nil,   nil,    70,   nil,    70,   nil,    70,
+    70,    70,    70,    70,    70,   nil,    43,    43,    43,    43,
+    70,    70,   nil,    70,    70,    70,    70,    43,    43,    70,
+    43,    43,    43,    43,   nil,   nil,    43,    37,    37,    37,
+    37,   nil,   nil,   nil,    36,    36,    36,    36,    37,    37,
+   nil,    37,    37,    37,    37,    36,    36,    37,    36,    36,
+    36,    36,   nil,   nil,    36,    35,    35,    35,    35,   nil,
+   nil,   nil,    38,    38,    38,    38,    35,    35,   nil,    35,
+    35,    35,    35,    38,    38,    35,    38,    38,    38,    38,
+   nil,   nil,    38,    34,    34,    34,    34,   nil,   nil,   nil,
+    33,    33,    33,    33,    34,    34,   nil,    34,    34,    34,
+    34,    33,    33,    34,    33,    33,    33,    33,   nil,   nil,
+    33,    32,    32,    32,    32,   nil,   nil,   nil,    13,    13,
+    13,    13,    32,    32,   nil,    32,    32,    32,    32,    13,
+    13,    32,    13,    13,    13,    13,   nil,   nil,    13,    30,
+    30,    30,    30,   nil,   nil,   nil,    31,    31,    31,    31,
+    30,    30,   nil,    30,    30,    30,    30,    31,    31,    30,
+    31,    31,    31,    31,   nil,   nil,    31 ]
 
 racc_action_pointer = [
-    87,   nil,   nil,   nil,   -10,    54,     0,   -14,   145,    73,
-    38,   nil,   -11,   934,    24,    12,     9,   nil,    29,   406,
-    12,   465,    -8,    28,    47,   581,   nil,   610,   nil,   -13,
-   927,   906,   899,   794,   850,   843,   871,   815,   822,    69,
-   494,   758,   nil,   878,   nil,   nil,   726,   697,   668,    35,
-    24,   nil,   639,   552,   523,   nil,   nil,   nil,    23,   102,
-   259,    44,    29,   -14,   247,   218,   189,   160,   nil,   787,
-   436,   131,   348,   319,   290,    25,   nil,   nil,   -16,   nil,
-    13,   nil,   nil,   261,   nil,   nil,   nil,   232,   nil,   203,
-   174,   116,    58,   nil,    45,   nil,   377,    64,   nil ]
+    88,   nil,   nil,   nil,    32,    50,     0,    18,   146,     0,
+    35,   nil,     4,   964,    24,    14,     1,   nil,   378,    29,
+   -24,   465,     9,    26,    42,   581,   nil,   610,   nil,    38,
+   985,   992,   957,   936,   929,   901,   880,   873,   908,    52,
+   523,   816,   nil,   852,   nil,   nil,   784,   755,   726,    29,
+    19,   nil,   697,   668,   639,   nil,   nil,   nil,    39,    74,
+   248,   260,   277,   232,   161,   190,   219,   132,   nil,   552,
+   845,   103,   494,   436,   349,     3,   nil,   nil,    -9,   nil,
+   320,   -26,   nil,   nil,   291,   nil,   nil,   nil,   262,   nil,
+   233,   204,   175,   117,   nil,    59,   nil,    41,   nil,   407,
+    43,   nil ]
 
 racc_action_default = [
-   -46,   -43,   -24,   -25,   -46,   -46,   -46,   -44,   -46,    -3,
-   -46,    -4,   -46,   -46,    -5,   -33,   -46,   -42,   -46,   -46,
-   -34,   -46,   -46,   -46,   -46,    -1,   -45,   -46,   -41,   -46,
-   -46,   -46,   -46,   -46,   -46,   -46,   -46,   -46,   -46,   -46,
-   -46,   -46,    -7,   -46,    -8,    -6,   -46,   -46,   -38,   -46,
-   -46,   -32,   -46,   -46,   -46,    -9,    99,   -40,   -16,   -17,
-   -28,   -29,   -30,   -14,   -26,   -27,   -13,   -15,   -10,   -46,
-   -46,   -18,   -46,   -46,   -46,   -46,   -31,   -35,   -46,    -2,
-   -46,   -20,   -11,   -46,   -37,   -21,   -39,   -46,   -36,   -46,
-   -46,   -46,   -46,   -12,   -22,   -19,   -46,   -46,   -23 ]
+   -47,   -44,   -25,   -26,   -47,   -47,   -47,   -45,   -47,    -3,
+   -47,    -4,   -47,   -47,    -5,   -34,   -47,   -43,   -47,   -47,
+   -35,   -47,   -47,   -47,   -47,    -1,   -46,   -47,   -42,   -47,
+   -47,   -47,   -47,   -47,   -47,   -47,   -47,   -47,   -47,   -47,
+   -47,   -47,    -7,   -47,    -8,    -6,   -47,   -47,   -39,   -47,
+   -47,   -33,   -47,   -47,   -47,    -9,   102,   -41,   -16,   -17,
+   -29,   -30,   -31,   -14,   -27,   -28,   -13,   -15,   -10,   -47,
+   -47,   -18,   -47,   -47,   -47,   -47,   -32,   -36,   -47,    -2,
+   -47,   -47,   -21,   -11,   -47,   -38,   -22,   -40,   -47,   -37,
+   -47,   -47,   -47,   -47,   -19,   -47,   -12,   -23,   -20,   -47,
+   -47,   -24 ]
 
 racc_goto_table = [
      6,    49,    50,    58,    22,   nil,    41,    26,    27,   nil,
    nil,   nil,    40,   nil,   nil,   nil,   nil,   nil,    48,    48,
    nil,    53,   nil,    59,    60,    61,    62,    63,    64,    65,
-    66,    67,   nil,   nil,   nil,    78,    71,    80,   nil,   nil,
+    66,    67,   nil,   nil,   nil,    78,    71,    81,   nil,   nil,
     69,    70,   nil,   nil,   nil,   nil,    72,    73,   nil,   nil,
-   nil,   nil,    48,   nil,    48,   nil,   nil,    86,   nil,   nil,
+   nil,   nil,    48,   nil,    48,   nil,   nil,    87,   nil,   nil,
    nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
-   nil,   nil,   nil,   nil,    48,   nil,   nil,   nil,   nil,    97,
-   nil,   nil,   nil,    90,   nil,   nil,   nil,    91,   nil,    92,
-   nil,   nil,   nil,   nil,   nil,   nil,    48 ]
+   nil,   nil,   nil,   nil,    48,   nil,   nil,   nil,   nil,   nil,
+    90,   nil,   100,   nil,    92,   nil,   nil,   nil,    93,   nil,
+   nil,    95,   nil,   nil,   nil,   nil,   nil,   nil,   nil,    48 ]
 
 racc_goto_check = [
      1,     7,     7,     5,     6,   nil,     2,     6,     1,   nil,
@@ -262,9 +276,9 @@ racc_goto_check = [
      1,     1,   nil,   nil,   nil,   nil,     1,     1,   nil,   nil,
    nil,   nil,     1,   nil,     1,   nil,   nil,     7,   nil,   nil,
    nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
-   nil,   nil,   nil,   nil,     1,   nil,   nil,   nil,   nil,     7,
-   nil,   nil,   nil,     1,   nil,   nil,   nil,     1,   nil,     1,
-   nil,   nil,   nil,   nil,   nil,   nil,     1 ]
+   nil,   nil,   nil,   nil,     1,   nil,   nil,   nil,   nil,   nil,
+     1,   nil,     7,   nil,     1,   nil,   nil,   nil,     1,   nil,
+   nil,     1,   nil,   nil,   nil,   nil,   nil,   nil,   nil,     1 ]
 
 racc_goto_pointer = [
    nil,     0,    -7,   nil,   nil,   -26,     0,   -17,   nil ]
@@ -292,37 +306,38 @@ racc_reduce_table = [
   3, 37, :_reduce_16,
   3, 37, :_reduce_17,
   3, 37, :_reduce_18,
-  7, 37, :_reduce_19,
-  4, 37, :_reduce_20,
+  6, 37, :_reduce_19,
+  7, 37, :_reduce_20,
   4, 37, :_reduce_21,
-  6, 37, :_reduce_22,
-  9, 37, :_reduce_23,
-  1, 38, :_reduce_24,
+  4, 37, :_reduce_22,
+  6, 37, :_reduce_23,
+  9, 37, :_reduce_24,
   1, 38, :_reduce_25,
-  3, 39, :_reduce_26,
+  1, 38, :_reduce_26,
   3, 39, :_reduce_27,
   3, 39, :_reduce_28,
   3, 39, :_reduce_29,
   3, 39, :_reduce_30,
   3, 39, :_reduce_31,
-  2, 39, :_reduce_32,
-  1, 39, :_reduce_33,
-  1, 40, :_reduce_34,
-  3, 40, :_reduce_35,
-  4, 40, :_reduce_36,
+  3, 39, :_reduce_32,
+  2, 39, :_reduce_33,
+  1, 39, :_reduce_34,
+  1, 40, :_reduce_35,
+  3, 40, :_reduce_36,
   4, 40, :_reduce_37,
-  1, 42, :_reduce_38,
-  3, 42, :_reduce_39,
-  3, 43, :_reduce_40,
-  2, 43, :_reduce_41,
-  1, 43, :_reduce_42,
-  1, 41, :_reduce_43,
+  4, 40, :_reduce_38,
+  1, 42, :_reduce_39,
+  3, 42, :_reduce_40,
+  3, 43, :_reduce_41,
+  2, 43, :_reduce_42,
+  1, 43, :_reduce_43,
   1, 41, :_reduce_44,
-  2, 41, :_reduce_45 ]
+  1, 41, :_reduce_45,
+  2, 41, :_reduce_46 ]
 
-racc_reduce_n = 46
+racc_reduce_n = 47
 
-racc_shift_n = 99
+racc_shift_n = 102
 
 racc_token_table = {
   false =&gt; 0,
@@ -543,37 +558,37 @@ module_eval(&lt;&lt;'.,.,', 'grammar.y', 28)
 
 module_eval(&lt;&lt;'.,.,', 'grammar.y', 29)
   def _reduce_19(val, _values)
-     [:assignment, val[1], [:lambda, val[3], val[5]]] 
+     [:assignment, val[1], [:lambda, nil, val[4]]] 
   end
 .,.,
 
 module_eval(&lt;&lt;'.,.,', 'grammar.y', 30)
   def _reduce_20(val, _values)
-     [:assignment, val[1], [:lambda, nil, val[2]]] 
+     [:assignment, val[1], [:lambda, val[3], val[5]]] 
   end
 .,.,
 
 module_eval(&lt;&lt;'.,.,', 'grammar.y', 31)
   def _reduce_21(val, _values)
-     [:lambda, nil, val[2]] 
+     [:assignment, val[1], [:lambda, nil, val[2]]] 
   end
 .,.,
 
 module_eval(&lt;&lt;'.,.,', 'grammar.y', 32)
   def _reduce_22(val, _values)
-     [:lambda, val[1], val[4]] 
+     [:lambda, nil, val[2]] 
   end
 .,.,
 
 module_eval(&lt;&lt;'.,.,', 'grammar.y', 33)
   def _reduce_23(val, _values)
-     [:args, [:lambda, val[1], val[4]], val[7]] 
+     [:lambda, val[1], val[4]] 
   end
 .,.,
 
-module_eval(&lt;&lt;'.,.,', 'grammar.y', 35)
+module_eval(&lt;&lt;'.,.,', 'grammar.y', 34)
   def _reduce_24(val, _values)
-     [:newline, []] 
+     [:args, [:lambda, val[1], val[4]], val[7]] 
   end
 .,.,
 
@@ -583,55 +598,55 @@ module_eval(&lt;&lt;'.,.,', 'grammar.y', 36)
   end
 .,.,
 
-module_eval(&lt;&lt;'.,.,', 'grammar.y', 38)
+module_eval(&lt;&lt;'.,.,', 'grammar.y', 37)
   def _reduce_26(val, _values)
-     [:+, val[0], val[2]] 
+     [:newline, []] 
   end
 .,.,
 
 module_eval(&lt;&lt;'.,.,', 'grammar.y', 39)
   def _reduce_27(val, _values)
-     [:-, val[0], val[2]] 
+     [:+, val[0], val[2]] 
   end
 .,.,
 
 module_eval(&lt;&lt;'.,.,', 'grammar.y', 40)
   def _reduce_28(val, _values)
-     [:*, val[0], val[2]] 
+     [:-, val[0], val[2]] 
   end
 .,.,
 
 module_eval(&lt;&lt;'.,.,', 'grammar.y', 41)
   def _reduce_29(val, _values)
-     [:slash, val[0], val[2]] 
+     [:*, val[0], val[2]] 
   end
 .,.,
 
 module_eval(&lt;&lt;'.,.,', 'grammar.y', 42)
   def _reduce_30(val, _values)
-     [:%, val[0], val[2]] 
+     [:slash, val[0], val[2]] 
   end
 .,.,
 
 module_eval(&lt;&lt;'.,.,', 'grammar.y', 43)
   def _reduce_31(val, _values)
-     [:array, val[1]] 
+     [:%, val[0], val[2]] 
   end
 .,.,
 
 module_eval(&lt;&lt;'.,.,', 'grammar.y', 44)
   def _reduce_32(val, _values)
-     [:empty_array] 
+     [:array, val[1]] 
   end
 .,.,
 
 module_eval(&lt;&lt;'.,.,', 'grammar.y', 45)
   def _reduce_33(val, _values)
-     val[0] 
+     [:empty_array] 
   end
 .,.,
 
-module_eval(&lt;&lt;'.,.,', 'grammar.y', 47)
+module_eval(&lt;&lt;'.,.,', 'grammar.y', 46)
   def _reduce_34(val, _values)
      val[0] 
   end
@@ -645,60 +660,66 @@ module_eval(&lt;&lt;'.,.,', 'grammar.y', 48)
 
 module_eval(&lt;&lt;'.,.,', 'grammar.y', 49)
   def _reduce_36(val, _values)
-     [:args, val[0], val[2]] 
+     val[0] 
   end
 .,.,
 
 module_eval(&lt;&lt;'.,.,', 'grammar.y', 50)
   def _reduce_37(val, _values)
-     [:yield, val[0], val[2]] 
+     [:args, val[0], val[2]] 
   end
 .,.,
 
-module_eval(&lt;&lt;'.,.,', 'grammar.y', 52)
+module_eval(&lt;&lt;'.,.,', 'grammar.y', 51)
   def _reduce_38(val, _values)
-     [:splat, [val[0]]] 
+     [:yield, val[0], val[2]] 
   end
 .,.,
 
 module_eval(&lt;&lt;'.,.,', 'grammar.y', 53)
   def _reduce_39(val, _values)
-     [:splat, [val[0], *val[2][1]]] 
+     [:splat, [val[0]]] 
   end
 .,.,
 
-module_eval(&lt;&lt;'.,.,', 'grammar.y', 55)
+module_eval(&lt;&lt;'.,.,', 'grammar.y', 54)
   def _reduce_40(val, _values)
-     val[1] 
+     [:splat, [val[0], *val[2][1]]] 
   end
 .,.,
 
 module_eval(&lt;&lt;'.,.,', 'grammar.y', 56)
   def _reduce_41(val, _values)
-     [:empty_parens] 
+     val[1] 
   end
 .,.,
 
 module_eval(&lt;&lt;'.,.,', 'grammar.y', 57)
   def _reduce_42(val, _values)
-     val[0] 
+     [:empty_parens] 
   end
 .,.,
 
-module_eval(&lt;&lt;'.,.,', 'grammar.y', 59)
+module_eval(&lt;&lt;'.,.,', 'grammar.y', 58)
   def _reduce_43(val, _values)
-     [:number, val[0]] 
+     val[0] 
   end
 .,.,
 
 module_eval(&lt;&lt;'.,.,', 'grammar.y', 60)
   def _reduce_44(val, _values)
-     [:value, val[0]] 
+     [:number, val[0]] 
   end
 .,.,
 
 module_eval(&lt;&lt;'.,.,', 'grammar.y', 61)
   def _reduce_45(val, _values)
+     [:value, val[0]] 
+  end
+.,.,
+
+module_eval(&lt;&lt;'.,.,', 'grammar.y', 62)
+  def _reduce_46(val, _values)
      [:value, val[0], *val[1][1]] 
   end
 .,.,</diff>
      <filename>lib/lucash/grammar.rb</filename>
    </modified>
    <modified>
      <diff>@@ -27,6 +27,7 @@ rule
 		| line '.' method_call { [:method, val[0], val[2]] }
 		| line '==' line { [:==, val[0], val[2]] }
 		| expr '=' line { [:assignment, val[0], val[2]] }
+		| 'defn' atom '(' ')' program 'end' { [:assignment, val[1], [:lambda, nil, val[4]]] }
 		| 'defn' atom '(' splat ')' program 'end' { [:assignment, val[1], [:lambda, val[3], val[5]]] }
 		| 'def' atom program 'end' { [:assignment, val[1], [:lambda, nil, val[2]]] }
 		| '-&gt;' '{' program '}' { [:lambda, nil, val[2]] }</diff>
      <filename>lib/lucash/grammar.y</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>e278cc9908738cce849c635970db0f661afe5b97</id>
    </parent>
  </parents>
  <author>
    <name>Lucas Carlson</name>
    <email>lucas@rufy.com</email>
  </author>
  <url>http://github.com/cardmagic/lucash/commit/0452d410430d12140c14948f7f583624f819cdad</url>
  <id>0452d410430d12140c14948f7f583624f819cdad</id>
  <committed-date>2008-06-10T13:58:05-07:00</committed-date>
  <authored-date>2008-06-10T13:58:05-07:00</authored-date>
  <message>Fixes to various grammar issues</message>
  <tree>7ba6630c8fae08fe6784673eaf0d48aa8a74d8b2</tree>
  <committer>
    <name>Lucas Carlson</name>
    <email>lucas@rufy.com</email>
  </committer>
</commit>
