Another little test
bearophile
bearophileHUGS at lycos.com
Wed Dec 16 17:09:14 PST 2009
To remove possible bugs from Phobos2 and improve its flexibility and make it as handy as possible, it's necessary to try to use it to do a bit "complex" things too. This is a tiny Python program that may be useful for that (but see references at the bottom):
from operator import add
from itertools import tee, chain, islice, imap
def fibonacci():
def deferred_output():
for i in output:
yield i
result, c1, c2 = tee(deferred_output(), 3)
paired = imap(add, c1, islice(c2, 1, None))
output = chain([0, 1], paired)
return result
print list(islice(fibonacci(), 50))
Is it possible to implement that code with Phobos2 in a handy enough way?
Another similar but a little more complex function is the hamming_numbers() function here:
http://code.activestate.com/recipes/576961/
(There's no need to use multiprecision integers in a first D2 implementation).
It's an implementation of ideas common in Haskell:
http://en.wikipedia.org/wiki/Corecursion
Bye,
bearophile
More information about the Digitalmars-d
mailing list