Tree Calculus का अवलोकन
- Tree Calculus एक Turing-complete सिस्टम है, जिसमें सरल operators और semantics हैं जो computation के सार को पकड़ते हैं.
- यह functions की serialization और deserialization को सक्षम बनाता है, और विभिन्न formats में compile किया जा सकता है.
- इसमें program analysis, type check, compilation, optimization आदि को प्रोग्राम के भीतर ही निष्पादित करने की क्षमता है.
functions और meta-theory का लोकतंत्रीकरण
- string manipulation functions के उदाहरणों के माध्यम से Tree Calculus की क्षमताओं को समझाया गया है.
- type check को function call के रूप में सरलता से किया जा सकता है, और optimization भी संभव है.
- optimization से पहले और बाद के evaluation steps की संख्या और tree nodes की संख्या की तुलना करके performance की पुष्टि की जा सकती है.
Intensionality के फायदे
- इसमें program analysis के लिए quotation के बिना भी programs को reflect करने की क्षमता है.
- static और dynamic checks को एक ही function call से किया जा सकता है.
- program के भीतर ही compilation और deployment संभव है, जिससे एक शक्तिशाली REPL environment मिलता है.
Tree Calculus की शक्ति
- Tree Calculus Turing-complete है, और program तथा उसके encoding के बीच कोई भेद नहीं है.
- data encoding और algorithms को asymmetrically optimize किया गया है.
- सामान्य list manipulation functions को सैकड़ों nodes वाले binary trees के रूप में व्यक्त किया जाता है.
संक्षिप्तता
- Tree Calculus का abstract syntax सरल है, और values को label-रहित binary trees के रूप में व्यक्त किया जाता है.
- JSON, UTF8 जैसे standards का उपयोग किए बिना भी विभिन्न concepts को तेज़ी से bootstrap किया जा सकता है.
- यह शिक्षा के लिए उपयुक्त है, और abstractions को क्रमिक रूप से introduce तथा model किया जा सकता है.
पोर्टेबिलिटी
- Tree Calculus का syntax और semantics न्यूनतम हैं, और यह platform-dependent नहीं है.
- किसी भी platform या programming language में interpreter को आसानी से लिखा जा सकता है.
- Tree Calculus की पूरी functionality को कहीं भी bootstrap किया जा सकता है, इसलिए यह heterogeneous systems में code-as-configuration language के रूप में उपयुक्त है.
1 टिप्पणियां
Hacker News टिप्पणियाँ
Tree Calculus काफ़ी दिलचस्प है और इस वेबसाइट से आगे भी इसके कई निहितार्थ हैं। लेकिन यह थोड़ा खटकता है कि वेबसाइट इसके रचयिता और लेखक Prof. Barry Jay का उल्लेख नहीं करती। उनकी किताब GitHub पर उपलब्ध है
Tree Calculus एक बहुत बढ़िया कॉन्सेप्ट लगता है। लेकिन इसे समझने के लिए और आसान व्याख्या चाहिए। सोच रहा हूँ कि क्या शुरुआती लोगों के लिए कोई संस्करण है
होमपेज पर "Democratizing Functions" और "Democratizing Metatheory" जैसे वाक्यांश इस्तेमाल किए गए हैं। इस शब्द-प्रयोग की उपयुक्तता पर संदेह होता है
Tree Calculus के logical reduction rules को समझने के लिए मैंने एक visual representation बनाई। visual thinking करने वाले लोगों के लिए यह उपयोगी हो सकती है
सोचता हूँ क्या ऐसे लोग भी हैं जो इसे समझने का नाटक करते हुए वोट कर रहे हैं
क्या कोई समझा सकता है कि Tree Calculus, Lisp या Forth से किस तरह अलग है? यह आलोचना नहीं, समझने के लिए पूछा गया सवाल है
Python code example के ज़रिए Tree Calculus के बुनियादी कॉन्सेप्ट समझाए गए हैं
Leaf,Stem,Forkजैसी बुनियादी संरचनाएँ परिभाषित की गई हैं, औरapplyफ़ंक्शन से लॉजिक लागू किया गया हैshowफ़ंक्शन के ज़रिए परिणाम प्रिंट किए जाते हैंZ combinator को SKI से Tree Calculus में बदलने की कोशिश की गई। lambda calculus के उदाहरण का इस्तेमाल करके ट्री प्रिंट किया गया
Tree Calculus के नियमों को binary tree के pattern matching के रूप में visualise करके परिणाम साझा किया गया
यह बहुत अच्छा है कि Johannes ने Tree Calculus के साथ प्रयोग किया और GitHub पर अपनी किताब में जिन संभावनाओं का सिर्फ़ संकेत दिया गया था, उन्हें स्पष्ट रूप से दिखाया। अब typed Tree Calculus भी है, इसलिए उन्होंने ब्लॉग शुरू किया