Funk2: Causal Reflective Programming Funk2 : प्रोग्रामिंग कारण ज़िदंगी |
|
| Funk2: reflective programming language Funk2 : ज़िदंगी प्रोग्रामिंग भाषा
Overview समीक्षा
Supported systems समर्थित प्रणाली
| Funk2 currently compiles on 32-bit and 64-bit Linux operating systems. वर्तमान में Funk2 पर 32 बिट compiles और 64 बिट Linux ऑपरेटिंग सिस्टम है . 64-bit pointers are recommended because of the amount of memory needed for the reflective capabilities; a 32-bit machine is currently only able to index a few gigabytes of memory. 64 बिट के संकेत हैं क्योंकि सिफारिश की स्मृति की मात्रा की ज़िदंगी की क्षमताओं के लिए जरूरी है ; एक 32 बिट मशीन वर्तमान में केवल कुछ करने में सक्षम सूचकांक गीगाबाइट स्मृति है . |
The goal लक्ष्य
| The goal of the programming language Funk2 is to enable reflective algorithmic tracing for large heterogenous control systems. इस लक्ष्य की प्रोग्रामिंग भाषा है Funk2 सक्षम करने के लिए ज़िदंगी एल्गोरिथम अनुरेखण असमांग नियंत्रण प्रणाली के लिए बड़ी है . A few point emphasized in the Funk2 programming language are: कुछ बिंदु पर बल दिया Funk2 प्रोग्रामिंग भाषा में हैं : | o ओ | Layered Critical Causal Reflection गंभीर कारण के स्तरों पर होती परावर्तन | | o ओ | Efficient and Robust Control कुशल और मजबूत नियंत्रण | | o ओ | Learning by Credit Assignment लर्निंग द्वारा क्रडिट आबंटन | | o ओ | Divergent Solution Paths समाधान भिन्न मार्ग | | o ओ | Intricate Thread Control जटिल नियंत्रण सूत्र | | o ओ | Goal-oriented Learning लक्ष्य उन्मुख लर्निंग |
|
How does it work? यह कैसे काम करती है ? | Examples of the most basic computational features include: (1) memory creation , (2) memory read , and (3) memory write . उदाहरण के सबसे कम्प्यूटेशनल बुनियादी सुविधाओं में शामिल हैं : ( 1 ) स्मृति निर्माण , ( 2 ) स्मृति पढ़ा है , और ( 3 ) स्मृति लिखना है . Tracing all causal relationships between these basic features allows tracing the context of all other programmer-defined semantic abstractions . ट्रेसिंग के बीच संबंधों के कारण इन सभी बुनियादी सुविधाओं की अनुमति देता है अनुरेखण के संदर्भ में सभी दूसरे प्रोग्रामर परिभाषित अर्थ abstractions . All of these computational features create an intricate trace network of dependencies, automatically traceable and shared by many parallel threads of execution. इन सभी सुविधाओं का निर्माण एक जटिल कम्प्यूटेशनल खोजने के नेटवर्क के निर्भरता , स्वतः traceable और साझा सूत्र के निष्पादन के द्वारा कई समांतर . Funk2 allows causal tracing to occur modularly to dynamically chosen parts of large commonsense-scale artificial intelligence projects. Funk2 की अनुमति देता है अनुरेखण होने के कारण modularly गतिशील करने के लिए चुना commonsense हिस्सों में बड़े पैमाने पर कृत्रिम बुद्धि परियोजनाओं . The resulting causal dependency trace networks can be processed by critical causal reflection threads. जिसके परिणामस्वरूप निर्भरता के कारण का पता लगाना नेटवर्क के द्वारा संसाधित किया जा सकता है परावर्तन सूत्र महत्वपूर्ण कारण है . |
Examples of causal reflective programming उदाहरण के कारण ज़िदंगी प्रोग्रामिंग
|
Here is how to retrieve the creation Cause for any piece of memory ( [] , the value of the symbol nil , is the only thing that does not reference a piece of memory): पुनः प्राप्त करने के लिए यहाँ है कि किस तरह के निर्माण के लिए किसी भी कारण टुकड़ा स्मृति ( [ ] , शून्य का मूल्य के प्रतीक है , के संदर्भ में ही बात नहीं है कि एक टुकड़ा स्मृति ) : Note that in the Cause object there are multiple named slots holding information in the frame of the cause. ध्यान दें कि में कई कारण हैं वस्तु का नाम धारण जानकारी स्लॉट में फ्रेम का कारण है . The frames of a Cause are thread , env , name , and args . इस फ़्रेम के एक सूत्र के कारण हैं , env , नाम , और args . By default only 7 levels of recursion are printed to the screen. मूलभूत रूप से केवल 7 स्तर को मुद्रित करने के लिए स्क्रीन के recursion हैं . The symbol used for ending a recursion is the astrisk, * .In order to access the slots of an object, you can use funktions that are named to access and mutate objects. इस प्रतीक को समाप्त होने के लिए इस्तेमाल किया है astrisk एक recursion , * . करने के लिए किसी वस्तु के स्लॉट हैं , तो आप का उपयोग कर सकते हैं कि funktions तक पहुँचने के लिए कर रहे हैं और mutate वस्तुओं का नाम है . For example, the following example shows how to retrieve only the name and args slots of a cause object. उदाहरण के लिए , निम्न उदाहरण दिखाता है कि किस तरह पुनः प्राप्त करने के लिए केवल एक नाम और args स्लॉट के कारण उद्देश्य है .
| in--> [let [[cause [cause-of 12]]] [cons [cause-name cause] [cause-args cause]]] में -- > [ दें [ [ कारण [ के कारण 12 ] ] ] [ विपक्ष [ कारण के कारण नाम ] [ कारण के कारण args ] ] ] read> [ let [ [ cause [ cause-of 12 ] ] ] [ cons [ cause-name cause ] [ cause-args cause ] ] ] पढ़ें > [ दें [ [ कारण [ के कारण 12 ] ] ] [ विपक्ष [ कारण के कारण नाम ] [ कारण के कारण args ] ] ] out-> [ primfunk:read #xb7f03420 ] बाहर > [ primfunk : xb7f03420 # पढ़ें ]
|
Here is an example of how to remember the state of an object at specific historical points in time: यहाँ एक उदाहरण है कि कैसे याद करने के लिए राज्य की किसी वस्तु में विशेष अंक में ऐतिहासिक समय :
| in--> [globalize a [array-new 10]] में -- > [ globalize एक [ सरणी के नए 10 ] ] read> [ globalize a [ array-new 10 ] ] पढ़ें > [ globalize एक [ सरणी के नए 10 ] ] out-> [] बाहर > [ ]
in--> a में -- > एक read> a पढ़ें > एक out-> ( [] [] [] [] [] [] [] [] [] [] ) बाहर > ( [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] )
in--> [tracing_on-set at] में -- > [ tracing_on के सेट पर ] read> [ tracing_on-set a t ] पढ़ें > [ tracing_on एक निर्धारित t ] out-> [] बाहर > [ ]
in--> [system_date] में -- > [ system_date ] read> [ system_date ] पढ़ें > [ system_date ] out-> ( date 1970 0 13983 6 29 7 526235 ) बाहर > ( तिथि 1970 0 13983 6 29 7 526235 )
in--> [dotimes [i 5] [array-elt-set ai [+ i 10]]] में -- > [ dotimes [ i 5 ] [ सरणी के elt निर्धारित स्टिकी [ + i 10 ] ] ] read> [ dotimes [ i 5 ] [ array-elt-set a i [ + i 10 ] ] ] पढ़ें > [ dotimes [ i 5 ] [ सरणी elt - i - निर्धारित [ + i 10 ] ] ] out-> [] बाहर > [ ]
in--> a में -- > एक read> a पढ़ें > एक out-> ( 10 11 12 13 14 [] [] [] [] [] ) बाहर > ( 10 11 12 13 14 [ ] [ ] [ ] [ ] [ ] )
in--> [remember a (date 1970 0 13983 6 28 44 908595)] में -- > [ याद में एक ( तिथि 1970 0 13983 6 28 44 908595 ) ] read> [ remember a ( date 1970 0 13983 6 28 44 908595 ) ] पढ़ें > [ याद में एक ( तिथि 1970 0 13983 6 28 44 908595 ) ] out-> ( [] [] [] [] [] [] [] [] [] [] ) बाहर > ( [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] )
in--> a में -- > एक read> a पढ़ें > एक out-> ( 10 11 12 13 14 [] [] [] [] [] ) बाहर > ( 10 11 12 13 14 [ ] [ ] [ ] [ ] [ ] )
|
Here is another example of how to remember the state of an object at specific historical points in time: यहाँ एक और उदाहरण है कि किस तरह याद करने के लिए राज्य की किसी वस्तु में विशेष अंक में ऐतिहासिक समय :
| in--> [globalize a [array-new 10]] में -- > [ globalize एक [ सरणी के नए 10 ] ] read> [ globalize a [ array-new 10 ] ] पढ़ें > [ globalize एक [ सरणी के नए 10 ] ] out-> [] बाहर > [ ]
in--> [tracing_on-set at] में -- > [ tracing_on के सेट पर ] read> [ tracing_on-set a t ] पढ़ें > [ tracing_on एक निर्धारित t ] out-> [] बाहर > [ ]
in--> [globalize dates [array-new 10]] में -- > [ globalize तिथियाँ [ सरणी के नए 10 ] ] read> [ globalize dates [ array-new 10 ] ] पढ़ें > [ globalize तिथियाँ [ सरणी के नए 10 ] ] out-> [] बाहर > [ ]
in--> [dotimes [i 10] [array-elt-set dates i [system_date]] [array-elt-set aii]] में -- > [ dotimes [ i 10 ] [ सरणी के elt निर्धारित तिथि i [ system_date ] ] [ सरणी के elt निर्धारित aii ] ] read> [ dotimes [ i 10 ] [ array-elt-set dates i [ system_date ] ] [ array-elt-set a i i ] ] पढ़ें > [ dotimes [ i 10 ] [ सरणी के elt निर्धारित तिथि i [ system_date ] ] [ सरणी के elt निर्धारित i - i ] ] out-> [] बाहर > [ ]
in--> a में -- > एक read> a पढ़ें > एक out-> ( 0 1 2 3 4 5 6 7 8 9 ) बाहर > ( 0 1 2 3 4 5 6 7 8 9 )
in--> dates में -- > तिथियाँ read> dates पढ़ें > तिथियाँ out-> ( ( date 1970 0 13983 6 12 19 283811 ) बाहर > ( ( तिथि 1970 0 13983 6 12 19 283811 ) ( date 1970 0 13983 6 12 19 561113 ) ( तिथि 1970 0 13983 6 12 19 561113 ) ( date 1970 0 13983 6 12 19 828195 ) ( तिथि 1970 0 13983 6 12 19 828195 ) ( date 1970 0 13983 6 12 20 94674 ) ( तिथि 1970 0 13983 6 12 20 94674 ) ( date 1970 0 13983 6 12 20 361727 ) ( तिथि 1970 0 13983 6 12 20 361727 ) ( date 1970 0 13983 6 12 20 629388 ) ( तिथि 1970 0 13983 6 12 20 629388 ) ( date 1970 0 13983 6 12 20 896560 ) ( तिथि 1970 0 13983 6 12 20 896560 ) ( date 1970 0 13983 6 12 21 163860 ) ( तिथि 1970 0 13983 6 12 21 163860 ) ( date 1970 0 13983 6 12 21 431032 ) ( तिथि 1970 0 13983 6 12 21 431032 ) ( date 1970 0 13983 6 12 21 699425 ) ) ( तिथि 1970 0 13983 6 12 21 699425 ) )
in--> [let [[history nil]] [dotimes [i 10] [set history [cons [remember a [array-elt dates i]] history]]] history] में -- > [ दें [ [ शून्य इतिहास ] ] [ dotimes [ i 10 ] [ सेट इतिहास [ विपक्ष [ याद एक [ सरणी के elt तिथियाँ i ] ] इतिहास ] ] ] इतिहास ] read> [ let [ [ history [] ] ] [ dotimes [ i 10 ] [ set history [ cons [ remember a [ array-elt dates i ] ] history ] ] ] history ] पढ़ें > [ दें [ [ इतिहास [ ] ] ] [ dotimes [ i 10 ] [ सेट इतिहास [ विपक्ष [ याद एक [ सरणी के elt तिथियाँ i ] ] इतिहास ] ] ] इतिहास ] out-> [ ( 0 1 2 3 4 5 6 7 8 [] ) बाहर > [ ( 0 1 2 3 4 5 6 7 8 [ ] ) ( 0 1 2 3 4 5 6 7 [] [] ) ( 0 1 2 3 4 5 6 7 [ ] [ ] ) ( 0 1 2 3 4 5 6 [] [] [] ) ( 0 1 2 3 4 5 6 [ ] [ ] [ ] ) ( 0 1 2 3 4 5 [] [] [] [] ) ( 0 1 2 3 4 5 [ ] [ ] [ ] [ ] ) ( 0 1 2 3 4 [] [] [] [] [] ) ( 0 1 2 3 4 [ ] [ ] [ ] [ ] [ ] ) ( 0 1 2 3 [] [] [] [] [] [] ) ( 0 1 2 3 [ ] [ ] [ ] [ ] [ ] [ ] ) ( 0 1 2 [] [] [] [] [] [] [] ) ( 0 1 2 [ ] [ ] [ ] [ ] [ ] [ ] [ ] ) ( 0 1 [] [] [] [] [] [] [] [] ) ( 0 1 [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] ) ( 0 [] [] [] [] [] [] [] [] [] ) ( 0 [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] ) ( [] [] [] [] [] [] [] [] [] [] ) ] ( [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] ) ]
|
|
Basic Programming Examples मूल प्रोग्रामिंग उदाहरण
|
Here is one straightforward way to write a "Hello world!" यहाँ से एक है लिखने के लिए एक सरल तरीका " दुनिया नमस्कार ! " program in the Funk2 language: कार्यक्रम में Funk2 भाषा :
| in--> [print 'Hello world!'] में -- > [ प्रिंट ' दुनिया नमस्कार ! ' ] read> [ print 'Hello world!' ] पढ़ें > [ प्रिंट ' दुनिया नमस्कार ! ' ] 'Hello world!' ' विश्व नमस्कार ! ' out-> 'Hello world!' बाहर > ' दुनिया नमस्कार ! '
|
Here is another more advanced way to holla your planet: एक और तरीका है यहाँ और अधिक उन्नत करने के लिए अपने holla ग्रह :
| in--> [let [[planet 'Earth']] [format stdout 'Hello ' planet '!']] में -- > [ दें [ [ ग्रह ' पृथ्वी ' ] ] [ प्रारूप stdout ' नमस्कार ' ग्रह '!']] read> [ let [ [ planet 'Earth' ] ] [ format stdout 'Hello ' planet '!' ] ] Hello Earth! पढ़ें > [ दें [ [ ग्रह ' पृथ्वी ' ] ] [ प्रारूप stdout ' नमस्कार ' ग्रह ' ! ' ] ] पृथ्वी नमस्कार ! out-> [] बाहर > [ ]
|
Here is how to define and subsequently call a funktion: यहाँ है कि किस तरह परिभाषित करने के लिए और बाद में एक कॉल funktion :
| in--> [defunk say-hi [x] [format stdout 'Why, hello there ' x '. में -- > [ - defunk का कहना है कि उच्च [ x ] [ प्रारूप stdout ' क्यों है , वहां hello ' x ' . It is really great to see you.']] यह देखने के लिए वास्तव में आप महान हैं . ' ] ] read> [ defunk say-hi [ x ] [ format stdout 'Why, hello there ' x '. It is really great to see you.' ] ] पढ़ें > [ - defunk का कहना है कि उच्च [ x ] [ प्रारूप stdout ' क्यों है , वहां hello ' x ' . वास्तव में यह देखने के लिए आप महान हैं . ' ] ] defunk say-hi [ x ] defunk का कहना है कि उच्च [ x ] out-> [] बाहर > [ ]
| | in--> [say-hi 'Marvin'] में -- > [ - का कहना है कि उच्च ' मर्विन ' ] read> [ say-hi 'Marvin' ] पढ़ें > [ - का कहना है कि उच्च ' मर्विन ' ] Why, hello there Marvin. क्यों , वहां मर्विन hello . It is really great to see you. यह देखने के लिए वास्तव में आप महान हैं . out-> [] बाहर > [ ]
|
Here is how to loop over a list of values: पाश करने के लिए यहाँ है कि किस तरह से अधिक मूल्य की एक सूची है :
| in--> [mapc [funk [x] [print x]] [list 1 2 3 #xFF 'dog' `[2 3]]] में -- > [ mapc [ funk [ x ] [ प्रिंट x ] ] [ 1 2 3 # xFF सूची में ' कुत्ते ' ' [ 2 3 ] ] ] read> [ mapc [ funk [ x ] [ print x ] ] [ list 1 2 3 #xff 'dog' ` [ 2 3 ] ] ] पढ़ें > [ mapc [ funk [ x ] [ प्रिंट x ] ] [ 1 2 3 # xff सूची में ' कुत्ते ' ' [ 2 3 ] ] ] 1 1 2 2 3 3 #xff # xff 'dog' ' कुत्ते ' [ 2 3 ] [ 2 3 ] out-> [] बाहर > [ ]
|
Here is how to call our funktion above in a parallel thread: यहाँ है कि किस तरह कॉल करने के लिए हमारे ऊपर funktion समानांतर में एक सूत्र :
| in--> [prog [thread &say-hi [list 'Gerry']] nil] में -- > [ खाना [ सूत्र का कहना है कि उच्च तथा [ सूची ' गेरी ' ] ] शून्य ] read> [ prog [ thread &say &say-hi [ list 'Gerry' ] ] [] ] पढ़ें > [ खाना [ सूत्र का कहना है कि & & का कहना है कि उच्च [ सूची ' गेरी ' ] ] [ ] ] Why, hello there क्यों , वहां hello out-> Gerry. बाहर > गेरी . It is really great to see you. [] यह देखने के लिए वास्तव में आप महान हैं . [ ]
|
Here is how to serially filter every element in a list: यहाँ है कि कैसे serially फिल्टर हर तत्व में एक सूची :
| in--> [mapcar [funk [x] [+ x 10]] [list 1 2 3 4 5]] में -- > [ mapcar [ funk [ x ] [ + x 10 ] ] [ सूची 1 2 3 4 5 ] ] read> [ mapcar [ funk [ x ] [ + x 10 ] ] [ list 1 2 3 4 5 ] ] पढ़ें > [ mapcar [ funk [ x ] [ + x 10 ] ] [ सूची 1 2 3 4 5 ] ] out-> [ 11 12 13 14 15 ] बाहर > [ 11 12 13 14 15 ]
|
Here is how to concurrently filter every element in a list: यहाँ है कि किस प्रकार फिल्टर को समवर्ती सूची में हर तत्व :
| in--> [parcar [funk [x] [+ x 10]] [list 1 2 3 4 5]] में -- > [ parcar [ funk [ x ] [ + x 10 ] ] [ सूची 1 2 3 4 5 ] ] read> [ parcar [ funk [ x ] [ + x 10 ] ] [ list 1 2 3 4 5 ] ] पढ़ें > [ parcar [ funk [ x ] [ + x 10 ] ] [ सूची 1 2 3 4 5 ] ] out-> [ 11 12 13 14 15 ] बाहर > [ 11 12 13 14 15 ]
|
The scheduler:global_scheduler variable in the global environment can be used as a reference to the global funk2 scheduler for the local machine. इस अनुसूचक : global_scheduler वैश्विक वातावरण चर में संदर्भ के रूप में इस्तेमाल किया जा सकता है funk2 अनुसूचक करने के लिए विश्व के लिए स्थानीय मशीन है . Processor information available from "/dev/proc" during funk2 initial bootstrap compile is available for all machines currently logged into the grid. प्रोसेसर से उपलब्ध जानकारी " / dev / proc " funk2 के दौरान bootstrap प्रारंभिक संकलन के लिए उपलब्ध है वर्तमान में सभी मशीन में लॉग ग्रिड . Grid support is in development, this only shows this information for the local machine. ग्रिड समर्थन में है , विकास , केवल यह पता चलता है इस जानकारी के लिए स्थानीय मशीन है . Once support for multiple machines is available, this variable will change into a funktion that takes a machine-id as an argument and returns that machine's scheduler object. एक बार समर्थन के लिए कई मशीनें उपलब्ध है , यह चर funktion में बदल जाएगी कि वह किसी मशीन के रूप में पहचान की है और एक तर्क है कि मशीन की रिटर्न अनुसूचक उद्देश्य है .
| in--> scheduler:global_scheduler में -- > अनुसूचक : global_scheduler read> scheduler:global_scheduler पढ़ें > अनुसूचक : global_scheduler out-> [ scheduler बाहर > [ अनुसूचक :processors ( [ processor : प्रोसेसर ( [ प्रोसेसर :mutation_mutex [ mutex] : mutation_mutex [ म्युटेक्स ] :scheduler [ scheduler :processors * ] : अनुसूचक [ अनुसूचक : * प्रोसेसर ] :pthread #x40a00960 : pthread # x40a00960 :threads [ [ thread : सूत्र [ [ सूत्र :program_counter * : program_counter * :stack * : * चिति :iter * : आईटीईआर * :env * : env * :args * : args * :return * : * वापसी :value * : * मूल्य :trace * : * ट्रेस :critics * : आलोचकों * :cause_reg * : cause_reg * :keep_undead * : keep_undead * :parent_thread * : parent_thread * :parent_env * : parent_env * :execute_mutex * : execute_mutex * :last_executed_time * ] : last_executed_time * ] [ thread [ सूत्र :program_counter * : program_counter * :stack * : * चिति :iter * : आईटीईआर * :env * : env * :args * : args * :return * : * वापसी :value * : * मूल्य :trace * : * ट्रेस :critics * : आलोचकों * :cause_reg * : cause_reg * :keep_undead * : keep_undead * :parent_thread * : parent_thread * :parent_env * : parent_env * :execute_mutex * : execute_mutex * :last_executed_time * ] : last_executed_time * ] [ thread [ सूत्र :program_counter * : program_counter * :stack * : * चिति :iter * : आईटीईआर * :env * : env * :args * : args * :return * : * वापसी :value * : * मूल्य :trace * : * ट्रेस :critics * : आलोचकों * :cause_reg * : cause_reg * :keep_undead * : keep_undead * :parent_thread * : parent_thread * :parent_env * : parent_env * :execute_mutex * : execute_mutex * :last_executed_time * ] : last_executed_time * ] [ thread [ सूत्र :program_counter * : program_counter * :stack * : * चिति :iter * : आईटीईआर * :env * : env * :args * : args * :return * : * वापसी :value * : * मूल्य :trace * : * ट्रेस :critics * : आलोचकों * :cause_reg * : cause_reg * :keep_undead * : keep_undead * :parent_thread * : parent_thread * :parent_env * : parent_env * :execute_mutex * : execute_mutex * :last_executed_time * ] : last_executed_time * ] [ thread [ सूत्र :program_counter * : program_counter * :stack * : * चिति :iter * : आईटीईआर * :env * : env * :args * : args * :return * : * वापसी :value * : * मूल्य :trace * : * ट्रेस :critics * : आलोचकों * :cause_reg * : cause_reg * :keep_undead * : keep_undead * :parent_thread * : parent_thread * :parent_env * : parent_env * :execute_mutex * : execute_mutex * :last_executed_time * ] : last_executed_time * ] [ thread [ सूत्र :program_counter * : program_counter * :stack * : * चिति :iter * : आईटीईआर * :env * : env * :args * : args * :return * : * वापसी :value * : * मूल्य :trace * : * ट्रेस :critics * : आलोचकों * :cause_reg * : cause_reg * :keep_undead * : keep_undead * :parent_thread * : parent_thread * :parent_env * : parent_env * :execute_mutex * : execute_mutex * :last_executed_time * ] : last_executed_time * ] [ thread [ सूत्र :program_counter * : program_counter * :stack * : * चिति :iter * : आईटीईआर * :env * : env * :args * : args * :return * : * वापसी :value * : * मूल्य :trace * : * ट्रेस :critics * : आलोचकों * :cause_reg * : cause_reg * :keep_undead * : keep_undead * :parent_thread * : parent_thread * :parent_env * : parent_env * :execute_mutex * : execute_mutex * :last_executed_time * ] : last_executed_time * ] [ thread [ सूत्र :program_counter * : program_counter * :stack * : * चिति :iter * : आईटीईआर * :env * : env * :args * : args * :return * : * वापसी :value * : * मूल्य :trace * : * ट्रेस :critics * : आलोचकों * :cause_reg * : cause_reg * :keep_undead * : keep_undead * :parent_thread * : parent_thread * :parent_env * : parent_env * :execute_mutex * : execute_mutex * :last_executed_tim |
|
|
|
|