সিএসএস নয়, ইনফোফার হিসাবে আমি জানি, টুরিং সম্পূর্ণ। তবে সিএসএস সম্পর্কে আমার জ্ঞান খুব সীমিত।
- সিএসএস টিউরিং কি সম্পূর্ণ?
- ভাষা বৈশিষ্ট্য বিবেচনা করে বিদ্যমান কোন খসড়া বা কমিটিগুলির মধ্যে এমন কি এখনই না থাকলে টুরিংয়ের সম্পূর্ণতা সক্ষম করতে পারে?
সিএসএস নয়, ইনফোফার হিসাবে আমি জানি, টুরিং সম্পূর্ণ। তবে সিএসএস সম্পর্কে আমার জ্ঞান খুব সীমিত।
উত্তর:
আপনি সিএসএস 3-তে রুল ১১০ এ এনকোড করতে পারেন , তাই আপনি যতক্ষণ না উপযুক্ত কোনও এইচটিএমএল ফাইল এবং ব্যবহারকারীর ইন্টারঅ্যাকশনকে সিএসএসের "সম্পাদন" এর অংশ হিসাবে বিবেচনা করেন ততক্ষণ ট্যুরিং-সম্পূর্ণ । একটি চমত্কার ভাল বাস্তবায়ন উপলব্ধ এবং অন্য বাস্তবায়ন এখানে অন্তর্ভুক্ত করা হয়েছে:
body {
-webkit-animation: bugfix infinite 1s;
margin: 0.5em 1em;
}
@-webkit-keyframes bugfix { from { padding: 0; } to { padding: 0; } }
/*
* 111 110 101 100 011 010 001 000
* 0 1 1 0 1 1 1 0
*/
body > input {
-webkit-appearance: none;
display: block;
float: left;
border-right: 1px solid #ddd;
border-bottom: 1px solid #ddd;
padding: 0px 3px;
margin: 0;
font-family: Consolas, "Courier New", monospace;
font-size: 7pt;
}
body > input::before {
content: "0";
}
p {
font-family: Verdana, sans-serif;
font-size: 9pt;
margin-bottom: 0.5em;
}
body > input:nth-of-type(-n+30) { border-top: 1px solid #ddd; }
body > input:nth-of-type(30n+1) { border-left: 1px solid #ddd; clear: left; }
body > input::before { content: "0"; }
body > input:checked::before { content: "1"; }
body > input:checked { background: #afa !important; }
input:not(:checked) +
*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+
input::before {
content: "1";
}
input:not(:checked) +
*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+
input {
background: #fa0;
}
input:checked +
*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+
input::before {
content: "1";
}
input:checked +
*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+
input {
background: #fa0;
}
input:checked +
*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+
input::before {
content: "1";
}
input:checked +
*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+
input {
background: #fa0;
}
input:checked + input:checked + input:checked +
*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+
input::before {
content: "0";
}
input:checked + input:checked + input:checked +
*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+
input {
background: #fff;
}
input:not(:checked) + input:not(:checked) + input:not(:checked) +
*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+
input::before {
content: "0";
}
input:not(:checked) + input:not(:checked) + input:not(:checked) +
*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+
input {
background: #fff;
}
body > input:nth-child(30n) { display: none !important; }
body > input:nth-child(30n) + label { display: none !important; }
<p><a href="http://en.wikipedia.org/wiki/Rule_110">Rule 110</a> in (webkit) CSS, proving Turing-completeness.</p>
<!-- A total of 900 checkboxes required -->
<input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/><input type="checkbox"/>
টুরিং সম্পূর্ণতার একটি দিক হ'ল সমস্যাটি ।
এর অর্থ এই যে, যদি সিএসএস টিউরিং সম্পূর্ণ হয়, তবে কোনও সিএসএস প্রোগ্রাম চিরতরে চলবে বা লুপ শেষ করবে কিনা তা নির্ধারণের জন্য কোনও সাধারণ অ্যালগরিদম নেই ।
তবে আমরা সিএসএসের জন্য এ জাতীয় একটি অ্যালগরিদম অর্জন করতে পারি! এটা এখানে:
স্টাইলশিট যদি কোনও অ্যানিমেশন ঘোষণা না করে তবে তা বন্ধ হয়ে যাবে।
যদি এটিতে অ্যানিমেশন থাকে তবে:
যদি কোনও animation-iteration-count
হয় infinite
, এবং ধারণকৃত নির্বাচকটি এইচটিএমএলে মেলানো থাকে, তবে এটি থামবে না ।
অন্যথায়, এটি বন্ধ হয়ে যাবে।
এটাই. যেহেতু আমরা ঠিক CSS এর জন্য বিরাম সমস্যার সমাধান বোঝা যায় যে সিএসএস হয় না টুরিং সম্পূর্ণ ।
(অন্যান্য লোকেরা আই আই 6 উল্লেখ করেছেন, যা সিএসএসে স্বেচ্ছাসেবী জাভাস্ক্রিপ্ট এক্সপ্রেশনগুলি এম্বেড করার অনুমতি দেয়; এটি স্পষ্টতই টুরিংয়ের সম্পূর্ণতা যুক্ত করবে But তবে সেই বৈশিষ্ট্যটি মান -হীন নয়, এবং তাদের সঠিক মনের কেউ এটিকে যাইহোক ব্যবহার করে না))
ড্যানিয়েল ওয়াগনার এমন একটি বক্তব্য নিয়ে এসেছিলেন যা আমি আসল উত্তরে মিস করেছি। তিনি নোট করেছেন যে আমি অ্যানিমেশনগুলি কভার করার সময় স্টাইল ইঞ্জিনের অন্যান্য অংশ যেমন সিলেক্টর ম্যাচিং বা লেআউটও ট্যুরিং সম্পূর্ণতার দিকে নিয়ে যেতে পারে। যদিও এগুলি সম্পর্কে একটি আনুষ্ঠানিক যুক্তি তৈরি করা কঠিন, তবুও আমি টেক্সিংয়ের সম্পূর্ণতার সম্ভাবনা কম কেন তা রূপরেখার চেষ্টা করব।
প্রথম: টিউরিং সম্পূর্ণ ভাষাগুলির কাছে পুনরায় পুনর্বিবেচনা বা লুপিংয়ের মাধ্যমেই তথ্য ফিরিয়ে দেওয়ার কিছু উপায় রয়েছে of তবে সিএসএস ভাষার নকশা এই প্রতিক্রিয়াটির বিরুদ্ধ:
@media
অনুসন্ধানগুলি কেবল ব্রাউজারের নিজস্ব বৈশিষ্ট্যগুলি দেখতে পারে যেমন ভিউপোর্টের আকার বা পিক্সেল রেজোলিউশন। এই বৈশিষ্ট্যগুলি ব্যবহারকারী ইন্টারঅ্যাকশন বা জাভাস্ক্রিপ্ট কোডের মাধ্যমে পরিবর্তিত হতে পারে (যেমন ব্রাউজার উইন্ডোর আকার পরিবর্তন), তবে কেবল সিএসএসের মাধ্যমে নয়।
::before
এবং ::after
সিউডো-উপাদানগুলি ডিওমের অংশ হিসাবে বিবেচনা করা হয় না এবং অন্য কোনও উপায়ে এটি মিলানো যায় না।
নির্বাচক সংযোজকরা কেবলমাত্র বর্তমান উপাদানের উপরে এবং তার আগে উপাদানগুলি পরীক্ষা করতে পারে, তাই এগুলি নির্ভরতা চক্র তৈরি করতে ব্যবহার করা যায় না।
আপনি যখন কোনও উপাদানকে ঘুরে দেখেন তখন দূরে সরিয়ে নেওয়া সম্ভব হয় তবে আপনি মাউসটি সরিয়ে নিয়ে গেলে অবস্থানটি কেবল আপডেট হয়।
এটি আপনাকে বোঝানোর জন্য যথেষ্ট হতে হবে যে নির্বাচকের ম্যাচটি নিজেই, টিউরিং সম্পূর্ণ হতে পারে না । তবে লেআউট সম্পর্কে কী?
আধুনিক সিএসএস লেআউট অ্যালগরিদম খুব জটিল, যেমন ফ্লেক্সবক্স এবং গ্রিড জলকে জলাবদ্ধ করে তোলে । লেআউট সহ অসীম লুপটি ট্রিগার করা সম্ভব হলেও দরকারী গণনা সম্পাদন করার জন্য এটির পক্ষে উত্তোলন করা শক্ত hard কারণ সিএসএস নির্বাচকরা কেবল ডিওএমের অভ্যন্তরীণ কাঠামো পরিদর্শন করেন, এই উপাদানগুলি কীভাবে স্ক্রিনে রাখা হয় তা নয়। সুতরাং লেআউট সিস্টেমটি ব্যবহার করে যে কোনও টুরিং সম্পূর্ণতার প্রমাণটি কেবলমাত্র লেআউটের উপর নির্ভর করে ।
শেষ পর্যন্ত - এবং এটি সম্ভবত সবচেয়ে গুরুত্বপূর্ণ কারণ - ব্রাউজার বিক্রেতাদের সিএসএস টুরিং সম্পূর্ণ না রাখার আগ্রহ রয়েছে । ভাষা সীমাবদ্ধ করে, বিক্রেতারা চতুর অপ্টিমাইজেশনের জন্য মঞ্জুরি দেয় যা ওয়েবকে সবার জন্য দ্রুততর করে তোলে। তদতিরিক্ত, গুগল ক্রোমে বাগগুলি অনুসন্ধান করতে পুরো সার্ভার ফার্মকে উত্সর্গ করে । যদি CSS ব্যবহার করে অসীম লুপ লেখার কোনও উপায় থাকে, তবে তারা সম্ভবত এটি ইতিমধ্যে খুঁজে পেয়েছেন 😉
এই নিবন্ধ অনুযায়ী, এটি না । নিবন্ধটিও যুক্তিযুক্ত যে এটি একটি করা ভাল ধারণা নয়।
মন্তব্যের একটি থেকে উদ্ধৃতি দিতে:
সুতরাং, আমি বিশ্বাস করি না যে সিএসএস সম্পূর্ণরূপে টুরিং করেছে। সিএসএসে কোনও ক্রিয়া সংজ্ঞায়িত করার ক্ষমতা নেই। কোনও সিস্টেম টিউরিং-সম্পূর্ণ হওয়ার জন্য একটি দোভাষী লিখতে হবে: এমন একটি ফাংশন যা এক্সপ্রেশনগুলি ব্যাখ্যা করে যা প্রোগ্রামগুলি সম্পাদন করতে বোঝায়। সিএসএসের কোনও ভেরিয়েবল নেই যা ব্যবহারকারীর কাছে সরাসরি অ্যাক্সেসযোগ্য; সুতরাং আপনি সিএসএসে ব্যাখ্যা করার জন্য প্রোগ্রামটি উপস্থাপন করে এমন কাঠামোর মডেলও করতে পারবেন না।
টুরিং-সম্পূর্ণতা কেবল "সংজ্ঞায়িত ফাংশন" বা "হ'ল আইফএস / লুপস / ইত্যাদি" সম্পর্কে নয়। উদাহরণস্বরূপ, হাস্কেলের কাছে "লুপ" নেই, ল্যাম্বডা-ক্যালকুলাসের "ifs" নেই, ইত্যাদি ...
উদাহরণস্বরূপ, এই সাইট: http://experthuman.com/programming-with- কিছুই । লেখক রুবি ব্যবহার করেন এবং কেবল ক্লোজার (একটি স্ট্রিং, সংখ্যা বা এর মতো কিছু নেই) দিয়ে একটি "ফিজবজ" প্রোগ্রাম তৈরি করুন ...
লোকেরা কেবল টাইপ সিস্টেমটি ব্যবহার করে স্কালায় কিছু গাণিতিক ফাংশনগুলি গণনা করার জন্য উদাহরণ রয়েছে
সুতরাং, হ্যাঁ, আমার মতে, CSS3 + এইচটিএমএল টিউরিং-সম্পূর্ণ (এমনকি যদি আপনি তখন পাগল না হয়ে সত্যিকারের কোনও গণনাও করতে না পারেন)
এখানে মূল বিষয়টি হ'ল এইচটিএমএল + সিএসএসে লিখিত যে কোনও মেশিন কোড অসীম দীর্ঘ না হলে অসীম বহু পদক্ষেপের (যেমন কোনও "আসল" পুনরাবৃত্তি হতে পারে না) মূল্যায়ন করতে পারে না। আর প্রশ্ন হবে এই মেশিনের নাগালের কনফিগারেশন H
মধ্যে n
পদক্ষেপ বা তার কম সবসময় জবাবদিহি যদি n
সসীম হয়।
H
?" সর্বদা নির্ধারণযোগ্য এবং এটি টিউরিং সম্পূর্ণ নয়। সেলুলার অটোমেটনের একটি বাস্তবায়ন যা কেবলমাত্র সীমাবদ্ধ সংখ্যক পুনরাবৃত্তি করতে পারে তা কখনই সম্পূর্ণ নিরাময় হতে পারে না।
এই উত্তরটি সঠিক নয় কারণ এটি ইউটিএম এবং নিজেই ইউটিএম (ইউনিভার্সাল ট্যুরিং মেশিন) এর বিবরণ মিশ্রিত করে।
আমাদের কাছে ভাল উত্তর আছে তবে ভিন্ন দৃষ্টিকোণ থেকে এবং এটি বর্তমান শীর্ষ উত্তরে সরাসরি ত্রুটিগুলি দেখায় না।
সবার আগে আমরা একমত হতে পারি যে মানুষ ইউটিএম হিসাবে কাজ করতে পারে। এর অর্থ আমরা যদি করি
CSS + Human == UTM
তারপরে CSS
অংশটি অকেজো কারণ সমস্ত কাজ Human
ইউটিএম অংশটি করবে কে দ্বারা করা যেতে পারে । ক্লিক করার আইনটি ইউটিএম হতে পারে, কারণ আপনি এলোমেলোভাবে ক্লিক করেন না তবে কেবল নির্দিষ্ট জায়গায়।
সিএসএসের পরিবর্তে আমি এই পাঠ্যটি ব্যবহার করতে পারি ( বিধি 110 ):
000 -> 0
001 -> 1
010 -> 1
011 -> 1
100 -> 0
101 -> 1
110 -> 1
111 -> 0
আমার ক্রিয়াকলাপ পরিচালনা এবং ফলাফল একই হবে। এর অর্থ এই পাঠ্যটি ইউটিএম? না এটি কেবলমাত্র ইনপুট (বিবরণ) যা অন্যান্য ইউটিএম (মানব বা কম্পিউটার) পড়তে এবং চালাতে পারে। যে কোনও ইউটিএম চালানোর জন্য ক্লিক করা যথেষ্ট।
গুরুতর অংশ যে সিএসএসের অভাব হ'ল স্বেচ্ছাসেবী উপায়ে এটি নিজস্ব রাষ্ট্র পরিবর্তন করার ক্ষমতা, যদি সিএসএস ক্লিকগুলি উত্পন্ন করতে পারে তবে তা হবে ইউটিএম। আপনার ক্লিকগুলি সিএসএসের জন্য "ক্র্যাঙ্ক" হ'ল যুক্তি সঠিক নয় কারণ সিএসএসের জন্য আসল "ক্র্যাঙ্ক" লেআউট ইঞ্জিন যা এটি চালায় এবং এটি সিএসএসটি ইউটিএম প্রমাণ করার পক্ষে যথেষ্ট হওয়া উচিত।
R
- স্টেট স্টেট পড়ুন, এবং W
- স্টেট লিখুন, RWRWRWRW...
আমাদের কাছে কেবল সিএসএসের ক্ষেত্রে সাধারণ সিএ অসীম অনুক্রম করে R
, এবং W
এটি আমাদের পড়তে পারে না কারণ এটি পড়তে পারে না এমন জিনিসগুলি সংশোধন করে, কেবলমাত্র আমরা যুক্ত করলেই B
- ব্রাউজারের ক্রিয়া তখন আমাদের থাকতে পারে RBRBRBR...
তবে BBBBBB
তার নিজস্ব ইউটিএম এ।
সিএসএস কোনও প্রোগ্রামিং ল্যাঙ্গুয়েজ নয়, তাই টুরিং-পূর্ণতার প্রশ্নটি অর্থহীন। প্রোগ্রামিং এক্সটেনশনগুলি যদি আইএস in-তে যেমন সিএসএসে যুক্ত করা হয় তবে নতুন সংশ্লেষণটি সম্পূর্ণ আলাদা জিনিস।
সিএসএস কেবল শৈলীর বর্ণনা; এটিতে কোনও যুক্তি নেই এবং এর কাঠামো সমতল।