Friday, February 20, 2015

Turing tarpits in Rust's macro system

Bitwise Cyclic Tag is an extremely simple automaton slash programming language. BCT uses a program string and a data string, each made of bits. The program string is interpreted as if it were infinite, by looping back around to the first bit.

The program consists of commands executed in order. There is a single one-bit command:

0: Delete the left-most data bit.

and a single two-bit command:

1 x: If the left-most data bit is 1, copy bit x to the right of the data string.

We halt if ever the data string is empty.

Remarkably, this is enough to do universal computation. Implementing it in Rust's macro system gives a proof (probably not the first one) that Rust's macro system is Turing-complete, aside from the recursion limit imposed by the compiler.

#![feature(trace_macros)]

macro_rules! bct {
    // cmd 0:  d ... => ...
    (0, $($ps:tt),* ; $_d:tt)
        => (bct!($($ps),*, 0 ; ));
    (0, $($ps:tt),* ; $_d:tt, $($ds:tt),*)
        => (bct!($($ps),*, 0 ; $($ds),*));

    // cmd 1p:  1 ... => 1 ... p
    (1, $p:tt, $($ps:tt),* ; 1)
        => (bct!($($ps),*, 1, $p ; 1, $p));
    (1, $p:tt, $($ps:tt),* ; 1, $($ds:tt),*)
        => (bct!($($ps),*, 1, $p ; 1, $($ds),*, $p));

    // cmd 1p:  0 ... => 0 ...
    (1, $p:tt, $($ps:tt),* ; $($ds:tt),*)
        => (bct!($($ps),*, 1, $p ; $($ds),*));

    // halt on empty data string
    ( $($ps:tt),* ; )
        => (());
}

fn main() {
    trace_macros!(true);
    bct!(0, 0, 1, 1, 1 ; 1, 0, 1);
}

This produces the following compiler output:

bct! { 0 , 0 , 1 , 1 , 1 ; 1 , 0 , 1 }
bct! { 0 , 1 , 1 , 1 , 0 ; 0 , 1 }
bct! { 1 , 1 , 1 , 0 , 0 ; 1 }
bct! { 1 , 0 , 0 , 1 , 1 ; 1 , 1 }
bct! { 0 , 1 , 1 , 1 , 0 ; 1 , 1 , 0 }
bct! { 1 , 1 , 1 , 0 , 0 ; 1 , 0 }
bct! { 1 , 0 , 0 , 1 , 1 ; 1 , 0 , 1 }
bct! { 0 , 1 , 1 , 1 , 0 ; 1 , 0 , 1 , 0 }
bct! { 1 , 1 , 1 , 0 , 0 ; 0 , 1 , 0 }
bct! { 1 , 0 , 0 , 1 , 1 ; 0 , 1 , 0 }
bct! { 0 , 1 , 1 , 1 , 0 ; 0 , 1 , 0 }
bct! { 1 , 1 , 1 , 0 , 0 ; 1 , 0 }
bct! { 1 , 0 , 0 , 1 , 1 ; 1 , 0 , 1 }
bct! { 0 , 1 , 1 , 1 , 0 ; 1 , 0 , 1 , 0 }
bct! { 1 , 1 , 1 , 0 , 0 ; 0 , 1 , 0 }
bct! { 1 , 0 , 0 , 1 , 1 ; 0 , 1 , 0 }
bct! { 0 , 1 , 1 , 1 , 0 ; 0 , 1 , 0 }
...
bct.rs:19:13: 19:45 error: recursion limit reached while expanding the macro `bct`
bct.rs:19         => (bct!($($ps),*, 1, $p ; $($ds),*));
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

You can try it online, as well.

Notes about the macro

I would much rather drop the commas and write

// cmd 0:  d ... => ...
(0 $($ps:tt)* ; $_d:tt $($ds:tt)*)
    => (bct!($($ps)* 0 ; $($ds)*));

// cmd 1p:  1 ... => 1 ... p
(1 $p:tt $($ps:tt)* ; 1 $($ds:tt)*)
    => (bct!($($ps)* 1 $p ; 1 $($ds)* $p));

// cmd 1p:  0 ... => 0 ...
(1 $p:tt $($ps:tt)* ; $($ds:tt)*)
    => (bct!($($ps)* 1 $p ; $($ds)*));

but this runs into the macro future-proofing rules.

If we're required to have commas, then it's at least nice to handle them uniformly, e.g.

// cmd 0:  d ... => ...
(0 $(, $ps:tt)* ; $_d:tt $(, $ds:tt)*)
    => (bct!($($ps),*, 0 ; $($ds),*));

// cmd 1p:  1 ... => 1 ... p
(1, $p:tt $(, $ps:tt)* ; $($ds:tt),*)
    => (bct!($($ps),*, 1, $p ; 1 $(, $ds)*, $p));

// cmd 1p:  0 ... => 0 ...
(1, $p:tt $(, $ps:tt)* ; $($ds:tt),*)
    => (bct!($($ps),*, 1, $p ; $($ds),*));

But this too is disallowed. An $x:tt variable cannot be followed by a repetition $(...)*, even though it's (I believe) harmless. There is an open RFC about this issue. For now I have to handle the "one" and "more than one" cases separately, which is annoying.

In general, I don't think macro_rules! is a good language for arbitrary computation. This experiment shows the hassle involved in implementing one of the simplest known "arbitrary computations". Rather, macro_rules! is good at expressing patterns of code reuse that don't require elaborate compile-time processing. It does so in a way that's declarative, hygienic, and high-level.

However, there is a big middle ground of non-elaborate, but non-trivial computations. macro_rules! is hardly ideal for that, but procedural macros have problems of their own. Indeed, the bct! macro is an extreme case of a pattern I've found useful in the real world. The idea is that every recursive invocation of a macro gives you another opportunity to pattern-match the arguments. Some of html5ever's macros do this, for example.

161 comments:

  1. Thanks. I always appreciate learning your material – they are always humorous and amazing. I am a china tour lover,You can learn more: China tours | China travels | China Trip

    ReplyDelete
  2. Hello would you mind stating which blog platform you're using?
    I'm looking to start my own blog in the near future but I'm having a tough time choosing between BlogEngine/Wordpress/B2evolution and Drupal.
    The reason I ask is because your design seems different then most blogs
    and I'm looking for something unique.
    P.S Sorry for getting off-topic but I had to ask!

    ReplyDelete
  3. My brother suggested I would possibly like this web site.
    He was entirely right. This post actually made my day.
    You cann't consider simply how a lot time I had spent for this information! Thanks!

    ReplyDelete
  4. GBWhatsapp plus APK 7.0 which is an alteration of WhatsApp application. Many individuals use alteration in various kinds of applications and there are additionally various sorts of WhatsApp mods yet the best among all is GBWhatsApp Plus.

    ReplyDelete
  5. Online astrological consulting services and use it to improve their lives. for more visit astrology services

    ReplyDelete
  6. Clicks Bazaar, an application development company in Chennai, dominated other companies in the mobile application development industry because we know the impact that mobile applications can have to reach and interact with customers. For more app development company in chennai

    ReplyDelete
  7. If you have any questions regarding canon wireless printer setup
    problem or if you are still experiencing some annoying printer problems then just call us +1 800-684-5649

    ReplyDelete
  8. CTR Global is a full-service web design agency in London that has a holistic view of its brand. We believe in the power of positive emotions. We rely on the concept of the brand redesign. We believe that design plays a central role in defining the ideology of the brand. We understand that technology plays a fundamental role in spreading the cause. We integrate each element into our strategy to make an incredibly distinctive proposal. for more web design agency london

    ReplyDelete
  9. Clicks Bazaar is the best SEO company in Delhi NCR with extensive experience in the field and strives to ensure that the websites it develops are ranked and prioritized by search engines. With more than a decade’s experience in providing pioneer internet marketing solutions and satisfying its customers for more seo company in delhi ncr

    ReplyDelete
  10. Wow i can say that this is another great article as expected of this blog.Bookmarked this site..
    pop slots free chips

    ReplyDelete
  11. This comment has been removed by the author.

    ReplyDelete
  12. AE Clicks is one of the top Web design company Dubai. With a team of highly skilled web developers and web designers, we have successfully completed over 300+ projects across various industries.

    ReplyDelete
  13. اشكال بلاط الحوش تراكوتا من الانواع المميزة
    شركة نقل اثاث بابها
    شركة تنظيف بحفر الباطن

    كم يكلف تبليط الحوش ؟ الحمامات من الاماكن التي يجب ان تكون نظيفة دائماً و احيانا نظافة الحمامات تعتمد علي عدم توازن البلاط و بالتالي تقف المياه ولا تسير في اتجاه الصرف و تلك الاخطاء تكن بسبب الالتوائات الموجودة في البلاط و السبب الاساسي هي الصناعة، يجب ايها الاخ القارئ ان تنفق ما في جيبك من اجل اختيار افضل انواع البلاط من حيث جودة البلاطة الاساسية في الصنع و من حيث الالوان.شركة تسليك مجارى بالمدينة المنورة
    شركة تنظيف بحفر الباطن

    المواصفات التي يمتلكها البلاط و السيراميك الذي يتواجد لدينا

    ReplyDelete




  14. Fastsocial provides some of the best social media services which will help you in your social growth and connecting more people and aware about your work or proffesion all kinds of social media services at best prices , some of the services are best place to buy LinkedIn connections.

    ReplyDelete
  15. Thanks for sharing this stuff.. pinoybay replays provide you all the replays which you will be watch online in hd.
    pinoy tambayan shows
    kadingon ginto full hd

    ReplyDelete
  16. I rarely share my story with people, not only because it put me at the lowest point ever but because it made me a person of ridicule among family and friends. I put all I had into Binary Options ($690,000) after hearing great testimonies about this new investment

     strategy. I was made to believe my investment would triple, it started good and I got returns (not up to what I had invested). Gathered more and involved a couple family members, but I didn't know I was setting myself up for the kill, in less than no time all we had put ($820,000) was gone. It almost seem I had set them up, they came at me strong and hard. After searching and looking for how to make those scums pay back, I got introduced to maryshea03@gmail.com to WhatsApp her +15623847738.who helped recover about 80% of my lost funds within a month.

    ReplyDelete
  17. Permainan tembak ikan adalah permainan yang paling rame orang mainkan, apalagi jika pelayanannya yang sangat memuaskan bagi anda tentunya kalian pasti akan merasa sangat puas juga kan ?, bagi kalian yang sangat menyukai permainan tembak ikan bisa datang ke situs kami :)

    https://www.aplikasijoker123.org/

    https://www.aplikasijoker123.org/daftar-akun-slot-joker123/

    https://www.aplikasijoker123.org/login-joker388-slot/

    https://www.aplikasijoker123.org/joker123-deposit-pulsa/

    https://www.aplikasijoker123.org/download-joker388-apk/

    https://www.aplikasijoker123.org/link-alternatif-joker123/

    ReplyDelete
  18. Despite the fact that this product has a few easy to use highlights, there are a few defects that happen now and again. Going over specialized glitches is certainly not another thing. On the off chance that during whenever you do go over any such issue you can don't hesitate to contact the QuickBooks Support Phone Number +1-888-403-0506, where you can achieve proficient direction towards taking care of your concern. More Detail Visit here: https://nethopeted.com/services/quickbooks-support-number/

    Our Video For Guide: https://www.youtube.com/watch?v=W3SR4RqRuYMM

    https://www.youtube.com/watch?v=hQxpX1-6j48 -

    https://www.youtube.com/watch?v=dd9k6CCg1aY -

    https://www.youtube.com/watch?v=9cjAVNdBPCU -

    https://www.youtube.com/watch?v=RBv3Gz2z0p8 -

    https://www.youtube.com/watch?v=dlnNyDYjdtI -

    https://www.youtube.com/watch?v=vEVANvqicSQ

    ReplyDelete
  19. ما همیشه سعی بر این داریم که استاندارد های بین المللی و جدید ترین تکنولوژی ها را در ساخت اپ اندروید و iOS بکار گیریم.

    ReplyDelete
  20. The Canon Pixma G3200 is an across the board inkjet printer having incredible print, sweep and duplicate capacities. It is a good gadget for the two Windows and macOS. However, you may interface your printer straightforwardly to a PC or PC utilizing a USB link, or to your system switch remotely utilizing WiFi. At the point when you are prepared to, Read more how to connect canon pixma g3200 printer to wifi

    ReplyDelete
  21. I like the way of your article posting. It is very informative and have importance in future. Hey! If you guys having the issues regarding the printer call our toll free number or visit our website 123 com setup at any time 24 x 7.

    ReplyDelete
  22. This is the right webpage for anybody who wishes to understand this topic. You realize a whole lot its almost hard to argue with you (not that I actually would want to…HaHa). You definitely put a fresh spin on a topic that's been discussed for ages. Excellent stuff, just great! gogoanime

    ReplyDelete
  23. I blog often and I really appreciate your information. This article has really peaked my interest. I'm going to bookmark your website and keep checking for new information about once a week. I opted in for your RSS feed as well.movieswood

    ReplyDelete
  24. Nice Blog!
    Know More About How to install diagnostic tool? Get live support 24*7 from QuickBooks expert on tool-free Number.
    Click here to know How to install diagnostic tool
    Dial for any tech support: 1-844-908-0801

    ReplyDelete
  25. For those who like to do new things but get money right here. บาคาร่า

    ReplyDelete
  26. I’m glad I have taken the time to see this higetachi2008

    ReplyDelete
  27. WOW! I Love it...
    and i thing thats good for you >>


    LOVE TATTOO Thank you!

    ReplyDelete
  28. Buying a certified pre-owned car is much like purchasing a brand new car.
    we makes sure that the vehicles are inspected by qualified automobile engineers and then sold to the customers with manufacturer’s warranty.
    It’s essential to know the perks of purchasing a pre-owned vehicle and when the vehicle is suppose to be in a better condition than a non-certified used cars then it can save your hard earned money.
    we are selling the best pre-owned cars and we have the best collection of cars in very affordable prices.
    easy loan are available
    for more visit: https://www.malhotramotor.com
    for details call us : +91-9711878910
    +91-9810067167, +919873467167

    ReplyDelete
  29. if you are reading online shayari and you want some interesting shayari to read then you can click the link and get it

    ReplyDelete
  30. Nice blog and great article. This site is very helpful and informative. I am come back to see your website and I am waiting for your next post. Thanks for sharing with us.

    ReplyDelete
  31. I was suggested this web site by my cousin. I am not sure whether this post is written by him as no one else know such detailed about my trouble. You’re amazing! Thanks!

    ReplyDelete
  32. Really impressed! Everything is very open and very clear clarification of issues. It contains truly facts. Your website is very valuable. Thanks for sharing.

    ReplyDelete
  33. The next time I read a blog, Hopefully it won't fail me as much as this one. I mean, Yes, it was my choice to read, but I genuinely thought you would probably have something helpful to say. All I hear is a bunch of whining about something you could fix if you weren't too busy seeking attention.

    ReplyDelete
  34. Spot on with this write-up, I actually believe this website needs far more attention. I’ll probably be returning to see more, thanks for the information!

    ReplyDelete
  35. The Assam Higher Secondary Education Council was Established by the Assam Government on 1 June 1984 to Regulate, Supervise and Develop the System of Higher Secondary Education in The State of Assam. AHSEC 12th Question Paper 2021. It is the Regulating Body for Higher Secondary (10+2 Stage) Education in the State of Assam. AHSEC Question Paper 2021 Assam 12th Model Papers 2021 Assam Higher Secondary Education Council (AHSEC) is Going to Conduct Higher Secondary (HS) Examinations 2021 for Arts, Science, Commerce Paper wise, AHSEC is a Board of Education Under the State Government of Assam it is the Regulating Body for Higher Secondary Education in the State of Assam.

    ReplyDelete

  36. RBSE Rajasthan Board Books Online or E-books are commonly loose to download and you can get them from RBSE Official website.Rbsesolutions.Com provides RBSE Books for in reality unfastened. SIERT Rajasthan 3rd Class e-Books You can get all topics and all training of Rajasthan Board Books like Maths, Physics, Chemistry, Science, Hindi, English, Social Science, Commerce, Rajasthan History Books, Rajasthan University Books, Rajasthan Geography Books, Rajasthan Hindi Granth Academy Books, Rajasthan NCERT Books, Rajasthan Gk Books,

    ReplyDelete
  37. Nice Blog !
    While working on QuickBooks software, you may face QuickBooks Error 1304.We provide immediate assistance to our customers so that you can resume your work as soon as possible.

    ReplyDelete
  38. Turkish Series with English Subtitles Watch latest episodes of Turkish Series and Turkish Dramas.
    Turkishsub is trying to bring subtitles to your favorite series and we need funds to forward to professional translators.

    ReplyDelete
  39. Great articles and great layout. Your blog post deserves all of the positive feedback it’s been getting.

    best invoicing software for small business

    ReplyDelete
  40. Thanks for taking the time to discuss this, I feel strongly about it and love learning more on this topic. If possible, as you gain expertise, would you mind updating your blog with extra information? It is extremely helpful for me.

    dentist in Lahore

    ReplyDelete
  41. Impressive web site, Distinguished feedback that I can tackle. I'm moving forward and may apply to my current job as apet sitter, which is very enjoyable, but I need to additional expand. Regards.

    dentist in Lahore

    ReplyDelete
  42. Nice to be visiting your blog again, it has been months for me. Well this article that I've been waited for so long. I need this article to complete my assignment in the college, and it has same topic with your article. Thanks, great share.

    stock software for small business

    ReplyDelete
  43. I am glad you take pride in what you write.This makes you stand way out from many other writers that push poorly written content.

    online Quran tutors in UK

    ReplyDelete
  44. Nice to be visiting your blog once more, it has been months for me. Well this article that ive been waited for therefore long. i want this article to finish my assignment within the faculty, and it has same topic together with your article. Thanks, nice share.

    pos software

    ReplyDelete
  45. Pretty nice post. I just stumbled upon your weblog and wanted to say that I have really enjoyed browsing your blog posts. After all I’ll be subscribing to your feed and I hope you write again soon! Men Plain Sweatshirts
    Men Wholesale Plain Hoodies

    ReplyDelete
  46. I'm really enjoying the design and layout of your website. It's a very easy on the eyes which makes it much more pleasant for me to come here and visit more often. Did you hire out a designer to create your theme? Excellent work! Trusted Tax Accountants in Tarneit
    BAS Agent Services in Australia

    ReplyDelete
  47. I think this is one of the most significant information for me. And i’m glad reading your article. But should remark on some general things, The web site style is perfect, the articles is really great : D. Good job, cheers Cheap SMM Panel
    Best SMM Panel

    ReplyDelete
  48. It’s really a great and helpful piece of information. I’m satisfied that you simply shared this useful info with us. Please keep us informed like this. Thank you for sharing. best smm services
    ppc management new york

    ReplyDelete
  49. Choose our professional writers and leave all your tensions of researching critical college assignments on our shoulders! GoAssignmentHelp.com.au are equipped with a vast team of professionals and knowledgeable topics tutors and experienced who make sure that you will get the Assignment Help Australia you deserve for. We have service team who are available 24 x 7. You can send your questions through email, chat, or send a Whatsapp message. We will provide you quick response to every question about your Assignment Help Melbourne related. If you need help with your documents, why not give our professional service a try today? Don’t waste your precious time. GoAssignmentHelp.com.au know that your time value. Call us now and get best Finance, Accounting, Business Law, Computer Science, Statistics, Management, Engineering many topic related Assignment Help Brisbane service.

    ReplyDelete
  50. After all the country slogan is it's more fun in the Philippines. You can take our word that the Philippines has the happiest and friendliest people in the world pinoy tv pinoy tv pinoy tv

    ReplyDelete
  51. Hi there, I simply hopped over in your website by way of StumbleUpon. Now not one thing I’d typically learn, but I favored your emotions none the less. Thank you for making something worth reading. 먹튀검증업체

    ReplyDelete
  52. Explore best deals and Discounts on footwear, furniture, books, gifts, cloths, electronics etc. to know the best offers near your location

    Ginbox

    ReplyDelete
  53. Pinoy Channele bringing you best videos from all over Filipino entertainment, sports,
    news, politics, technology, music, covering all Latest Tv Replay Show of Pinoy Teleserye.

    Pinoy Tambayan

    ReplyDelete
  54. Bade Achhe Lagte Hain 2 is a upcoming Hindi Indian soap opera that will
    premiere on 30 August 2021 at 8:00 P.M. in Sony Entertainment Television.


    Udaariyaan

    ReplyDelete
  55. Zindagi Mere Ghar Aana (Star Plus) Cast and Crew, Roles, Release Date, Trailer.
    Zindagi Mere Ghar Aana is a Star-Plus tv show. This tv show was produced by.

    Ghum Hai Kisi Ke Pyar Mein

    ReplyDelete
  56. Mehndi Hai Rachne Wali is Star Plus & Hotstar started newly launched Drama Serial
    Raghav puts necklace on Kirti, Kirti thanks Pallavi, Pallavi says thank Raghav aircon chemical wash

    ReplyDelete
  57. No words for you after visit and reading your blogs. This can be one particular of the most beneficial posts about many topics. We have ever arrive across on this topic. I am also an expert in this niche so I can understand your hard work. Hard work pay to you and I am pray to you my dear friend, You are one man army. Thank you again and Good luck your many new posts. homework help cpm - college essay help - homework help math - help with assignment

    ReplyDelete
  58. IAS is one of Singapore’s most competent ISO Certification Bodies. IAS performs audits and provides ISO 50001 certification in Singapore, as well as other standards in the country. In Singapore, it also offers, among other things, Internal Auditor Training and Awareness/Foundation Training through ISO 50001. All of IAS’ services for the nation. ISO 5001 Certification in Singapore | Energy Management | Audit and Reports | certificate in record time | Simple-Transparent | Contact:enquiry@iascertification.com. Call @ +6531591803

    ReplyDelete
  59. Keep writing more breathtaking blogs on the internet. Do you guys facing a lot of difficulties and unable to draft your assignment then hire essay typerfrom SourceESsay.

    ReplyDelete
  60. Check here is the correct details of informative blogs.

    ReplyDelete
  61. Thanks for Sharing!
    We at Antino Labs believe in redefining and refining our model to suit the industry's requirements. Antino Labs' several years of experience in the market has let us register our global presence. Antino Labs' has the vision to become the world's most trusted partner for digital transformation and we aim to become a brand that defines innovation and the latest technology. We offer clients a one-stop solution for all their interests regarding Application building and Web development.
    Web Development Company in Gurgaon
    UI UX design Studio

    ReplyDelete
  62. As a result, this becomes a massive problem, and the user may encounter many more of these problems; all of these problems are easily resolved with the user's assistance. If the user encounters a problem with the browser or the page, or if the page takes too long to load, all of these issues are related to IT Services. All of these problems can be easily resolved with the assistance of Customer Service. Call IT Expert Contact Number UK: +44 7480 728351 if you are in the United Kingdom.

    ReplyDelete
  63. I am constantly surprised by the amount of information accessible on this subject. What you presented was well researched and well written to get your stand on this over to all your readers. Thanks a lot my dear.สล็อต แตกง่าย

    ReplyDelete
  64. best school management software
    I definitely enjoy every little bit of it. It is a great website and nice share. I want to thank you. Good job! You guys do a great blog, and have some great contents. Keep it up

    ReplyDelete

  65. Best Total War Game is unquestionably one of the most storied gaming franchises in the world. With the recent releases of Total War: Rome Remastered and Warhammer 3, now is the greatest moment to look back and assess the popular strategy games from best to worst. Rome Total War is the most engaging and exciting Total War game to date. It is one of the top Total War Games ranked here due to its flawless political plot and tactics. Players experienced serious glitches, crashes, and even installation failures when the game was first released, but it quickly rose to the top of the Total War Games list. It is well-known for its extensive artillery, cavalry, and trained riffling squads. Shogun II stands out as one of the top total war games on the list because of its campaign's conflict against all players. Its gameplay is quite fantastic, whether you like it or not.
    Best Total War Game

    ReplyDelete
  66. Pinoy Teleserye Replay Has a Lot of Dramas Tv List That Goes on Air in the Philipines. We update daily latest episodes of Pinoy Channel.https://teleseryee.su

    ReplyDelete
  67. 바카라사이트
    I have been looking for articles on these topics for a long time. I don't know how grateful you are for posting on this topic. Thank you for the numerous articles on this site, I will subscribe to those links in my bookmarks and visit them often. Have a nice day

    ReplyDelete
  68. KissAsian is the best website to Korean dramas and movies online free with
    English Subtitles and Dubbed. This website Chris Gayle, movies of genres ...

    ReplyDelete
  69. I found so many interesting things in this discussion on your site. Exceptionally attractive posts It s my first time here. 바둑이사이트

    ReplyDelete
  70. Wonderful blog! I found it while surfing around on Yahoo News. Do you have any suggestions on how to get listed in Yahoo News? I’ve been trying for a while but I never seem to get there! Appreciate it. Ramadan umrah packages

    ReplyDelete
  71. Thanks for share your information. Your blog has been really great. I learned a lot from here. 바카라사이트인포

    ReplyDelete
  72. Excellent read, I just passed this onto a friend who was doing some research on that. I will learn a lot of new stuff right here. 바둑이사이트넷

    ReplyDelete
  73. Great article with excellent idea! Thank you for such a valuable article. I really appreciate for this great information.
    바둑이사이트넷

    ReplyDelete
  74. Excellent read, I just passed this onto a friend who was doing some research on that. I will learn a lot of new stuff right here. 바카라사이트윈

    ReplyDelete
  75. I really enjoyed reading your articles. It looks like you’ve spent a lot of time and effort on your blog. Billy Butcher Coat

    ReplyDelete
  76. Watch Pishachini Hindi Serial Latest Full Episodes Online By Colors Tv and Voot

    ReplyDelete
  77. Watch the most famous Hindi Desi Serial Alibaba Dastaan E Kabul Today Episode For Free in Extremely Good Quality.

    ReplyDelete
  78. If you are interested in watching live TV, you may want to download the Stream India APK application Watch Online Hinidi Drama Sirf Tum Watch Online For Free In HD.

    ReplyDelete
  79. this blog is very helpful
    https://msinnovators.com/interior-design/

    ReplyDelete
  80. Masala chai is a spicy and aromatic tea made with a blend of Indian spices such as cardamom, cinnamon, ginger, cloves, and black pepperamrut tulsi ginger tea
    tulsi ginger tea benefits
    tulsi ginger tea bags
    tulsi ginger green tea benefits
    tulsi ginger chai tea

    ReplyDelete
  81. You have a wonderful idea, and it would definitely make use of the knowledge you have given us through this article.

    ReplyDelete
  82. Fantastic post! We're linking to this great article on our website. Continue your remarkable composition.

    ReplyDelete
  83. Slot เว็บ ตรง มองดูไม่เสริมเติมกว่า PG SLOT 2022 เว็บของพวกเรา นําเสนอเกมสล็อตที่นานัปการซึ่งจะทําให้ท่านเพลินใจได้นานหลายชั่วโมง นี่เป็นคุณประโยชน์บางประการของการเล่นเกม

    ReplyDelete
  84. Thankyou for giving me useful information.
    Please keep posting.

    ReplyDelete
  85. Yes i am totally agreed with this article

    ReplyDelete
  86. i just want to say that this article is very nice and vey informative. More blogs please.

    ReplyDelete
  87. This blog is what im exactly looking for.

    ReplyDelete
  88. Thanks for sharing this amazing content your information is really very awesome to read. Keep it up and best of luck with your future updates.

    ReplyDelete

  89. Good post. I learn something new and challenging on blogs I stumble upon on a daily basis.

    ReplyDelete
  90. Absolutely love all your blogs and enjoy reading the story behind each.

    ReplyDelete
  91. I’m so lucky that I have got this site that imparted me the high quality of information easily.

    ReplyDelete
  92. Thanks for sharing valuable information.

    ReplyDelete
  93. I'm a fan of Rust's macro system, and I think the Turing-Tarpits are a great addition to its tools. It looks like a great way to make sure any macros we write are hygienic, and I'm eager to see what kind of applications developers can come up with using this feature.

    ReplyDelete
  94. This comment has been removed by the author.

    ReplyDelete

  95. Thanks for posting this educative write up

    ReplyDelete
  96. I really like your means of blogging.

    ReplyDelete

  97. Your Blog is awesome. Really appreciate your work!

    ReplyDelete
  98. I realized a lot of things using this

    ReplyDelete
  99. Thank you for always writing good things.

    ReplyDelete
  100. I am absolutely delighted with the experience I had on this website! The user-friendly interface made navigation a breeze, and the wealth of valuable content exceeded my expectations. The seamless design and responsiveness on both desktop and mobile platforms showcase a commitment to user satisfaction. The information provided was not only insightful but also presented in a clear and engaging manner. The site's commitment to quality and excellence is evident throughout. Kudos to the team behind this platform for creating a valuable resource that stands out in its field. I look forward to returning for more positive encounters! You can also visit this site for watching HD 4K Movies Yesmovies

    ReplyDelete
  101. You are not the general blog author, man. You certainly have something important to add to the net. Such a great blog. rams letterman jacket

    ReplyDelete
  102. Continue sharing such an excellent post. Glad that I found this, Thankyou.

    ReplyDelete
  103. I must say it is very informative blog as well as interesting. Many thanks

    ReplyDelete
  104. Such clever blog work, Keep doing this kind of post, I support you

    ReplyDelete
  105. I’ve been following this web site. Thank you for providing a fine content!!!

    ReplyDelete
  106. Continue for sharing such a excellent post here. Keep on sharing, Thanks

    ReplyDelete
  107. This is a tremendous post Keep up the great work. Sharing is nice keep it up

    ReplyDelete
  108. Unlock your potential and seize every opportunity with 4rabet - where your determination meets endless possibilities!

    ReplyDelete
  109. Believe in yourself, Bet Shahs, and let your determination shine brighter than any challenge you face!

    ReplyDelete
  110. Unlock the thrill of gaming and take your chances with BetShah – download now and let the excitement begin!

    ReplyDelete
  111. Keep pushing forward, BetShah! Your determination and effort will pave the way to success!

    ReplyDelete
  112. You've got this, Satta King! Believe in your strategy, trust your instincts, and conquer the game with confidence!

    ReplyDelete
  113. Take a chance with BetShah Casino and let your luck lead the way to thrilling wins and unforgettable moments!

    ReplyDelete
  114. You've got this, IPLWin! Believe in your skills, embrace the challenge, and conquer the game!

    ReplyDelete
  115. Spin your way to success with BetShah slots and let your winnings pave the path to excitement and victory!

    ReplyDelete
  116. Unlock a world of excitement and possibilities – register on BetShah today and embrace the thrill of limitless gaming adventures!

    ReplyDelete
  117. Thank you for this blog! I really like it and very useful information.You can visit our site and join now!

    ReplyDelete
  118. Elevate your cricket experience with the ipl win app, your ultimate companion for fantasy cricket leagues and real-time match updates.

    Experience the excitement of ipl win casino, where thrilling games and big wins await cricket fans and gaming enthusiasts alike.

    Access your fantasy cricket league and stay updated with live scores by logging in to ipl win login, the ultimate platform for cricket enthusiasts.

    ReplyDelete
  119. WOW! this is very rare and fantastic blog. This is the first time I've seen an article like this. Thank you for sharing!

    In the intricate dance of existence, love embodies the essence of a gamble, where every step forward carries the weight of uncertainty. Much like a game of chance, life unfolds in unpredictable ways, and love, with its myriad complexities, becomes the ultimate wager. Sometimes, we find ourselves swept away by the exhilarating rush of victory, as love rewards us with boundless joy and fulfillment. Yet, there are moments when we stand at the edge of risk, contemplating whether to place our hearts on the line, knowing that the outcome may not always be in our favor. Nevertheless, it is in embracing this inherent gamble that we truly live, for love's unpredictability infuses our journey with passion, resilience, and the profound beauty of human connection.

    Kindly visit my random blogs I hope you like it!
    sports guru pro
    pz vs ms psl 2024
    vizag warriors ipl 2024
    who will win ipl 2021
    ipl win percentage

    ReplyDelete
  120. Explore online browser games from gameindiatech.online and enjoy gaming at its best!

    ReplyDelete

  121. I constantly read the smaller articles as well as clarify their motives, and that also happens with this article!

    James Dean Red Jacket


    ReplyDelete
  122. Ready to try your luck? Dive into the exciting world of guwahati lottery games and let the thrill of winning sweep you away!

    ReplyDelete
  123. my24kbet offers an exciting platform where you can explore a variety of betting options and enjoy the thrill of potential big wins.

    ReplyDelete
  124. 24bets offers a wide range of betting options, providing an exciting opportunity to win impressive rewards.

    ReplyDelete
  125. UK Minister will address nuclear and renewables regarding Energy Companies

    ReplyDelete