সুরক্ষার ভুয়া অনুভূতি । এটা অপদার্থ.
কয়েকটি বেসিক প্রকার । ওক্যামেলের এখন বাইটস এবং বাইট অ্যারে রয়েছে তবে কোনও বিল্ট-ইন ইউনিকোড স্ট্রিং, 16-বিট ইন্টিজার, স্বাক্ষরবিহীন পূর্ণসংখ্যা, 32-বিট ফ্লোট, ভেক্টর বা ম্যাট্রিক নেই। তৃতীয় পক্ষের গ্রন্থাগারগুলি এর কয়েকটি সরবরাহ করে।
সাইলেন্ট ইন্টিজার ওভারফ্লো । অপরিবর্তিত তবে এটি কখনও সমস্যা ছিল না।
মডিউল অপরিচ্ছন্নতা । তাঁর সুপারিশ যে ফাংশন এবং মডিউলগুলি পারস্পরিক পরিবর্তনযোগ্য হওয়া উচিত তা লিস্পের কাছে মারাত্মক থ্রোব্যাক এবং সত্যই খারাপ ধারণা। আপনি চাইলে আপনি মডিউলগুলি সুপারসাইড include
করতে পারেন তবে অবশ্যই এগুলি পরিবর্তন করতে পারবেন না।
পলিমারফিজম রান-টাইম ধরণের ত্রুটিগুলির কারণ ঘটায় । এটি ওসিএএমএল নিয়ে একটি বড় সমস্যা এবং এটি ঠিক করা হয়নি। আপনার প্রকারগুলি বহুতল সমতা বিবর্তিত হওয়ার সাথে তুলনা এবং হ্যাশিং ব্যর্থ হতে শুরু করবে যখন তারা ফাংশনগুলির মতো ধরণের মুখোমুখি হয় এবং সমস্যাটি ডিবাগ করা খুব কঠিন। এফ # এর এই সমস্যার দুর্দান্ত সমাধান রয়েছে।
ম্যাক্রো নেই । হাস্যকরভাবে, যখন তিনি এই ওসি ক্যামেলটি লিখেছিলেন আসলে ম্যাক্রোগুলির সম্পূর্ণ সমর্থন ছিল তবে তারা এখন বৈশিষ্ট্যটি বাইরে নিয়ে যাওয়ার সিদ্ধান্ত নিয়েছে।
মোড়ানো । এটি একটি আসল সমস্যা ছিল এবং এটি ঠিক করা হয়নি। try ... finally
ওসিএএমএল ভাষায় এখনও কোনও নির্মাণ নেই এবং স্টাডলিবায় এটি কোনও রেপার প্রয়োগ করছে না।
জায়গা । অপরিবর্তিত তবে অ-সমস্যা।
রেকর্ড ক্ষেত্র নামকরণ জাহান্নাম । মডিউলগুলি ব্যবহার করে আপনার কোডটি সঠিকভাবে গঠন করুন।
সিনট্যাক্স । অপরিবর্তিত তবে অ-সমস্যা।
পলিমারফিজম নেই । এটি লেখার সময় এটি বেশিরভাগ বোকা ছিল এবং কিছুই পরিবর্তিত হয়নি।
বেমানান ফাংশন সেট । ওসিএএমএল এখনও cons
ফাংশন নেই। সেটা ঠিক আছে. আমি আমার ভাষায় লিস্প স্টাফ চাই না, ধন্যবাদ।
কোনও গতিশীল ভেরিয়েবল নেই । ওসিএএমএল সম্পর্কে ভাল জিনিস ছিল। ওসিএএমএল সম্পর্কে এখনও একটি ভাল জিনিস।
Ptionচ্ছিক ~ আর্গুমেন্ট স্তন্যপান । Ptionচ্ছিক আর্গুমেন্ট শিলা। আমি মাইক্রোসফ্টকে এফ #-তে optionচ্ছিক যুক্তি যুক্ত করার জন্য তাদের ব্যাজার্ড করেছি।
আংশিক যুক্তির প্রয়োগের অসঙ্গতি । অঁ্যা?
পাটিগণিতের পঠনযোগ্যতা । আমি 8 বছর আগে ওসিএএমএল ব্যবহার বন্ধ করার পরে এটি পরিবর্তন হয়েছে। স্পষ্টতই এখন আপনি করতে পারেন Int64.((q * n - s * s) / (n - 1L))
।
নীরব নাম বিরোধ বিরোধ । আপনি লিস্পে যেমন হবেন তেমনই তিনি আরএপিএল-তে ফুল-ব্লোড সফ্টওয়্যার বিকাশ করার চেষ্টা করছিলেন। ওক্যামেলে এটি করবেন না। কেবলমাত্র পরীক্ষার জন্য ডিসপোজেবল কোড এবং ইন্টারেক্টিভ টেকনিক্যাল কম্পিউটিংয়ের জন্য ফাইল এবং ব্যাচের সংকলনটি রিলিংটি ব্যবহার করুন RE
মূল্যায়নের আদেশ । এটি লেখার সময় এটি ভুল ছিল। মূল্যায়নের অর্ডার ওসিএএমএল-এ নির্ধারিত।
কোনও অবজেক্ট ইনপুট / আউটপুট নেই । তিনি একটি তৃতীয় পক্ষের লাইব্রেরিকে উদ্ধৃত করেছেন যা ইতিমধ্যে এই "সমস্যা" সমাধান করেছে।
সংকলকটি প্রথম ত্রুটির পরে থামে । অঁ্যা?
নেটিভলি সংকলিত এক্সিকিউটেবলের জন্য কোনও স্ট্যাক ট্রেস নেই । সংশোধন করা হয়েছে।
ডিবাগার চুষে দেয় । আমি কখনও ডিবাগারটি ব্যবহার করি নি। স্ট্যাটিক টাইপ চেকিং আমার প্রায় সমস্ত বাগগুলি ক্যাচ করে।
জিসি চুষে দেয় । আমি ওসিএএমএল এর জিসিটিকে একটি দুর্দান্ত সমস্যা ব্যতীত চমত্কার বলে মনে করেছি: গ্লোবাল লকটি সমান্তরাল প্রোগ্রামিংকে বাধা দেয়।
কোন অন্তর্নিহিত এগিয়ে ঘোষণা । মিউচুয়াল পুনরাবৃত্তি সমস্ত এমএলগুলিতে ডিজাইন দ্বারা স্পষ্ট। একমাত্র অবাস্তবতাটি হ'ল type
সংজ্ঞাগুলি ডিফল্ট দ্বারা পুনরাবৃত্ত হয় তবে let
বাইন্ডিংগুলি ডিফল্টরূপে পুনরাবৃত্ত হয়।
ফাংশন রাউন্ড অনুপস্থিত । ওক্যামেলটিতে এখনও একটি হাড় স্টাডলিব রয়েছে তবে জ্যান সেন্টের কোর এর মতো তৃতীয় পক্ষের লাইব্রেরি round
এবং বন্ধুরা সরবরাহ করে।
তালিকা । List.map
এখনও লেজ পুনরুক্তি হয় না। আমি এই জাতীয় গুরুতর বাগগুলি ঠিক করতে প্যাচগুলি জমা দিয়েছিলাম এবং রিলিজে আসার আগে কয়েক বছর অপেক্ষা করতে হয়েছিল। তালিকাগুলি অবশ্যই অপরিবর্তনীয়। এবং তাই তাদের হওয়া উচিত।
গতি । আমি বিশ্বাস করি বড় পলিমারফিক বৈকল্পিকগুলির জন্য সংকলনের সময়গুলি ঠিক করা হয়েছে।
প্যাটার্ন মিলছে । বাস্তবতার উপরে আশার বিজয়। লিস্প সম্প্রদায় এটি করতে ব্যর্থ হয়েছে। সুতরাং আমার দশম বিধি: যে কোনও পর্যাপ্ত জটিল লিস্প প্রোগ্রামে ও-ক্যামের প্যাটার্ন ম্যাচের সংকলকটির অর্ধেকের একটি অ্যাড-হক, অনানুষ্ঠানিকভাবে সুনির্দিষ্ট এবং বাগ-চালিত প্রয়োগ রয়েছে।
তবে আপনি শীর্ষ ধরণের প্রিন্টারটিকে প্রয়োজনীয় স্তরের তথ্য দিয়ে লাইব্রেরি কল হিসাবে ডেকে নিতে পারেন। এবং একটি ম্যাক্রো ছিল যা আপনি প্রিন্টারদের স্বয়ংক্রিয় জেনারেট করার জন্য ডেটা স্ট্রাকচারগুলি টীকাতে ব্যবহার করতে পারেন।