যুক্তিবিজ্ঞান প্রোগ্রামিং ভাষার অধিক বিশ বছর হয়েছে প্রায়. (যেমন সি, সি ++, পাস্কাল এবং অদা হিসাবে) প্রচলিত প্রোগ্রামিং ভাষার উপর যুক্তি ভাল উন্নত তত্ত্ব উপর ভিত্তি করে একটি খুব উচ্চ স্তরের প্রোগ্রামিং ভাষা প্রত্যাশিত সুফল সত্ত্বেও তারা কম্পিউটার শিল্পের উপর উল্লেখযোগ্য প্রভাব ছিল না.
বুধ স্বচ্ছতা এবং উন্নত স্ট্যাটিক বিশ্লেষণ এবং ত্রুটি সনাক্তকরণ বৈশিষ্ট্য সঙ্গে ঘোষণামূলক প্রোগ্রামিং expressiveness সম্মিলন যা একটি নতুন লজিক / কার্যকরী প্রোগ্রামিং ভাষা, হয়.
বুধ অত্যন্ত কার্যকর এলগরিদম বিদ্যমান যুক্তি প্রোগ্রামিং সিস্টেমের বাড়তি পর্যন্ত দক্ষতা বিতরণ অনুকূল, এবং প্রচলিত প্রোগ্রামিং সিস্টেম বন্ধ করা হয়.
বুধ বড় মাপের প্রোগ্রাম উন্নয়ন সমস্যা, যার ফলে modularity এর, পৃথক সংকলন, এবং অনেক অপ্টিমাইজেশান / সময় বিনিময় প্রথা ঠিকানাগুলি
এই রিলিজে নতুন কি:.
- এই bugfix রিলিজ সংশোধন করা হয়েছে সোলারিস এবং NetBSD বা সমস্যা নির্মাণ ও কনফিগারেশন সময়ে সি # কম্পাইলার নির্বাচনের জন্য সমর্থন যোগ করা হয়েছে.
- অন্যান্য বিভিন্ন ছোটখাট বাগ সংশোধন করা হয়েছে.
- মান গ্রন্থাগারের কিছু ছোটখাট সংযোজন আছে.
সংস্করণ 13.05 নতুন কি:
- উইন্ডোজ 64 বিট এক্সেকিউটেবল প্রজন্ম এখন সমর্থিত হবে.
- সংকলন বার উন্নত করা হয়েছে.
- বেশ কিছু নতুন ধরনের প্রতিনিধিত্ব অপ্টিমাইজেশন যোগ করা হয়েছে.
- ডিবাগার এখন স্ট্যাক পারস্পরিক রিকার্সিভ কল cliques পরিচালনা করার জন্য উন্নত সমর্থন আছে.
- GLFW লাইব্রেরি বাঁধাই অতিরিক্ত বিতরণ যোগ করা হয়েছে.
- সমাহারগুলি এখন একটি শক্তিশালী নাম স্বাক্ষর করা সম্ভব.
খুব বড় বড় প্রোগ্রাম জন্য
সি # ব্যাক সঙ্গে উত্পন্ন
সংস্করণ 11.01 নতুন কি:
- আমরা ভাষা থেকে সুযোগ দুটি নতুন ধরণের যোগ করা হয়েছে.
- নতুন কীওয়ার্ড require_det, require_semidet, require_multi, require_nondet, require_cc_multi, require_cc_nondet, require_erroneous এবং require_failure, এর দ্বারা প্রবর্তিত একটি সুযোগ দেওয়া নিয়তিবাদ আছে সুযোগ ভিতরে লক্ষ্য প্রয়োজন.
- শব্দ require_complete_switch দ্বারা প্রবর্তিত একটি সুযোগ, টাইপ সব ফাংশন চিহ্ন জন্য অস্ত্র আছে অর্থাত্, একটি সম্পূর্ণ সুইচ করা, সুযোগ ভিতরে লক্ষ্য প্রয়োজন সুইচ অন পরিবর্তনশীল.
- আমরা hash_table.fold জন্য semidet মোড / 4 এবং version_hash_table.fold / 4. যোগ করা
- আমরা assoc_list মডিউল নতুন predicates এবং ফাংশন যোগ করা হয়েছে. predicates map_keys_only / 3 map_values_only / 3 এবং map_values / 3 সম্পূরক একই নামের ফাংশন. predicates, negated_filter / 3, / 3 ফিল্টার / 4, এছাড়াও ফাংশন সংস্করণ আছে যা / 3, তালিকা মডিউল একই নামের predicates অনুরূপ কাজ করতে একত্রীকরণ, কিন্তু এর পরিবর্তে সম্পূর্ণ কি প্রাসঙ্গিক অপারেশন করতে তালিকা উপাদান.
- আমরা অতিরিক্ত বিতরণ আউট এবং '' অলস নামে একটি নতুন মান লাইব্রেরি মডিউল মধ্যে অলস মূল্যায়ন মডিউল সরানো হয়েছে. এটি ব্যাক-অজ্ঞেয়বাদী করা হয়েছে.
- আমরা মান গ্রন্থাগারের তালিকা মডিউল পরিবর্তন করেছেন
- আমরা একটি নতুন সম্পৃক্ত list.member_index0 / 3 যোগ করা হয়েছে. এটা list.member এটি তালিকার মধ্যে উপাদান শূন্য ভিত্তিক সূচক প্রতিনিধিত্বমূলক একটি প্যারামিটার নেয় যে ছাড়া / 2. ভালো হয়
- আমরা তিন তালিকা এবং এক গুটান মান উৎপাদন একটি তালিকা উপর মানচিত্র, যা একটি নতুন সম্পৃক্ত list.map3_foldl / 7 যোগ করা হয়েছে.
- আমরা list.foldl3 / 8, list.foldl4 / 10, list.foldl5 / 12, list.foldl6 / 14 জন্য অনন্য সঞ্চয়ী সঙ্গে semidet মোড যোগ করা হয়েছে.
- আমরা predicates / 4 বিভক্ত করা এবং মান গ্রন্থাগারের tree_bitset মডিউল / 4 divide_by_set যোগ করা হয়েছে.
- আমরা predicates / 2 এবং set_ctree234.non_empty / 1 set_ctree234.member যোগ করা হয়েছে. আমরা ফাংশন set_ctree234.from_list / 1 যোগ আছে.
- আমরা যোগ করা বিধেয় set_bbbtree.count / 2 এবং ফাংশন set_bbbtree.count / 1. এই বিধেয় বর্তমানে অবচিত হয়েছে, যা / 2 set_bbbtree.size প্রতিস্থাপন করুন.
- আমরা সম্পৃক্ত set_ordlist.non_empty / 1. যোগ করা
- আমরা সম্পৃক্ত set_tree234.non_empty / 1 এবং ফাংশন set_tree234.from_list / 1. যোগ করা
- আমরা যোগ করা predicates set_unordlist.non_empty / 1 এবং set_unordlist.count / 2, এবং ফাংশন set_unordlist.count / 1.
- সেট ADT, (সংকলন, set_ordlist, set_unordlist, set_bbbtree, set_tree234, এবং set_ctree234) বাস্তবায়ন যে মান লাইব্রেরি মডিউল সব, এখন পর্যন্ত ছয় সঞ্চয়ী সঙ্গে সেট উপর ভাঁজ সমর্থন. সেট ভাঁজ জন্য অনন্য এবং বেশিরভাগ অনন্য সঞ্চয়ী প্রদান করে মোড যোগ করা হয়েছে.
- আমরা মান লাইব্রেরি অ্যারে মডিউল নিম্নলিখিত পরিবর্তন করেছেন
- আমরা ফাংশন / 2 unsafe_elem এবং / 2 লিখবেন যোগ করা হয়েছে.
- আমরা / 6 foldr2, map_foldl / 5, map_corresponding_foldl / 6, এবং সদস্য / 2. , unsafe_svset / 4, foldl2 / 4, foldl2 / 6/4 foldr, predicates / 4 svset যোগ করা
- আমরা মান লাইব্রেরি / 4, এবং version_array.foldr2 / 6 version_array.foldr, / 6 version_array.foldl2 predicates যোগ করা হয়েছে.
- আমরা নিম্নলিখিত predicates জন্য অনন্য এবং বেশিরভাগ অনন্য সঞ্চয়ী সঙ্গে semidet মোড যোগ করা হয়েছে:
- bimap.foldl2 / 6
- bimap.foldl3 / 8
- cord.foldl_pred / 4
- cord.map_foldl / 5
- list.map_corresponding_foldl2 / 8
- list.map_corresponding_foldl3 / 10
- list.map_corresponding3_foldl / 7
- map.foldl3 / 8
- আমরা মান লাইব্রেরি সমাধান মডিউল সম্পৃক্ত unsorted_aggregate2 / 6 যোগ করা হয়েছে.
- আমরা মান গ্রন্থাগারের প্রয়োজন মডিউল বিভিন্ন predicates এবং ফাংশন যোগ করা হয়েছে. / 2 এবং দুঃখিত / 3 রিপোর্ট একটি বৈশিষ্ট্য অভাবে দুঃখিত predicates, যখন / 3 রিপোর্ট প্রোগ্রামের মধ্যে একটি অভ্যন্তরীণ ত্রুটি / 2 অপ্রত্যাশিত এবং অপ্রত্যাশিত predicates; সব খুব ফাংশন সংস্করণ আছে. একটি শর্ত সন্তুষ্ট না হয়, তাহলে বিধেয় / 3 কল অপ্রত্যাশিত আশা. আমরা এখন / 4 আশা হিসেবে / 3 আশা আছে. জন্য / 4 হিসাবে ভাল আশা / 3, প্রথম এবং শেষ আর্গুমেন্ট যথাক্রমে আশা শর্ত এবং ত্রুটি বার্তা আছে, কিন্তু আশা সঙ্গে, ত্রুটি (সাধারণত নাম অবস্থান নির্দিষ্ট করতে মাঝখানে দুটি আর্গুমেন্ট / 4 আছে আশা ) যথাক্রমে মডিউল এবং বিধেয় এর. তারা শর্ত * মিথ্যা *, না সত্য. আশা করা ছাড়া আমরা / 4 যথাক্রমে expect_not / 3 আশা আশা মত যা / 3 এবং expect_not / 4, যোগ
নাম থেকেই বোঝা যায়
এটা সুযোগ দ্বারা নামে পরিবর্তনশীল এর উপর একটি সুইচ যদি
সংস্করণ 10.04.2 নতুন কি:
- এই রিলিজে একটি বাগ-ফিক্স রিলিজ. সংশোধন করা হয়েছে বাতিল করতে কম্পাইলার সৃষ্টিকারী সমস্যার একটি সংখ্যা, জাভা, গ্রেড কিছু ভাঙা RTTI অপারেশন সংশোধন করা হয়েছে, এবং আমরা জিসিসি সংস্করণ 4.4 সঙ্গে একটি সমস্যার জন্য একটি কার্যসংক্রান্ত যোগ করা হয়েছে.
সীমাবদ্ধতা
- এখনো সম্পূর্ণ বুধ ভাষা বাস্তবায়ন না বর্তমান বাস্তবায়ন. বর্তমান বাস্তবায়ন প্রধান সীমাবদ্ধতা হল:
- আমরা মোড সিস্টেমের মধ্যে নির্দিষ্ট অ্যালায়েসিং অনুমতি দেয় না. এই ছাড়া, আংশিকভাবে instantiated মোড ব্যবহারের অযোগ্য হয়ে, এবং তাই অনন্য মোড নেস্টেড হয়.
- কম্পাইলার এখনো অনন্য মোড কাজে লাগান গঠন পুনরায় ব্যবহার বা আবর্জনা সংগ্রহ সময় কম্পাইল করা হয় না.
- টাইপ করুন এবং মোড অনুমান একটি বিট অপূর্ণ.
- উপরন্তু, এই implemenation মধ্যে নকশা সিদ্ধান্ত জারি করা হয়েছে নিম্নলিখিত সীমা:
- predicates এবং ফাংশন 1000 আর্গুমেন্ট সম্পর্কে সর্বাধিক থাকতে পারে.
- উচ্চ অর্ডার পদ সবচেয়ে প্রায় 500 আর্গুমেন্ট থাকতে পারে.
পাওয়া মন্তব্যসমূহ না