diff options
| author | Joel Martin <github@martintribe.org> | 2015-02-28 11:30:45 -0600 |
|---|---|---|
| committer | Joel Martin <github@martintribe.org> | 2015-02-28 11:30:45 -0600 |
| commit | f2a758cb13a0f253ba03f881826f6255d654d131 (patch) | |
| tree | 238df551e3b6ba6bceb0997de876f52312ba1712 | |
| parent | 757397e6ed998212971bd41528894c2898d67d5a (diff) | |
| parent | 107d969497d482b07c33c4f28123727fa0a0b263 (diff) | |
| download | mal-f2a758cb13a0f253ba03f881826f6255d654d131.tar.gz mal-f2a758cb13a0f253ba03f881826f6255d654d131.zip | |
Merge branch 'ruby1.9' of https://github.com/elektronaut/mal into elektronaut-ruby1.9
| -rw-r--r-- | README.md | 2 | ||||
| -rw-r--r-- | ruby/core.rb | 4 | ||||
| -rw-r--r-- | ruby/mal_readline.rb | 2 | ||||
| -rw-r--r-- | ruby/printer.rb | 2 | ||||
| -rw-r--r-- | ruby/reader.rb | 2 | ||||
| -rw-r--r-- | ruby/step0_repl.rb | 3 | ||||
| -rw-r--r-- | ruby/step1_read_print.rb | 9 | ||||
| -rw-r--r-- | ruby/step2_eval.rb | 9 | ||||
| -rw-r--r-- | ruby/step3_env.rb | 11 | ||||
| -rw-r--r-- | ruby/step4_if_fn_do.rb | 13 | ||||
| -rw-r--r-- | ruby/step5_tco.rb | 13 | ||||
| -rw-r--r-- | ruby/step6_file.rb | 13 | ||||
| -rw-r--r-- | ruby/step7_quote.rb | 13 | ||||
| -rw-r--r-- | ruby/step8_macros.rb | 13 | ||||
| -rw-r--r-- | ruby/step9_try.rb | 13 | ||||
| -rw-r--r-- | ruby/stepA_mal.rb | 13 | ||||
| -rw-r--r-- | ruby/types.rb | 2 |
17 files changed, 63 insertions, 74 deletions
@@ -286,7 +286,7 @@ cd racket ./stepX_YYY.rb ``` -### Ruby (1.8) +### Ruby (1.9+) ``` cd ruby diff --git a/ruby/core.rb b/ruby/core.rb index d55100c..b82bddc 100644 --- a/ruby/core.rb +++ b/ruby/core.rb @@ -1,6 +1,6 @@ require "readline" -require "reader" -require "printer" +require_relative "reader" +require_relative "printer" $core_ns = { :"=" => lambda {|a,b| a == b}, diff --git a/ruby/mal_readline.rb b/ruby/mal_readline.rb index 63c5571..3799783 100644 --- a/ruby/mal_readline.rb +++ b/ruby/mal_readline.rb @@ -4,7 +4,7 @@ $history_loaded = false $histfile = "#{ENV['HOME']}/.mal-history" def _readline(prompt) - if not $history_loaded + if !$history_loaded && File.exist?($histfile) $history_loaded = true File.readlines($histfile).each {|l| Readline::HISTORY.push(l.chomp)} end diff --git a/ruby/printer.rb b/ruby/printer.rb index 37d338a..ef067a5 100644 --- a/ruby/printer.rb +++ b/ruby/printer.rb @@ -1,4 +1,4 @@ -require "types" +require_relative "types" def _pr_str(obj, print_readably=true) _r = print_readably diff --git a/ruby/reader.rb b/ruby/reader.rb index 641e65c..badc6ec 100644 --- a/ruby/reader.rb +++ b/ruby/reader.rb @@ -1,4 +1,4 @@ -require "types" +require_relative "types" class Reader def initialize(tokens) diff --git a/ruby/step0_repl.rb b/ruby/step0_repl.rb index 9c03cfa..2f9e6a9 100644 --- a/ruby/step0_repl.rb +++ b/ruby/step0_repl.rb @@ -1,5 +1,4 @@ -$: << File.expand_path(File.dirname(__FILE__)) -require "mal_readline" +require_relative "mal_readline" # read def READ(str) diff --git a/ruby/step1_read_print.rb b/ruby/step1_read_print.rb index ded992a..ef416c3 100644 --- a/ruby/step1_read_print.rb +++ b/ruby/step1_read_print.rb @@ -1,8 +1,7 @@ -$: << File.expand_path(File.dirname(__FILE__)) -require "mal_readline" -require "types" -require "reader" -require "printer" +require_relative "mal_readline" +require_relative "types" +require_relative "reader" +require_relative "printer" # read def READ(str) diff --git a/ruby/step2_eval.rb b/ruby/step2_eval.rb index 50a135d..d2b7e1a 100644 --- a/ruby/step2_eval.rb +++ b/ruby/step2_eval.rb @@ -1,8 +1,7 @@ -$: << File.expand_path(File.dirname(__FILE__)) -require "mal_readline" -require "types" -require "reader" -require "printer" +require_relative "mal_readline" +require_relative "types" +require_relative "reader" +require_relative "printer" # read def READ(str) diff --git a/ruby/step3_env.rb b/ruby/step3_env.rb index 17126c5..ec8405b 100644 --- a/ruby/step3_env.rb +++ b/ruby/step3_env.rb @@ -1,9 +1,8 @@ -$: << File.expand_path(File.dirname(__FILE__)) -require "mal_readline" -require "types" -require "reader" -require "printer" -require "env" +require_relative "mal_readline" +require_relative "types" +require_relative "reader" +require_relative "printer" +require_relative "env" # read def READ(str) diff --git a/ruby/step4_if_fn_do.rb b/ruby/step4_if_fn_do.rb index a93463b..151ecf6 100644 --- a/ruby/step4_if_fn_do.rb +++ b/ruby/step4_if_fn_do.rb @@ -1,10 +1,9 @@ -$: << File.expand_path(File.dirname(__FILE__)) -require "mal_readline" -require "types" -require "reader" -require "printer" -require "env" -require "core" +require_relative "mal_readline" +require_relative "types" +require_relative "reader" +require_relative "printer" +require_relative "env" +require_relative "core" # read def READ(str) diff --git a/ruby/step5_tco.rb b/ruby/step5_tco.rb index 38bb204..80be457 100644 --- a/ruby/step5_tco.rb +++ b/ruby/step5_tco.rb @@ -1,10 +1,9 @@ -$: << File.expand_path(File.dirname(__FILE__)) -require "mal_readline" -require "types" -require "reader" -require "printer" -require "env" -require "core" +require_relative "mal_readline" +require_relative "types" +require_relative "reader" +require_relative "printer" +require_relative "env" +require_relative "core" # read def READ(str) diff --git a/ruby/step6_file.rb b/ruby/step6_file.rb index 0c99cee..4eeca86 100644 --- a/ruby/step6_file.rb +++ b/ruby/step6_file.rb @@ -1,10 +1,9 @@ -$: << File.expand_path(File.dirname(__FILE__)) -require "mal_readline" -require "types" -require "reader" -require "printer" -require "env" -require "core" +require_relative "mal_readline" +require_relative "types" +require_relative "reader" +require_relative "printer" +require_relative "env" +require_relative "core" # read def READ(str) diff --git a/ruby/step7_quote.rb b/ruby/step7_quote.rb index 48385f1..23d9499 100644 --- a/ruby/step7_quote.rb +++ b/ruby/step7_quote.rb @@ -1,10 +1,9 @@ -$: << File.expand_path(File.dirname(__FILE__)) -require "mal_readline" -require "types" -require "reader" -require "printer" -require "env" -require "core" +require_relative "mal_readline" +require_relative "types" +require_relative "reader" +require_relative "printer" +require_relative "env" +require_relative "core" # read def READ(str) diff --git a/ruby/step8_macros.rb b/ruby/step8_macros.rb index 58adaea..488db12 100644 --- a/ruby/step8_macros.rb +++ b/ruby/step8_macros.rb @@ -1,10 +1,9 @@ -$: << File.expand_path(File.dirname(__FILE__)) -require "mal_readline" -require "types" -require "reader" -require "printer" -require "env" -require "core" +require_relative "mal_readline" +require_relative "types" +require_relative "reader" +require_relative "printer" +require_relative "env" +require_relative "core" # read def READ(str) diff --git a/ruby/step9_try.rb b/ruby/step9_try.rb index 74d0f59..533853b 100644 --- a/ruby/step9_try.rb +++ b/ruby/step9_try.rb @@ -1,10 +1,9 @@ -$: << File.expand_path(File.dirname(__FILE__)) -require "mal_readline" -require "types" -require "reader" -require "printer" -require "env" -require "core" +require_relative "mal_readline" +require_relative "types" +require_relative "reader" +require_relative "printer" +require_relative "env" +require_relative "core" # read def READ(str) diff --git a/ruby/stepA_mal.rb b/ruby/stepA_mal.rb index 1eff1f1..115fc8a 100644 --- a/ruby/stepA_mal.rb +++ b/ruby/stepA_mal.rb @@ -1,10 +1,9 @@ -$: << File.expand_path(File.dirname(__FILE__)) -require "mal_readline" -require "types" -require "reader" -require "printer" -require "env" -require "core" +require_relative "mal_readline" +require_relative "types" +require_relative "reader" +require_relative "printer" +require_relative "env" +require_relative "core" # read def READ(str) diff --git a/ruby/types.rb b/ruby/types.rb index 72d24d1..d64664b 100644 --- a/ruby/types.rb +++ b/ruby/types.rb @@ -1,4 +1,4 @@ -require "env" +require_relative "env" class MalException < StandardError attr_reader :data |
