मैं FORTH के बारे में थोड़ा जानता हूं इसलिए मैं खुद को उस तक सीमित रखूंगा। यह एक निम्न स्तरीय भाषा है, जो आपको सभी हार्डवेयर संसाधनों तक प्रोग्रामर की पहुँच प्रदान करती है। इसलिए आप जो चाहें कर सकते हैं।
संगामिति
समांतर कार्यक्रम करने के लिए (संपादित करें: वास्तविक समवर्ती कार्यक्रमों का उपयोग करने के लिए) आपको कम से कम दो निष्पादन इकाइयों (सीपीयू-एस) की आवश्यकता होती है। FORTH में किसी शब्द को लागू करने के लिए यह तुच्छ होगा, उदाहरण के लिए, "इन दो तर्कों का उपयोग करके प्रोसेसर 2 पर इस शब्द को चलाएं"। यह शब्द प्रोसेसर 2 पर दो आवश्यक स्टैक आवंटित करेगा और शब्द को चलाना शुरू करेगा। आपको अपने आप को कुछ हद तक प्रतिबंधित करने की आवश्यकता है जो आप उस कार्यक्रम में उपयोग कर सकते हैं।
यदि समवर्ती कार्यक्रमों की संख्या निष्पादन इकाइयों की संख्या से अधिक है, तो आप "छद्म समानता" कार्यक्रमों के लिए जाएंगे। मूल रूप से ऐसा करने के दो तरीके हैं: कोरआउट या प्रीमेप्टिव मल्टीटास्किंग। किसी भी मामले में यह संभव है (आसान नहीं है, लेकिन साहित्य में अच्छी तरह से वर्णित है) इसे कैसे प्राप्त करें और FORTH आपको सभी निम्न स्तर के सामान तक पहुंचने की अनुमति देता है।
आलसी मूल्यांकन
बेशक आप FORTH में ऐसा कर सकते हैं जैसे किसी भी प्रोग्रामिंग भाषा के बारे में। यह हास्केल के रूप में सुरुचिपूर्ण या "बिल्ट-इन" नहीं होगा। मैं बहुत भोली मिसाल का इस्तेमाल करूंगा।
विचार यह है कि आप एक "फ़ंक्शन" (यहां शिथिल रूप से प्रयुक्त) को परिभाषित करते हैं जो चीजों का एक सेट लौटाता है। एक उदाहरण एक फ़ंक्शन होगा जो सभी पूर्णांकों को लौटाता है। आप तब इस सेट पर ऑपरेशन करते हैं और जब आप काम करते हैं तो परिणाम देते हैं। उदाहरण के लिए, आप सभी पूर्णांकों को जोड़ सकते हैं जब तक कि योग बड़ा नहीं हो जाता है तब तक 1000। एक गैर-आलसी मूल्यांकन सबसे पहले सभी पूर्णांकों को एक सेट के रूप में आवंटित करेगा, जो कि पूर्णांकों की अनंत संख्या के रूप में असंभव है। इसके बाद इस सेट पर काम करना शुरू किया जाएगा। एक आलसी कार्यान्वयन का एक तरीका होगा "मुझे सेट में अगला मूल्य दें"। ऐसा करने से वास्तव में केवल "अंतिम मूल्य देने" वाले फ़ंक्शंस में एक चर की आवश्यकता होती है।
हास्केल इस तरह से चीजें करते हैं। बेशक यह अधिक जटिल परिस्थितियों को संभालता है लेकिन विचार समान है। यह मूल्यांकन को एक तरह से गला देता है जो आपको प्रोग्रामर के रूप में समस्या पर ध्यान केंद्रित करने की अनुमति देता है, न कि इसे हल करने के तरीके पर।