2009-08-12 9 views
11

अच्छी तरह से डिज़ाइन किए गए कार्यात्मक (ऑब्जेक्ट उन्मुख के विपरीत) वेब ऐप्स जो उनके स्रोत कोड को उपलब्ध कराते हैं, के उदाहरण क्या हैं? मैं वर्तमान में Hacker Newssource का अध्ययन कर रहा हूं लेकिन मैं clojure में आदर्श रूप से कुछ अन्य गैर-तुच्छ उदाहरण देखना चाहता हूं।अच्छी तरह से डिज़ाइन किए गए कार्यात्मक वेब ऐप्स का स्रोत कोड?

एमवीसी के लिए बहुत सारे रेल और PHP ऐप्स, फ्रेमवर्क और ट्यूटोरियल अध्ययन करने के लिए हैं - कार्यात्मक प्रोग्रामिंग के लिए क्या है?

+0

आर्क और clojure मुश्किल से कार्यात्मक भाषाएं हैं। हप्प्स पर एक नज़र डालें: http://happs.org/ – jrockway

+0

शायद "निरंतरता वाले वेब अनुप्रयोगों" की खोज करने से आपको कुछ दिलचस्प परिणाम मिल सकते हैं। – fortran

+0

दिलचस्प ढांचा और लेख - धन्यवाद! क्या आपके पास इन विचारों के वास्तविक कार्यान्वयन के लिए कोई लिंक है? उदाहरण के लिए, हास्केल में एक दुकान प्रणाली, एक निरंतर आधारित सीएमएस या साधारण ब्लॉग सॉफ्टवेयर?मुझे सिद्ध समाधान से सीखना पसंद है जो कहीं भी रहते हैं। – Lorenz

उत्तर

7

नहीं है:

उस सूची के लिए पर्याप्त है रखने के लिए आप विभिन्न विशेषताओं के साथ कार्यात्मक भाषाओं का नमूना देने में व्यस्त:

  • क्लोजर: बहु-प्रतिमान ?, लचीला? यह एक शुद्ध कार्यात्मक भाषा नहीं है और हालांकि यह पसंद किया जाता है कि आप एक कार्यात्मक शैली में प्रोग्राम करते हैं, यह सख्ती से जरूरी नहीं है। आप जावा इंटरऑप के माध्यम से जावा-शैली ओओपी लिख सकते हैं, या आप बहु-विधियों का उपयोग करके इसे दूर कर सकते हैं। वहां बहुत लचीलापन है, हालांकि यह अभी भी थोड़ा सा कहना है कि यह सामान्य लिस्प के रास्ते में "लचीला" या "मल्टीपाडाडिग" है या नहीं। कुछ हिस्सों में, एक लिस्प बनने के लिए बनाया गया है जो आसानी से समेकन को संभालता है, यह वास्तव में बहुत सारे लक्ष्यों पर शूट करता है, इसलिए लचीला या मल्टीपाडाडिग्म पदनाम।
  • योजना: क्लोजर की तुलना में एक शुद्ध कार्यात्मक भाषा होने के करीब, यह प्रोग्रामर को क्लोजर की तुलना में एक कार्यात्मक शैली में थोड़ा और बलपूर्वक धक्का देता है।
  • एरलांग: विश्वसनीय समेकन के लिए निर्मित कार्यात्मक प्रोग्रामिंग। Erlyweb एक मंच पर बनाया गया है जो अत्यधिक समवर्ती होने के लिए डिज़ाइन किया गया है।
  • स्मॉलटॉक: अत्यधिक ओओ कार्यात्मक प्रोग्रामिंग (यहां तक ​​कि नियंत्रण संरचना ऑब्जेक्ट सिस्टम के भीतर ऑब्जेक्ट्स हैं, और सिंटैक्टिक संरचनाएं नहीं हैं)।

यदि आप देखना चाहते हैं कि वेबपैप्स एक ऐसी भाषा में कैसे दिखता है जो "हर कीमत पर" कार्यात्मक है, तो जॉकवे का सुझाव देखने वाला एक है।

+0

पीएलटी योजना वेब सर्वर के परिचय के लिए, http://docs.plt-scheme.org/continue/ पर एक नज़र डालें। –

+0

क्या आप कृपया बता सकते हैं कि पीएलटी योजना वेबसर्वर और समुद्रतट क्यों सूचीबद्ध हैं? क्या उनके कार्यान्वयन कार्यात्मक प्रोग्रामिंग के अच्छे उदाहरण हैं? –

+0

@ विजय, निरंतरता का उपयोग कर वेबसर्वर और क्लाइंट के बीच नियंत्रण नियंत्रण दोनों। यह वेब प्रोग्रामिंग के कार्यात्मक दृष्टिकोण की पहचान होगी। इसका एक विवरण याहू में पाया जा सकता है! निरंतरता-आधारित वेब सर्वर पर पेटेंट: http://www.google.com/patents?id=WE8GAAAAEBAJ&printsec=abstract&zoom=4&source=gbs_overview_r&cad=0#v=onepage&q=&f=false यह पेटेंट पॉल ग्राहम के काम से लिखा था कि क्या होगा याहू बनो! 90 के दशक के मध्य में लिस्प में वापस स्टोर। निरंतरता-आधारित वेब सर्वर के बारे में अधिक जानकारी के लिए मूल प्रश्न पर फोर्टन की टिप्पणी भी देखें। – Pinochle

1

आप देख रहे हैं वास्तविक दुनिया खुला स्रोत एक शुद्ध कार्यात्मक भाषा में कार्यान्वित परियोजनाओं के लिए, इस लिंक पर मदद कर सकता है: http://haskell-news.blogspot.com/2008/01/top-10-most-popular-haskell-programs.html

आप वेब अनुप्रयोगों के बारे में बहुत विशिष्ट हैं, तो कृपया इसे देखो: http://www.haskell.org/haskellwiki/RPC

2

वेबलॉक्स एक सिद्ध वस्तु-उन्मुख कार्यात्मक ढांचा है जो समुद्रतट से प्रेरणा लेता है।

यह कॉमन लिस्प में लिखा गया है, और दो बुनियादी उदाहरण (weblocks-प्रदर्शन, सरल-ब्लॉग) यहां पाया जा सकता है: http://bitbucket.org/S11001001/weblocks-dev/src/tip/examples/

+0

में एक कार्यात्मक, उच्च प्रदर्शन ढांचा, लेकिन यह कार्यात्मक नहीं है, ऊपर दिए गए प्रश्न को देखें –

संबंधित मुद्दे

 संबंधित मुद्दे