Tuesday, March 3, 2009

Indentation sensitivity: a post-mortem?

I've been designing my language Reia with an indentation-sensitive syntax like Python... until now.

Things went fairly smoothly at first. I read a short description of how Python's lexer works and in no time banged out an equivalent one with leex. Inspired by this, I proceeded constructing my grammar, largely defaulting to Ruby or Erlang in cases I was uncertain of and hardly ever looking at the Python grammar. I wanted Reia to have a purely expression-based syntax where everything returns a value, as opposed to a Pythonic grammar with both expressions and statements which return no value. This would prove to be my undoing.

At the time I didn't understand the beautiful set of compromises Guido van Rossum managed to make when designing the Python grammar. I became curious as to why my language had multi-line lambdas and Python did not. The answer to that question would lay in a problem with my grammar I would soon discover and could not come up with a good solution to.

I first discovered the problem with Reia's multi-line blocks. I had used them in the past in small 1-2 liner functions without issue, and all had seemed well. Then some time later I tried to add more to a function after a multi-line block. I ran into an unexpected syntax error... I couldn't put any additional expressions after a multi-line block.

Blocks are more or less lambdas, so it would seem as if I had hit the infamous multi-line lambda problem. I compared the output of my lexer to Python's and found the two to be identical. The answer would lie in the grammar. Looking at the tokens there was no statement separator between multi-line statements in Python.

From Python's grammar.txt:

statement ::= stmt_list NEWLINE | compound_stmt

What does this line mean? All ordinary statements (i.e. stmt_lists), such as expressions, and anything that fits on a single line must be terminated by a NEWLINE. The "compound statements", ones which span multiple lines, were self-contained. There was no statement separator between them and the next statement. In the Zen of Python they just are, with no explicitly delineated boundaries.

This underlies the magic of Python's "indent consistently and your code will be valid" syntax. I could not duplicate this using a Python-style lexer. The best I could come up with was modifying the lexer to accept a few different cases of empty lines as being syntactically significant, which meant indentation sensitivity would be more obtrusive.

Reading Guido van Rossum's rationale against multi-line lambdas in Python, Language Design Is Not Just Solving Puzzles, he lays out his case: any solution that embeds an indentation-based block in the middle of an expression is unacceptable, and an alternate way of grouping syntax besides indentation is unacceptable. I certainly agree with the latter... it's silly to have some expression/statement groupings indentation based and some grouped by enclosing tokens. The former was a bit more subtle... I didn't realize what separating out statements from expressions afforded in the grammar (specifically in regard to the self-contained "compound statements").

I started noticing other mismatches between indentation sensitivity and an expression-based grammar which aren't present in Python. Implicit line joning in Python removes tokens which are useless in the given context (which much be inside an expression) since expressions can't contain statements. In Reia's previous form implicit line joining would rule out a whole host of otherwise gramatically valid constructions embedding expressions with indent blocks inside other expressions. But without implicit line joining, the programmer is very limited in terms of splitting up function arguments, lists, dicts, and tuples across multiple lines.

I also started to notice all sorts of strange syntactic oddities which emerge in a grammar which embeds indentation blocks in statements. This is exactly the kind of ugliness I believe Guido sought to avoid by disallowing indent blocks within expressions.

Unhappy with that direction, I looked to alternatives which preserve indentation sensitivity. The Haskell approach to indentation seemed interesting, and I found a expression-based Python-like language with Haskell-like indentation: Logix. It turned out to be by Tom Locke, who would go on to author Hobo, the web application builder for Rails. (Edit: Tom Locke mailed me back saying he doesn't like indentation-based syntaxes any more and now prefers Ruby)

This seemed like a potential direction to go in, but at this point, I was sick of indentation sensitivity. My conclusion is it works very well in Python, and if you're content to separate your grammar into statements and expressions and only have indent blocks in statements, it's a great way to go with a language.

I simply wasn't content to abandon an expression-based grammar. I needed multi-line expressions, specifically for Ruby-style blocks, if nothing else. In a totally unscientific poll of Rubyists I put together, the #1 feature with a 75% approval rating was blocks. I couldn't have multi-line expressions in an indentation sensitive language where I desperately deisred them for blocks. So something had to give...

Last night I pushed a new "indentless" branch for Reia. Without indentation sensitivity the Python influence is starting to wane and it's beginning to look a lot like Ruby. I spent tonight cleaning it up and making sure it can build itself from scratch, as well as converting all the code examples and remaining parts of the standard library.

This is quite likely the direction Reia is going to go. So far the response to abandoning indentation sensitivity has been overwhelmingly positive. It will certainly be a boon for people making template languages as now it will be quite easy to put together something like ERb or a template language which embeds Reia syntax with little worry.

Short of someone making an impassioned plea for preserving indentation sensitivity, it will soon be gone from Reia.

271 comments:

1 – 200 of 271   Newer›   Newest»
Brian said...

The force is strong in this one; he will join the dark side. :)

Thanks for the explanation, Tony. I never bothered to understand it at this level.

Reid K said...

So I was considering a similar problem, since I'm also trying to design a programming language as a small side project. It's much less serious, and more of a playground for ideas.

For our language, we went the statements/expressions route, but I think you can hack blocks back into a statement grammar. We came up with a syntax something like this:

my_dict.items().each(&) func(k, v):
...
...

The idea is similar to the Ruby innovation of putting the block code outside of the parenthesis as one would have in Lisp. Here, you go further, and just use s simple syntactic placeholder (I picked & since we weren't using it for bitwise and), and just put it at the end of the line. You could nest blocks, but you could not have more than one per statement. It seems like you can't do that in Ruby either, and I think having multiple blocks stuffed into the same statement would be super confusing.

Of course, in your case you'd have to abandon things like:

x = if b
'b'
else
'c'

But we didn't want that syntax anyway.

MRAB said...

You could extend into a second dimension. By that I mean that a line of code is a horizontal sequence of terms, but some of those terms could extend vertically. You would need an editor which would let you insert a multi-line section of text into a line. A bit tricky in normal editors, though...

tav said...

Hey Tony,

While it doesn't suit the expressions-only approach you desire, I came up with a Pythonic way to do Ruby blocks:

* http://tav.espians.com/ruby-style-blocks-in-python.html

Hope it's useful.

Let me know what you think and keep up the great work with Reia!

-- Thanks, tav

Ian Bicking said...

If you want to support templating languages, then you really should support some kind of AST that template languages can compile down into. Generating source code from a template is half-assed at best.

Unknown said...
This comment has been removed by the author.
Unknown said...

English language is really not among the easiest languages in the world, even for native speakers. That's why there is a demand and ask for English grammar check software, a technology that has evenhandedly new and getting more sophisticated day in and day out. See more corrector grammar

Unknown said...

پارتیشن بندی آسان با EASEUS Partition Master
راه حل نجات گوشی خیس شده
دانلود برنامه قرآنی Mushaf Tajweed – اندروید

Prateek Barn said...

avriq
avriq India

mariablack said...

Pc Optimization
Windows Installation
Data Recovery

shabnam praveen said...

Call girls in Kolkata
Call girls in Chandigarh
Call girls in Chandigarh
Call girls in Gurgaon
Call girls in Chandigarh
Call girls in Chandigarh

Archana The best Call Girl said...

********************************************************************************************************
Hi friends ! I'm Archana Kumari. I like to have bed relationship with different persons rather than with a single man for the whole of life. Not only is this my notion , but also is this fact that the secret organs are made for enjoyment. Please follow me on the links given bellow.

Escorts in Bhubaneswar
Escorts in Gurgaon
Escorts in Gurgaon

Escorts in Jaipur
Escorts in Jaipur
Escorts in Jaipur

Escorts in Jaipur
Escorts in Mumbai
Escorts in Bangalore

If you are interested in me and my ideology ,then you are invited to my bed. Just go ahead !
***********************************************************************************************************

Archana The best Call Girl said...

********************************************************************************************************
Hi friends ! I'm Archana Kumari. I like to have bed relationship with different persons rather than with a single man for the whole of life. Not only is this my notion , but also is this fact that the secret organs are made for enjoyment. Please follow me on the links given bellow.

Escort services in Mumbai
Escort services in Puri
Escort services in Cuttack

Escort services in Bhubaneswar
Escort services in Gurgaon
Escort services in Gurgaon

Escort services in Jaipur
Escort services in Jaipur
Escort services in Jaipur

If you are interested in me and my ideology ,then you are invited to my bed. Just go ahead !
***********************************************************************************************************

Archana The best Call Girl said...

********************************************************************************************************
Hi friends ! I'm Archana Kumari. I like to have bed relationship with different persons rather than with a single man for the whole of life. Not only is this my notion , but also is this fact that the secret organs are made for enjoyment. Please follow me on the links given bellow.

Escort services in Jaipur
Escort services in Mumbai
Escort services in Bangalore

Escort service in Mumbai
Escort service in Puri
Escort service in Cuttack

Escort service in Bhubaneswar
Escort service in Gurgaon
Escort service in Gurgaon

If you are interested in me and my ideology ,then you are invited to my bed. Just go ahead !
***********************************************************************************************************

ahmed said...

عدم تعرضها إلى التجريح أو الخدش مثلما يتم العناية بالأجهزة الكهربائية والتحف ومختلف أشكال الزجاج بأحجامه حيث يتوافر عند المؤسسة مختلَف أشكال التغليف وبأسعار التكلفة وعند دعوة الزبون يتم توجه الفريق إلى الموضع وتغليف جميع المنقولات على حسب رغبة الزبائن .شركة نقل عفش
شركة نقل عفش من الرياض الى الامارات

شركة نقل اثاث من الرياض الى الامارات
شركة نقل عفش ببريدة

Admin said...
This comment has been removed by the author.
Admin said...

I Saw Your Website Carefully. Thanks For Create Such Kind Of Informative Website.Just continue composing these kind of posts....

DAVV BA 2nd Year Result

HPU BA Part 1 Result

r said...

Aishika Roy Book Kolkata Escorts & Kolkata Call Girls 9874341001 is a very charming girl working as Independent Escort in Kolkata.

Model Escort in Kolkata

College Escort in Kolkata

Escort in Kolkata

Vip Escort in Kolkata

Celeberty Escort in Kolkata

Celeberty Escort in Kolkata

Celeberty Escort in Kolkata

Model Escort in Kolkata

College Escort in Kolkata

Escort in Kolkata

Vip Escort in Kolkata

Celeberty Escort in Kolkata

Celeberty Escort in Kolkata

Celeberty Escort in Kolkata

Ankita Tiwari said...

Kolkata Independent Escorts
Kolkata Escorts
Kolkata Escort
Kolkata Escort Service
Kolkata Independent Escort
Kolkata Female Escorts
Kolkata Hotel Escorts
Kolkata Model Escorts
Kolkata Call Girls
Kolkata Call Girl

Kolkata Vip Escorts
Kolkata High profile Escorts
Kolkata College Escorts
Kolkata independent model Escorts
Kolkata call girls Escorts
Kolkata cheep Escorts
Kolkata call girls number Escorts
kolkata high profile escorts
kolkata air hostress escorts
kolkata park hotel escorts
kolkata park hotel escorts


kolkata five star escort service
kolkata housewife escort service
kolkata boudhi escorts
independent escorts kolkata
kolkata escort agency
kolkata park hotel escorts

kolkata bengali girls escorts
kolkata incall escort service
kolkata outcall escort service
kolkata hotel escort service
kolkata local escorts service
housewife escort service in kolkata
sexy call girls kolkata
kolkata air port escort service
kolkata model agency escorts

Ankita Tiwari said...

shapoorji Escort Service
shapoorji Escort
shapoorji Escorts

asansol Escort
asansol Escorts
asansol Escort service
asansol call girls
asansol indepndent Escorts


durgapur Escort
durgapur Escorts
durgapur call girls
durgapur Escort Service
durgapur independent Escorts

bansdroni Escorts
bansdroni Escort
bansdroni Escort Service
bansdroni Call Girls
bansdroni Independent Escorts

barrackpore Escort
barrackpore Escorts
barrackpore Escort service
barrackpore call girls
barrackpore independent Escorts

Ankita Tiwari said...

behala Escorts
behala Escort service
behala call girls
behala Escort
behala independent Escorts

belgachia Escorts
belgachia Escort
belgachia Escort service
belgachia call girls
belgachia independent Escorts


bidhan-nagar call girls
bidhan-nagar Escorts
bidhan-nagar Escort
bidhan-nagar Escort Service
bidhan-nagar Independent Escorts
bidhan-nagar Female Escorts


chetla Escort
chetla Escorts
chetla Escort Service
chetla Independent Escorts
chetla call girl
chetla call Escorts

chinar park Escort
chinar park Escorts
chinar park Escort service
chinar park call girls
chinar park independent Escorts
chinar park female Escorts

Ankita Tiwari said...

dumdum Escorts
dumdum Escort
dumdum Escort service
dumdum call girls
dumdum female Escorts
dumdum independent Escorts


siliguri independent Escorts
siliguri Escorts
siliguri Escort
siliguri call girls
siliguri Escort service
siliguri model Escorts

kalyani Escorts
kalyani Escort
kalyani Escort service
kalyani call girls
kalyani independent Escorts


new alipore Escorts
new alipore Escort
new alipore Escort service
new alipore call girls
new alipore independent Escorts

rajarhat Escort
rajarhat Escorts
rajarhat Escort Service
rajarhat Call Girls

Ankita Tiwari said...

rajarhat Female Escorts
rajarhat independent Escort

sealdha Escorts
sealdha Escort service
sealdha Escort
sealdha call girls
sealdha independent Escorts
sealdha Escort call girl
sealdha female Escorts
darjeeling Escorts
darjeeling Escort
darjeeling Escorts service
darjeeling call girls
darjeeling independent Escorts
darjeeling female Escorts

Kolkata Russian Escorts
Kolkata Russian Escort
Kolkata Russian Escort Service
Kolkata Russian Call Girls
Kolkata Russian Independent Escorts

Kolkata Housewife Escorts
Kolkata Housewife Escort
Kolkata Housewife Escort Service
Kolkata Housewife Call Girls
Kolkata Housewife independent Escorts
Kolkata Housewife model Escorts

Ankita Tiwari said...

Kolkata hotel Escorts
Kolkata hotel Escort
Kolkata hotel Escort service
Kolkata hotel call girls
Kolkata hotel call girl Escorts


kolkat bengali call girls
kolkat bengali escorts
kolkat bengali escort
kolkat bengali escort service
kolkat bengali independent call girls
kolkat bengali model call girls


ultadanga call girls
ultadanga escorts
ultadanga escort
ultadanga independent escorts
ultadanga escort service
ultadanga escort agency


ultadanga escorts
ultadanga escort
ultadanga escort service
ultadanga call girls
ultadanga independent escorts
ultadanga female escorts

Ankita Tiwari said...

lake town escorts
lake town escort
lake town escort service
lake town independent escorts
lake town female escorts
lake town call girls


belghoria escorts
belghoria escort
belghoria escort service
belghoria independent escorts
belghoria call girls

budge budge escorts
budge budge escort service
budge budge escort
budge budge call girls
budge budge independent escorts

baguiati escorts
baguiati call girls
baguiati escort
baguiati escort service
baguiati independent escorts

tagore park escorts
tagore park escort
tagore park escort service
tagore park call girls
tagore park independent escorts

baruipur escorts
baruipur call girls
baruipur escort
baruipur escort service
baruipur independent escorts escorts

Ankita Tiwari said...

science city escorts
science city escort
science city escort service
science city call girls
science city female escorts
science city independent escorts

incall escort escorts
incall escort escort service
incall escort call girls
incall escort escort
incall escort escort agency
incall escort independent escorts



incall outcall escorts
incall outcall escort
incall outcall escort service
incall outcall call girls
incall outcall independent escorts
incall outcall female escorts


air hostess escorts
air hostess escort
air hostess escort service
air hostess call girls
air hostess female escorts
air hostess independent escorts

Ankita Tiwari said...

barabazar escorts
barabazar escort
barabazar escort service
barabazar call girls
barabazar female escorts
barabazar independent escorts

beliaghata escorts
beliaghata escort
beliaghata escort service
beliaghata independent escorts
beliaghata call girls
beliaghata female escorts


sonagachi escorts
sonagachi escort
sonagachi escort service
sonagachi call girls
sonagachi independent escorts

kolkata-college escorts
kolkata-college escort
kolkata-college escort service
kolkata-college independent escorts
kolkata-college call girls

angelisaka97 said...

Permainan poker pastinya banyak di kalangan remaja hingga dewasa yang sangat menggemari permainan poker, apalagi dalam 1 id game ada banyak permainan kartunya silahkan kunjungi situs kami untuk merasakan kenyamanan dalam bermain.

poker deposit pulsa

idn poker deposit pulsa

idn poker deposit pakai pulsa

cara deposit poker pakai pulsa

cara deposit idn poker pakai pulsa


download poker IDNPLAY

download idn poker versi 2.1.0

idn poker apk versi terbaru

idn poker apk versi 2.1.0

aplikasi idn poker versi 2.1.0


cara login poker idnplay

cara login idnplay

cara login IDN Poker

link login idn poker

link login idn play

link login poker idnplay

cara masuk akun IDNPLAY

cara masuk akun poker


download idn poker apk 77

cara download aplikasi poker

cara download apk idn poker

cara download idn poker 77

cara download idn poker apk

aplikasi judi kartu

judi kartu online


aplikasi idn poker

apk idn poker

a2ss said...

On the website's page, you will see your description,
why not read this. Thank you, visit my site
cerdaspoker
depoqq
dewakiukiu
doyan99
enjoyqq
esiapoker
gampangqq
garampoker
gemilangpoker
giatqq

Unknown said...

CALL GIRL IN BANGALORE
ESCORT IN BANGALORE
CALL GIRL SERVICE IN BANGALORE
BANGALORE ESCORT
CALL GIRL IN BANGALORE
ESCORT IN BANGALORE
CALL GIRL SERVICE IN BANGALORE
BANGALORE ESCORT
ESCORT IN BANGALORE
ESCORT IN BANGALORE
CALL GIRL SERVICE IN BANGALORE
BANGALORE ESCORT
ESCORT IN BANGALORE
ESCORT IN BANGALORE
CALL GIRL SERVICE IN BANGALORE
BANGALORE ESCORT
ESCORT IN BANGALORE
ESCORT IN BANGALORE
CALL GIRL SERVICE IN BANGALORE
BANGALORE ESCORT
ESCORT IN CHENNAI
CALL GIRL IN CHENNAI
ESCORT SERVICE IN CHENNAI
CHENNAI ESCORT SERVICE
ESCORT IN HYDERABAD
CALL GIRL IN HYDERABAD
ESCORT SERVICE IN HYDERABAD
HYDERABAD ESCORT
ESCORT SERVICE IN MUMBAI
ESCORT IN MUMBAI
CALL GIRL IN MUMBAI
MUMBAI ESCORT
ESCORT IN PUNE
ESCORT SERVICE IN PUNE
CALL GIRL IN PUNE
PUNE ESCORT
ESCORT IN GOA
ESCORT SERVICE IN GOA
CALL GIRL IN GOA
GOA ESCORT
ESCORT IN KOLKATA
ESCORT SERVICE IN KOLKATA
CALL GIRL IN KOLKATA
KOLKATA ESCORT

salma said...


شركة شحن من الرياض الى مصر اسرع شركة شحن لمصر

nila said...

qiuqiu99
zonakiu.info
camarqq
pesiarqq
juraganqq
nikmatqq
memoriqq
wededomino
winnipoker
https://kronospoker.biz

nila said...

cebanqq
hebatqq
ladangqq
ladangqq
nikmatqq
championqq
cebanqq
cebongqq
http://199.188.201.133/
qiuqiu99

nila said...

senyumqq
tirtaqq
tulisqq
zonaidr99.com
http://199.188.201.133/sahabatqq/
http://sahabatqq99.online/
http://zonaidr99.com/
http://162.213.251.13/
http://162.213.255.117/
http://zonadomino99.com/

casinoxo said...

เกมส์สุดแสนมหัศจรรย์ สล็อต live22 เครดิตฟรี 2020
https://www.slot4u.com/live22

Maerouf said...

تصميم مواقع
تصميم موقع الكترونى
برمجة تطبيقات الجوال
حجز دومين سعودى
تصميم موقع حراج
سيرفر

الرياض
تصميم تطبيقات الجوال
دومين
استضافة سعودية

Shawn Michaels said...

In this day and age, email correspondence has become the most noteworthy piece of the present business. The truth of the matter is that we can’t live without email administrations and the vast majority of our budgetary exchanges rely upon it.
||https://roadrunneremailservice.com/
||https://roadrunneremailservice.com/roadrunner-support-number/
||https://roadrunneremailservice.com/roadrunner-customer-service/
||https://roadrunneremailservice.com/roadrunner-technical-support/
||https://roadrunneremailservice.com/roadrunner-email-settings/
||https://roadrunneremailservice.com/roadrunner-email-password-reset/
||https://roadrunneremailservice.com/roadrunner-email-problems/

Callgirlszirakpur said...

Nice Post
Call Girls in Zirakpur
Mohali Call Girls
Chandigarh Call Girl
Escorts Service in Chandigarh
Escorts Service in Zirakpur
Russian Escorts in Chandigarh
Zirakpur Escorts Service

Unknown said...



If you want a babe from the house of Russian Escorts in Agra there are a few things you should know well before making a booking. Firstly our agency here at your city. In simple words is a cut above the rest because of the highly professional services we provide to our clients. Check our other Services...
Escorts in Agra
Escorts in Agra
Female Escorts in Agra
Female Escorts in Agra
Russian Escorts in Agra

Prasad said...

The great thing about this post is quality information. I always like to read amazingly useful and quality content. Your article is amazing, thank you for sharing this article mi offers redmi offers

Nino Nurmadi , S.Kom said...

ninonurmadi.com
ninonurmadi.com
ninonurmadi.com
ninonurmadi.com
ninonurmadi.com
ninonurmadi.com
ninonurmadi.com
ninonurmadi.com
ninonurmadi.com

rima said...

siliguri escorts
siliguri escort
siliguri female escorts
siliguri escort service



siliguri escorts
siliguri escort
siliguri female escorts
siliguri escort service



siliguri escorts
siliguri escort
siliguri female escorts
siliguri escort service



siliguri escorts
siliguri escort
siliguri female escorts
siliguri escort service



siliguri escorts
siliguri escort
siliguri female escorts
siliguri escort service

Admin said...

sushant Singh Rajput Last Movie Dil Bechara 2020 Download HDRip
Dil Bechara 2020 FHD Download Here

Jaipur Escort said...

Hire most gentle ladies by availing Jaipur Escorts Services at cheap rate. Call me to connect with most sensuous escort girls in Jaipur 24/7 availability.


Thanks For Sharing The Amazing content. I Will also share with my friends. Great Content thanks a lot.

Dofollow Click Here

Percentage Formula said...

To get cashback on your online shopping visit the Best cashback website in India and to get Entertainment news visit the Best Entertainment website in India:)

slot said...

this game is good สมัครpg
this game is good joker123
this game is good pg slot ทดลองเล่น
this game is good pg auto
this game is good joker gaming
this game is good pgslot

Gurgaon escort said...


Find ladies in Jaipur for incalls or outcalls escort services. Book young and friendly companions 24/7. A huge choice of independent and agency girls in Jaipur.

Dofollow Click Here

Gurgaon escort said...

Are you looking for CALL GIRLS in Jaipur and escort service? independent call girls in Jaipur.
https://escortservicesinjaipurcity.com/
https://escortservicesinjaipurcity.com/escort-service-in-jaipur/
https://escortservicesinjaipurcity.com/jaipur-escorts/
https://escortservicesinjaipurcity.com/jaipur-escort-service/
https://escortservicesinjaipurcity.com/jaipur-call-girls-service/
https://escortservicesinjaipurcity.com/contact-us-jaipur-call-girls/

Dofollow Click Here

Ravika Singh said...

Female Jaipur Escorts, get hot and sexy call girls from our escorts agencies and feel exciting moments in a pleasant ... Jaipur Erotic massage Escort Service.
https://escortservicesinjaipurcity.com/
https://escortservicesinjaipurcity.com/escort-service-in-jaipur/
https://escortservicesinjaipurcity.com/jaipur-escorts/
https://escortservicesinjaipurcity.com/jaipur-escort-service/
https://escortservicesinjaipurcity.com/jaipur-call-girls-service/
https://escortservicesinjaipurcity.com/contact-us-jaipur-call-girls/

Call Girls in Jaipur

Unknown said...

สล็อตjoker สล็อตxo lucky panda แพนด้าทองมาเต็มจอ แตก!! 16,000+

Unknown said...

Very Good Game Pgslotแจกเครดิตฟรี

Very Good Game Pgslotแจกสูตรสล็อต

Very Good Game Pgslotแจกสูตรทำเงิน

Very Good Game Pgslotแจกสูตรเข้าโบนัส

Very Good Game Pgslotแจกสูตรแตกดี

Saniya said...

La méthode la plus connue de regroupement des groupes sanguins est le système Types de groupes sanguins expliqués – A, B, AB et O.

Unknown said...

สล็อตPG PGSLOT Secrets of Cleopatra ซื้อฟีเจอร์ 150 เบทต่ำสุดใน PG ได้ตัวคูณถึง 77 เท่า!!

Unknown said...

สล็อตPG PGSLOT เกม Secret of Cleopatra ซื้อฟีเจอร์300 ได้มา20ฟรีสปิน!!! เห้ยยยยย

Unknown said...

Very Good Game Pgslotแจกเครดิตฟรี

Very Good Game Pgslotแจกสูตรสล็อต

Very Good Game Pgslotแจกเทคนิคทำกำไร

Very Good Game Pgslotสูตรทุนน้อย

Very Good Game Pgslotแจกสูตรแตกยับ

Unknown said...

สล็อตPG PGSLOT treasure of aztec แตกเยอะจนนึกว่าแจกฟรี

Unknown said...

สล็อตPG PGSLOT Dreams of macau กดเองไม่ซื้อฟีเจอร์ เกมฮิต เกมยอดนิยมในPG แตกยับๆ

Chinkiminki said...

Jaipur Escorts Service is offering High-profile VIP Call Girls in Jaipur at cheap rates. Book hottest Escort in Jaipur to avail access of erotic Girls and female models.
Jaipur Escorts

Chinkiminki said...

Dehradun Escorts
Dehradun Escorts
Call Girls In Karnal
Chandiagrh Escort
Chandiagrh Escorts Agency

Chinkiminki said...

Chandiagrh Escorts
Jodhpur Escorts Service
Chandiagrh Escorts Service
Jaipur Escorts Agency

Unknown said...

Dafabet : Safari Gold ซื้อโบนัสเกม 1000บาท แตกโคตรโหด เกมโคตรมันส์ กำไรโคตรดี!!!

Unknown said...

Very Good Game แจกเครดิตสล็อตpg

Very Good Game แจกเครดิตสล็อตpg

Very Good Game แจกเครดิตสล็อตpg

Very Good Game สูตรPgslot

Very Good Game สูตรPgslot

Unknown said...

Good Game ufabetแจกเครดิต

Good Game ufabetสล็อตทำเงิน

Good Game ufabetแจกเครดิต

Good Game ufabetสล็อตทำเงิน

Good Game ufabetแจกเครดิต

ophils said...

Cash App is an electronic payment service application. Its mainly used for transferring and receiving money.

In the US, many local shops accept payments through the app.

It is arguably the simplest means for keeping, receiving and sending money to families and friends.
http://cashapphelp.online/
http://cashapphelp.support/

naamtoeii said...

I read a short description of how Python's lexer works slotxo

naamtoeii said...

Its mainly used for transferring and receiving money. pg slot

naamtoeii said...
This comment has been removed by the author.
naamtoeii said...

Very Good Game autojokergame

Unknown said...

Goog Game สล็อตufa

Goog Game สล็อตufa

Goog Game สล็อตufa

Goog Game สล็อตufabet

Goog Game สล็อตufabet

Unknown said...

Good game pg slot game

Good game pg slot game

Good game pg slot auto

Good game pg slot auto

naamtoeii said...

Things went fairly smoothly at first. I read a short description of how Python's lexer works pg slot

Unknown said...

Slot Game SUPERSLOT

Slot Game SLOT

Slot Game SLOTPG

Unknown said...

superslot
pg auto
joker
sexygame
jokergames
สล็อต ทุกค่ายเกม

Unknown said...

Funny Game SUPERSLOT

Slot Game SLOT

Good Game SLOTPG

Unknown said...

Very Good Game superslot

Very Good Game สล็อตpg

ป๋าถอก said...

I think it is very helpful. And thought that it could be applied as well pgslot
I think it is very helpful. And thought that it could be applied as well joker gameing
I think it is very helpful. And thought that it could be applied as well pgslot
I think it is very helpful. And thought that it could be applied as well sexygame
I think it is very helpful. And thought that it could be applied as well amp poker

tiger said...

good game superslot

Unknown said...


Get free bonus 100%.New online slots game Online slot betting

this game is good SUPER SLOT

this game is good PGSLOT

Unknown said...

Slot Game SLOT

Unknown said...

Good game ซุปเปอร์สล็อต

Unknown said...

Funny Game Click Here! SUPERSLOT

Unknown said...

This game is very good Pg auto SECRETS OF CLEOPATRA NEW GAME

Unknown said...

good game สล็อต PG แจกสูตรฟรีสปิน รับรองว่าเด็ด

Unknown said...

Slot Game SLOTPG

Unknown said...

Slot Game Click Here! SLOT

Unknown said...

Funny Game Click Here! SUPERSLOT

Unknown said...

Good game SUPER SLOT สูตรแตกง่าย เพิ่มเติม

Unknown said...

Get free bonus 100%
New online slots game Online slot betting
This game is very good pg game slot ดูเพิ่มเติม

Unknown said...

good game สล็อตxo สล็อตแจกเครดิตฟรี

tiger said...

Great blog content good game ซื้อฟรีสปินpg

ป๋าถอก said...

slothttps://pgslot-game.com

ป๋าถอก said...

สล็อตhttps://superslot.game/

ป๋าถอก said...

slotwww.slotxocasino.net

ป๋าถอก said...

sexygame1688https://www.sexygame.game/

Unknown said...

good job superslot สล็อตออนไลน์ที่ดีที่สุด

Unknown said...

good job superslot เกมสล็อตยอดฮิต

ป๋าถอก said...

slothttps://pgslot-game.com

ป๋าถอก said...

สล็อตhttps://superslot.game/

ป๋าถอก said...

slotwww.slotxocasino.net

ป๋าถอก said...

sexygame1688https://www.sexygame.game/

ป๋าถอก said...

แจกเครดิตฟรีhttp://superslot.games

Unknown said...

good game ซุปเปอร์สล็อต สล็อตทุนน้อยแตกโหด สนใจคลิ๊ก

Unknown said...

Slot Game CLICK HERE!

Unknown said...

good job สล็อตPG เกมสล็อตฟรีสปินโหด เพิ่มเติมคลิ๊ก

Unknown said...

Very Good Job pg slot ฟรีเครดิต 50 ดูเพิ่มเติม

Unknown said...

good job สล็อตjoker เกมใหม่แตกดี สนใจคลิ๊ก

Unknown said...

Funny Game Click Here! SUPERSLOT

Unknown said...

Slot Game สล็อตPG

Unknown said...

Very Good Job สูตรสล็อตฟรี2020 ดูเพิ่มเติม

Unknown said...

Slot Game CLICK HERE!

Unknown said...

good job สล็อตjoker สล็อตยอดฮิต เพิ่มเติม

Unknown said...

Very Good Job superslot ฟรี50 ดูเพิ่มเติม

Unknown said...

good job ซุปเปอร์สล็อต รีวิวเกมใหม่โคตรดี เล่นเกมคลิ๊ก

Unknown said...

good job สล็อตPG เกมใหม่แตกดี ดูเพิ่มเติมคลิ๊ก

Unknown said...

Very Good Job SLOT ฟรีเครดิต ไม่ต้องฝาก ดูเพิ่มเติม

Unknown said...

very good superslot รีวิวสล็อตเกมดัง เล่นเกมคลิ๊ก

Unknown said...

Very Good Job super slot เครดิตฟรี 50 ดูเพิ่มเติม

Unknown said...

good job PGสล็อต สล็อตซื้อฟรีสปิน ดูเพิ่มเติม

Unknown said...

Very Good Job สล็อตpg เครดิตฟรี ดูเพิ่มเติม

Unknown said...

good game ซุปเปอร์สล็อต เเกมสล็อตแตกเร็ว คลิ๊ก

Unknown said...

Very Good Job pg slot แตกง่าย คลิกดูเพิ่มเติม

Unknown said...

very good Slotxocasino สมัครรับโบนัส 100% คลิ๊ก

Unknown said...

Very Good Job
PG SLOT superslot โปร50 คลิกเล่นเกม

Unknown said...

Very Good Job superslot โปร50 คลิกเล่นเกม

Unknown said...

Very Good Job สล็อตpg ฝาก100 รับ100 คลิกเล่นเกม

jono kerasta said...

Berita Aktual

Best Poker Online in Asia

Unknown said...

very good PGสล็อต แปะนอนเกมฮิตแตกง่าย ดูเพิ่มเติม

Unknown said...

good job ซุปเปอร์สล็อต ทุนน้อยแตกยับ ดูเพิ่มเติม

Unknown said...

Very Good Job สล็อตpg โปร100% คลิกเล่นเกม

Unknown said...

good game สล็อตPG เวลานี้ต้องเกมจินนี่ ดูเพิ่มเติม

Unknown said...

good job สล็อตPG ทุน300แตกหมื่น ดูเพิ่มเติม

Unknown said...

new game ทางเข้า pg slot auto

Unknown said...

Very Good Job ซุปเปอร์สล็อต แจกหนัก คลิกเล่นเกม

Unknown said...

very good เกมใหม่ล่าสุด PGSLOT สนใจคลิ๊ก

Unknown said...

Very Good Game พีจีสล็อต แจกสูตรสล็อต สนใจคลิ๊ก

Unknown said...

good game PGSLOT แจกสูตรสล็อตแปะนอน คลิ๊ก

Unknown said...

Very Good Job ซุปเปอร์สล็อตแจกฟรี สนใจคลิก

ป๋าถอก said...

http://pgslot-game.comhttps://pgslot-game.com

ป๋าถอก said...

https://www.superslot.gamehttps://superslot.game/

ป๋าถอก said...

slotwww.slotxocasino.net

Unknown said...

good job สล็อตpg ทุนเยอะเบทสูง ดูคลิ๊ก

Unknown said...

Very Good game pg slot โปรโมชั่น100% สนใจคลิก

Unknown said...

Very Good Job pgslot สมัครใหม่โปร100 สนใจคลิก

Unknown said...

slot betting Get free bonus 100%
Very good game. pgslot auto ดูเพิ่มเติม

Unknown said...

very good game สล็อตpg รับโบนัส100% คลิ๊ก

Unknown said...

Very Good game PG GAME โปรโมชั่น 100% สนใจคลิก

Unknown said...

Very Good game PG GAME โปรโมชั่น 100% สนใจคลิก

Unknown said...

Very Good Job สล็อตPG เกมใหม่ Fortune Ox สนใจคลิก

Unknown said...

good job สล็อตPG แจกเทคนิคเกมคลีโอ คลิ๊ก

Unknown said...

very good สล็อตPG แจกเเครดิตฟรี คลิก

Maradona Jons said...

I am happy to visit here. Thanks to my friend who told me about this webpage, this blog is really awesome.

บาคาร่า
คาสิโนออนไลน์
พวงหรีด
รับทำ seo
ufabet
ufa


Maradona Jons said...

เว็บบอล
เว็บแทงบอล
โควิด
เรียนภาษาอังกฤษ
poker online
ufabet
ufa

Maradona Jons said...

wm casino
คลิปโป๊
คลิปxxx
คลิปโป๊ญี่ปุ่น
คลิปโป้ไทย
เรียนภาษาอังกฤษ
poker online

bloc said...

เกมออนไลน์ ยอดฮิต ตู้สล็อต
เกมออนไลน์ มาเก๊าคาสิโน
วิธีเล่นได้เงินจริง โทนี่ บลูม

bloc said...

เกมส์ออนไลน์ ยอดฮิต superslot168

bloc said...

สล็อตออนไลน์ superslot เครดิตฟรี50

bloc said...

เว็บเกมส์ออนไลน์ superslot เครดิตฟรี

bloc said...

เกมยิงสุดมันส์ superslot ฟรี50

bloc said...

สล็อตออนไลน์ superslot777

Unknown said...


สล็อต เกมส์ ไหนดี โบนัสแตกบ่อย 2021
ข่าวสารออนไลน์

Unknown said...

ทดลองเกมสล็อต
สังคม เกมออนไลน์

Unknown said...


เกมส์สล็อต ทดลองเล่น

Unknown said...


เกม สล็อต โร ม่า

Unknown said...


เกมส์สล็อต pg
การพนันออนไลน์

Admin said...

I appreciate you spreading the word.
BCom Exam Result 2021

Marco said...

escort girl japan

Unknown said...


slotxo joker
slot xo
Slot xo
gambling

Unknown said...


game-online
slotxo 444
slotxo
slotxo member

Unknown said...


news-day
slot Xo
slotxo wallet
slotxo gold

Unknown said...

เว็บเกมออนไลน์

Unknown said...


เกมy8

Thirstyme said...

Nice Blog post! This is a very informative blog that I will definitively come back to more times day by day! Thanks for all informative posts.
Noida Call Girls Service | Call Girls Service Delhi | Delhi Call Girls Service | High Profile Delhi Call Girls | Faridabad Call Girls | Call Girls in Ghaziabad

Aerocity Service said...

Paharganj Escorts
Dwarka Escorts
Russian Escorts Noida
Russian Escorts Delhi
Karol Bagh escorts
Delhi Escorts Service
Escorts in Delhi
Call girls in Delhi
Delhi escort
Aerocity Escorts

yaraplas said...

buy telegram auto post views adsmember
buy telegram channel members from adsmember will helps your business to growup!

Aradhya Mittal said...

Thanks for Sharing communicative blog for sexual pleasure Book today Jodhpur Escorts for knowing about our desirable Jodhpur Call Girls.

baku said...

Nice post. I used to be checking constantly this blog and I am impressed! Extremely useful info particularly the ultimate section 🙂 I take care of such information a lot. I was seeking this certain information for a long time. Thank you and best of luck.
the fault in our stars pdf

tinavermaclub1 said...



Zirakpur call girls
Call girls in Zirakpur
Zirakpur escorts
Zirakpur VIP Escorts
VIP escorts in Zirakpur
Zirakpur independent escorts
Independent escorts in Zirakpur
Zirakpur female escorts
Zirakpur russian escorts
Russian escorts in Zirakpur
Escorts in Zirakpur
Escorts service in Zirakpur
Zirakpur escort
Female escorts in Zirakpur
Call girls in Chandigarh

Ritika Kamboj said...

This is why you have to be very careful and attentive while looking for the best service provider who can provide you with the best Mahipalpur Escort Service.
Click Here: - Mahipalpur Escorts
Click Here: - Mahipalpur Escorts
Click Here: - Mahipalpur Escorts

Mahipalpur Dating Online said...

Hi, guys, I am here for a friendship motive, if you are alone and looking for a friendship motive then, in this case, you will get my contact number because above details about me you can find it through my professional website, here I am going to update short information about Gurgaon Dating girls that are the part of entertainment service so please see the website and know properly about them, here to meet a specific gal for dating purpose, kindly see the website and know properly in this case, just visit my website.
Call Girls Service Gurgaon

Lajpat Nagar Escorts said...

We are serving our splendid escorts in Vasant Vihar. This is the residency of posh and capable people. The whole spot contains extravagances in its road and you should know how you can profit from these highlights. In the event that we talk about the environment of that spot, it is so flawless here. It will make your intercourse remarkable with Vasant Vihar Escorts young ladies.

teenachhetri said...

We proudly welcome our clients to our prestigious Shehnazgill.in escort agency. We understand the needs and expectation of a man.

Sexy Escorts In Amritsar
Independent Amritsar

teenachhetri said...

We proudly welcome our clients to our prestigious Shehnazgill.in escort agency. We understand the needs and expectation of a man.
Female Escorts Service In Ludhiana
Female Escorts Service In Pathankot
Female Escorts Service In Kharar
Female Escorts Service In Bathinda
Female Escorts Service In Patiala

R1se Hluoluo said...

Park Vrana adalah tempat paling tenang di kota Sofia. Taman ini tetap jadi sisi dari halaman rumah punya bangsawan Simeon II yang adalah Tsar Bulgaria dari tahun 1943 sampai 1946.

Park Vrana cuman dibuka untuk umum tiap akhir minggu. https://jalan-setapak.com/ Pengunjung dapat mengeksplor semua sisi taman seorang diri atau memakai layanan tur berpemandu. Sayang, pengunjung tidak diizinkan masuk bangunan tempat tinggal yang istimewa.

Riya Rai said...

Jodhpur Escorts Agency brings the best of Independent Jodhpur Call Girls at an entirely reasonable price. This encourages Jodhpurs Men to a monthly portion of sex and enjoys without upsetting their normal life.
Jodhpur Escorts | Escorts in Jodhpur | Jodhpur Call Girl | Call Girls in Jodhpur

Ishika Sharma said...

If you have any need for hot and Sexy Independent Delhi Escorts Girls for a company and all high-quality enjoyment then you have come to the right place and here our Delhi Escorts are all working and ready by 24 Hours of seven days a week to complete your all variety and special need with the complete best rate in all New Delhi and outstation.

Riya Rai said...

This is an amazing article. I visit first time here and read each and every point of your article. Thank you for your awesome work.
Welcome to my personal website!
Dwarka Escorts | Dwarka Escorts

Kavita Sharma said...

Enjoyed reading this article. Thanks for posting.
Surat Escorts | Nainital Escorts | Noida Escorts

khushisinha said...

Dharamshala escorts for a romantic hookup. When you consider the call girls that are mind-blowing for the ultimate performance, then hookup might just be the right choice for you. If you are going with escort girls for the first time then you don't have to panic because our escort girls put your safety first.
Karol Bagh Escorts
Amritsar Escorts
Amritsar Escorts

Lajpat Nagar Escorts said...

They're capable with arranged sexy stunts that they use to utilize in bed to give you the best joy. Many grand air young ladies, running variants, sweet school young ladies, buxom housewives are associated with Celebrity Escorts Delhi NCR that you can enlist both or whenever on phone and outcall.

Shaina Dsuza said...

It is a fine level of pleasures gained in by you all to be in relation to the darlings here with our agency. Haridwar Independent call girls are the most desirable associates to be working well in provoking your moods.
VIP Haridwar Escort Service
VIP hot Call Girls in Haridwar

sweetiepatel said...

Hot Vip call girls in Ambala In any of the particular locations you wish to be linked to the well developed babes here with us, they are mostly adjustable to any environment.

High profile Ambala Escort Service
VIP high profile Ambala Escorts
High Profile Ambala call girls

Sargun Mehta said...

It would be some of the incredible moments of love and erotic fun with these passionate skilled partners over here.
CNN-News18 escorts in Chandigarh
Chandigarh escort service Arise News

Sargun Mehta said...

You can always be in advantageous position being linked to all of these horniest darlings here.
NewsNation Chandigarh escorts
TVB iNews escort service Chandigarh

Sargun Mehta said...

The Escorts in City can remain engaged to anyone owing to their skills and commitments all around.
Chandigarh escort Brigada News TV
escort service in Chandigarh ARY News

Sargun Mehta said...

The clients are seriously going to select the options from our escort agency leaving the others in the entire list.
Apna News Chandigarh escorts service
ABP News Chandigarh escorts service

Hot Rimpi said...

VIP Model Independent call girls in Mussoorie are therefore selected to be involved in the session of love giving their clients some incredible minutes of erotic romance.
VIP Independent mussoorie Escorts
mussoorie Call Girls
High Profile Call Girls in Mussoorie

Teri billo said...

Call girl Red Light Area in Chandigarh who may be an impressive model, the model who is really charming, sensual, lively and enticing.

Call Girls Red Light Area in Chandigarh Escorts Girls Services

Teri billo said...

Chandigarh Call Girls provides You Sexy and Hot Female Chandigarh Escorts Service at cheap rates.
Follow us:-
Hot Females in Your Bedroom by Chandigarh Call Girls Services
Call Girls in Chandigarh Escorts Rate 1500 With Room
Independent Call Girls in Chandigarh Escort Service

Bad Pari said...

The Amritsar Escorts can remain engaged to anyone owing to their skills and commitments all around.
Follow us:-

Bollywood Celebrity Escorts in Amritsar
Amritsar Escorts
Amritsar Escorts Service
Amritsar Call Girls
Amritsar Escorts Service
Call Girls In Amritsar

Hot Rimpi said...

Dehradun call girls are the most promising associates here to be appointed in for the session of romance. They do have the best of skills in eliminating all kinds of depressions from the minds of men.
Follow us:-

Dehradun Escorts
Dehradun Escorts Service
Call Girls in Dehradun
Dehradun Escorts Service

«Oldest ‹Older   1 – 200 of 271   Newer› Newest»