wingolog

is go an acceptable cml?

21 September 2016 9:29 PM (go | concurrency | ml | ignorance | guile | clojure | core.async)

Yesterday I tried to summarize the things I know about Concurrent ML, and I came to the tentative conclusion that Go (and any Go-like system) was an acceptable CML. Turns out I was both wrong and right.

you were wrong when you said everything's gonna be all right

I was wrong, in the sense that programming against the CML abstractions lets you do more things than programming against channels-and-goroutines. Thanks to Sam Tobin-Hochstadt to pointing this out. As an example, consider a little process that tries to receive a message off a channel, and times out otherwise:

func withTimeout(ch chan int, timeout int) (result int) {
  var timeoutChannel chan int;
  var msg int;
  go func() {
    sleep(timeout)
    timeoutChannel <- 0
  }()
  select {
    case msg = <-ch: return msg;
    case msg = <-timeoutChannel: return 0;
  }
}

I think that's the first Go I've ever written. I don't even know if it's syntactically valid. Anyway, I think we see how it should work. We return the message from the channel, unless the timeout happens before.

But, what if the message is itself a composite message somehow? For example, say we have a transformer that reads a value from a channel and adds 1 to it:

func onePlus(in chan int) (result chan int) {
  var out chan int
  go func () { out <- 1 + <-in }()
  return out
}

What if we do a withTimeout(onePlus(numbers), 0)? Assume the timeout fires first and that's the result that select chooses. There's still that onePlus goroutine out there trying to read from in and at some point probably it will succeed, but nobody will read its value. At that point the number just vanishes into the ether. Maybe that's OK in certain domains, but certainly not in general!

What CML gives you is the ability to express an event (which is kinda like a possibility of sending or receiving a message on a channel) in such a way that we don't run into this situation. Specifically with the wrap combinator, we would make an event such that receiving on numbers would run a function on the received message and return that as the message value -- which is of course the same as what we have, except that in CML the select wouldn't actually read the message off unless it select'd that channel for input.

Of course in Go you could just rewrite your program, so that the select statement looks like this:

select {
  case msg = <-ch: return msg + 1;
  case msg = <-timeoutChannel: return 0;
}

But here we're operating at a lower level of abstraction; we were forced to intertwingle our concerns of adding 1 and our concerns of timeout. CML is more expressive than Go.

you were right when you said we're all just bricks in the wall

However! I was right in the sense that you can build a CML system on top of Go-like systems (though possibly not Go in particular). Thanks to Vesa Karvonen for this comment and the link to their proof-of-concept CML implementation in Clojure's core.async. I understand Vesa also has an implementation in F# as well.

Folks should read Vesa's code, after reading the Reppy papers of course; it's delightfully short and expressive. The basic idea is that event composition operators like choose and wrap build up data structures instead of doing things. The sync operation then grovels through those data structures to collect a list of channels to pass on to core.async's equivalent of select. When select returns, sync determines which event that chosen channel and message corresponds to, and proceeds to "activate" the event (and, as a side effect, possibly issue NACK messages to other channels).

Provided you can map from the chosen select channel/message back to the event, (something that core.async can mostly do, with a caveat; see the code), then you can build CML on top of channels and goroutines.

o/~ yeah you were wrong o/~

On the other hand! One advantage of CML is that its events are not limited to channel sends and receives. I understand that timeouts, thread joins, and maybe some other event types are first-class event kinds in many CML systems. Michael Sperber, current Scheme48 maintainer and functional programmer, tells me that simply wrapping events in channels+goroutines works but can incur a big performance overhead relative to supporting those event types natively, due to the need to make the new goroutine and channel and the scheduling costs. He quotes 10X as the overhead!

So although CML and Go appear to be inter-expressible, maybe a proper solution will base the simple channel send/receive interface on CML rather than the other way around.

Also, since these events are now second-class, it must be OK to lose these events, for the same reason that the naïve withTimeout could lose a message from numbers. This is the case for timeouts usually but maybe you have to think about this more, and possibly provide an infinite stream of the message. (Of course the wrapper goroutine would be collected if the channel becomes unreachable.)

you were right when you said this is the end

I've long wondered how contemporary musicians deal with the enormous, crushing weight of recorded music. I don't really pick any more but hoo am I feeling this now. I think for Guile, I will continue hacking on fibers in a separate library, and I think that things will remain that way for the next couple years and possibly more. We need more experience and more mistakes before blessing and supporting any particular formulation of highly concurrent programming. I will say though that I am delighted that we are able to actually do this experimentation on a library level and I look forward to seeing what works out :)

Thanks again to Vesa, Michael, and Sam for sharing their time and knowledge; all errors are of course mine. Happy hacking!

99 responses

  1. OnePlus 4 says:

    OnePlus 4 OnePlus 4 Release Date
    Well thanks for sharing such content

  2. Manchun says:

    Great article to post thank you Website Designing Company

  3. TFTUS says:

    Good way of telling, good post to take facts regarding my presentation subject matter, which i am going to deliver in my collegeSoftware Testing CompanyUsability Testing Companyautomated testing companymobile app security testing company

  4. Eden says:

    good post. http://www.google.com

  5. Gemma says:

    Which one is the best way to accept the CML. You have written that way here for those people who don't know about it. I think you need some more research about it to make this article more easy for everyone who have not enough good English. http://masterpapers.net/services/

  6. Brandon says:

    You seem to have some spam in the comments on this article (and the last one).

  7. kaki says:

    Perfect post thanks for sharing with us such info photoscape photo editor crack Download

  8. kaki says:

    There are many few people who can write such perfect content which user love to read and learn.... Thanks

    fl studio free download crack

  9. hanks says:

    Very helpful advice in this particular post! It’s the little changes that make the largest changes. There are many few people who can write such perfect content which user love to read and learn.... Thanks

    FL Studio 12 Crack + Serial Key Free Download

  10. freecr says:

    Very helpful advice in this particular post! It's the little changes that make the largest changes. Thnk
    EaseUS Partition Master 11.8 Crack

  11. SUV says:

    Great article to post thank you waiting for new article

  12. rope says:

    it great post, I appreciate all the work you put into this site ptvsportsbisskeyz.com

  13. Summer Gilbert says:

    Which one is the most ideal approach to acknowledge the CML. You have composed that path here for those individuals who don't think about it. I think you require some more research http://www.courseworklabs.co.uk/ about it to make this article all the more simple for everybody who have insufficient great English.

  14. GameMaker for Mac says:

    I’ve been exploring for a little bit for any high quality articles or weblog posts on this kind of space .
    Exploring in Yahoo I eventually stumbled upon this website.

  15. malwarebytes key says:

    Hi man thanks keep it up..

  16. GTA 5 torrent says:

    Wooooow, i am very for founding your blog and i have bookmarked your blog and frequently checking back.

  17. Shayan Ahmed Khan says:

    Awesome Article.

    http://www.eventgreetings.com/

  18. Make Google My Homepage In Safari says:

    Guide on how to make google my homepage or set google as homepage. Make google as my homepage in mozilla, Google chrome, safari

  19. Cheap clothes in pakistan says:

    I really like the dear information you offer in your articles. I’m able to bookmark your site and show the kids check out up here generally. I am fairly positive there likely to be informed a great deal of new stuff here than anyone.

  20. Happy New Year 2017 says:

    Your blog is very helpful to us, thanks for share this. You can get latest new year 2017 images and wallpapers.

  21. plaque psoriasis says:

    Such a very useful article. Very interesting to read this article.I would like to thank you for the efforts you had made for writing this awesome article.

  22. karan says:
  23. artistoappdownload says:

    good Anyways the Photo for Artisto is a very amazing as well as enjoyable application that will certainly make your moments amusing and bring smiles to your face. nice.

  24. dipika mishra says:

    greta post. thank you so muchWeihnachtsgeschenke 2016

  25. MRINAL PANT says:
  26. YoursTrust says:

    Great article to post thank you waiting for new articleBed Sheet

  27. Hummer H2 says:

    Your website is great Hey! Your information is astounding!! I will recommend it to my brother and anybody that could be attracted to this topic.

  28. happy new year coloring pictures says:
  29. moviebump says:
  30. Happy New Year 2017 says:
  31. YO YO says:
  32. Slack for Windows Download as Desktop App says:

    Great All your group interaction in one location. It's a solution built for the age of smartphones and brief text messages which is changing the work environment today. Fine.

  33. nina says:
  34. happy wheels says:

    Really its great article. I could not resist commenting. Exceptionally well written!

  35. five nights at freddy's says:

    Excellent article. Very interesting to read. I really love to read such a nice article. Thanks!Keep rocking.

  36. geometry dash says:

    Wow i can say that this is another great article as expected of this blog

  37. happy wheels demo says:

    This is very nice one and gives depth information. Thanks and keep posting! Thanks again for the blog article . Much thanks again. Great.

  38. raima singh says:

    The middle of winter has long been a time of celebration around the world. Centuries before the arrival of the man called Jesus, early Europeans celebrated light and birth in the darkest days of winter. Many peoples rejoiced during the winter solstice, when the worst of the winter was behind them and they could look forward to longer days and extended hours of sunlight.

    In Scandinavia, the Norse celebrated Yule from December 21, the winter solstice, through January. In recognition of the return of the sun, fathers and sons would bring home large logs, which they would set on fire. The people would feast until the log burned out, which could take as many as 12 days. The Norse believed that each spark from the fire represented a new pig or calf that would be born during the coming year.

    The end of December was a perfect time for celebrationFeliz Navidad 2016 Navidad 2016Feliz año nuevo 2017

    Frohe weihnachten 2016Frohe weihnachten Status für FacebookCanciones de Navidad 2016 Villancicos de Feliz Navidad 2016 en inglesCanciones de Feliz Navidad 2016
      Frohes Neues Jahr2017 Frohe weihnachten 2016 weihnachtsgrüße 2016 Frohe weihnachten
      Frohe Weihnachten und Neues Jahr 2017 Neues Jahr 2017frohe Weihnachten 2016
     
     
     Frohe Weihnachtsgrüße 2016 Weihnachtsgrüße 2016Frohe Weihnachtsgrüße
     
     Sprüche zu Weihnachten 2016Frohe Weihnachten Sprüche, Wünsche, GedichteGedichte zu weihnachten 2016Weihnachten 2016 Wünsche

    analyze big data big data search data mining with big databig data database architecturehadoop big data database sql books hadoop big data analyticsdefine big databig data computing concept of big dataanalytics data database sql technology it big data big data examples big data miningsources of big datadata analytics companybig data volumemassive data big data storeopen source big data analytics analytics tools of big databig data structurebusiness data analytics applications for big databest big data databasemanaging big databig data analysis methods what's big data big data 3vexplain big data big data intelligence big data overviewanalytics on big datamassive data analysis big data featuresdatabase of big datause of big data big data productsbig data application developmentbig data and data mininghadoop analytics toolslarge data analytics big data data sourcesbig data researchbig data analytics startupadvanced data analyticsdata management big dataanalytics for big data features of big datadatabase sql books big data analytics methodology
     database sql books database sql pdfdatabase sqldatabase sql and nosqlwhat is data analyticsbig data in securitybig data articleshadoop articleshadoop software downloadhadoop trainingsdatabase sql tutorialsdata analytics booksbig data training in gaziabadbig data training in usbig data courses in goahadoop and big dataapplications of rhow to download big data pdfhow to learn big data and get jobbig data jobs and salary packagessalary packages of big data professionalbig data professionalsbig data professionals jobs
     spanish happinesshow to become spanish translatorspanish newbiespanish loveI love you more in spanish
     love and care in spanisbheat in spanishspanish loversspanish worldhow to speak and write spanishspanish language learn spanish very easily
     download the R tutorials for beginnersdownload SAS tutorials freelearn R and sasBig data engineer salary all over india
     I love you more than anyone in spanishhow to say bad in spanishhow to say you are good in spanishwhat are benfits of spanishspanish songs download sadlearn spanish from the websitespanish learning offline
     
     
    In Rome, where winters were not as harsh as those in the far north, Saturnalia—a holiday in honor of Saturn, the god of agriculture—was celebrated. Beginning in the week leading up to the winter solstice and continuing for a full month, Saturnalia was a hedonistic time, when food and drink were plentiful and the normal Roman social order was turned upside down. For a month, slaves would become masters. Peasants were in command of the city. Business and schools were closed so that everyone could join in the fun.

  39. marco10 says:

    I found a good Website with telephone numbers for customer serviceGeico customer service

  40. FaceTime for Android says:

    good and also the majority of commonly utilized, video conversation applications. This software program and also some usages of it are complimentary. best.

  41. priyavarshney says:
  42. priyavarshney says:

    best printable 2017 Calendarbest printable 2017 Calendarbest printable 2017 Calendarbest printable 2017 Calendarbest printable 2017 Calendarbest printable 2017 Calendarbest printable Calendar 2017best printable Calendar 2007best printable Calendar 2017best printable Calendar 2017best printable Calendar 2007best printable Calendar 2017best printable Calendar 2017best printable Calendar 2017Us River map 2017Us River map 2017Us River map 2017Us River map 2017Us River map 2017Us River map 2017Us River map 2017Us River map 2007USA River map 2007USA River map 2007USA River map 2007USA River map 2007USA River map 2007USA River map 2007Map of united statesMap of united statesMap of united statesMap of united statesMap of united statesMap of united states Free Map templates of united states Free Map templates of united states Free Map templates of united states Free Map templates of united states Free Map templates of united states Free Map templates of united states Free Map templates of united states Free Map templates of united states Free Map templates of united statesMap templates of united statesMap templates of united states

    Map templates of united statesMap templates of united statesMap templates of united statesMap templates of united statesMap templates of united statesMap templates of united statesMap templates of united states

    best printable 2017 Calendar best printable 2017 Calendar best printable 2017 Calendar best printable 2017 Calendar best Printable 2017 Calendar best Printable 2017 Calendar best January 2017 Calendar2017 Calendar Templates2017 Calendar Templates

    2017 Calendar Templates2017 Calendar Templates2017 Calendar Templates2017 Calendar Templates2017 Calendar Templates2017 Calendar Templatesfree 2017 Calendar Templates

    free 2017 Calendar Templatesfree 2017 Calendar Templatesfree 2017 Calendar Templatesfree 2017 Calendar Templatesfree 2017 Calendar Templatesfree 2017 Calendar Templatesfree 2017 Calendar Templatesfree 2017 Calendar printablefree 2017 Calendar printablefree 2017 Calendar printablefree 2017 Calendar printable

    free 2017 Calendar printablefree 2017 Blank calendarfree 2017 Blank calendarfree 2017 Blank calendarfree 2017 Blank calendarfree 2017 Blank calendarfree 2017 Blank calendarfree 2017 Blank calendarfree 2017 Blank calendarfree 2017 Blank calendarFree Map of USFree Map of USFree Map of USFree Map of USFree Map of USFree Map of USTemplate Map of united statesTemplate Map of united statesTemplate Map of united statesTemplate Map of united statesTemplate Map of united statesTemplate Map of united statesTemplate Map of united statesTemplate Map of united statesMap of USAMap of USAMap of USAMap of USAMap of USAMap of USAMap of USAMap of USAMap of USAMap of USAMap of USAMap of united statesFree map templates of USA

    Free map templates of USAFree map templates of USAFree map templates of USAFree map templates of USAFree map templates of USAFree map templates of USAFree map templates of USAFree map templates of USAUSA MAP templates

    USA MAP templatesUSA MAP templatesUSA MAP templatesUSA MAP templatesUSA MAP templatesUSA MAP templatesUSA MAP templatesUSA MAP templatesUnited states MAP templates United states MAP templates United states MAP templates United states MAP templates United states MAP templates United states MAP templates United states MAP templates United states MAP templates Free 2017 calendar templates Free 2017 calendar templates Free 2017 calendar templates Free 2017 calendar templates Free 2017 calendar templates Free 2017 calendar templates Free 2017 calendar templates Free 2017 calendar templates Free 2017 calendar templates Free 2017 Map templates Free 2017 Map templates Free 2017 Map templates Free 2017 Map templates Free 2017 Map templates Free 2017 Map templates Free 2017 Map templates Free 2017 Map templates Free 2017 Map templates Free 2017 Map templates Free 2017 Map templates Free 2017 Map templates of United states Free 2017 Map templates of United states

    Free 2017 Map templates of United states Free 2017 Map templates of United states Free 2017 Map templates of United states Free 2017 Map templates of United states Free 2017 Map templates of United states Free 2017 Map templates of United states Free 2017 Map templates of United states Free 2017 Map templates of United states Free 2017 Map templates of USA

    Free 2017 Map templates of USA Free 2017 Map templates of USA Free 2017 Map templates of USA Free 2017 Map templates of USA Free 2017 Map templates of USA Free 2017 Map templates of USA Free 2017 Map templates of USA Map templates of united states

    Map templates of united statesMap templates of united statesMap templates of united statesMap templates of united statesMap templates of united statesMap templates of united statesMap templates of united statesMap templates of united statesMap templates of USA river

    Map templates of USA riverMap templates of USA riverMap templates of USA riverMap templates of USA riverMap templates of USA riverMap templates of USA riverMap templates of USA riverMap templates of USA riverMap templates of USA riverMap templates of USA riverPrintable Map of usa

    Printable Map of usaPrintable Map of usaPrintable Map of usaPrintable Map of usaPrintable Map of usaPrintable Map of usaPrintable Map of usaPrintable Map of usaPrintable calendar 2017Printable calendar 2017Printable calendar 2017Printable calendar 2017Printable calendar 2017Printable calendar 2017Printable calendar 2017Printable calendar 2017Printable calendar 2017Printable calendar 2017Printable calendar 2017Free Printable calendar 2017Free Printable calendar 2017Free Printable calendar 2017Free Printable calendar 2017Free Printable calendar 2017Free Printable calendar 2017Free Printable calendar 2017Free Printable calendar 2017Road map of USARoad map of USARoad map of USARoad map of USARoad map of USARoad map of USARoad map of USARoad map of USARiver map of USARiver map of USA

    River map of USARiver map of USARiver ma of USARiver map of USARiver map of United statesRiver map of United statesRiver map of United statesRiver map of United statesRiver map of United statesRiver map of United statesRiver map of United statesRiver map of United states

    River map of United statesRiver map of United statesRiver map of United statesRiver map of United statesPrintable calendar 2017Printable calendar 2017Printable calendar 2017Printable calendar 2017Printable calendar 2017Printable calendar 2017Free Printable calendar 2017

    Free Printable calendar 2017Free Printable calendar 2017Free Printable calendar 2017Free Printable calendar 2017Free Printable calendar 2017Free calendar TemplatesFree calendar Templates

    Free calendar TemplatesFree calendar TemplatesFree calendar TemplatesFree calendar TemplatesFree calendar TemplatesFree calendar TemplatesFree 2017 calendar Templates

  43. priyavarshney says:

    Free 2017 calendar TemplatesFree 2017 calendar TemplatesFree 2017 calendar TemplatesFree 2017 calendar TemplatesFree 2017 calendar Templates

    printable calendars printable calendars printable calendars printable calendar printable black calendars printable black calendars printable black calendars printable indian calendars printable us calendars printable us calendars printable calendars us printable calendars indian printable calendars print us calendars

    print usa calendars print usa calendars printable templete calendars printable templete calendars printable templete calendars printable templete calendars tenplete printable calendars tenplete printable calendars tenplete printable calendars tenplete printable calendars tenplete printable calendars free printable calendars free printable calendars free printable calendars free printable calendars

    printable calendars printable calendars printable calendars printable calendars printable calendars printable calendars printable calendars printable calendars printable calendars printable calendars printable calendars printable calendars printable calendars printable calendars

    printable calendars printable calendars printable calendars printable calendars 2017 printable calendars 2017 printable calendars print free calendars printable calendars templeteprintable calendars templete printable calendars templete

    calendars templete calendars templete templete printable calendars templete printable calendars templete printable calendars printable calendars print calendar stemplete free print calendar stemplete free print calendar stemplete free print calendar stemplete free printable calendars Yearly calendars Yearly calendars Yearly calendars Yearly calendars

    printable june calendars printable june calendars printable june calendars printable calendars june printable calendars june printable calendars june print june calendar print june calendar june print calendars june print calendars june print calendars printable calendars print june calendar print june calendar print june calendar

    january calendar january calendar printable january calendars printable january calendars printable january calendars printable january calendars printable calendars printable january calendars printable calendar january printable calendar january printable calendars printable calendar january printable calendar january january calendars printable calendars january calendars january calendars printable calendars

    free classis calendars free classis calendars free classis calendars printable calendars print free clessic calendars print free clessic calendars print free clessic calendars print free clessic calendars printable calendars digital free calendar digital free calendar digital free calendar printable free june calendars

    printable free june calendars printable free june calendars printable free june calendars june colour calendars june colour calendars june colour calendars printable calendars june colour printable calendars june colour printable calendars june colour printable calendars printable calendars june free calendars june free calendars june free calendars

    print june print calendars print june print calendars print june print calendars print calendar colour print calendar colour printable calendars printout june calendars printout june calendars printout june calendars printable calendars printout free calendars

    print calendar years print calendar years print calendar years printable calendars years printable calendars years printable calendars printable calendars printable calendars printable calendars printable calendars print black calendars print black calendars

    printable free black calendarsprintable free black calendars printable free black calendars printable free black calendars black fee june printable calendars black fee june printable calendars black fee june printable calendars print pdf calendars print pdf calendars printable calendars printable calendars printable calendars printable calendars printable calendars printable calendars printable calendars printable calendars printable calendars

    printable calendars printable calendars printable calendars printable calendars printable calendars calendar printable calendar printableprintable calendars calendar printable usa calendars printable calendars printable calendars usa calendars

  44. ADIL says:

    best printable 2017 Calendarbest printable 2017 Calendarbest printable 2017 Calendarbest printable 2017 Calendarbest printable Calendar 2017best printable Calendar 2007best printable Calendar 2017best printable Calendar 2017best printable Calendar 2007best printable Calendar 2017

    In Rome, where winters were not as harsh as those in the far north, Saturnalia—a holiday in honor of Saturn, the god of agriculture—was celebrated.
    Beginning in the week leading up to the winter solstice and continuing for a full month, Saturnalia was a hedonistic time,
    when food and drink were plentiful and the normal Roman social order was turned upside down. For a month, slaves would become masters.
    Peasants were in command of the city. Business and schools were closed so that everyone could join in the fun.

  45. manu says:
  46. lohri wishes says:
  47. mothers dya wishes says:
  48. itube app download free here says:
  49. vshare says:
  50. holi pics says:
  51. aptoide iOS says:
  52. aptoide apk says:
  53. Kodi App says:

    Great is an open source home entertainment service to stream live TV, flicks, music, photos or even video games. Fine.

  54. Salomon Speedcross 3 says:

    Your blog is very helpful to us, thanks for share this.

  55. Gmail Login says:
  56. Norton Support Number UK 0800-098-8371 Norton Helpline Number UK says:

    Its very useful post for me, and hope this will be helpful for people in future. Thanks for share this.Norton Help Number UKNorton Contact Number UKNorton Customer Care Number UK

  57. Tutuapp says:

    thanks for this helpful post for me and all. i am also find this news from along time. thanks for sharing. i am also share to my friend circle.
    thanks i am waiting your next helpful post.iphone 7s featurestutuappiphone 7 VR headsetipad appsipad app
    thanks for this helpful post for me and all nox app player user's. can you help me how to use in pc and how to install please i have faced some problem to install in pc.
    thanks.
    thanks for this helpful post for me and all who find The Binding of Isaac: Rebirth game. can you tell me how to install in apple ipad mini. i have face some problem in two different games to install in ipad. Second game = Star Wars:Force Arena game. please tell me how to install easy and simple way.
    thanks.
    thanks for this helpful post for me and all shillong teer game user's. please anyone tell me where i will check the latest result and fomula of shillong teer.
    thanks for this helpful post for me and all game user's. please can you tell me how to play and install this game in iphone.

    flekstore 3.0ipad appsios appsshillong teer gametutuappBB Recscreen recorder apptop 10 upcoming apps iosfitness apps for iosnox app player for macshillong teer formulanomao camera appToontastic 3D,Storytelling AppDelta GBA4iOS Emulator beta 2 for ios

  58. Manchun says:
  59. BBA Project Help says:

    Thanks a lot for the post. It has helped me get some nice ideas. I hope I will see some really good result soon.

  60. Java Programming Assignment Help Service says:

    I loved the way you discuss the topic great work thanks for the share.

  61. Accounting Dissertation Help says:

    I'm getting excited about this kind of beneficial information of your stuff in the future

  62. Data Link Layer Computer Network Project Help says:

    This is really a great stuff for sharing. Thanks for sharing.

  63. Buy Assignment UK says:

    I personally like your post; you have shared good insights and experiences. Keep it up.

  64. Help with Mechanical Project says:

    I personally like your post; you have shared good insights and experiences. Keep it up.

  65. Nursing Writing Service says:

    My friend recommended this blog and he was totally right keep up the good work

  66. asdf says:

    fsdddddddddddddddddddddddddddddd

  67. BMI CALCULATOR says:

    Thanks to the author, many have found useful! bmi calculator

  68. why does my dog like to sleep under blankets says:

    Positive site, where did u come up with the information on this posting?I have read a few of the articles on your website now, and I really like your style. Thanks a million and please keep up the effective work.

  69. very interesting post.this is my first time visit here.i found so mmany interesting stuff in your blog especially its discussion..thanks for the post! says:

    You know your projects stand out of the herd. There is something special about them. It seems to me all of them are really brilliant!

  70. i love reading this article so beautiful!!great job! says:

    this is really nice to read..informative post is very good to read..thanks a lot!

  71. I really enjoyed reading this post, big fan. Keep up the good work andplease tell me when can you publish more articles or where can I read more on the subject? says:

    Very nice article, I enjoyed reading your post, very nice share, I want to twit this to my followers. Thanks!.

  72. handmade dresses says:

    I would like to thank you for the efforts you have made in writing this article. I am hoping the same best work from you in the future as well. Thanks...

  73. election results says:
  74. Davidpolidan says:

    Great and informative article.I really appreciate the efforts of the author. Thanks!!

  75. tuitions pakistan says:

    This is really a great stuff for sharing. Keep it up .Thanks for sharing. tuitions pakistan

  76. Programming Assignment Help Service says:

    This is great information for students. This article is very helpful i really like this blog thanks. I also have some information relevant for online dissertation help. Programming Assignment Help Service

  77. Australia Assignment Help says:

    Get the dissertation writing service students look for these days with the prime focus being creating a well researched and lively content on any topic. Australia Assignment Help

  78. Programming Assignment Help says:

    Amazing article thanks or sharing.. Programming Assignment Help

  79. Coursework Homework Help says:

    Dissertation Guidance Provides quality Online Dissertation Help for students. Coursework Homework Help

  80. dissertation help service says:

    This a good way to appreciate the teacher as they put their efforts to train students. UK dissertation Writers appreciates the teachers. dissertation help service

  81. Dissertation Writing Service says:

    Great Information,it has lot for stuff which is informative.I will share the post with my friends.Dissertation Writing Service

  82. R Programming Assignment Assistance says:

    Science Channel’s are giving a complete knowledge to its viewers about every thing students write done dissertation on this subjects and show its importance. R Programming Assignment Assistance

  83. R Programming Assignment Assistance says:

    Science Channel’s are giving a complete knowledge to its viewers about every thing students write done dissertation on this subjects and show its importance. R Programming Assignment Assistance

  84. R Programming Assignment Assistance says:

    Science Channel’s are giving a complete knowledge to its viewers about every thing students write done dissertation on this subjects and show its importance. R Programming Assignment Assistance

  85. vshare says:
  86. serj says:

    I think this is an informative post and it is very useful and knowledgeable. therefore, I would like to thank you for the efforts you have made in writing this article. eyebrow threading

  87. serj says:

    Excellently written article, if only all bloggers offered the same level of content as you, the internet would be a much better place. Please keep it up! psoriasis

  88. serj says:

    Fantastic blog page with all the terrific good items not to mention I’m absolutely sure this will be vastly advantageous. plaque psoriasis

  89. serj says:

    Thanks for sharing this information. I really like your blog post very much. You have really shared a informative and interesting blog post with people. scalp psoriasis

  90. poli says:

    I consulted many sites ,but only on the website dog grooming I have found what I need,thanks!!
    [url=http://dog-grooming.us/]dog grooming[/url] dog grooming

  91. Mrinal pant says:
  92. Mrinal pant says:
  93. Mrinal pant says:
  94. Mrinal pant says:
  95. jhon says:

    I'll immediately snatch your rss feed as I can not find your e-mail subscription link or e-newsletter service. Do you have any? Kindly permit me realize in order that I could subscribe. Thanks.

    https://redmovie.splashthat.com/
    http://zmovie.mex.tl/
    http://moviemedia.strikingly.com/
    http://fredericka69.bcz.com/

  96. getting rid of bed bugs says:

    Fantastic blog! Do you have any tips and hints for aspiring writers? I’m planning to start my own website soon but I’m a little lost on everything. Would you propose starting with a free platform like WordPress or go for a paid option? There are so many options out there that I’m completely overwhelmed .. Any suggestions? Many thanks!

  97. fear of judgement bible says:

    An fascinating discussion is value comment. I think that it is best to write extra on this matter, it won’t be a taboo topic however generally people are not enough to talk on such topics. To the next. Cheers

  98. modular kitchen manufacturers in delhi ncr says:

    I really like your writing style, great information, thankyou for posting.

  99. smart casual attire for dinner says:

    An interesting dialogue is price comment. I feel that it is best to write more on this matter, it may not be a taboo topic however usually individuals are not enough to talk on such topics. To the next. Cheers.

Leave a Reply