lazylist 0.3.0 → 0.3.1
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGES +4 -1
- data/Rakefile +31 -25
- data/VERSION +1 -1
- data/lib/lazylist.rb +6 -4
- data/lib/lazylist/version.rb +1 -1
- metadata +17 -16
data/CHANGES
CHANGED
@@ -1,4 +1,7 @@
|
|
1
|
-
2007-
|
1
|
+
2007-11-27 * 0.3.1 * Comron Sattari <comron@gmail.com> reported a bug
|
2
|
+
concerning false values in a lazy list. This problem
|
3
|
+
should be corrected now.
|
4
|
+
2007-05-05 * 0.3.0 * Major work on the implementation:
|
2
5
|
- Supports list comprehensions for infinite list like
|
3
6
|
Haskell does by offering a simple DSL.
|
4
7
|
- Added cartesian products to LazyList.
|
data/Rakefile
CHANGED
@@ -1,6 +1,10 @@
|
|
1
|
-
|
2
|
-
require 'rbconfig'
|
1
|
+
# vim: set et sw=2 ts=2:
|
3
2
|
|
3
|
+
begin
|
4
|
+
require 'rake/gempackagetask'
|
5
|
+
rescue LoadError
|
6
|
+
end
|
7
|
+
require 'rbconfig'
|
4
8
|
include Config
|
5
9
|
|
6
10
|
PKG_NAME = 'lazylist'
|
@@ -33,35 +37,37 @@ task :clean do
|
|
33
37
|
rm_rf 'tests/coverage'
|
34
38
|
end
|
35
39
|
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
40
|
+
if defined? Gem
|
41
|
+
spec = Gem::Specification.new do |s|
|
42
|
+
s.name = 'lazylist'
|
43
|
+
s.version = PKG_VERSION
|
44
|
+
s.summary = "Implementation of lazy lists for Ruby"
|
45
|
+
s.description = ""
|
41
46
|
|
42
|
-
|
47
|
+
s.add_dependency('dslkit', '>= 0.2.2')
|
43
48
|
|
44
|
-
|
49
|
+
s.files = PKG_FILES
|
45
50
|
|
46
|
-
|
51
|
+
s.require_path = 'lib'
|
47
52
|
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
53
|
+
s.has_rdoc = true
|
54
|
+
s.extra_rdoc_files = Dir['lib/**/*.rb']
|
55
|
+
s.rdoc_options <<
|
56
|
+
'--title' << 'LazyList -- Infinite lists in Ruby' <<
|
57
|
+
'--main' << 'LazyList' <<
|
58
|
+
'--line-numbers'
|
59
|
+
s.test_files << 'tests/test.rb'
|
55
60
|
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
end
|
61
|
+
s.author = "Florian Frank"
|
62
|
+
s.email = "flori@ping.de"
|
63
|
+
s.homepage = "http://lazylist.rubyforge.org"
|
64
|
+
s.rubyforge_project = "lazylist"
|
65
|
+
end
|
61
66
|
|
62
|
-
Rake::GemPackageTask.new(spec) do |pkg|
|
63
|
-
|
64
|
-
|
67
|
+
Rake::GemPackageTask.new(spec) do |pkg|
|
68
|
+
pkg.need_tar = true
|
69
|
+
pkg.package_files += PKG_FILES
|
70
|
+
end
|
65
71
|
end
|
66
72
|
|
67
73
|
desc m = "Writing version information for #{PKG_VERSION}"
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.3.
|
1
|
+
0.3.1
|
data/lib/lazylist.rb
CHANGED
@@ -219,7 +219,11 @@ class LazyList
|
|
219
219
|
class MemoPromise < Promise
|
220
220
|
# Return the value of this Promise and memoize it for later access.
|
221
221
|
def __value__
|
222
|
-
@value
|
222
|
+
if defined?(@value)
|
223
|
+
@value
|
224
|
+
else
|
225
|
+
@value = super
|
226
|
+
end
|
223
227
|
end
|
224
228
|
end
|
225
229
|
|
@@ -253,7 +257,7 @@ class LazyList
|
|
253
257
|
else
|
254
258
|
LazyList.new(first.head) do
|
255
259
|
t = first.tail
|
256
|
-
lists = lists.push
|
260
|
+
lists = lists.push t unless t.empty?
|
257
261
|
mix(*lists)
|
258
262
|
end
|
259
263
|
end
|
@@ -541,7 +545,6 @@ class LazyList
|
|
541
545
|
until s.empty?
|
542
546
|
yield s.head
|
543
547
|
s = s.tail
|
544
|
-
n -= 1 unless n.nil?
|
545
548
|
end
|
546
549
|
end
|
547
550
|
s
|
@@ -562,7 +565,6 @@ class LazyList
|
|
562
565
|
until s.empty?
|
563
566
|
yield s.head
|
564
567
|
s = s.tail
|
565
|
-
n -= 1 unless n.nil?
|
566
568
|
@head, @tail = s.head, s.tail
|
567
569
|
end
|
568
570
|
end
|
data/lib/lazylist/version.rb
CHANGED
metadata
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
|
-
rubygems_version: 0.
|
2
|
+
rubygems_version: 0.9.4
|
3
3
|
specification_version: 1
|
4
4
|
name: lazylist
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 0.3.
|
7
|
-
date: 2007-
|
6
|
+
version: 0.3.1
|
7
|
+
date: 2007-11-27 00:00:00 +01:00
|
8
8
|
summary: Implementation of lazy lists for Ruby
|
9
9
|
require_paths:
|
10
10
|
- lib
|
@@ -25,31 +25,32 @@ required_ruby_version: !ruby/object:Gem::Version::Requirement
|
|
25
25
|
platform: ruby
|
26
26
|
signing_key:
|
27
27
|
cert_chain:
|
28
|
+
post_install_message:
|
28
29
|
authors:
|
29
30
|
- Florian Frank
|
30
31
|
files:
|
31
|
-
- VERSION
|
32
|
-
- tests
|
33
|
-
- GPL
|
34
|
-
- README.en
|
35
32
|
- install.rb
|
36
|
-
- Rakefile
|
37
|
-
- examples
|
38
33
|
- lib
|
34
|
+
- lib/lazylist
|
35
|
+
- lib/lazylist/list_builder.rb
|
36
|
+
- lib/lazylist/enumerable.rb
|
37
|
+
- lib/lazylist/version.rb
|
38
|
+
- lib/lazylist.rb
|
39
39
|
- make_doc.rb
|
40
40
|
- CHANGES
|
41
|
+
- README.en
|
42
|
+
- VERSION
|
43
|
+
- tests
|
41
44
|
- tests/runner.rb
|
42
45
|
- tests/test.rb
|
43
46
|
- tests/test_enumerable.rb
|
47
|
+
- Rakefile
|
48
|
+
- GPL
|
49
|
+
- examples
|
44
50
|
- examples/pi.rb
|
51
|
+
- examples/sieve.rb
|
45
52
|
- examples/hamming.rb
|
46
53
|
- examples/examples.rb
|
47
|
-
- examples/sieve.rb
|
48
|
-
- lib/lazylist.rb
|
49
|
-
- lib/lazylist
|
50
|
-
- lib/lazylist/list_builder.rb
|
51
|
-
- lib/lazylist/enumerable.rb
|
52
|
-
- lib/lazylist/version.rb
|
53
54
|
test_files:
|
54
55
|
- tests/test.rb
|
55
56
|
rdoc_options:
|
@@ -59,10 +60,10 @@ rdoc_options:
|
|
59
60
|
- LazyList
|
60
61
|
- --line-numbers
|
61
62
|
extra_rdoc_files:
|
62
|
-
- lib/lazylist.rb
|
63
63
|
- lib/lazylist/list_builder.rb
|
64
64
|
- lib/lazylist/enumerable.rb
|
65
65
|
- lib/lazylist/version.rb
|
66
|
+
- lib/lazylist.rb
|
66
67
|
executables: []
|
67
68
|
|
68
69
|
extensions: []
|