<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>prototypes/llvm/scheme/src/expr/repl_assignment.cpp</filename>
    </added>
    <added>
      <filename>prototypes/llvm/scheme/src/expr/repl_assignment.h</filename>
    </added>
    <added>
      <filename>prototypes/llvm/scheme/src/expr/repl_expr.cpp</filename>
    </added>
    <added>
      <filename>prototypes/llvm/scheme/src/expr/repl_expr.h</filename>
    </added>
    <added>
      <filename>prototypes/llvm/scheme/src/expr/repl_line.h</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -80,25 +80,25 @@
                         'configure.ac'
                       ],
                       {
-                        '_LT_AC_TAGCONFIG' =&gt; 1,
                         'AM_PROG_F77_C_O' =&gt; 1,
-                        'm4_pattern_forbid' =&gt; 1,
+                        '_LT_AC_TAGCONFIG' =&gt; 1,
                         'AC_INIT' =&gt; 1,
-                        '_AM_COND_IF' =&gt; 1,
+                        'm4_pattern_forbid' =&gt; 1,
                         'AC_CANONICAL_TARGET' =&gt; 1,
-                        'AC_SUBST' =&gt; 1,
+                        '_AM_COND_IF' =&gt; 1,
                         'AC_CONFIG_LIBOBJ_DIR' =&gt; 1,
-                        'AC_FC_SRCEXT' =&gt; 1,
+                        'AC_SUBST' =&gt; 1,
                         'AC_CANONICAL_HOST' =&gt; 1,
+                        'AC_FC_SRCEXT' =&gt; 1,
                         'AC_PROG_LIBTOOL' =&gt; 1,
                         'AM_INIT_AUTOMAKE' =&gt; 1,
                         'AC_CONFIG_SUBDIRS' =&gt; 1,
                         'AM_AUTOMAKE_VERSION' =&gt; 1,
                         'LT_CONFIG_LTDL_DIR' =&gt; 1,
-                        'AC_REQUIRE_AUX_FILE' =&gt; 1,
                         'AC_CONFIG_LINKS' =&gt; 1,
-                        'm4_sinclude' =&gt; 1,
+                        'AC_REQUIRE_AUX_FILE' =&gt; 1,
                         'LT_SUPPORTED_TAG' =&gt; 1,
+                        'm4_sinclude' =&gt; 1,
                         'AM_MAINTAINER_MODE' =&gt; 1,
                         'AM_GNU_GETTEXT_INTL_SUBDIR' =&gt; 1,
                         '_m4_warn' =&gt; 1,
@@ -111,17 +111,17 @@
                         'include' =&gt; 1,
                         'AM_GNU_GETTEXT' =&gt; 1,
                         'AC_LIBSOURCE' =&gt; 1,
-                        'AM_PROG_FC_C_O' =&gt; 1,
                         'AC_CANONICAL_BUILD' =&gt; 1,
+                        'AM_PROG_FC_C_O' =&gt; 1,
                         'AC_FC_FREEFORM' =&gt; 1,
                         'AH_OUTPUT' =&gt; 1,
-                        '_AM_SUBST_NOTMAKE' =&gt; 1,
                         'AC_CONFIG_AUX_DIR' =&gt; 1,
-                        'sinclude' =&gt; 1,
-                        'm4_pattern_allow' =&gt; 1,
+                        '_AM_SUBST_NOTMAKE' =&gt; 1,
                         'AM_PROG_CC_C_O' =&gt; 1,
-                        'AC_CANONICAL_SYSTEM' =&gt; 1,
+                        'm4_pattern_allow' =&gt; 1,
+                        'sinclude' =&gt; 1,
                         'AM_CONDITIONAL' =&gt; 1,
+                        'AC_CANONICAL_SYSTEM' =&gt; 1,
                         'AC_CONFIG_HEADERS' =&gt; 1,
                         'AC_DEFINE_TRACE_LITERAL' =&gt; 1,
                         'm4_include' =&gt; 1,
@@ -258,8 +258,8 @@
                         'AM_SET_LEADING_DOT' =&gt; 1,
                         'AM_SET_DEPDIR' =&gt; 1,
                         '_AM_DEPENDENCIES' =&gt; 1,
-                        'AM_PROG_INSTALL_SH' =&gt; 1,
                         'm4_include' =&gt; 1,
+                        'AM_PROG_INSTALL_SH' =&gt; 1,
                         '_AC_AM_CONFIG_HEADER_HOOK' =&gt; 1,
                         'AU_DEFUN' =&gt; 1,
                         'AM_MAKE_INCLUDE' =&gt; 1</diff>
      <filename>prototypes/llvm/scheme/autom4te.cache/requests</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,4 @@
 noinst_LIBRARIES = libschemeexpr.a
 AM_DEFAULT_SOURCE_EXT = .cpp
-libschemeexpr_a_SOURCES = expr.h funcall.h funcall.cpp literal.h literal.cpp
-libschemeexpr_a_CPPFLAGS = $(LLVM_CPPFLAGS) $(AM_CPPFLAGS)
+libschemeexpr_a_SOURCES = expr.h funcall.h funcall.cpp literal.h literal.cpp repl_line.h repl_expr.h repl_expr.cpp repl_assignment.h repl_assignment.cpp
+libschemeexpr_a_CPPFLAGS = $(BOOST_CPPFLAGS) $(LLVM_CPPFLAGS) $(AM_CPPFLAGS)</diff>
      <filename>prototypes/llvm/scheme/src/expr/Makefile.am</filename>
    </modified>
    <modified>
      <diff>@@ -46,7 +46,9 @@ ARFLAGS = cru
 libschemeexpr_a_AR = $(AR) $(ARFLAGS)
 libschemeexpr_a_LIBADD =
 am_libschemeexpr_a_OBJECTS = libschemeexpr_a-funcall.$(OBJEXT) \
-	libschemeexpr_a-literal.$(OBJEXT)
+	libschemeexpr_a-literal.$(OBJEXT) \
+	libschemeexpr_a-repl_expr.$(OBJEXT) \
+	libschemeexpr_a-repl_assignment.$(OBJEXT)
 libschemeexpr_a_OBJECTS = $(am_libschemeexpr_a_OBJECTS)
 DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@
 depcomp = $(SHELL) $(top_srcdir)/autoconf/depcomp
@@ -164,8 +166,8 @@ top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 noinst_LIBRARIES = libschemeexpr.a
 AM_DEFAULT_SOURCE_EXT = .cpp
-libschemeexpr_a_SOURCES = expr.h funcall.h funcall.cpp literal.h literal.cpp
-libschemeexpr_a_CPPFLAGS = $(LLVM_CPPFLAGS) $(AM_CPPFLAGS)
+libschemeexpr_a_SOURCES = expr.h funcall.h funcall.cpp literal.h literal.cpp repl_line.h repl_expr.h repl_expr.cpp repl_assignment.h repl_assignment.cpp
+libschemeexpr_a_CPPFLAGS = $(BOOST_CPPFLAGS) $(LLVM_CPPFLAGS) $(AM_CPPFLAGS)
 all: all-am
 
 .SUFFIXES:
@@ -215,6 +217,8 @@ distclean-compile:
 
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libschemeexpr_a-funcall.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libschemeexpr_a-literal.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libschemeexpr_a-repl_assignment.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libschemeexpr_a-repl_expr.Po@am__quote@
 
 .cpp.o:
 @am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $&lt;
@@ -258,6 +262,34 @@ libschemeexpr_a-literal.obj: literal.cpp
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libschemeexpr_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libschemeexpr_a-literal.obj `if test -f 'literal.cpp'; then $(CYGPATH_W) 'literal.cpp'; else $(CYGPATH_W) '$(srcdir)/literal.cpp'; fi`
 
+libschemeexpr_a-repl_expr.o: repl_expr.cpp
+@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libschemeexpr_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libschemeexpr_a-repl_expr.o -MD -MP -MF $(DEPDIR)/libschemeexpr_a-repl_expr.Tpo -c -o libschemeexpr_a-repl_expr.o `test -f 'repl_expr.cpp' || echo '$(srcdir)/'`repl_expr.cpp
+@am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/libschemeexpr_a-repl_expr.Tpo $(DEPDIR)/libschemeexpr_a-repl_expr.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='repl_expr.cpp' object='libschemeexpr_a-repl_expr.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libschemeexpr_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libschemeexpr_a-repl_expr.o `test -f 'repl_expr.cpp' || echo '$(srcdir)/'`repl_expr.cpp
+
+libschemeexpr_a-repl_expr.obj: repl_expr.cpp
+@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libschemeexpr_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libschemeexpr_a-repl_expr.obj -MD -MP -MF $(DEPDIR)/libschemeexpr_a-repl_expr.Tpo -c -o libschemeexpr_a-repl_expr.obj `if test -f 'repl_expr.cpp'; then $(CYGPATH_W) 'repl_expr.cpp'; else $(CYGPATH_W) '$(srcdir)/repl_expr.cpp'; fi`
+@am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/libschemeexpr_a-repl_expr.Tpo $(DEPDIR)/libschemeexpr_a-repl_expr.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='repl_expr.cpp' object='libschemeexpr_a-repl_expr.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libschemeexpr_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libschemeexpr_a-repl_expr.obj `if test -f 'repl_expr.cpp'; then $(CYGPATH_W) 'repl_expr.cpp'; else $(CYGPATH_W) '$(srcdir)/repl_expr.cpp'; fi`
+
+libschemeexpr_a-repl_assignment.o: repl_assignment.cpp
+@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libschemeexpr_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libschemeexpr_a-repl_assignment.o -MD -MP -MF $(DEPDIR)/libschemeexpr_a-repl_assignment.Tpo -c -o libschemeexpr_a-repl_assignment.o `test -f 'repl_assignment.cpp' || echo '$(srcdir)/'`repl_assignment.cpp
+@am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/libschemeexpr_a-repl_assignment.Tpo $(DEPDIR)/libschemeexpr_a-repl_assignment.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='repl_assignment.cpp' object='libschemeexpr_a-repl_assignment.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libschemeexpr_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libschemeexpr_a-repl_assignment.o `test -f 'repl_assignment.cpp' || echo '$(srcdir)/'`repl_assignment.cpp
+
+libschemeexpr_a-repl_assignment.obj: repl_assignment.cpp
+@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libschemeexpr_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libschemeexpr_a-repl_assignment.obj -MD -MP -MF $(DEPDIR)/libschemeexpr_a-repl_assignment.Tpo -c -o libschemeexpr_a-repl_assignment.obj `if test -f 'repl_assignment.cpp'; then $(CYGPATH_W) 'repl_assignment.cpp'; else $(CYGPATH_W) '$(srcdir)/repl_assignment.cpp'; fi`
+@am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/libschemeexpr_a-repl_assignment.Tpo $(DEPDIR)/libschemeexpr_a-repl_assignment.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='repl_assignment.cpp' object='libschemeexpr_a-repl_assignment.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libschemeexpr_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libschemeexpr_a-repl_assignment.obj `if test -f 'repl_assignment.cpp'; then $(CYGPATH_W) 'repl_assignment.cpp'; else $(CYGPATH_W) '$(srcdir)/repl_assignment.cpp'; fi`
+
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
 	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
 	unique=`for i in $$list; do \</diff>
      <filename>prototypes/llvm/scheme/src/expr/Makefile.in</filename>
    </modified>
    <modified>
      <diff>@@ -363,8 +363,8 @@ static void yy_fatal_error (yyconst char msg[] ,yyscan_t yyscanner );
 	yy_flex_strncpy( yytext, yyg-&gt;yytext_ptr, yyleng + 1 , yyscanner); \
 	yyg-&gt;yy_c_buf_p = yy_cp;
 
-#define YY_NUM_RULES 8
-#define YY_END_OF_BUFFER 9
+#define YY_NUM_RULES 9
+#define YY_END_OF_BUFFER 10
 /* This struct is not used in this scanner,
    but its presence is necessary. */
 struct yy_trans_info
@@ -372,11 +372,11 @@ struct yy_trans_info
 	flex_int32_t yy_verify;
 	flex_int32_t yy_nxt;
 	};
-static yyconst flex_int16_t yy_accept[23] =
+static yyconst flex_int16_t yy_accept[24] =
     {   0,
-        0,    0,    9,    8,    5,    7,    3,    4,    6,    7,
-        7,    5,    7,    6,    7,    7,    7,    7,    7,    1,
-        2,    0
+        0,    0,   10,    9,    6,    8,    3,    4,    7,    5,
+        8,    8,    6,    8,    7,    8,    8,    8,    8,    8,
+        1,    2,    0
     } ;
 
 static yyconst flex_int32_t yy_ec[256] =
@@ -387,13 +387,13 @@ static yyconst flex_int32_t yy_ec[256] =
         1,    2,    3,    1,    1,    1,    1,    1,    1,    4,
         5,    3,    3,    1,    3,    1,    3,    6,    6,    6,
         6,    6,    6,    6,    6,    6,    6,    1,    1,    3,
-        3,    3,    1,    1,    3,    3,    3,    3,    3,    7,
+        7,    3,    1,    1,    3,    3,    3,    3,    3,    8,
         3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
-        3,    3,    3,    8,    3,    3,    3,    3,    3,    3,
-        1,    1,    1,    1,    1,    1,    9,    3,    3,    3,
+        3,    3,    3,    9,    3,    3,    3,    3,    3,    3,
+        1,    1,    1,    1,    1,    1,   10,    3,    3,    3,
 
-       10,    3,    3,    3,    3,    3,    3,   11,    3,    3,
-        3,    3,    3,   12,   13,    3,   14,    3,    3,    3,
+       11,    3,    3,    3,    3,    3,    3,   12,    3,    3,
+        3,    3,    3,   13,   14,    3,   15,    3,    3,    3,
         3,    3,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
@@ -411,48 +411,48 @@ static yyconst flex_int32_t yy_ec[256] =
         1,    1,    1,    1,    1
     } ;
 
-static yyconst flex_int32_t yy_meta[15] =
+static yyconst flex_int32_t yy_meta[16] =
     {   0,
         1,    1,    2,    1,    1,    2,    2,    2,    2,    2,
-        2,    2,    2,    2
+        2,    2,    2,    2,    2
     } ;
 
-static yyconst flex_int16_t yy_base[24] =
+static yyconst flex_int16_t yy_base[25] =
     {   0,
-        0,    0,   27,   28,   24,    0,   28,   28,   19,   15,
-       11,   20,    0,   15,    9,    5,    5,    7,    6,    0,
-        0,   28,   13
+        0,    0,   28,   29,   25,    0,   29,   29,   20,    0,
+       15,   11,   21,    0,   16,    9,    5,    5,    7,    6,
+        0,    0,   29,   14
     } ;
 
-static yyconst flex_int16_t yy_def[24] =
+static yyconst flex_int16_t yy_def[25] =
     {   0,
-       22,    1,   22,   22,   22,   23,   22,   22,   23,   23,
-       23,   22,   23,   23,   23,   23,   23,   23,   23,   23,
-       23,    0,   22
+       23,    1,   23,   23,   23,   24,   23,   23,   24,   24,
+       24,   24,   23,   24,   24,   24,   24,   24,   24,   24,
+       24,   24,    0,   23
     } ;
 
-static yyconst flex_int16_t yy_nxt[43] =
+static yyconst flex_int16_t yy_nxt[45] =
     {   0,
-        4,    5,    6,    7,    8,    9,   10,   11,    6,    6,
-        6,    6,    6,    6,   13,   21,   20,   19,   18,   17,
-       14,   12,   16,   15,   14,   12,   22,    3,   22,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
-       22,   22
+        4,    5,    6,    7,    8,    9,   10,   11,   12,    6,
+        6,    6,    6,    6,    6,   14,   22,   21,   20,   19,
+       18,   15,   13,   17,   16,   15,   13,   23,    3,   23,
+       23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
+       23,   23,   23,   23
     } ;
 
-static yyconst flex_int16_t yy_chk[43] =
+static yyconst flex_int16_t yy_chk[45] =
     {   0,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,   23,   19,   18,   17,   16,   15,
-       14,   12,   11,   10,    9,    5,    3,   22,   22,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
-       22,   22
+        1,    1,    1,    1,    1,   24,   20,   19,   18,   17,
+       16,   15,   13,   12,   11,    9,    5,    3,   23,   23,
+       23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
+       23,   23,   23,   23
     } ;
 
 /* Table of booleans, true if rule could match eol. */
-static yyconst flex_int32_t yy_rule_can_match_eol[9] =
+static yyconst flex_int32_t yy_rule_can_match_eol[10] =
     {   0,
-0, 0, 0, 0, 0, 0, 0, 0,     };
+0, 0, 0, 0, 0, 0, 0, 0, 0,     };
 
 /* The intent behind this definition is that it'll catch
  * any uses of REJECT which flex missed.
@@ -781,13 +781,13 @@ yy_match:
 			while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
 				{
 				yy_current_state = (int) yy_def[yy_current_state];
-				if ( yy_current_state &gt;= 23 )
+				if ( yy_current_state &gt;= 24 )
 					yy_c = yy_meta[(unsigned int) yy_c];
 				}
 			yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
 			++yy_cp;
 			}
-		while ( yy_base[yy_current_state] != 28 );
+		while ( yy_base[yy_current_state] != 29 );
 
 yy_find_action:
 		yy_act = yy_accept[yy_current_state];
@@ -846,24 +846,29 @@ YY_RULE_SETUP
 case 5:
 YY_RULE_SETUP
 #line 30 &quot;lexer.l&quot;
-{}
+{ return EQ; }
 	YY_BREAK
 case 6:
 YY_RULE_SETUP
 #line 31 &quot;lexer.l&quot;
-{ yylval-&gt;num = atoi(yytext); return NUM; }
+{}
 	YY_BREAK
 case 7:
 YY_RULE_SETUP
 #line 32 &quot;lexer.l&quot;
-{ yylval-&gt;sym = strdup(yytext); return SYM; }
+{ yylval-&gt;num = atoi(yytext); return NUM; }
 	YY_BREAK
 case 8:
 YY_RULE_SETUP
-#line 34 &quot;lexer.l&quot;
+#line 33 &quot;lexer.l&quot;
+{ yylval-&gt;sym = strdup(yytext); return SYM; }
+	YY_BREAK
+case 9:
+YY_RULE_SETUP
+#line 35 &quot;lexer.l&quot;
 ECHO;
 	YY_BREAK
-#line 867 &quot;lexer.c&quot;
+#line 872 &quot;lexer.c&quot;
 case YY_STATE_EOF(INITIAL):
 	yyterminate();
 
@@ -1157,7 +1162,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
 		while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
 			{
 			yy_current_state = (int) yy_def[yy_current_state];
-			if ( yy_current_state &gt;= 23 )
+			if ( yy_current_state &gt;= 24 )
 				yy_c = yy_meta[(unsigned int) yy_c];
 			}
 		yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
@@ -1186,11 +1191,11 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
 	while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
 		{
 		yy_current_state = (int) yy_def[yy_current_state];
-		if ( yy_current_state &gt;= 23 )
+		if ( yy_current_state &gt;= 24 )
 			yy_c = yy_meta[(unsigned int) yy_c];
 		}
 	yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
-	yy_is_jam = (yy_current_state == 22);
+	yy_is_jam = (yy_current_state == 23);
 
 	return yy_is_jam ? 0 : yy_current_state;
 }
@@ -2057,7 +2062,7 @@ void eve_yyfree (void * ptr , yyscan_t yyscanner)
 
 #define YYTABLES_NAME &quot;yytables&quot;
 
-#line 34 &quot;lexer.l&quot;
+#line 35 &quot;lexer.l&quot;
 
 
 </diff>
      <filename>prototypes/llvm/scheme/src/lexer.c</filename>
    </modified>
    <modified>
      <diff>@@ -23,12 +23,13 @@ WORD    [[:alnum:]+\-*/&lt;&gt;!=]
 
 %%
 
-&quot;True&quot;				{ return TRUE; }
-&quot;False&quot;				{ return FALSE; }
-&quot;(&quot;					{ return LPAREN; }
-&quot;)&quot;					{ return RPAREN; }
-[ \t]+				{}
-[[:digit:]]+		{ yylval-&gt;num = atoi(yytext); return NUM; }
+&quot;True&quot;  { return TRUE; }
+&quot;False&quot;  { return FALSE; }
+&quot;(&quot;  { return LPAREN; }
+&quot;)&quot;  { return RPAREN; }
+&quot;=&quot;  { return EQ; }
+[ \t]+  {}
+[[:digit:]]+  { yylval-&gt;num = atoi(yytext); return NUM; }
 {WORD}+			{ yylval-&gt;sym = strdup(yytext); return SYM; }
 
 %%</diff>
      <filename>prototypes/llvm/scheme/src/lexer.l</filename>
    </modified>
    <modified>
      <diff>@@ -117,8 +117,7 @@
      FALSE = 261,
      LPAREN = 262,
      RPAREN = 263,
-     START_REPL = 264,
-     START_FILE = 265
+     EQ = 264
    };
 #endif
 /* Tokens.  */
@@ -128,8 +127,7 @@
 #define FALSE 261
 #define LPAREN 262
 #define RPAREN 263
-#define START_REPL 264
-#define START_FILE 265
+#define EQ 264
 
 
 
@@ -158,7 +156,7 @@ typedef struct YYLTYPE
 
 
 /* Line 264 of yacc.c  */
-#line 162 &quot;parser.c&quot;
+#line 160 &quot;parser.c&quot;
 
 #ifdef short
 # undef short
@@ -373,22 +371,22 @@ union yyalloc
 #endif
 
 /* YYFINAL -- State number of the termination state.  */
-#define YYFINAL  8
+#define YYFINAL  11
 /* YYLAST -- Last index in YYTABLE.  */
-#define YYLAST   11
+#define YYLAST   20
 
 /* YYNTOKENS -- Number of terminals.  */
-#define YYNTOKENS  11
+#define YYNTOKENS  10
 /* YYNNTS -- Number of nonterminals.  */
-#define YYNNTS  4
+#define YYNNTS  5
 /* YYNRULES -- Number of rules.  */
-#define YYNRULES  8
+#define YYNRULES  10
 /* YYNRULES -- Number of states.  */
-#define YYNSTATES  12
+#define YYNSTATES  16
 
 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
 #define YYUNDEFTOK  2
-#define YYMAXUTOK   265
+#define YYMAXUTOK   264
 
 #define YYTRANSLATE(YYX)						\
   ((unsigned int) (YYX) &lt;= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
@@ -422,7 +420,7 @@ static const yytype_uint8 yytranslate[] =
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
-       5,     6,     7,     8,     9,    10
+       5,     6,     7,     8,     9
 };
 
 #if YYDEBUG
@@ -430,20 +428,23 @@ static const yytype_uint8 yytranslate[] =
    YYRHS.  */
 static const yytype_uint8 yyprhs[] =
 {
-       0,     0,     3,     5,     7,     9,    11,    16,    17
+       0,     0,     3,     5,     7,    11,    13,    15,    17,    22,
+      23
 };
 
 /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
 static const yytype_int8 yyrhs[] =
 {
-      12,     0,    -1,    13,    -1,     3,    -1,     5,    -1,     6,
-      -1,     7,     4,    14,     8,    -1,    -1,    14,    13,    -1
+      11,     0,    -1,    12,    -1,    13,    -1,     4,     9,    13,
+      -1,     3,    -1,     5,    -1,     6,    -1,     7,     4,    14,
+       8,    -1,    -1,    14,    13,    -1
 };
 
 /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
 static const yytype_uint8 yyrline[] =
 {
-       0,    26,    26,    28,    29,    30,    31,    33,    34
+       0,    26,    26,    28,    29,    31,    32,    33,    34,    36,
+      37
 };
 #endif
 
@@ -453,8 +454,7 @@ static const yytype_uint8 yyrline[] =
 static const char *const yytname[] =
 {
   &quot;$end&quot;, &quot;error&quot;, &quot;$undefined&quot;, &quot;NUM&quot;, &quot;SYM&quot;, &quot;TRUE&quot;, &quot;FALSE&quot;, &quot;LPAREN&quot;,
-  &quot;RPAREN&quot;, &quot;START_REPL&quot;, &quot;START_FILE&quot;, &quot;$accept&quot;, &quot;program&quot;, &quot;expr&quot;,
-  &quot;exprList&quot;, 0
+  &quot;RPAREN&quot;, &quot;EQ&quot;, &quot;$accept&quot;, &quot;program&quot;, &quot;replLine&quot;, &quot;expr&quot;, &quot;exprList&quot;, 0
 };
 #endif
 
@@ -463,21 +463,22 @@ static const char *const yytname[] =
    token YYLEX-NUM.  */
 static const yytype_uint16 yytoknum[] =
 {
-       0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
-     265
+       0,   256,   257,   258,   259,   260,   261,   262,   263,   264
 };
 # endif
 
 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
 static const yytype_uint8 yyr1[] =
 {
-       0,    11,    12,    13,    13,    13,    13,    14,    14
+       0,    10,    11,    12,    12,    13,    13,    13,    13,    14,
+      14
 };
 
 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
 static const yytype_uint8 yyr2[] =
 {
-       0,     2,     1,     1,     1,     1,     4,     0,     2
+       0,     2,     1,     1,     3,     1,     1,     1,     4,     0,
+       2
 };
 
 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
@@ -485,29 +486,29 @@ static const yytype_uint8 yyr2[] =
    means the default is an error.  */
 static const yytype_uint8 yydefact[] =
 {
-       0,     3,     4,     5,     0,     0,     2,     7,     1,     0,
-       6,     8
+       0,     5,     0,     6,     7,     0,     0,     2,     3,     0,
+       9,     1,     4,     0,     8,    10
 };
 
 /* YYDEFGOTO[NTERM-NUM].  */
 static const yytype_int8 yydefgoto[] =
 {
-      -1,     5,     6,     9
+      -1,     6,     7,     8,    13
 };
 
 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
    STATE-NUM.  */
-#define YYPACT_NINF -4
+#define YYPACT_NINF -9
 static const yytype_int8 yypact[] =
 {
-       3,    -4,    -4,    -4,     7,     1,    -4,    -4,    -4,    -3,
-      -4,    -4
+       3,    -9,    -8,    -9,    -9,    13,    12,    -9,    -9,     8,
+      -9,    -9,    -9,    -3,    -9,    -9
 };
 
 /* YYPGOTO[NTERM-NUM].  */
 static const yytype_int8 yypgoto[] =
 {
-      -4,    -4,    -2,    -4
+      -9,    -9,    -9,     7,    -9
 };
 
 /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
@@ -517,22 +518,24 @@ static const yytype_int8 yypgoto[] =
 #define YYTABLE_NINF -1
 static const yytype_uint8 yytable[] =
 {
-       1,     8,     2,     3,     4,    10,     1,    11,     2,     3,
-       4,     7
+       1,     9,     3,     4,     5,    14,     1,     2,     3,     4,
+       5,     1,    11,     3,     4,     5,    12,    10,     0,     0,
+      15
 };
 
-static const yytype_uint8 yycheck[] =
+static const yytype_int8 yycheck[] =
 {
-       3,     0,     5,     6,     7,     8,     3,     9,     5,     6,
-       7,     4
+       3,     9,     5,     6,     7,     8,     3,     4,     5,     6,
+       7,     3,     0,     5,     6,     7,     9,     4,    -1,    -1,
+      13
 };
 
 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
    symbol of state STATE-NUM.  */
 static const yytype_uint8 yystos[] =
 {
-       0,     3,     5,     6,     7,    12,    13,     4,     0,    14,
-       8,    13
+       0,     3,     4,     5,     6,     7,    11,    12,    13,     9,
+       4,     0,    13,    14,     8,    13
 };
 
 #define yyerrok		(yyerrstatus = 0)
@@ -1387,55 +1390,69 @@ yyreduce:
 
 /* Line 1455 of yacc.c  */
 #line 26 &quot;parser.y&quot;
-    { eve_yyget_extra(scanner)-&gt;result_ = (yyvsp[(1) - (1)].expr); }
+    { eve_yyget_extra(scanner)-&gt;repl_result_ = (yyvsp[(1) - (1)].replLine); }
     break;
 
   case 3:
 
 /* Line 1455 of yacc.c  */
 #line 28 &quot;parser.y&quot;
-    { (yyval.expr) = new eve::expr::IntLiteral((yyloc), (yyvsp[(1) - (1)].num)); }
+    { (yyval.replLine) = new eve::expr::ReplExpr((yyvsp[(1) - (1)].expr)); }
     break;
 
   case 4:
 
 /* Line 1455 of yacc.c  */
 #line 29 &quot;parser.y&quot;
-    { (yyval.expr) = new eve::expr::BoolLiteral((yyloc), true); }
+    { (yyval.replLine) = new eve::expr::ReplAssignment((yyvsp[(1) - (3)].sym), (yyvsp[(3) - (3)].expr)); }
     break;
 
   case 5:
 
 /* Line 1455 of yacc.c  */
-#line 30 &quot;parser.y&quot;
-    { (yyval.expr) = new eve::expr::BoolLiteral((yyloc), false); }
+#line 31 &quot;parser.y&quot;
+    { (yyval.expr) = new eve::expr::IntLiteral((yyloc), (yyvsp[(1) - (1)].num)); }
     break;
 
   case 6:
 
 /* Line 1455 of yacc.c  */
-#line 31 &quot;parser.y&quot;
-    { (yyval.expr) = new eve::expr::Funcall((yyloc), (yyvsp[(2) - (4)].sym), (yyvsp[(3) - (4)].exprList)); free((yyvsp[(2) - (4)].sym)); }
+#line 32 &quot;parser.y&quot;
+    { (yyval.expr) = new eve::expr::BoolLiteral((yyloc), true); }
     break;
 
   case 7:
 
 /* Line 1455 of yacc.c  */
 #line 33 &quot;parser.y&quot;
-    { (yyval.exprList) = new eve::expr::Args(); }
+    { (yyval.expr) = new eve::expr::BoolLiteral((yyloc), false); }
     break;
 
   case 8:
 
 /* Line 1455 of yacc.c  */
 #line 34 &quot;parser.y&quot;
+    { (yyval.expr) = new eve::expr::Funcall((yyloc), (yyvsp[(2) - (4)].sym), (yyvsp[(3) - (4)].exprList)); free((yyvsp[(2) - (4)].sym)); }
+    break;
+
+  case 9:
+
+/* Line 1455 of yacc.c  */
+#line 36 &quot;parser.y&quot;
+    { (yyval.exprList) = new eve::expr::Args(); }
+    break;
+
+  case 10:
+
+/* Line 1455 of yacc.c  */
+#line 37 &quot;parser.y&quot;
     { (yyvsp[(1) - (2)].exprList)-&gt;push_back((yyvsp[(2) - (2)].expr)); }
     break;
 
 
 
 /* Line 1455 of yacc.c  */
-#line 1439 &quot;parser.c&quot;
+#line 1456 &quot;parser.c&quot;
       default: break;
     }
   YY_SYMBOL_PRINT (&quot;-&gt; $$ =&quot;, yyr1[yyn], &amp;yyval, &amp;yyloc);
@@ -1654,6 +1671,6 @@ yyreturn:
 
 
 /* Line 1675 of yacc.c  */
-#line 36 &quot;parser.y&quot;
+#line 39 &quot;parser.y&quot;
 
 </diff>
      <filename>prototypes/llvm/scheme/src/parser.c</filename>
    </modified>
    <modified>
      <diff>@@ -1,16 +1,19 @@
-#ifndef PARSER_H
-#define PARSER_H
+#ifndef EVE_PARSER_H
+#define EVE_PARSER_H
 
 #include &lt;stdlib.h&gt;
 #include &lt;iostream&gt;
 #include &lt;vector&gt;
 
+#include &lt;boost/scoped_ptr.hpp&gt;
 #include &lt;boost/utility.hpp&gt;
 
 #include &quot;location.h&quot;
 #include &quot;expr/expr.h&quot;
 #include &quot;expr/literal.h&quot;
 #include &quot;expr/funcall.h&quot;
+#include &quot;expr/repl_expr.h&quot;
+#include &quot;expr/repl_assignment.h&quot;
 
 namespace eve {
   class Parser;
@@ -19,6 +22,7 @@ namespace eve {
 typedef union {
   int num;
   char* sym;
+  eve::expr::ReplLine* replLine;
   eve::expr::Expr* expr;
   eve::expr::Args* exprList;
 } YYSTYPE;
@@ -51,7 +55,7 @@ namespace eve {
 
 class Parser : boost::noncopyable {
  public:
-	explicit Parser() : input_(NULL), result_(NULL) {
+	explicit Parser() : input_(NULL), repl_result_(NULL) {
 		eve_yylex_init(&amp;scanner_);
 		eve_yyset_extra(this, scanner_);
 	}
@@ -72,15 +76,15 @@ class Parser : boost::noncopyable {
     return file_;
   }
   
-	eve::expr::Expr* Parse(std::string filename, std::istream&amp; input) {
-		input_ = &amp;input;
-    file_ = filename.c_str();
+	eve::expr::ReplLine* ParseRepl(const std::string&amp; input) {
+		input_.reset(new std::stringstream(input));
+    file_ = &quot;repl&quot;;
 		if (eve_yyparse(scanner_)) {
 			// TODO: real error handling
 			std::cerr &lt;&lt; &quot;Parse error.\n&quot;;
 			exit(1);
 		}
-		return result_;
+		return repl_result_;
 	}
 
 	friend int ::eve_yyparse(void* scanner);
@@ -89,8 +93,8 @@ class Parser : boost::noncopyable {
  private:
 	void* scanner_;
   const char* file_;
-	std::istream* input_;
-	eve::expr::Expr* result_;
+	boost::scoped_ptr&lt;std::istream&gt; input_;
+	eve::expr::ReplLine* repl_result_;
 };
 
 } // namespace eve</diff>
      <filename>prototypes/llvm/scheme/src/parser.h</filename>
    </modified>
    <modified>
      <diff>@@ -45,8 +45,7 @@
      FALSE = 261,
      LPAREN = 262,
      RPAREN = 263,
-     START_REPL = 264,
-     START_FILE = 265
+     EQ = 264
    };
 #endif
 /* Tokens.  */
@@ -56,8 +55,7 @@
 #define FALSE 261
 #define LPAREN 262
 #define RPAREN 263
-#define START_REPL 264
-#define START_FILE 265
+#define EQ 264
 
 
 </diff>
      <filename>prototypes/llvm/scheme/src/parser.tab.h</filename>
    </modified>
    <modified>
      <diff>@@ -16,21 +16,24 @@
 %token FALSE
 %token LPAREN
 %token RPAREN
-%token START_REPL
-%token START_FILE
+%token EQ
 %type &lt;expr&gt; expr
 %type &lt;exprList&gt; exprList
+%type &lt;replLine&gt; replLine
 
 %%
 
-program: expr				{ eve_yyget_extra(scanner)-&gt;result_ = $1; }
+program : replLine { eve_yyget_extra(scanner)-&gt;repl_result_ = $1; }
 
-expr :	  NUM						 { $$ = new eve::expr::IntLiteral(@$, $1); }
-		| TRUE						 { $$ = new eve::expr::BoolLiteral(@$, true); }
-		| FALSE						 { $$ = new eve::expr::BoolLiteral(@$, false); }
-		| LPAREN SYM exprList RPAREN { $$ = new eve::expr::Funcall(@$, $2, $3); free($2); }
+replLine : expr { $$ = new eve::expr::ReplExpr($1); }
+         | SYM EQ expr { $$ = new eve::expr::ReplAssignment($1, $3); }
+
+expr : NUM  { $$ = new eve::expr::IntLiteral(@$, $1); }
+     | TRUE  { $$ = new eve::expr::BoolLiteral(@$, true); }
+     | FALSE  { $$ = new eve::expr::BoolLiteral(@$, false); }
+     | LPAREN SYM exprList RPAREN { $$ = new eve::expr::Funcall(@$, $2, $3); free($2); }
 		
-exprList: /* empty */		{ $$ = new eve::expr::Args(); }
-		| exprList expr		{ $1-&gt;push_back($2); }
+exprList : /* empty */		{ $$ = new eve::expr::Args(); }
+         | exprList expr		{ $1-&gt;push_back($2); }
 		
 %%</diff>
      <filename>prototypes/llvm/scheme/src/parser.y</filename>
    </modified>
    <modified>
      <diff>@@ -2,7 +2,6 @@
 
 #include &lt;string.h&gt;
 #include &lt;iostream&gt;
-#include &lt;sstream&gt;
 #include &lt;string&gt;
 
 #include &lt;llvm/BasicBlock.h&gt;
@@ -15,6 +14,7 @@
 
 #include &quot;parser.h&quot;
 #include &quot;expr/expr.h&quot;
+#include &quot;expr/repl_line.h&quot;
 #include &quot;types/type.h&quot;
 #include &quot;types/type_env.h&quot;
 
@@ -23,25 +23,32 @@ namespace eve {
 using std::cin;
 using std::cout;
 using std::string;
-using std::stringstream;
 using boost::scoped_ptr;
-using llvm::Function;
 using llvm::ExecutionEngine;
-using eve::expr::Expr;
+using llvm::Function;
+using eve::expr::ReplLine;
+using eve::expr::ReplResult;
 using eve::types::TaggedValue;
 
+void Repl::StartRepl() {
+  char input[200];
+  cout &lt;&lt; &quot;&gt;&gt;&gt; &quot;;
+  cin.getline(input, 200);
+  while (strcmp(input, &quot;quit&quot;)) {
+    cout &lt;&lt; EvalOneLine(input) &lt;&lt; &quot;\n&gt;&gt;&gt; &quot;;
+    cin.getline(input, 200);
+    seq_num_++;
+  }
+}
+
 string Repl::EvalOneLine(const string&amp; input) {
-  stringstream in_stream(input);
-  scoped_ptr&lt;Expr&gt; expr(parser_.Parse(&quot;repl&quot;, in_stream));
+  scoped_ptr&lt;ReplLine&gt; line(parser_.ParseRepl(input));
+  ReplResult result = line-&gt;Eval(this);
+  return result.second ? result.second-&gt;Print(result.first) : &quot;&lt;error&gt;&quot;;
+}
 
-  eve::types::TypeEnv typeEnv;
-  const eve::types::Type* type = expr-&gt;TypeCheck(&amp;typeEnv);
-  if (!type) {
-    typeEnv.PrintErrors();
-    return &quot;&lt;error&gt;&quot;;
-  }
-  
-  stringstream function_name;
+TaggedValue Repl::ExecuteCode(const eve::expr::Expr&amp; expr, const eve::types::Type&amp; type) {
+  std::stringstream function_name;
   function_name &lt;&lt; &quot;repl$&quot; &lt;&lt; seq_num_;
 
   llvm::Constant* c = module_-&gt;getOrInsertFunction(
@@ -50,25 +57,13 @@ string Repl::EvalOneLine(const string&amp; input) {
   f-&gt;setCallingConv(llvm::CallingConv::C);
   
   llvm::IRBuilder builder(llvm::BasicBlock::Create(&quot;entry&quot;, f));
-  llvm::Value* untaggedResult = expr-&gt;Compile(module_.get(), &amp;builder);
-  builder.CreateRet(type-&gt;GenerateTaggingCode(&amp;builder, untaggedResult));
+  llvm::Value* untaggedResult = expr.Compile(module_.get(), &amp;builder);
+  builder.CreateRet(type.GenerateTaggingCode(&amp;builder, untaggedResult));
   
   verifyFunction(*f);
       
   TaggedValue (*calc)() = (TaggedValue (*)()) jit_-&gt;getPointerToFunction(f);
-  TaggedValue result = calc();
-  return type-&gt;Print(result);
-}
-
-void Repl::StartRepl() {
-  char input[200];
-  cout &lt;&lt; &quot;&gt;&gt;&gt; &quot;;
-  cin.getline(input, 200);
-  while (strcmp(input, &quot;quit&quot;)) {
-    cout &lt;&lt; EvalOneLine(input) &lt;&lt; &quot;\n&gt;&gt;&gt; &quot;;
-    cin.getline(input, 200);
-    seq_num_++;
-  }
+  return calc();
 }
 
 } // namespace eve</diff>
      <filename>prototypes/llvm/scheme/src/repl.cpp</filename>
    </modified>
    <modified>
      <diff>@@ -10,6 +10,10 @@
 #include &lt;llvm/ExecutionEngine/ExecutionEngine.h&gt;
 
 #include &quot;parser.h&quot;
+#include &quot;expr/expr.h&quot;
+#include &quot;expr/repl_line.h&quot;
+#include &quot;types/type.h&quot;
+#include &quot;types/type_env.h&quot;
 
 namespace llvm {
 class Module;
@@ -22,39 +26,25 @@ class Repl : boost::noncopyable {
   Repl() : seq_num_(0),
            module_(new llvm::Module(&quot;repl&quot;)),
            jit_(llvm::ExecutionEngine::create(module_.get())) {}
-  std::string EvalOneLine(const std::string&amp; input);
   void StartRepl();
+  std::string EvalOneLine(const std::string&amp; input);
+
+  eve::types::TypeEnv* GetTypeEnv() { return &amp;type_env_; }
+  eve::types::TaggedValue ExecuteCode(const eve::expr::Expr&amp; expr,
+                                      const eve::types::Type&amp; type);
+  void AddBinding(const std::string&amp; var, eve::types::TaggedValue value) {
+    symbol_table_[var] = value;
+  }
 
  private:
   int seq_num_;
   eve::Parser parser_;
+  eve::types::TypeEnv type_env_;
+  std::map&lt;std::string, eve::types::TaggedValue&gt; symbol_table_;
   boost::scoped_ptr&lt;llvm::Module&gt; module_;
   llvm::ExecutionEngine* jit_;
 };
 
-class ReplLine : boost::noncopyable {
-  virtual std::string Eval(Repl* repl) = 0;
-};
-
-class ReplExpr : public ReplLine {
- public:
-  ReplExpr(eve::expr::Expr* expr) : expr_(expr) {}
-  virtual std::string Eval(Repl* repl);
-
- private:
-  boost::scoped_ptr&lt;eve::expr::Expr&gt; expr_;
-};
-
-class ReplAssignment : public ReplLine {
- public:
-  ReplAssignment(const std::string&amp; var, ReplExpr* expr)
-      : var_(var), expr_(expr) {}
-  virtual std::string Eval(Repl* repl);
- private:
-  std::string var_;
-  boost::scoped_ptr&lt;ReplExpr&gt; expr_;
-};
-
 } // namespace eve
 
 #endif EVE_REPL_H</diff>
      <filename>prototypes/llvm/scheme/src/repl.h</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>4c8daf3cc5f3d3152a4d18f4d99e29900088a32c</id>
    </parent>
  </parents>
  <author>
    <name>Jonathan Tang</name>
    <email>jdtang@jonathan-tangs-macbook-pro.local</email>
  </author>
  <url>http://github.com/nostrademons/eve-language/commit/56632cb95a36b719a2c9b60a31f4f303e8c38002</url>
  <id>56632cb95a36b719a2c9b60a31f4f303e8c38002</id>
  <committed-date>2009-10-10T00:23:31-07:00</committed-date>
  <authored-date>2009-10-10T00:23:31-07:00</authored-date>
  <message>Added ability to save variables in REPL.</message>
  <tree>6c1e95e13da3303b22fa69e18494f36f647f5de6</tree>
  <committer>
    <name>Jonathan Tang</name>
    <email>jdtang@jonathan-tangs-macbook-pro.local</email>
  </committer>
</commit>
