aboutsummaryrefslogtreecommitdiff
path: root/rust/src/reader.rs
diff options
context:
space:
mode:
authorJoel Martin <github@martintribe.org>2014-10-25 12:41:24 -0500
committerJoel Martin <github@martintribe.org>2015-01-06 21:58:57 -0600
commit0ab374bc261f871ab8fbbc13e0096f44225e2a3f (patch)
tree18bf694e55ee767e5d55edf73819affa3f0214b5 /rust/src/reader.rs
parentabdd56ebc0e01cd92f694ef2bcafcc394453d055 (diff)
downloadmal-0ab374bc261f871ab8fbbc13e0096f44225e2a3f.tar.gz
mal-0ab374bc261f871ab8fbbc13e0096f44225e2a3f.zip
rust: add step2_eval.
Diffstat (limited to 'rust/src/reader.rs')
-rw-r--r--rust/src/reader.rs10
1 files changed, 5 insertions, 5 deletions
diff --git a/rust/src/reader.rs b/rust/src/reader.rs
index 9ad129b..035cfde 100644
--- a/rust/src/reader.rs
+++ b/rust/src/reader.rs
@@ -6,7 +6,7 @@
extern crate pcre;
use std::rc::Rc;
-use types::{MalVal,Nil,True,False,Int,Strn,Sym,List};
+use types::{MalVal,MalRet,Nil,True,False,Int,Strn,Sym,List};
use self::pcre::Pcre;
use super::printer::unescape_str;
@@ -54,7 +54,7 @@ fn tokenize(str :String) -> Vec<String> {
results
}
-fn read_atom(rdr : &mut Reader) -> Result<MalVal,String> {
+fn read_atom(rdr : &mut Reader) -> MalRet {
let otoken = rdr.next();
//println!("read_atom: {}", otoken);
if otoken.is_none() { return Err("read_atom underflow".to_string()); }
@@ -77,7 +77,7 @@ fn read_atom(rdr : &mut Reader) -> Result<MalVal,String> {
}
}
-fn read_list(rdr : &mut Reader) -> Result<MalVal,String> {
+fn read_list(rdr : &mut Reader) -> MalRet {
let otoken = rdr.next();
if otoken.is_none() { return Err("read_atom underflow".to_string()); }
let stoken = otoken.unwrap();
@@ -103,7 +103,7 @@ fn read_list(rdr : &mut Reader) -> Result<MalVal,String> {
Ok(Rc::new(List(ast_vec)))
}
-fn read_form(rdr : &mut Reader) -> Result<MalVal,String> {
+fn read_form(rdr : &mut Reader) -> MalRet {
let otoken = rdr.peek();
//println!("read_form: {}", otoken);
let stoken = otoken.unwrap();
@@ -115,7 +115,7 @@ fn read_form(rdr : &mut Reader) -> Result<MalVal,String> {
}
}
-pub fn read_str(str :String) -> Result<MalVal,String> {
+pub fn read_str(str :String) -> MalRet {
let tokens = tokenize(str);
if tokens.len() == 0 {
return Err("<empty line>".to_string());