[前][次][番号順一覧][スレッド一覧]

ruby-changes:51715

From: k0kubun <ko1@a...>
Date: Tue, 10 Jul 2018 22:05:45 +0900 (JST)
Subject: [ruby-changes:51715] k0kubun:r63926 (trunk): Revert "benchmark/*.yml: convert from benchmark/bm_*.rb"

k0kubun	2018-07-10 22:05:29 +0900 (Tue, 10 Jul 2018)

  New Revision: 63926

  https://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=63926

  Log:
    Revert "benchmark/*.yml: convert from benchmark/bm_*.rb"
    
    This reverts r63900.
    
    Having single-execution benchmark as a normal Ruby script is preferred
    by ko1. I'm not a big fan of having inconsistent benchmark formats, but
    I can understand some benefits of it.
    
    common.mk: remove obsolsted benchmark-each PHONY declaration, support
    running Ruby scripts added by this commit.
    
    README.md: follow ARGS change

  Added files:
    trunk/benchmark/bm_app_answer.rb
    trunk/benchmark/bm_app_aobench.rb
    trunk/benchmark/bm_app_erb.rb
    trunk/benchmark/bm_app_factorial.rb
    trunk/benchmark/bm_app_fib.rb
    trunk/benchmark/bm_app_lc_fizzbuzz.rb
    trunk/benchmark/bm_app_mandelbrot.rb
    trunk/benchmark/bm_app_pentomino.rb
    trunk/benchmark/bm_app_raise.rb
    trunk/benchmark/bm_app_strconcat.rb
    trunk/benchmark/bm_app_tak.rb
    trunk/benchmark/bm_app_tarai.rb
    trunk/benchmark/bm_app_uri.rb
    trunk/benchmark/bm_array_sample_100k_10.rb
    trunk/benchmark/bm_array_sample_100k_11.rb
    trunk/benchmark/bm_array_sample_100k__100.rb
    trunk/benchmark/bm_array_sample_100k__1k.rb
    trunk/benchmark/bm_array_sample_100k__6k.rb
    trunk/benchmark/bm_array_sample_100k___10k.rb
    trunk/benchmark/bm_array_sample_100k___50k.rb
    trunk/benchmark/bm_array_shift.rb
    trunk/benchmark/bm_array_small_and.rb
    trunk/benchmark/bm_array_small_diff.rb
    trunk/benchmark/bm_array_small_or.rb
    trunk/benchmark/bm_array_sort_block.rb
    trunk/benchmark/bm_array_sort_float.rb
    trunk/benchmark/bm_array_values_at_int.rb
    trunk/benchmark/bm_array_values_at_range.rb
    trunk/benchmark/bm_bighash.rb
    trunk/benchmark/bm_dir_empty_p.rb
    trunk/benchmark/bm_erb_render.rb
    trunk/benchmark/bm_file_chmod.rb
    trunk/benchmark/bm_file_rename.rb
    trunk/benchmark/bm_hash_aref_dsym.rb
    trunk/benchmark/bm_hash_aref_dsym_long.rb
    trunk/benchmark/bm_hash_aref_fix.rb
    trunk/benchmark/bm_hash_aref_flo.rb
    trunk/benchmark/bm_hash_aref_miss.rb
    trunk/benchmark/bm_hash_aref_str.rb
    trunk/benchmark/bm_hash_aref_sym.rb
    trunk/benchmark/bm_hash_aref_sym_long.rb
    trunk/benchmark/bm_hash_flatten.rb
    trunk/benchmark/bm_hash_ident_flo.rb
    trunk/benchmark/bm_hash_ident_num.rb
    trunk/benchmark/bm_hash_ident_obj.rb
    trunk/benchmark/bm_hash_ident_str.rb
    trunk/benchmark/bm_hash_ident_sym.rb
    trunk/benchmark/bm_hash_keys.rb
    trunk/benchmark/bm_hash_long.rb
    trunk/benchmark/bm_hash_shift.rb
    trunk/benchmark/bm_hash_shift_u16.rb
    trunk/benchmark/bm_hash_shift_u24.rb
    trunk/benchmark/bm_hash_shift_u32.rb
    trunk/benchmark/bm_hash_small2.rb
    trunk/benchmark/bm_hash_small4.rb
    trunk/benchmark/bm_hash_small8.rb
    trunk/benchmark/bm_hash_to_proc.rb
    trunk/benchmark/bm_hash_values.rb
    trunk/benchmark/bm_int_quo.rb
    trunk/benchmark/bm_io_copy_stream_write.rb
    trunk/benchmark/bm_io_copy_stream_write_socket.rb
    trunk/benchmark/bm_io_file_create.rb
    trunk/benchmark/bm_io_file_read.rb
    trunk/benchmark/bm_io_file_write.rb
    trunk/benchmark/bm_io_nonblock_noex.rb
    trunk/benchmark/bm_io_nonblock_noex2.rb
    trunk/benchmark/bm_io_pipe_rw.rb
    trunk/benchmark/bm_io_select.rb
    trunk/benchmark/bm_io_select2.rb
    trunk/benchmark/bm_io_select3.rb
    trunk/benchmark/bm_loop_for.rb
    trunk/benchmark/bm_loop_generator.rb
    trunk/benchmark/bm_loop_times.rb
    trunk/benchmark/bm_loop_whileloop.rb
    trunk/benchmark/bm_loop_whileloop2.rb
    trunk/benchmark/bm_marshal_dump_flo.rb
    trunk/benchmark/bm_marshal_dump_load_geniv.rb
    trunk/benchmark/bm_marshal_dump_load_time.rb
    trunk/benchmark/bm_securerandom.rb
    trunk/benchmark/bm_so_ackermann.rb
    trunk/benchmark/bm_so_array.rb
    trunk/benchmark/bm_so_binary_trees.rb
    trunk/benchmark/bm_so_concatenate.rb
    trunk/benchmark/bm_so_exception.rb
    trunk/benchmark/bm_so_fannkuch.rb
    trunk/benchmark/bm_so_fasta.rb
    trunk/benchmark/bm_so_lists.rb
    trunk/benchmark/bm_so_mandelbrot.rb
    trunk/benchmark/bm_so_matrix.rb
    trunk/benchmark/bm_so_meteor_contest.rb
    trunk/benchmark/bm_so_nbody.rb
    trunk/benchmark/bm_so_nested_loop.rb
    trunk/benchmark/bm_so_nsieve.rb
    trunk/benchmark/bm_so_nsieve_bits.rb
    trunk/benchmark/bm_so_object.rb
    trunk/benchmark/bm_so_partial_sums.rb
    trunk/benchmark/bm_so_pidigits.rb
    trunk/benchmark/bm_so_random.rb
    trunk/benchmark/bm_so_sieve.rb
    trunk/benchmark/bm_so_spectralnorm.rb
    trunk/benchmark/bm_string_index.rb
    trunk/benchmark/bm_string_scan_re.rb
    trunk/benchmark/bm_string_scan_str.rb
    trunk/benchmark/bm_time_subsec.rb
    trunk/benchmark/bm_vm3_backtrace.rb
    trunk/benchmark/bm_vm3_clearmethodcache.rb
    trunk/benchmark/bm_vm3_gc.rb
    trunk/benchmark/bm_vm3_gc_old_full.rb
    trunk/benchmark/bm_vm3_gc_old_immediate.rb
    trunk/benchmark/bm_vm3_gc_old_lazy.rb
    trunk/benchmark/bm_vm_symbol_block_pass.rb
    trunk/benchmark/bm_vm_thread_alive_check1.rb
    trunk/benchmark/bm_vm_thread_close.rb
    trunk/benchmark/bm_vm_thread_condvar1.rb
    trunk/benchmark/bm_vm_thread_condvar2.rb
    trunk/benchmark/bm_vm_thread_create_join.rb
    trunk/benchmark/bm_vm_thread_mutex1.rb
    trunk/benchmark/bm_vm_thread_mutex2.rb
    trunk/benchmark/bm_vm_thread_mutex3.rb
    trunk/benchmark/bm_vm_thread_pass.rb
    trunk/benchmark/bm_vm_thread_pass_flood.rb
    trunk/benchmark/bm_vm_thread_pipe.rb
    trunk/benchmark/bm_vm_thread_queue.rb
    trunk/benchmark/bm_vm_thread_sized_queue.rb
    trunk/benchmark/bm_vm_thread_sized_queue2.rb
    trunk/benchmark/bm_vm_thread_sized_queue3.rb
    trunk/benchmark/bm_vm_thread_sized_queue4.rb
  Removed files:
    trunk/benchmark/app_answer.yml
    trunk/benchmark/app_aobench.yml
    trunk/benchmark/app_erb.yml
    trunk/benchmark/app_factorial.yml
    trunk/benchmark/app_fib.yml
    trunk/benchmark/app_lc_fizzbuzz.yml
    trunk/benchmark/app_mandelbrot.yml
    trunk/benchmark/app_pentomino.yml
    trunk/benchmark/app_raise.yml
    trunk/benchmark/app_strconcat.yml
    trunk/benchmark/app_tak.yml
    trunk/benchmark/app_tarai.yml
    trunk/benchmark/app_uri.yml
    trunk/benchmark/array_sample_100k_10.yml
    trunk/benchmark/array_sample_100k_11.yml
    trunk/benchmark/array_sample_100k__100.yml
    trunk/benchmark/array_sample_100k__1k.yml
    trunk/benchmark/array_sample_100k__6k.yml
    trunk/benchmark/array_sample_100k___10k.yml
    trunk/benchmark/array_sample_100k___50k.yml
    trunk/benchmark/array_shift.yml
    trunk/benchmark/array_small_and.yml
    trunk/benchmark/array_small_diff.yml
    trunk/benchmark/array_small_or.yml
    trunk/benchmark/array_sort_block.yml
    trunk/benchmark/array_sort_float.yml
    trunk/benchmark/array_values_at_int.yml
    trunk/benchmark/array_values_at_range.yml
    trunk/benchmark/bighash.yml
    trunk/benchmark/dir_empty_p.yml
    trunk/benchmark/erb_render.yml
    trunk/benchmark/file_chmod.yml
    trunk/benchmark/file_rename.yml
    trunk/benchmark/hash_aref_dsym.yml
    trunk/benchmark/hash_aref_dsym_long.yml
    trunk/benchmark/hash_aref_fix.yml
    trunk/benchmark/hash_aref_flo.yml
    trunk/benchmark/hash_aref_miss.yml
    trunk/benchmark/hash_aref_str.yml
    trunk/benchmark/hash_aref_sym.yml
    trunk/benchmark/hash_aref_sym_long.yml
    trunk/benchmark/hash_flatten.yml
    trunk/benchmark/hash_ident_flo.yml
    trunk/benchmark/hash_ident_num.yml
    trunk/benchmark/hash_ident_obj.yml
    trunk/benchmark/hash_ident_str.yml
    trunk/benchmark/hash_ident_sym.yml
    trunk/benchmark/hash_keys.yml
    trunk/benchmark/hash_long.yml
    trunk/benchmark/hash_shift.yml
    trunk/benchmark/hash_shift_u16.yml
    trunk/benchmark/hash_shift_u24.yml
    trunk/benchmark/hash_shift_u32.yml
    trunk/benchmark/hash_small2.yml
    trunk/benchmark/hash_small4.yml
    trunk/benchmark/hash_small8.yml
    trunk/benchmark/hash_to_proc.yml
    trunk/benchmark/hash_values.yml
    trunk/benchmark/int_quo.yml
    trunk/benchmark/io_copy_stream_write.yml
    trunk/benchmark/io_copy_stream_write_socket.yml
    trunk/benchmark/io_file_create.yml
    trunk/benchmark/io_file_read.yml
    trunk/benchmark/io_file_write.yml
    trunk/benchmark/io_nonblock_noex.yml
    trunk/benchmark/io_nonblock_noex2.yml
    trunk/benchmark/io_pipe_rw.yml
    trunk/benchmark/io_select.yml
    trunk/benchmark/io_select2.yml
    trunk/benchmark/io_select3.yml
    trunk/benchmark/loop_for.yml
    trunk/benchmark/loop_generator.yml
    trunk/benchmark/loop_times.yml
    trunk/benchmark/loop_whileloop.yml
    trunk/benchmark/loop_whileloop2.yml
    trunk/benchmark/marshal_dump_flo.yml
    trunk/benchmark/marshal_dump_load_geniv.yml
    trunk/benchmark/marshal_dump_load_time.yml
    trunk/benchmark/securerandom.yml
    trunk/benchmark/so_ackermann.yml
    trunk/benchmark/so_array.yml
    trunk/benchmark/so_binary_trees.yml
    trunk/benchmark/so_concatenate.yml
    trunk/benchmark/so_exception.yml
    trunk/benchmark/so_fannkuch.yml
    trunk/benchmark/so_fasta.yml
    trunk/benchmark/so_lists.yml
    trunk/benchmark/so_mandelbrot.yml
    trunk/benchmark/so_matrix.yml
    trunk/benchmark/so_meteor_contest.yml
    trunk/benchmark/so_nbody.yml
    trunk/benchmark/so_nested_loop.yml
    trunk/benchmark/so_nsieve.yml
    trunk/benchmark/so_nsieve_bits.yml
    trunk/benchmark/so_object.yml
    trunk/benchmark/so_partial_sums.yml
    trunk/benchmark/so_pidigits.yml
    trunk/benchmark/so_random.yml
    trunk/benchmark/so_sieve.yml
    trunk/benchmark/so_spectralnorm.yml
    trunk/benchmark/string_index.yml
    trunk/benchmark/string_scan_re.yml
    trunk/benchmark/string_scan_str.yml
    trunk/benchmark/time_subsec.yml
    trunk/benchmark/vm3_backtrace.yml
    trunk/benchmark/vm3_clearmethodcache.yml
    trunk/benchmark/vm3_gc.yml
    trunk/benchmark/vm3_gc_old_full.yml
    trunk/benchmark/vm3_gc_old_immediate.yml
    trunk/benchmark/vm3_gc_old_lazy.yml
    trunk/benchmark/vm_symbol_block_pass.yml
    trunk/benchmark/vm_thread_alive_check1.yml
    trunk/benchmark/vm_thread_close.yml
    trunk/benchmark/vm_thread_condvar1.yml
    trunk/benchmark/vm_thread_condvar2.yml
    trunk/benchmark/vm_thread_create_join.yml
    trunk/benchmark/vm_thread_mutex1.yml
    trunk/benchmark/vm_thread_mutex2.yml
    trunk/benchmark/vm_thread_mutex3.yml
    trunk/benchmark/vm_thread_pass.yml
    trunk/benchmark/vm_thread_pass_flood.yml
    trunk/benchmark/vm_thread_pipe.yml
    trunk/benchmark/vm_thread_queue.yml
    trunk/benchmark/vm_thread_sized_queue.yml
    trunk/benchmark/vm_thread_sized_queue2.yml
    trunk/benchmark/vm_thread_sized_queue3.yml
    trunk/benchmark/vm_thread_sized_queue4.yml
  Modified files:
    trunk/benchmark/README.md
    trunk/common.mk
Index: benchmark/vm_thread_sized_queue3.yml
===================================================================
--- benchmark/vm_thread_sized_queue3.yml	(revision 63925)
+++ benchmark/vm_thread_sized_queue3.yml	(nonexistent)
@@ -1,25 +0,0 @@ https://github.com/ruby/ruby/blob/trunk/benchmark/vm_thread_sized_queue3.yml#L0
-benchmark:
-  vm_thread_sized_queue3: |
-    require 'thread'
-    # many producers, one consumer
-    n = 1_000_000
-    m = 10
-    q = Thread::SizedQueue.new(100)
-    consumer = Thread.new do
-      while q.pop
-        # consuming
-      end
-    end
-
-    producers = m.times.map do
-      Thread.new do
-        while n > 0
-          q.push true
-          n -= 1
-        end
-      end
-    end
-    producers.each(&:join)
-    q.push nil
-    consumer.join
-loop_count: 1
Index: benchmark/hash_ident_str.yml
===================================================================
--- benchmark/hash_ident_str.yml	(revision 63925)
+++ benchmark/hash_ident_str.yml	(nonexistent)
@@ -1,7 +0,0 @@ https://github.com/ruby/ruby/blob/trunk/benchmark/hash_ident_str.yml#L0
-benchmark:
-  hash_ident_str: |
-    h = {}.compare_by_identity
-    strs = ('a'..'z').to_a
-    strs.each { |s| h[s] = s }
-    200_000.times { strs.each { |s| h[s] } }
-loop_count: 1
Index: benchmark/app_strconcat.yml
===================================================================
--- benchmark/app_strconcat.yml	(revision 63925)
+++ benchmark/app_strconcat.yml	(nonexistent)
@@ -1,8 +0,0 @@ https://github.com/ruby/ruby/blob/trunk/benchmark/app_strconcat.yml#L0
-benchmark:
-  app_strconcat: |
-    i = 0
-    while i<2_000_000
-      "#{1+1} #{1+1} #{1+1}"
-      i += 1
-    end
-loop_count: 1
Index: benchmark/hash_values.yml
===================================================================
--- benchmark/hash_values.yml	(revision 63925)
+++ benchmark/hash_values.yml	(nonexistent)
@@ -1,12 +0,0 @@ https://github.com/ruby/ruby/blob/trunk/benchmark/hash_values.yml#L0
-benchmark:
-  hash_values: |
-    h = {}
-
-    10000.times do |i|
-      h[i] = nil
-    end
-
-    5000.times do
-      h.values
-    end
-loop_count: 1
Index: benchmark/file_rename.yml
===================================================================
--- benchmark/file_rename.yml	(revision 63925)
+++ benchmark/file_rename.yml	(nonexistent)
@@ -1,15 +0,0 @@ https://github.com/ruby/ruby/blob/trunk/benchmark/file_rename.yml#L0
-prelude: |
-  # rename file
-benchmark:
-  file_rename: |
-    require 'tempfile'
-
-    max = 100_000
-    tmp = [ Tempfile.new('rename-a'), Tempfile.new('rename-b') ]
-    a, b = tmp.map { |x| x.path }
-    tmp.each { |t| t.close } # Windows can't rename files without closing them
-    max.times do
-      File.rename(a, b)
-      File.rename(b, a)
-    end
-loop_count: 1
Index: benchmark/vm_thread_alive_check1.yml
===================================================================
--- benchmark/vm_thread_alive_check1.yml	(revision 63925)
+++ benchmark/vm_thread_alive_check1.yml	(nonexistent)
@@ -1,9 +0,0 @@ https://github.com/ruby/ruby/blob/trunk/benchmark/vm_thread_alive_check1.yml#L0
-benchmark:
-  vm_thread_alive_check1: |
-    5_000.times{
-      t = Thread.new{}
-      while t.alive?
-        Thread.pass
-      end
-    }
-loop_count: 1
Index: benchmark/vm_symbol_block_pass.yml
===================================================================
--- benchmark/vm_symbol_block_pass.yml	(revision 63925)
+++ benchmark/vm_symbol_block_pass.yml	(nonexistent)
@@ -1,16 +0,0 @@ https://github.com/ruby/ruby/blob/trunk/benchmark/vm_symbol_block_pass.yml#L0
-benchmark:
-  vm_symbol_block_pass: |
-    class C
-      1000.times {|i|
-        eval("def i#{i};end")
-      }
-    end
-
-    c = C.new
-    m = C.instance_methods(false)
-    5_000.times do
-      m.each do |n|
-        c.tap(&n)
-      end
-    end
-loop_count: 1
Index: benchmark/so_spectralnorm.yml
===================================================================
--- benchmark/so_spectralnorm.yml	(revision 63925)
+++ benchmark/so_spectralnorm.yml	(nonexistent)
@@ -1,54 +0,0 @@ https://github.com/ruby/ruby/blob/trunk/benchmark/so_spectralnorm.yml#L0
-prelude: |
-  # The Computer Language Shootout
-  # http://shootout.alioth.debian.org/
-  # Contributed by Sokolov Yura
-benchmark:
-  so_spectralnorm: |
-
-    def eval_A(i,j)
-    	return 1.0/((i+j)*(i+j+1)/2+i+1)
-    end
-
-    def eval_A_times_u(u)
-            v, i = nil, nil
-    	(0..u.length-1).collect { |i|
-                    v = 0
-    		for j in 0..u.length-1
-    			v += eval_A(i,j)*u[j]
-                    end
-                    v
-            }
-    end
-
-    def eval_At_times_u(u)
-    	v, i = nil, nil
-    	(0..u.length-1).collect{|i|
-                    v = 0
-    		for j in 0..u.length-1
-    			v += eval_A(j,i)*u[j]
-                    end
-                    v
-            }
-    end
-
-    def eval_AtA_times_u(u)
-    	return eval_At_times_u(eval_A_times_u(u))
-    end
-
-    n = 500 # ARGV[0].to_i
-
-    u=[1]*n
-    for i in 1..10
-            v=eval_AtA_times_u(u)
-            u=eval_AtA_times_u(v)
-    end
-    vBv=0
-    vv=0
-    for i in 0..n-1
-            vBv += u[i]*v[i]
-            vv += v[i]*v[i]
-    end
-
-    str = "%0.9f" % (Math.sqrt(vBv/vv)), "\n"
-    # print str
-loop_count: 1
Index: benchmark/so_nsieve_bits.yml
===================================================================
--- benchmark/so_nsieve_bits.yml	(revision 63925)
+++ benchmark/so_nsieve_bits.yml	(nonexistent)
@@ -1,46 +0,0 @@ https://github.com/ruby/ruby/blob/trunk/benchmark/so_nsieve_bits.yml#L0
-prelude: |
-  #!/usr/bin/ruby
-  #coding: us-ascii
-benchmark:
-  so_nsieve_bits: |
-    #
-    # The Great Computer Language Shootout
-    # http://shootout.alioth.debian.org/
-    #
-    # nsieve-bits in Ruby
-    # Contributed by Glenn Parker, March 2005
-
-    CharExponent = 3
-    BitsPerChar = 1 << CharExponent
-    LowMask = BitsPerChar - 1
-
-    def sieve(m)
-      items = "\xFF" * ((m / BitsPerChar) + 1)
-      masks = ""
-      BitsPerChar.times do |b|
-        masks << (1 << b).chr
-      end
-
-      count = 0
-      pmax = m - 1
-      2.step(pmax, 1) do |p|
-        if items[p >> CharExponent][p & LowMask] == 1
-          count += 1
-          p.step(pmax, p) do |mult|
-    	a = mult >> CharExponent
-    	b = mult & LowMask
-    	items[a] -= masks[b] if items[a][b] != 0
-          end
-        end
-      end
-      count
-    end
-
-    n = 9 # (ARGV[0] || 2).to_i
-    n.step(n - 2, -1) do |exponent|
-      break if exponent < 0
-      m = 2 ** exponent * 10_000
-      count = sieve(m)
-      printf "Primes up to %8d %8d\n", m, count
-    end
-loop_count: 1
Index: benchmark/array_sample_100k_11.yml
===================================================================
--- benchmark/array_sample_100k_11.yml	(revision 63925)
+++ benchmark/array_sample_100k_11.yml	(nonexistent)
@@ -1,5 +0,0 @@ https://github.com/ruby/ruby/blob/trunk/benchmark/array_sample_100k_11.yml#L0
-benchmark:
-  array_sample_100k_11: |
-    arr = [*0...100000]
-    10_000.times {arr.sample 11}
-loop_count: 1
Index: benchmark/app_lc_fizzbuzz.yml
===================================================================
--- benchmark/app_lc_fizzbuzz.yml	(revision 63925)
+++ benchmark/app_lc_fizzbuzz.yml	(nonexistent)
@@ -1,55 +0,0 @@ https://github.com/ruby/ruby/blob/trunk/benchmark/app_lc_fizzbuzz.yml#L0
-benchmark:
-  app_lc_fizzbuzz: |
-    #
-    # FizzBuzz program using only lambda calculus
-    #
-    # This program is quoted from
-    #   "Understanding Computation" by Tom Stuart
-    #   http://computationbook.com/
-    #
-    # You can understand why this program works fine by reading this book.
-    #
-
-    solution = -> k { -> f { -> f { -> x { f[-> y { x[x][y] }] }[-> x { f[-> y { x[x][y] }] }] }[-> f { -> l { -> x { -> g { -> b { b }[-> p { p[-> x { -> y { x } }] }[l]][x][-> y { g[f[-> l { -> p { p[-> x { -> y { y } }] }[-> p { p[-> x { -> y { y } }] }[l]] }[l]][x][g]][-> l { -> p { p[-> x { -> y { x } }] }[-> p { p[-> x { -> y { y } }] }[l]] }[l]][y] }] } } } }][k][-> x { -> y { -> f { f[x][y] } } }[-> x { -> y { x } }][-> x { -> y { x } }]][-> l { -> x { -> l { -> x { -> x { -> y { -> f { f[x][y] } } }[-> x { -> y { y } }][-> x { -> y { -> f { f[x][y] } } }[x][l]] } }[l][f[x]] } }] } }[-> f { -> x { f[-> y { x[x][y] }] }[-> x { f[-> y { x[x][y] }] }] }[-> f { -> m { -> n { -> b { b }[-> m { -> n { -> n { n[-> x { -> x { -> y { y } } }][-> x { -> y { x } }] }[-> m { -> n { n[-> n { -> p { p[-> x { -> y { x } }] }[n[-> p { -> x { -> y { -> f { f[x][y] } } }[-> p { p[-> x { -> y { y } }] }[p]][-> n { -> p { -> x { p[n[p][x]] } } }[-> p { p[-> x { -> y { y } }] }[p]]] }][-> x { ->
  y { -> f { f[x][y] } } }[-> p { -> x { x } }][-> p { -> x { x } }]]] }][m] } }[m][n]] } }[m][n]][-> x { -> l { -> x { -> x { -> y { -> f { f[x][y] } } }[-> x { -> y { y } }][-> x { -> y { -> f { f[x][y] } } }[x][l]] } }[f[-> n { -> p { -> x { p[n[p][x]] } } }[m]][n]][m][x] }][-> x { -> y { -> f { f[x][y] } } }[-> x { -> y { x } }][-> x { -> y { x } }]] } } }][-> p { -> x { p[x] } }][-> p { -> x { p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[x]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] } }]][-> n { -> b { b }[-> n { n[-> x { -> x { -> y { y } } }][-> x { -> y { x } }] }[-> f { -> x { f[-> y { x[x][y] }] }[-> x { f[-> y { x[x][y] }] }] }[-> f { -> m { -> n { -> b { b }[-> m { -> n { -> n { n[-> x { -> x { -> y { y } } }][-> x { -> y { x } }] }[-> m { -> n { n[-> n { -> p { p[
 -> x { -> y { x } }] }[n[-> p { -> x { -> y { -> f { f[x][y] } } }[-> p { p[-> x { -> y { y } }] }[p]][-> n { -> p { -> x { p[n[p][x]] } } }[-> p { p[-> x { -> y { y } }] }[p]]] }][-> x { -> y { -> f { f[x][y] } } }[-> p { -> x { x } }][-> p { -> x { x } }]]] }][m] } }[m][n]] } }[n][m]][-> x { f[-> m { -> n { n[-> n { -> p { p[-> x { -> y { x } }] }[n[-> p { -> x { -> y { -> f { f[x][y] } } }[-> p { p[-> x { -> y { y } }] }[p]][-> n { -> p { -> x { p[n[p][x]] } } }[-> p { p[-> x { -> y { y } }] }[p]]] }][-> x { -> y { -> f { f[x][y] } } }[-> p { -> x { x } }][-> p { -> x { x } }]]] }][m] } }[m][n]][n][x] }][m] } } }][n][-> p { -> x { p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[x]]]]]]]]]]]]]]] } }]]][-> l { -> x { -> x { -> y { -> f { f[x][y] } } }[-> x { -> y { y } }][-> x { -> y { -> f { f[x][y] } } }[x][l]] } }[-> l { -> x { -> x { -> y { -> f { f[x][y] } } }[-> x { -> y { y } }][-> x { -> y { -> f { f[x][y] } } }[x][l]] } }[-> l { -> x { -> x { -> y { -> f { f[x][y] } } }[-> x { -> y { y } }]
 [-> x { -> y { -> f { f[x][y] } } }[x][l]] } }[-> l { -> x { -> x { -> y { -> f { f[x][y] } } }[-> x { -> y { y } }][-> x { -> y { -> f { f[x][y] } } }[x][l]] } }[-> l { -> x { -> x { -> y { -> f { f[x][y] } } }[-> x { -> y { y } }][-> x { -> y { -> f { f[x][y] } } }[x][l]] } }[-> l { -> x { -> x { -> y { -> f { f[x][y] } } }[-> x { -> y { y } }][-> x { -> y { -> f { f[x][y] } } }[x][l]] } }[-> l { -> x { -> x { -> y { -> f { f[x][y] } } }[-> x { -> y { y } }][-> x { -> y { -> f { f[x][y] } } }[x][l]] } }[-> l { -> x { -> x { -> y { -> f { f[x][y] } } }[-> x { -> y { y } }][-> x { -> y { -> f { f[x][y] } } }[x][l]] } }[-> x { -> y { -> f { f[x][y] } } }[-> x { -> y { x } }][-> x { -> y { x } }]][-> n { -> p { -> x { p[n[p][x]] } } }[-> n { -> p { -> x { p[n[p][x]] } } }[-> n { -> p { -> x { p[n[p][x]] } } }[-> n { -> p { -> x { p[n[p][x]] } } }[-> m { -> n { n[-> m { -> n { n[-> n { -> p { -> x { p[n[p][x]] } } }][m] } }[m]][-> p { -> x { x } }] } }[-> p { -> x { p[p[x]] } }][-> p {
  -> x { p[p[p[p[p[x]]]]] } }]]]]]]][-> n { -> p { -> x { p[n[p][x]] } } }[-> n { -> p { -> x { p[n[p][x]] } } }[-> n { -> p { -> x { p[n[p][x]] } } }[-> n { -> p { -> x { p[n[p][x]] } } }[-> m { -> n { n[-> m { -> n { n[-> n { -> p { -> x { p[n[p][x]] } } }][m] } }[m]][-> p { -> x { x } }] } }[-> p { -> x { p[p[x]] } }][-> p { -> x { p[p[p[p[p[x]]]]] } }]]]]]]][-> n { -> p { -> x { p[n[p][x]] } } }[-> n { -> p { -> x { p[n[p][x]] } } }[-> n { -> p { -> x { p[n[p][x]] } } }[-> m { -> n { n[-> m { -> n { n[-> n { -> p { -> x { p[n[p][x]] } } }][m] } }[m]][-> p { -> x { x } }] } }[-> p { -> x { p[p[x]] } }][-> p { -> x { p[p[p[p[p[x]]]]] } }]]]]]][-> m { -> n { n[-> m { -> n { n[-> n { -> p { -> x { p[n[p][x]] } } }][m] } }[m]][-> p { -> x { x } }] } }[-> p { -> x { p[p[x]] } }][-> p { -> x { p[p[p[p[p[x]]]]] } }]]][-> n { -> p { -> x { p[n[p][x]] } } }[-> n { -> p { -> x { p[n[p][x]] } } }[-> n { -> p { -> x { p[n[p][x]] } } }[-> n { -> p { -> x { p[n[p][x]] } } }[-> m { -> n { n[-> m
  { -> n { n[-> n { -> p { -> x { p[n[p][x]] } } }][m] } }[m]][-> p { -> x { x } }] } }[-> p { -> x { p[p[x]] } }][-> p { -> x { p[p[p[p[p[x]]]]] } }]]]]]]][-> n { -> p { -> x { p[n[p][x]] } } }[-> n { -> p { -> x { p[n[p][x]] } } }[-> n { -> p { -> x { p[n[p][x]] } } }[-> n { -> p { -> x { p[n[p][x]] } } }[-> m { -> n { n[-> m { -> n { n[-> n { -> p { -> x { p[n[p][x]] } } }][m] } }[m]][-> p { -> x { x } }] } }[-> p { -> x { p[p[x]] } }][-> p { -> x { p[p[p[p[p[x]]]]] } }]]]]]]][-> n { -> p { -> x { p[n[p][x]] } } }[-> n { -> p { -> x { p[n[p][x]] } } }[-> m { -> n { n[-> m { -> n { n[-> n { -> p { -> x { p[n[p][x]] } } }][m] } }[m]][-> p { -> x { x } }] } }[-> p { -> x { p[p[x]] } }][-> p { -> x { p[p[p[p[p[x]]]]] } }]]]]][-> n { -> p { -> x { p[n[p][x]] } } }[-> m { -> n { n[-> m { -> n { n[-> n { -> p { -> x { p[n[p][x]] } } }][m] } }[m]][-> p { -> x { x } }] } }[-> p { -> x { p[p[x]] } }][-> p { -> x { p[p[p[p[p[x]]]]] } }]]]][-> b { b }[-> n { n[-> x { -> x { -> y { y } } }][->
  x { -> y { x } }] }[-> f { -> x { f[-> y { x[x][y] }] }[-> x { f[-> y { x[x][y] }] }] }[-> f { -> m { -> n { -> b { b }[-> m { -> n { -> n { n[-> x { -> x { -> y { y } } }][-> x { -> y { x } }] }[-> m { -> n { n[-> n { -> p { p[-> x { -> y { x } }] }[n[-> p { -> x { -> y { -> f { f[x][y] } } }[-> p { p[-> x { -> y { y } }] }[p]][-> n { -> p { -> x { p[n[p][x]] } } }[-> p { p[-> x { -> y { y } }] }[p]]] }][-> x { -> y { -> f { f[x][y] } } }[-> p { -> x { x } }][-> p { -> x { x } }]]] }][m] } }[m][n]] } }[n][m]][-> x { f[-> m { -> n { n[-> n { -> p { p[-> x { -> y { x } }] }[n[-> p { -> x { -> y { -> f { f[x][y] } } }[-> p { p[-> x { -> y { y } }] }[p]][-> n { -> p { -> x { p[n[p][x]] } } }[-> p { p[-> x { -> y { y } }] }[p]]] }][-> x { -> y { -> f { f[x][y] } } }[-> p { -> x { x } }][-> p { -> x { x } }]]] }][m] } }[m][n]][n][x] }][m] } } }][n][-> p { -> x { p[p[p[x]]] } }]]][-> l { -> x { -> x { -> y { -> f { f[x][y] } } }[-> x { -> y { y } }][-> x { -> y { -> f { f[x][y] } } }[x][
 l]] } }[-> l { -> x { -> x { -> y { -> f { f[x][y] } } }[-> x { -> y { y } }][-> x { -> y { -> f { f[x][y] } } }[x][l]] } }[-> l { -> x { -> x { -> y { -> f { f[x][y] } } }[-> x { -> y { y } }][-> x { -> y { -> f { f[x][y] } } }[x][l]] } }[-> l { -> x { -> x { -> y { -> f { f[x][y] } } }[-> x { -> y { y } }][-> x { -> y { -> f { f[x][y] } } }[x][l]] } }[-> x { -> y { -> f { f[x][y] } } }[-> x { -> y { x } }][-> x { -> y { x } }]][-> n { -> p { -> x { p[n[p][x]] } } }[-> n { -> p { -> x { p[n[p][x]] } } }[-> n { -> p { -> x { p[n[p][x]] } } }[-> n { -> p { -> x { p[n[p][x]] } } }[-> m { -> n { n[-> m { -> n { n[-> n { -> p { -> x { p[n[p][x]] } } }][m] } }[m]][-> p { -> x { x } }] } }[-> p { -> x { p[p[x]] } }][-> p { -> x { p[p[p[p[p[x]]]]] } }]]]]]]][-> n { -> p { -> x { p[n[p][x]] } } }[-> n { -> p { -> x { p[n[p][x]] } } }[-> n { -> p { -> x { p[n[p][x]] } } }[-> n { -> p { -> x { p[n[p][x]] } } }[-> m { -> n { n[-> m { -> n { n[-> n { -> p { -> x { p[n[p][x]] } } }][m] } }[m]][-
 > p { -> x { x } }] } }[-> p { -> x { p[p[x]] } }][-> p { -> x { p[p[p[p[p[x]]]]] } }]]]]]]][-> n { -> p { -> x { p[n[p][x]] } } }[-> n { -> p { -> x { p[n[p][x]] } } }[-> m { -> n { n[-> m { -> n { n[-> n { -> p { -> x { p[n[p][x]] } } }][m] } }[m]][-> p { -> x { x } }] } }[-> p { -> x { p[p[x]] } }][-> p { -> x { p[p[p[p[p[x]]]]] } }]]]]][-> n { -> p { -> x { p[n[p][x]] } } }[-> m { -> n { n[-> m { -> n { n[-> n { -> p { -> x { p[n[p][x]] } } }][m] } }[m]][-> p { -> x { x } }] } }[-> p { -> x { p[p[x]] } }][-> p { -> x { p[p[p[p[p[x]]]]] } }]]]][-> b { b }[-> n { n[-> x { -> x { -> y { y } } }][-> x { -> y { x } }] }[-> f { -> x { f[-> y { x[x][y] }] }[-> x { f[-> y { x[x][y] }] }] }[-> f { -> m { -> n { -> b { b }[-> m { -> n { -> n { n[-> x { -> x { -> y { y } } }][-> x { -> y { x } }] }[-> m { -> n { n[-> n { -> p { p[-> x { -> y { x } }] }[n[-> p { -> x { -> y { -> f { f[x][y] } } }[-> p { p[-> x { -> y { y } }] }[p]][-> n { -> p { -> x { p[n[p][x]] } } }[-> p { p[-> x { -> y 
 { y } }] }[p]]] }][-> x { -> y { -> f { f[x][y] } } }[-> p { -> x { x } }][-> p { -> x { x } }]]] }][m] } }[m][n]] } }[n][m]][-> x { f[-> m { -> n { n[-> n { -> p { p[-> x { -> y { x } }] }[n[-> p { -> x { -> y { -> f { f[x][y] } } }[-> p { p[-> x { -> y { y } }] }[p]][-> n { -> p { -> x { p[n[p][x]] } } }[-> p { p[-> x { -> y { y } }] }[p]]] }][-> x { -> y { -> f { f[x][y] } } }[-> p { -> x { x } }][-> p { -> x { x } }]]] }][m] } }[m][n]][n][x] }][m] } } }][n][-> p { -> x { p[p[p[p[p[x]]]]] } }]]][-> l { -> x { -> x { -> y { -> f { f[x][y] } } }[-> x { -> y { y } }][-> x { -> y { -> f { f[x][y] } } }[x][l]] } }[-> l { -> x { -> x { -> y { -> f { f[x][y] } } }[-> x { -> y { y } }][-> x { -> y { -> f { f[x][y] } } }[x][l]] } }[-> l { -> x { -> x { -> y { -> f { f[x][y] } } }[-> x { -> y { y } }][-> x { -> y { -> f { f[x][y] } } }[x][l]] } }[-> l { -> x { -> x { -> y { -> f { f[x][y] } } }[-> x { -> y { y } }][-> x { -> y { -> f { f[x][y] } } }[x][l]] } }[-> x { -> y { -> f { f[x][y] 
 } } }[-> x { -> y { x } }][-> x { -> y { x } }]][-> n { -> p { -> x { p[n[p][x]] } } }[-> n { -> p { -> x { p[n[p][x]] } } }[-> n { -> p { -> x { p[n[p][x]] } } }[-> n { -> p { -> x { p[n[p][x]] } } }[-> m { -> n { n[-> m { -> n { n[-> n { -> p { -> x { p[n[p][x]] } } }][m] } }[m]][-> p { -> x { x } }] } }[-> p { -> x { p[p[x]] } }][-> p { -> x { p[p[p[p[p[x]]]]] } }]]]]]]][-> n { -> p { -> x { p[n[p][x]] } } }[-> n { -> p { -> x { p[n[p][x]] } } }[-> n { -> p { -> x { p[n[p][x]] } } }[-> n { -> p { -> x { p[n[p][x]] } } }[-> m { -> n { n[-> m { -> n { n[-> n { -> p { -> x { p[n[p][x]] } } }][m] } }[m]][-> p { -> x { x } }] } }[-> p { -> x { p[p[x]] } }][-> p { -> x { p[p[p[p[p[x]]]]] } }]]]]]]][-> n { -> p { -> x { p[n[p][x]] } } }[-> n { -> p { -> x { p[n[p][x]] } } }[-> n { -> p { -> x { p[n[p][x]] } } }[-> m { -> n { n[-> m { -> n { n[-> n { -> p { -> x { p[n[p][x]] } } }][m] } }[m]][-> p { -> x { x } }] } }[-> p { -> x { p[p[x]] } }][-> p { -> x { p[p[p[p[p[x]]]]] } }]]]]]][-> 
 m { -> n { n[-> m { -> n { n[-> n { -> p { -> x { p[n[p][x]] } } }][m] } }[m]][-> p { -> x { x } }] } }[-> p { -> x { p[p[x]] } }][-> p { -> x { p[p[p[p[p[x]]]]] } }]]][-> f { -> x { f[-> y { x[x][y] }] }[-> x { f[-> y { x[x][y] }] }] }[-> f { -> n { -> l { -> x { -> f { -> x { f[-> y { x[x][y] }] }[-> x { f[-> y { x[x][y] }] }] }[-> f { -> l { -> x { -> g { -> b { b }[-> p { p[-> x { -> y { x } }] }[l]][x][-> y { g[f[-> l { -> p { p[-> x { -> y { y } }] }[-> p { p[-> x { -> y { y } }] }[l]] }[l]][x][g]][-> l { -> p { p[-> x { -> y { x } }] }[-> p { p[-> x { -> y { y } }] }[l]] }[l]][y] }] } } } }][l][-> l { -> x { -> x { -> y { -> f { f[x][y] } } }[-> x { -> y { y } }][-> x { -> y { -> f { f[x][y] } } }[x][l]] } }[-> x { -> y { -> f { f[x][y] } } }[-> x { -> y { x } }][-> x { -> y { x } }]][x]][-> l { -> x { -> x { -> y { -> f { f[x][y] } } }[-> x { -> y { y } }][-> x { -> y { -> f { f[x][y] } } }[x][l]] } }] } }[-> b { b }[-> m { -> n { -> n { n[-> x { -> x { -> y { y } } }][-> x 
 { -> y { x } }] }[-> m { -> n { n[-> n { -> p { p[-> x { -> y { x } }] }[n[-> p { -> x { -> y { -> f { f[x][y] } } }[-> p { p[-> x { -> y { y } }] }[p]][-> n { -> p { -> x { p[n[p][x]] } } }[-> p { p[-> x { -> y { y } }] }[p]]] }][-> x { -> y { -> f { f[x][y] } } }[-> p { -> x { x } }][-> p { -> x { x } }]]] }][m] } }[m][n] (... truncated)

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]