Last-Call-Optimisation
First lets consider the old hoary chestnut, the factorial.
; Scheme
(define (fact n)
(if (zero? n)
1
(* n (fact (- n 1)))))
# Python
define fact(n):
if not n:
return 1
else:
return n * fact(n - 1)
Note: I am going to have to use scheme later, so for the next few examples I'll be using scheme and python together to give non-schemers a basis for comparason.
Now this is a very straight forward recursive definition of the function. The only trouble is that we are going to grow the stack proportional to n. So we end up with the following (abbreviated) call-tree:
fact 4
fact 3
fact 2
fact 1
fact 0
* 1 1
* 2 1
* 3 2
* 6 4
-> 24
Note that for (fact 4) we end up with five stack frames on our call stack, and unfortunately there is no alternative as the code is written. We can however eliminate this efficiency by converting to an iterative version:
; Scheme
(define (fact-iter n accum)
(if (zero? n)
accum
(fact-iter (- n 1) (* n accum))))
(define (fact n)
(fact-iter n 1)
# Python
def factiter(n, accum):
if n == 0:
return accum
else:
return factiter(n - 1, n * accum)
def fact(n):
return factiter(n, 1)
Now the call stack looks like:
fact 4
fact-iter 4 1
fact-iter 3 4
fact-iter 2 12
fact-iter 1 24
fact-iter 0 24
-> 24
Which dosn't look very useful until you consider that as each call to fact-iter returns, it's caller simply passes the resulting value up the call-chain. In otherwords, the caller's stack-frame is never used after it calls the next fact-iter in the chain; and what is never used dosn't need to be kept. This is called last-call-optimisation, and is a very common optimisation used by many languages to make the above code as efficient as the while loop solution traditionally taught in imperative languages:
/* C */
int fact(n) {
int accum = 1;
while (n) {
accum = accum * n;
n--;
}
return accum;
}
In fact the traditional code generated by a LCO supporting compiler looks alot like this:
/* MIML ;) */
int fact(n) {
int accum = 1;
factiter:
if (n == 0)
return accum;
else
accum = n * accum;
n = n - 1;
goto factiter;
}
Which is pretty much exactly what the while loop would compile to. This still leaves the question: "Why?", what's wrong with the while loop?
The answer to this is that factorial is defined recursively:
/ 0 -> 1
n! = |
\ n -> n * (n - 1)
and it is trivial to compare this definition to the first recursive example and check it is correct. The tail-recursive expression in the second example isn't as easy to confirm, but it is at least in a form amenable to a trivial inductive proof by inspection. Because the while loop dosn't abstract away the inductive step but incorperates it into the loop pre/post-conditions and invariants, it is less amenible to proof. In fact the three examples can be seen as reducing levels of abstraction: moving away from the problem domain (a maths definition) towards the raw metal; and almost a tautology, the closer we can stay to the problem domain the better.
Now this is great for linear algorithms, or algorithms that process linearly recursive datastructures (fancy name for linked-lists ;). However consider a pre-order traversal of a binary tree? This can be made tail-recusive, but it is a fair bit more involved, and the subject of my next post.



104 Comments:
To be pedantic, I wouldn't use the bare assertion that "factorial is defined recursively", as it often isn't.
More often it is defined iteratively as:
n! = \Pi_{i=1}^n i
Sorry, my LaTeX is rusty...
By
Quoll, at 10:52 PM, August 07, 2004
I think your LCO is more commonly called tail-call optimization. This is different from the optimization you've described for factorial, which is an accumulator transformation. Together, they turn a recursive fact function into an efficient loop. Scheme does tail-calls, but not accumulator transformations. Python does neither, but most people don't write recursive code so that's OK.
By
Anonymous, at 10:27 AM, September 29, 2004
Hi, I just wanted to invite you to have a look at my new site TheSEO-rank.com. Here you find valuable information concerning optimization
.
By
Anonymous, at 2:53 PM, October 11, 2005
This site is great, nice job!!
I have a SEO info site. It is about small business seo articles and stuff.
Drop by when you can, nice site here!
By
Anonymous, at 8:32 AM, October 13, 2005
Hi, I just wanted to invite you to have a look at my new site TheSEO-rank.com. Here you find valuable information concerning consulting
.
By
Anonymous, at 1:38 PM, October 15, 2005
You have a great blog here! I will be sure to book mark you. I was just blog surfing and found
you! If you are interested, go see my
href="http://www.domaincity.ws/BlogSubmitterPro.htm">seo related site. Feel free to drop by and tell me what you think.
By
Dream Builder, at 5:45 PM, October 18, 2005
Hi :)
You have a great blog! I'll make sure to visit regularly.
If you want your blog to get higher in search engines, why not try Link Metro, you can over 100 new links to your blog every single day, for FREE!
By
Azhar Hussein, at 3:14 PM, October 23, 2005
I am very impressed by your blog, It is full of great information. I found it by searching for " seo specialist " on Google.
I have started a blog directory and would like to personally invite you to post your blog. Its free and will help you in your search rankings.
if you have any questions email me at admin@big3post.com and I will get back to you within a 24 hrs.
By
Anonymous, at 2:04 AM, October 26, 2005
I was reading your blog, and I remember about this seo solution article that I've found in this seo solution website.
By
Anonymous, at 6:18 AM, October 26, 2005
As many links as you want!
By
Anonymous, at 6:48 PM, October 28, 2005
Every online business need free traffic. This free traffic handbook is very update and helpful.
By
Johnny, at 4:49 PM, October 29, 2005
Yo, This blog is pretty neat. You should check out mine sometime. It pretty much covers home homework make money u14a50 unitedpartnerprogram.com work related stuff.
By
Anonymous, at 5:33 PM, October 30, 2005
I like your blog, please list it on my favourite Blog Directory.
It has lots of links to blog survey blogs
William MacDonald
By
WDM Info Services, at 10:45 PM, October 30, 2005
High Google and Yahoo link popularity can be yours,
By
Anonymous, at 7:44 PM, October 31, 2005
nice blog enjoyed it :)
Keep up the excellent work! and i bookmarked u!
so cant wait for ur next post! :)
Thanks!!
By
Anonymous, at 11:02 AM, November 01, 2005
I like your blog, please list it on my favourite Blog Directory.
It has lots of links to new orleans blog blogs
William MacDonald
By
WDM Info Services, at 11:39 AM, November 01, 2005
nice blog enjoyed it :)
Keep up the excellent work! and i bookmarked u!
!
By
Anonymous, at 4:31 PM, November 01, 2005
Hey, you have a great blog here! I'm definitely going to bookmark you!
I have a internet marketing software site/blog. It pretty much covers internet marketing software related stuff.
Come and check it out if you get time :-)
By
Infactahost.com, at 9:42 PM, November 01, 2005
Hey, you have a great blog here! I'm definitely going to bookmark you!
I have a exchange interactive traffic site/blog. It pretty much covers exchange interactive traffic related stuff.
Come and check it out if you get time :-)
By
Infactahost.com, at 7:49 AM, November 03, 2005
Hey, you have a great blog here! I'm definitely going to bookmark you!
I have a banner casino exchange mall shopping surfparrot.com site/blog. It pretty much covers banner casino exchange mall shopping surfparrot.com related stuff.
Come and check it out if you get time :-)
By
Infactahost.com, at 6:34 PM, November 05, 2005
Bravo for a well versed post. If you would like to market your blog visit my website for free training on topics such as seattle web site design and seattle web site design
By
Pat Martin, at 11:35 PM, November 05, 2005
display your RSS feeds on their web sites for content.
By
Anonymous, at 5:41 AM, November 07, 2005
Every online business need free traffic. This free traffic handbook is very update and helpful.
By
Johnny, at 6:55 AM, November 07, 2005
Hey, you have a great blog here! I'm definitely going to bookmark you!
I have a yahoo groups mailer site/blog. It pretty much covers yahoo groups mailer related stuff. Plus you can advertise to billions using our yahoo groups mailer tools.
Come and check it out if you get time :-)
By
Anonymous, at 8:16 PM, November 07, 2005
I just came across your blog about automated blog and ping and wanted to drop you a note telling you how impressed I was with the information you have posted here. I also have a web site about automated blog and ping so I know I'm talking about when I say your site is top-notch! Keep up the great work, you are providing a great resource on the Internet here!
By
HTML-Magazin, at 7:56 AM, November 08, 2005
Hey, you have a great blog here! I'm definitely going to bookmark you!
I have a Ultimate Marketing site/blog. It pretty much covers marketing related stuff.
Come and check it out if you get time :-)
By
Anonymous, at 9:44 PM, November 10, 2005
Great post! Keep up the good work!
Best Wishes
seo website design
By
Mark, at 3:26 PM, November 11, 2005
sent Straight to your Inbox for your Convenience, you wont have to Search the Internet day after day...
By
Anonymous, at 6:24 PM, November 11, 2005
Hey, you have a great blog here! I'm definitely going to bookmark you!
I have a free rotator url site/blog. It pretty much covers free rotator url related stuff.
Come and check it out if you get time :-)
By
Infactahost.com, at 1:02 PM, November 13, 2005
I discuss this topic daily myself. I also have a website that talks about market research online survey related things. Go check it out if you get a chance.
By
Anonymous, at 8:26 PM, November 15, 2005
Would you like thousands of visitors to your bog daily? If so check out , internet advertising Its really on the level.
By
Anonymous, at 1:40 PM, November 16, 2005
I would like to say this is a great blog about home make money online working. I think alot of you might be interested in my site too. Click the Link below to visit my site.
Click Here
Thanks!
By
Goodman441, at 2:32 PM, November 16, 2005
Great Blog you have here!
I'm definitely going to bookmark this one.
Do you know DOT WS (website) will be larger than DOT COM (commercial) ?
Remember 800 phone numbers? Now you have 888 877 etc.
Are you a visionary? I hope you are and decide to get in on something
that will change your life! GDI is where its at.
7 day free trial and no selling
Want a short .WS domain name? Now you can get one and make affiliate $$$$$$$
You get your own website
Check this one out :-)domain web hostingdomain web hosting
By
Anonymous, at 8:55 PM, November 17, 2005
Hello! What at great blog you have going. I'm new to blogging and I am trying to build up my visitors. I blog about marketing branding. I am also offering the eBook "Adsense Empire" to my visitors.... Stop by & get your copy today
By
Anonymous, at 5:03 AM, November 18, 2005
Hi there, Nice little blog you've got going on there.
Keep it up!
This might interest you if you're after some more web site traffic The contents of this site will explode your hits! Auto surf and recieve 50,000 credits free - Join free! free hosting traffic unlimited webfree hosting traffic unlimited web
By
Anonymous, at 3:46 AM, November 20, 2005
Hello,
Just thought I would check out your blog.
I am new to blogging. I hope you don't mind me posting to your blog. If you are interested in checking out my blog and making a post that would be great.
I have a hosting professional web site/blog. It pretty much covers ##WEB HOSTING## related stuff.
Thanks,
Ed
By
Anonymous, at 4:16 AM, November 23, 2005
software is for you http://69.44.15.87/deadeasy-ebook-software.htm
By
ebook software, at 7:40 AM, December 19, 2005
##frisky-pixie.com/deadeasy-ebook-software.htm##
By
software, at 9:20 PM, December 19, 2005
Search engine optimization, submission and highly-targeted traffic can be found exclusively at www.TheOnlinePromoters.com
By
Tops, at 6:43 PM, December 28, 2005
What I like about the cyberworld I live in 18 hours a day is the random nature of the landscape. Here I am on your site, posting. Yet you might live a 1000 miles away. Then, I could search for website design, and be 1000 miles away from that blog (you know, meaning where the person who blogs lives). Sorry to rant. Good blogging.
By
Ovas, at 3:20 PM, January 17, 2006
I was searching blogs,and I found your site.Please,
accept my congratulations for your excellent work!
If you have a moment, please visit my site:
web space hosting
It pretty much covers web space hosting related issues.
Have a good day!
By
Joe Berenguer, at 7:28 PM, January 19, 2006
Congratulations Friend for your excellent blog on website hosting e-commerce websites!Keep up the good work!
If you have a moment, please visit my site:
website hosting e-commerce websites
I send you my warm regards and wish you continued success.
Have a nice day! :-)
By
Joe Berenguer, at 1:40 AM, January 20, 2006
I was not sure to expect when I came across your blog. Well I think the information on this blog is terrific. I have my own blog site and I wish I got half as many great comments as your blog does. Anyways, I am a teacher at a middle school and I am always doing research on various topics. This weeks topic relates 90% to your blog. I already bookmarked you for future use. If you want to exchange information I will leave my url at the bottom of this. If you don�t mind I will add my 2 cents to this blog topic once in awhile. Although most of the time I just like to read and see what other people�s thoughts are! (hey I am a teacher!)
Thanks again!best web hosting company.
By
Derek, at 2:32 PM, January 20, 2006
Love your post my friend. I just happened to come across your site.
We have a viral online marketing tool that is a really cool viral online marketing tool.
By
Kim, at 6:42 PM, January 21, 2006
m
By
ebook software, at 11:56 AM, January 23, 2006
m
By
software, at 6:09 PM, January 24, 2006
You have generated a lot of interest in your blog. It contains a great deal of discussion. Feel free to surf the following sites bulk domain name registration, domain name, domain reseller, au domain and free website!
By
Paul88888, at 10:22 AM, February 13, 2006
You have generated a lot of interest in your blog. It contains a great deal of discussion. Feel free to surf the following sites domain hosting, domain name, domain reseller, au domain and free website!
By
blog000111, at 9:30 PM, February 14, 2006
Search engine optimization, or SEO, is big business, if you rely on search engines to bring visitors to your business website, you need to rely on more than luck.
Link to this site: seo online training
http://seo-faq.info/
By
joel, at 3:57 PM, February 16, 2006
Great, Keep posting more blogs. Keep it up.
Thanks
custom website desginers
By
custom website desginers, at 10:57 AM, February 21, 2006
I found this blog very informative.
Thanks
custom website design
By
custom website design, at 1:43 PM, February 22, 2006
Nice , this was cool.
Thanks
custom web design
By
custom web design, at 11:53 PM, February 22, 2006
I found this blog very informative.
Thanks
By
Anonymous, at 3:41 AM, February 24, 2006
Great , this was cool. Like to see more posts. I have bookmarked this blog
Thanks
By
Anonymous, at 6:33 PM, February 24, 2006
Hey fellow blogger,
How are you today? I must say I like your site, you seem to put a lot of effort into it.
If you get the time come on over and have a look at my How to create an e book site I am sure you will find it interesting
Regards
How to create an e book
By
How to create an e book, at 6:42 PM, February 25, 2006
Want top search engine ranking? try my software Free Blog Submission Software check it out.
By
Blog Submission Software, at 4:15 AM, February 28, 2006
Awesome! Searching for the keyword
seek traffic came across ur blog.
http://www.1st-choice-4-website-traffic.com
seek traffic
By
Anonymous, at 5:27 PM, March 02, 2006
Hey, just a quick hello from someone in Central America.
missouri web site hosting
Charles
By
australian web hosting, at 11:27 AM, March 05, 2006
A lot of interest for your blog and a great deal of discussion. Great sites to surf domain name resale, domain name, domain reseller, au domain, free website, online business, home based business, electric scooter, xbox360!
By
Paul88888, at 1:04 AM, March 11, 2006
A lot of interest for your blog and a great deal of discussion. Great sites to surf web hosting, domain name, domain reseller, au domain, free website, online business, home based business, electric scooter, xbox360!
By
bloggggggs, at 12:49 AM, March 12, 2006
Interesting blog...
Searching for traffic hits
http://www.1st-choice-4-website-traffic.com
traffic hits
By
Anonymous, at 3:43 PM, March 13, 2006
Great blogsite you have here! Interesting information. Please come and visit mine sometime online web design
By
Palace, at 1:23 AM, March 17, 2006
Hi:)
Congrats! You creating a nice place to learn and enjoy some new thoughts over the internet. Thanks.
Regards,
make money fast
By
Online, at 4:03 PM, April 01, 2006
Hey everyone! I want to let you know about this NEW Traffic Generation System about automated web traffic generator that has the SEO Elite and the automated web traffic generator marketing gurus highly upset! It's called *The Best Traffic of Your Life* and...if you're interested in automated web traffic generator then everyone on this blog should spread the word and start using this automated web traffic generator . All us small business owners, webmasters, and little people online trying hard to make our bills from week to week frustrated about automated web traffic generator will have their troubles over for good. Never Worry about Getting Traffic ever again...period! It's possible to get #1 search engine listings...without getting banned and dependable targeted traffic daily to your blog or website! This extraordinary system works! I Kid You Not! If we all join together to get this powerful system here automated web traffic generator , then we can tell the SEO Elite to go jump in the lake! Are You With Me? Let's Roll! Oh by the way, nice blog dude. For free web traffic tips, take a look at my website http://www.free-traffic-guru.com to get unlimited website traffic for free. Thanks for the interesting read.
By
automated web traffic generator, at 3:03 AM, April 02, 2006
A lot of interest for your blog and a great deal of discussion. Great sites to surf buy domain, cheap domain name, domain reseller, Australian domain, free website, emailer, home based business, electric scooter, xbox360!
By
bloggggggs, at 4:59 PM, April 20, 2006
A lot of interest for your blog and a great deal of discussion. Great sites to surf domain name registration and hosting, cheap domain name, domain reseller, Australian domain, free website, emailer, home based business, electric scooter, xbox360!
By
Paul88888, at 5:22 AM, April 21, 2006
Congradulations on a well written, interesting and superb blog! Have you heard about the shocking news?
1000's of real people are earning quiet fortunes from home using the most ingenious automated system ever invented.
Are you curious to find out what this is all about?
Why not? You have nothing to lose.
You can sign up for this system absolutely free of charge and check it all out for yourself.
To start off, we have a video presentation for you to watch. Just turn up the speakers if you can, and click on the link below.
Have fun and open your mind.
It is all right here: mlm It successfully covers mlm related stuff.
Come and check it out now, Scott :-)
By
Scott Arthur Edwards, at 8:49 AM, April 23, 2006
Congradulations on a well written, interesting and superb blog! Have you heard about the shocking news?
1000's of real people are earning quiet fortunes from home using the most ingenious automated system ever invented.
Are you curious to find out what this is all about?
Why not? You have nothing to lose.
You can sign up for this system absolutely free of charge and check it all out for yourself.
To start off, we have a video presentation for you to watch. Just turn up the speakers if you can, and click on the link below.
Have fun and open your mind.
It is all right here: make a living online It successfully covers make a living online related stuff.
Come and check it out now, Scott :-)
By
Scott Arthur Edwards, at 11:40 PM, May 01, 2006
I just came across your blog and wanted to
drop you, Blogger, a note telling you how impressed I was with
the information you have posted here.
If you have a moment, please visit my site:
domain names center
It covers domain names center related contents.
I send you warm regards and wish you continued success.
By
Paul Adams, at 8:51 AM, May 03, 2006
Hi, Fellow!I like your blog!
I just came across your blog and wanted to
drop you a note telling you how impressed I was with
the information you have posted here.
I have a domain names center
site. It pretty much covers domain names center related subjects.
Come and check it out if you get time :-)
Best regards!
By
Paul Adams, at 1:10 PM, May 03, 2006
I was searching blogs,and I found your site.Please,
accept my congratulations for your excellent work!
If you have a moment, please visit my site:
domain names center
It pretty much covers domain names center related issues.
Have a good day!
By
Paul Adams, at 10:10 AM, May 04, 2006
Hi Fellow! I was just searching blogs,and I found your site! I like it!
If you have a moment, please visit my site:
domain names center
It covers domain names center related contents.
All the best!
By
James Baker, at 4:53 PM, May 07, 2006
Hi, Fellow!I like your blog!
I just came across your blog and wanted to
drop you a note telling you how impressed I was with
the information you have posted here.
I have a domain names center
site. It pretty much covers domain names center related subjects.
Come and check it out if you get time :-)
Best regards!
By
James Baker, at 12:17 AM, May 08, 2006
Hi Blogger!I like your blog! Keep up the
good work, you are providing a great resource on the Internet here!
If you have a moment, please take a look at my site:
domain names center
It pretty much covers domain names center related issues.
Best regards!
By
Joe Berenguer, at 9:17 PM, May 08, 2006
I was searching blogs,and I found your site.Please,
accept my congratulations for your excellent work!
If you have a moment, please visit my site:
domain names center
It pretty much covers domain names center related issues.
Have a good day!
By
Joe Berenguer, at 1:50 PM, May 09, 2006
Hi Blogger!I like your blog! Keep up the
good work, you are providing a great resource on the Internet here!
If you have a moment, please take a look at my site:
domain names
It pretty much covers domain names related issues.
Best regards!
By
Joe Berenguer, at 5:54 PM, May 10, 2006
Hi Friend! You have a great blog over here!
Please accept my compliments and wishes for your happiness and success!
If you have a moment, please take a look at my site:
domain names
It covers domain names related subjects.
Have a great day!
By
Joe Berenguer, at 2:54 PM, May 11, 2006
Hi Friend! You have a great blog over here!
Please accept my compliments and wishes for your happiness and success!
If you have a moment, please take a look at my site:
domain names
It covers domain names related subjects.
Have a great day!
By
Paul Adams, at 6:50 PM, May 11, 2006
Hi,
I came past your site while I was searching through Blogger, it is not really the information I was after about Residual Income but I did stay to read your blog and found it interesting and well done, I do like what you have done with your site. Keep up the good work and hopefully I will visit again sometime and also find the information on Residual Income that I was looking for in my travels.
Regards,
By
Nutronix, at 1:41 AM, May 12, 2006
I was just searching blogs,and I found your site, Friend! I like it!
Please accept my compliments and wishes for your happiness and success.
If you have a moment, please take a look at my site:
domain names center
It pretty much covers domain names center related issues.
All the best!
By
James Baker, at 9:45 AM, May 15, 2006
I just came across your blog and wanted to
drop you, Blogger, a note telling you how impressed I was with
the information you have posted here.
If you have a moment, please visit my site:
domain names center
It covers domain names center related contents.
I send you warm regards and wish you continued success.
By
James Baker, at 1:37 PM, May 16, 2006
Hey Fellow, you have a great blog here! I have a web
site & blog about domain names center.
Yours is top-notch!
If you have a moment, please visit my site
domain names center
I wish you all the best!
By
Paul Adams, at 11:22 PM, May 19, 2006
Hi Blogger!I like your blog! Keep up the
good work, you are providing a great resource on the Internet here!
If you have a moment, please take a look at my site:
domain names center
It pretty much covers domain names center related issues.
Best regards!
By
Joe Berenguer, at 7:55 AM, May 23, 2006
Hi Blogger!I like your blog! Keep up the
good work, you are providing a great resource on the Internet here!
If you have a moment, please take a look at my site:
domain names center
It pretty much covers domain names center related issues.
Best regards!
By
Paul Adams, at 3:50 PM, May 23, 2006
Hi, Fellow!I like your blog!
I just came across your blog and wanted to
drop you a note telling you how impressed I was with
the information you have posted here.
I have a domain names center
site. It pretty much covers domain names center related subjects.
Come and check it out if you get time :-)
Best regards!
By
Joe Berenguer, at 9:46 AM, May 24, 2006
Hi, Fellow!I like your blog!
I just came across your blog and wanted to
drop you a note telling you how impressed I was with
the information you have posted here.
I have a domain names
site. It pretty much covers domain names related subjects.
Come and check it out if you get time :-)
Best regards!
By
James Baker, at 11:18 AM, May 25, 2006
Hey Fellow, you have a great blog here! I have a web
site & blog about domain names center.
Yours is top-notch!
If you have a moment, please visit my site
domain names center
I wish you all the best!
By
Joe Berenguer, at 8:40 AM, May 26, 2006
Hey Fellow, you have a great blog here! I have a web
site & blog about domain names center.
Yours is top-notch!
If you have a moment, please visit my site
domain names center
I wish you all the best!
By
Paul Adams, at 10:41 AM, May 26, 2006
Hi, Fellow!I like your blog!
I just came across your blog and wanted to
drop you a note telling you how impressed I was with
the information you have posted here.
I have a domain names center
site. It pretty much covers domain names center related subjects.
Come and check it out if you get time :-)
Best regards!
By
Paul Adams, at 5:51 PM, May 26, 2006
I was searching blogs,and I found your site.Please,
accept my congratulations for your excellent work!
If you have a moment, please visit my site:
domain names center
It pretty much covers domain names center related issues.
Have a good day!
By
Joe Berenguer, at 3:56 PM, May 28, 2006
Hi Blogger!I like your blog! Keep up the
good work, you are providing a great resource on the Internet here!
If you have a moment, please take a look at my site:
domain names center
It pretty much covers domain names center related issues.
Best regards!
By
James Baker, at 3:32 AM, May 30, 2006
You gave me an interesting idea. Thx.
Steve @
work opportunities
By
work opportunities, at 10:11 PM, June 05, 2006
I just came across your blog and wanted to
drop you, Blogger, a note telling you how impressed I was with
the information you have posted here.
If you have a moment, please visit my site:
make money
It covers make money related contents.
I send you warm regards and wish you continued success.
By
Paul Adams, at 3:46 PM, June 13, 2006
Hi Blogger! I like your blog! Keep up the
good work, you are providing a great resource on the Internet here!
If you have a moment, please take a look at my site:
domain names
It pretty much covers domain names related issues.
Best regards!
By
James Baker, at 6:56 PM, June 20, 2006
I was just searching blogs,and I found your site, Friend! I like it!
Please accept my compliments and wishes for your happiness and success.
If you have a moment, please take a look at my site:
make money
It pretty much covers make money related issues.
All the best!
By
James Baker, at 12:59 AM, June 21, 2006
I just came across your blog and wanted to
drop you a note telling you, Friend, how impressed I was with it.
I give you my best wishes for your future endeavors.
If you have a moment, please visit my site:
make money
It covers make money related contents.
All the best!
By
Paul Adams, at 8:17 AM, June 22, 2006
A fantastic blog yours. Keep it up.
If you have a moment, please visit my online pharmacy home business site.
I send you warm regards and wish you continued success.
By
online pharmacy home business, at 1:28 AM, July 03, 2006
Join NOW for FREE...
The Quick and FREE Way to Get a SWARM of Visitors to Your Site!
To find out more visit: home-based business site. It successfully exposes FREE information covering Traffic and home-based business related stuff.
By
Scott Arthur Edwards, at 9:39 PM, July 07, 2006
Your blog is very interesting. I am interested in sites and blogs related to site traffic web websurfdollars.biz.
Regards, Website Traffic Info
By
Kate, at 8:32 PM, July 08, 2006
Your blog I found to be very interesting!
I just came across your blog and wanted to
drop you a note telling you how impressed I was with
the information you have posted here.
I have a australia engine job search
site.
Come and check it out if you get time :-)
Best regards!
By
australia engine job search, at 12:15 AM, July 13, 2006
This is an excellent blog. Keep it going.You are providing
a great resource on the Internet here!
If you have a moment, please take a look at my make money with no investment site.
Have a great week!
By
make money with no investment, at 2:40 AM, July 18, 2006
Hi Fellow! I was just searching blogs,and I found yours! I like it!
If you have a moment, please visit my make money using web site.
Good luck!
By
make money using web, at 8:06 PM, July 22, 2006
$$$ Jobs Online | Work From Home | Money Online | Work At Home $$$
A financial adviser is a person who advises people of all walks of life on financial affairs. He is a very valuable servicer in the area of saving money and making investments.
Merchant Account
loan
By
mak, at 2:57 PM, April 27, 2008
As a top-rated company in the world of ecommerce, Infyecommercesolution has carved out a niche for itself and with the ecommerce solution provided by the company receiving accolades from clients all over the world, it has, in the true sense of the word, grown up to be a top-notch outsourcing software development company. For details on all the services provided by the company, visit http://www.infyecommercesolution.com.
By
webmaster, at 3:23 PM, November 12, 2008
Post a Comment
<< Home