হাস্কেলের সাথে কি কোনও ডাউনসাইড বা সমস্যা আছে?


47

আমি আমার পরবর্তী (অপেক্ষাকৃত তুচ্ছ) ব্যক্তিগত প্রকল্পের জন্য হাস্কেলের সাথে ডাইভিংয়ের দিকে তাকিয়ে আছি। যে কারণে আমি হাস্কেলকে মোকাবেলা করছি সেগুলি হ'ল:

  1. সম্পূর্ণরূপে কার্যকরী ভাষায় আমার মাথা পান into
  2. দ্রুততা. যদিও আমি নিশ্চিত যে এটির পক্ষে যুক্তি দেওয়া যেতে পারে, প্রোফাইলিংয়ে আমি নখ হাস্কেল সি ++ এর কাছাকাছি দেখেছি (এবং মনে হয় এর্লংয়ের চেয়ে বেশ খানিকটা দ্রুত)।
  3. দ্রুততা. ওয়ার্প ওয়েব সার্ভারটি কার্যত অন্য কিছুর তুলনায় দ্রুত পাগল বলে মনে হচ্ছে ।

সুতরাং, এটি দেওয়া, আমি যা খুঁজছি তা হ্যাস্কেলের সাথে আসা ডাউনসাইডস বা সমস্যাগুলি are ওয়েস্টের কেন হাস্কেল একটি ভাল জিনিস সে সম্পর্কে প্রচুর পরিমাণে তথ্য রয়েছে তবে এর কুৎসিত দিক সম্পর্কে আমি অনেকগুলি বিষয় খুঁজে পাইনি (এর সিনট্যাক্স সম্পর্কে গ্রিপগুলি ছাড়াও যা আমি মোটেও যত্ন করি না)।

আমি যা খুঁজছি তার একটি উদাহরণ পাইথনের জিআইএল এর মতো হতে পারে। আমি সত্যই সিপিথন পরিবেশে একযোগে ব্যবহার করা শুরু না করা অবধি এমন কিছু যা এর মাথা পিছনে ফেলে না।


4
এটি স্ট্যাকওভারফ্লোতে পাওয়া গেছে: stackoverflow.com/questions/1695076/pros-and-cons-of-haskell
হতাশ

26
আমি শুনেছি কম প্রোগ্রামাররা মস্তিষ্কের গলানোর সমস্যাগুলি মোকাবেলা করেছে। এটি চিকিত্সা করা খুব ব্যয়বহুল শর্ত।
কেওসপ্যান্ডিয়ন

1
@ ফ্রাস্ট্রেটেড উইথফর্মস ডিজাইনার: লিঙ্কটির জন্য ধন্যবাদ। তবে, হাস্কেলের কাছে এখনও কোনও প্রযুক্তিগত ডাউনসাইডের কোনও রেফারেন্স পাওয়া যায়নি .. এটি কি সেখানে থাকতে পারে না ? ;)
ডেমিয়ান ব্রেচ্ট

6
@ চাওসপ্যান্ডিয়ন: আমিও শুনেছি .. তবে আপনি যদি নিজের মস্তিষ্ককে গলে না ফেলেন , আপনি কি আসলে চেষ্টা করছেন ? ;) এছাড়াও, আমি নিজেকে সত্যিই কম প্রোগ্রামার হিসাবে বিবেচনা করব না, তাই আমি সে সম্পর্কে অত্যধিক উদ্বিগ্ন নই;)
ডেমিয়ান ব্রেচট

3
@ চাওসপ্যান্ডিয়ন: এবং বেশিরভাগ স্বাস্থ্য পরিকল্পনা এটিকে আবরণ করে না। :(
হতাশ

উত্তর:


48

কয়েকটি ডাউনসাইড আমি ভাবতে পারি:

  • ভাষার প্রকৃতি এবং একাডেমিক বিশ্বে এর দৃ roots় শিকড়গুলির কারণে, সম্প্রদায়টি খুব গণিত-মনের; আপনি যদি বাস্তববাদী ব্যক্তি হন তবে এটি সময়ে সময়ে অভূতপূর্ব হতে পারে এবং আপনি যদি জারগান না বলে থাকেন তবে অন্যান্য অনেক ভাষার চেয়ে আপনার আরও কঠিন সময় কাটাতে হবে।
  • লাইব্রেরির অবিশ্বাস্য সম্পদ থাকা সত্ত্বেও ডকুমেন্টেশনগুলি প্রায়শই ক্ষয় হয়।
  • কোমল প্রবেশের-স্তরের টিউটোরিয়ালগুলি খুব কম এবং খুঁজে পাওয়া শক্ত, তাই প্রাথমিক শিক্ষার বক্ররেখাটি বেশ খাড়া।
  • কয়েকটি ভাষার বৈশিষ্ট্য অকারণে আনাড়ি; একটি উল্লেখযোগ্য উদাহরণ হ'ল কীভাবে রেকর্ড সিনট্যাক্স নামকরণের সুযোগটি প্রবর্তন করে না, সুতরাং একই মডিউল নেমস্পেসের মধ্যে দুটি ভিন্ন ধরণের একই রেকর্ড ক্ষেত্রের নাম থাকার কোনও উপায় নেই।
  • হাস্কেল অলস মূল্যায়নে ডিফল্ট, এবং এটি প্রায়শই দুর্দান্ত জিনিস হলেও এটি কখনও কখনও আপনাকে বাজে উপায়ে কামড় দিতে পারে। অ-তুচ্ছ পরিস্থিতিতে অলস মূল্যায়ণ নিরীহভাবে ব্যবহার করা অপ্রয়োজনীয় কর্মক্ষমতা বাধা সৃষ্টি করতে পারে এবং হুডের নীচে কী চলছে তা বোঝা ঠিক সোজা নয়।
  • অলস মূল্যায়ন (বিশেষত বিশুদ্ধতা এবং আগ্রাসীভাবে অপ্টিমাইজ করা সংকলকের সাথে মিলিত) এর অর্থ আপনি সহজেই মৃত্যুদন্ড কার্যকর করার আদেশ সম্পর্কে যুক্তি দিতে পারবেন না; প্রকৃতপক্ষে, আপনি এমনকি জানেন না যে কোনও নির্দিষ্ট কোডের কোনও নির্দিষ্ট পরিস্থিতিতে কোনও মূল্যায়ন হয়। ফলস্বরূপ, হাস্কেল কোডটি ডিবাগ করার জন্য আলাদা মানসিকতা প্রয়োজন, কেবল যদি আপনার কোডের মাধ্যমে পদক্ষেপ নেওয়া কম দরকারী এবং কম অর্থবহ।
  • হাস্কেলের বিশুদ্ধতার কারণে আপনি আই / ও এর মতো কাজগুলিতে পার্শ্ব প্রতিক্রিয়া ব্যবহার করতে পারবেন না; মিথস্ক্রিয়া অর্জনের জন্য আপনাকে একটি monad এবং 'অপব্যবহার' অলস মূল্যায়ন ব্যবহার করতে হবে এবং আপনি I / O করতে চান এমন যে কোনও জায়গাতেই monadic প্রসঙ্গটি টানতে হবে। (এটি আসলে বিভিন্ন দিক থেকে একটি ভাল বৈশিষ্ট্য, তবে এটি ব্যবহারিক কোডিংকে অসম্ভব করে তোলে))

16
সত্যিই কিছু ভাল ভাল প্রাথমিক বই এখন অনলাইনে বিনামূল্যে পাওয়া যায়। গ্রেট গুডের জন্য শেখা হ্যাশেল একটি সেরা শিক্ষানবিশ প্রোগ্রামিং বই যা আমি পড়েছি এবং রিয়েল ওয়ার্ল্ড হাস্কেল একটি দুর্দান্ত মধ্যবর্তী সংস্থান।
টিখন জেলভিস

1
@ টিখন জেলভিস: আমার পক্ষে ব্যবহার করার উপযুক্ত খুঁজে পাওয়া এই দুই প্রার্থীই প্রকৃতপক্ষে; "লার্ন ইউ এ হাস্কেল" আমাকে যে কোনও কিছুর চেয়ে বেশি বিভ্রান্ত করেছে, "রিয়েল ওয়ার্ল্ড হাস্কেল" আমার পক্ষে কাজ করেছে তবে কিছুটা প্রোগ্রামিং ব্যাকগ্রাউন্ড ধরেছে। "হাস্কেলের কাছে কোমল ভূমিকা" রয়েছে, তবে এটি সবই মৃদু, বিশেষত আপনার যদি ম্যাথের কোনও পটভূমি না থাকে।
tmadmers

আমি "কোমল পরিচিতি হাস্কেল" এবং "রিয়েল ওয়ার্ল্ড হাস্কেল" ব্যবহার করি। দুজনের সংমিশ্রণটি আমাকে প্রচুর দরকারী তথ্য দিয়েছে। আমি এমন একটি স্তরে আছি যেখানে আমি একটি তুচ্ছ প্রকল্পের জন্য প্রস্তুত কিন্তু দুর্ভাগ্যক্রমে এর জন্য আমার খুব বেশি সময় নেই।
জর্জিও

9
"যদি আপনি বাস্তববাদী ব্যক্তি হন ...": কখনও কখনও গণিত-ভিত্তিক ভাষা ব্যবহার করা খুব বাস্তববাদী সিদ্ধান্ত হতে পারে যদি এটি পরে আপনাকে প্রচুর বাগ-ফিক্সিং এড়ানো হয়। অবশ্যই, কোনও সরঞ্জাম ব্যবহার করে আপনি কতটা সময় সাশ্রয় করবেন এবং এটি কীভাবে ব্যবহার করবেন তা শিখতে আপনার অতিরিক্ত কতটা সময় প্রয়োজন তার মধ্যে আপনার সর্বদা একটি ভারসাম্য খুঁজে পাওয়া উচিত।
জর্জিও

মনডস (এবং অন্যান্য ভাষায়ও করবেন) কঠোর ভাষায় ঠিক একই কাজ করবে। ইন্টারেক্টিভিটি অর্জনের জন্য আপনি অলস মূল্যায়নটি একেবারে "অপব্যবহার" করবেন না, হাসকেলে একটি কঠোর ইন্টারেক্টিভ প্রোগ্রাম লিখাই তুচ্ছ।
সেমিকোলন

19

হাস্কেলের বেশিরভাগ ডাউনসাইড (পাশাপাশি বেশিরভাগ হাস্কেলের উল্টো দিক) এর দুটি সংজ্ঞায়িত বৈশিষ্ট্য থেকে এসেছে: এটি অলস এবং নিখুঁতভাবে কার্যকরী।

অলস হওয়া পারফরম্যান্স সম্পর্কে যুক্তিযুক্ত হতে শক্ত করে তোলে। বিশেষত লোকেদের জন্য অলসতা ব্যবহার করা হয়নি, তবে অভিজ্ঞ হাসকলারদের পক্ষেও কিছু ক্ষেত্রে অলসতা কার্য সম্পাদনকে কীভাবে প্রভাবিত করবে তা দেখা মুশকিল।

অলসতার অর্থ হ'ল মানদণ্ডের মতো লাইব্রেরি ব্যবহার না করে সঠিক বেঞ্চমার্ক তৈরি করা আরও শক্ত।

বিশুদ্ধভাবে কার্যকরী হওয়ার অর্থ হ'ল যখনই আপনাকে পরিবর্তনীয় ডেটা স্ট্রাকচারগুলি ব্যবহার করতে হবে (সেগুলি ছাড়া তাদের পছন্দসই পারফরম্যান্স অর্জন সম্ভব নয় - তবে জিএইচসি-র অপ্টিমাইজারকে ধন্যবাদ যা আপনার মনে হয় যতবার না ঘটে), আপনি হবেন আইও (বা এসটি) মনাদে আটকে যা কোডটি আরও জটিল করে তোলে।

যেহেতু আপনি আপনার লক্ষ্যগুলির মধ্যে একটি হিসাবে গতি উল্লেখ করেছেন, তাই আমার উল্লেখ করা উচিত যে হ্যান্ড-অপ্টিমাইজড হাস্কেল কোড এবং হাস্কেল কোডের মধ্যে পারফরম্যান্সে প্রায়শই প্রচুর পার্থক্য রয়েছে যা পারফরম্যান্সে বেশি চিন্তা না করেই লেখা হয়েছিল (অন্যান্য ভাষাগুলির চেয়ে বেশি)। এবং হ্যান্ড-অপ্টিমাইজড হাস্কেল কোড প্রায়শই বেশ কুৎসিত হয় (যদিও আমি মনে করি এটি অন্যান্য ভাষায়ও সত্য) is


1
খাঁটি কার্যকরী আসলে একটি বিক্রয় বৈশিষ্ট্য, কোনও খারাপ দিক নয়। একটি ভাষা "অলস" হওয়া কোনও অর্থবোধ করে না, অলস বনাম কঠোর প্রকারের বিষয় এবং অলস এবং কঠোর উভয় প্রকারেরই এর ব্যবহার রয়েছে have (সুতরাং হাস্কেল কঠোর প্রকার না করে ঠিক যেমন পঙ্গু হয়ে পড়েছে যেমন বেশিরভাগ ভাষা অলস প্রকার না পেয়ে বিকল হয়ে যায়)) হাস্কেলের মূল ডাউনসাইডগুলি হ'ল তার ক্র্যাপযুক্ত মডিউল সিস্টেম (মডিউলগুলি প্রথম শ্রেণির নয়) এবং প্রকৃত ধরণের শ্রেণিগুলি আসলে মডুলারিটি ভেঙে দেয় ( "প্রকারভেদে একটি উদাহরণ" বিধি সংকলককে ধরণের শ্রেণীর উদাহরণগুলির বিশ্বব্যাপী তালিকা রাখতে বাধ্য করে)।
পাইয়ন

21
"এবং হ্যান্ড-অপ্টিমাইজড হাস্কেল কোড প্রায়শই বেশ কুৎসিত হয় (যদিও আমি মনে করি এটি অন্যান্য ভাষায়ও সত্য)" এই. লোকেরা যখন হাস্কেলের কমনীয়তা দেখাতে চায়, তারা সংক্ষিপ্ত এবং মিষ্টি কোড প্রকাশ করে, যা দুর্ভাগ্যক্রমে আপনাকে বেশ খারাপ পারফরম্যান্স দেবে যদি উত্পাদনের মতো পরিমাণে ডেটা চালানো হয়। লোকেরা যখন দেখাতে চায় যে "হাস্কেল সি ++ এর মতো দ্রুত" তখন তারা সংশ্লেষিত এবং কোড পড়া শক্ত করে প্রকাশ করে যা সি এর চেয়ে আরও বেশি পঠনযোগ্য সংস্করণটির চেয়ে ধীর গতির
কোয়ান্ট_দেব

12

আমি হাস্কেল বিশেষজ্ঞ নই: আমি বেসিকগুলি শিখেছি কিন্তু দুর্ভাগ্যক্রমে হাস্কেল-তে আমার কোনও গুরুতর প্রকল্প করার সুযোগ হয়নি (আমি যদিও চাই, কারণ আমি এই ভাষাটি অনেক পছন্দ করি)।

যাইহোক, আমি যা জানি এবং কারও সাথে ফাংশনাল প্রোগ্রামিংয়ের খুব কাছাকাছি কাজ করছেন তার সাথে আলোচনা থেকে, আপনি যখন গ্রাফ অ্যালগরিদমগুলি প্রয়োগ করতে চান তখন হাস্কেল সবচেয়ে ভাল সমাধান হতে পারে না, যেখানে আপনার গ্রাফিকের মধ্য দিয়ে চলতে এবং সঞ্চালনের জন্য উদাহরণ প্রয়োজন eg গ্রাফের কাঠামোর অনেক স্থানীয় পরিবর্তন।

যেহেতু একটি গ্রাফের সাধারণভাবে পুনরাবৃত্তাকার কাঠামো নেই, তাই আমার অনুভূতি হ'ল সর্বোত্তম পদ্ধতির মধ্যে কাঠামোগুলি এবং পয়েন্টারগুলি (যেমন আপনি সি ++ তে করতে পারেন) ব্যবহার করে গ্রাফের একটি অনুলিপি তৈরি করা এবং পয়েন্টার পরিবর্তন করে সেই অনুলিপিটি পরিচালনা করতে হবে, নোড তৈরি করা বা ধ্বংস করা ইত্যাদি।

আমি অবাক হই যে কীভাবে এই জাতীয় ডেটা স্ট্রাকচার এবং অপারেশনগুলি হ্যাসকেলে সঠিকভাবে পরিচালনা করা যায়, যেহেতু হাস্কেলের আমার জ্ঞানের কারণে উপরের উপস্থাপনা / পদ্ধতির ব্যবহার সম্ভব নয়। হাস্কেলের গ্রাফ অ্যালগরিদমগুলির কিছু সমস্যা সংক্ষেপে এই নিবন্ধে আলোচনা করা হয়েছে

সম্পাদনা

আমি সম্প্রতি কার্যনির্বাহী প্রোগ্রামিংয়ের বিশেষজ্ঞের সাথে কথা বলেছি এবং তিনি নিশ্চিত করেছেন যে কিছু গ্রাফ অ্যালগরিদম দক্ষতার সাথে প্রয়োগ করা হাস্কেলের ক্ষেত্রে বেশ জটিল হতে পারে: আপনার সি বা সি ++ এর মতো পয়েন্টারগুলি ঘুরে বেড়ানো আরও দ্রুততর হতে পারে।


খাঁটি কার্যকরী বিশ্বে গ্রাফ ম্যানিপুলেশন / ট্রভারসাল সম্পর্কিত আকর্ষণীয় নোট (এবং লিঙ্ক)। এটা বিবেচনা করা হয়নি।
ডেমিয়ান ব্রেচেট

7
বিশুদ্ধভাবে কার্যকরী গ্রাফ অ্যালগরিদমগুলি একটি আকর্ষণীয় বিষয়। আইডোমেটিক সলিউশনটি হ'ল পয়েন্টারগুলিকে বিশুদ্ধভাবে কার্যকরী অভিধানের মাধ্যমে প্রতিস্থাপন করে অত্যাবশ্যক উপস্থাপনাটি অনুকরণ করা, যেমন প্রদত্ত একটি শীর্ষ প্রান্তকে যে প্রান্তে রয়েছে তার বিন্দুতে ম্যাপিং। তবে, দুর্বল অভিধান ব্যবহার না করা হলে এটি মেমরি ফাঁস করবে কারণ অ্যাক্সেসযোগ্য উপচ্ছেদগুলি সংগ্রহ করা যাবে না এবং খাঁটিভাবে কার্যকরী দুর্বল অভিধানের কোনও জানা নেই। দিনের শেষে, একটি অত্যাধুনিক খাঁটি নিখুঁত কার্যকরী সমাধান উভয়ই আরও জটিল এবং অনেক কম দক্ষ!
জন হ্যারোপ

1
অন্যদিকে, গ্রাফ অ্যালগরিদমগুলি ডিবাগ করা কুখ্যাতভাবে কঠিন হতে পারে এবং অবিরাম ডেটা কাঠামো এই সমস্যাটিকে
প্রশমিত

আমি ভাবছিলাম যে কোনও গ্রাফ ডেটা ধরণের বিকাশ করা সম্ভব হবে (বাইটস্ট্রিংয়ের ধারণা অনুসরণ করে: দক্ষ অভ্যন্তরীণ উপস্থাপনা প্লাস রূপান্তর / অ্যাক্সেস ফাংশন)। মোনাড ব্যবহার করে এ জাতীয় গ্রাফকে পরিবর্তনযোগ্য করে তোলা সম্ভব should অবশ্যই এটি গ্রাফ উপস্থাপনের বিষয়টি বিবেচনা করবে তবে গ্রাফ অ্যালগরিদমগুলি বাস্তবায়নের ক্ষেত্রে নয়।
জর্জিও

ডিএজিগুলি একটি জিনিস। অন্য কিছুর জন্য, আপনি অলসতা কাজে লাগাতে এবং "গিঁট বেঁধে" রাখতে পারেন।
danielm

4

হাস্কেলের নিচের দিকটি এটির চেয়ে আলাদা। এটি সাধারণত যে ভাষা শেখানো হয় বা সে সম্পর্কে কথা বলা হয় সেগুলি থেকে এটি একটি বড় পদক্ষেপ so এটি এমন ভাষার ক্ষেত্রেও কম জনপ্রিয় যা আপনি আটকে গেলে সহায়তার সহজলভ্যতা সীমাবদ্ধ করতে পারে। যদিও এটি সত্যিই বড় ডাউনসাইড নয়।

সম্ভাব্য খারাপ দিকগুলির মধ্যে একটি যা হ'ল এটি একটি কার্যকরী ভাষা, তাই এটি নির্দিষ্ট সমস্যা ডোমেনগুলির জন্য কম দরকারী তবে এটি বস্তু ওরিয়েন্টেড ভাষার ক্ষেত্রেও সত্য। সাধারণত ভাষাগুলি কমপক্ষে তুলনামূলকভাবে জনপ্রিয় ভাষার জন্য শেখার বক্ররেখার বাইরে সত্য negativeণাত্মক থাকে না। যতক্ষণ না কোনও ভাষা টুরিং সম্পূর্ণ হয় তাত্ত্বিকভাবে যেকোন কিছুতেই এটি সক্ষম।


3
ট্যুরিং সম্পূর্ণতা একটি লাল রঙের হেরিং। গণনার তত্ত্ব! = ব্যবহারিক প্রোগ্রামিং।

1
@ ডেলানান সে কারণেই আমি তাত্ত্বিকভাবে বলেছি
রায়থাল

2
সেই "সমস্যাযুক্ত ডোমেনগুলি" কী কী যার জন্য হাস্কেল অভিযোগ করা কম কম?
আন্দ্রেস এফ।

3
যদিও এটি সত্য যে সম্প্রদায়টি আরও ছোট , এটি বাস্তবে অসম্পূর্ণভাবে সক্রিয়। আমি মনে করি ফ্রেইনোডে # হ্যাসেল চ্যানেলটি ভাষা চ্যানেলগুলির মধ্যে জনপ্রিয়তার পিছনে কেবল # পঠনের পিছনে রয়েছে এবং এসই তে হাস্কেল সম্পর্কে প্রশ্নের উত্তর দেওয়া আশ্চর্যজনকভাবে প্রতিযোগিতামূলক :)
তিখন জেলভিস

@AndresF। - আমি "কম দরকারী" বলতে এতদূর যেতে পারব না তবে এখানে এমন কিছু অঞ্চল রয়েছে যেখানে হাস্কেল অবশ্যই এখনও শৈশব দেখিয়ে চলেছেন: 1) ভারী ডিপি - আমি একটি সাধারণ ন্যাপস্যাক অ্যালগরিদমকে কোড করেছিলাম এবং কীভাবে আক্ষরিকভাবে হতবাক হয়ে গিয়েছিলাম? ধীর ছিল। এটি বক্সযুক্ত অ্যারে ব্যবহার করছিল, তাই আমি কিছু ওভারহেডের প্রত্যাশা করছিলাম তবে এটি আমার প্রত্যাশার চেয়ে অনেক খারাপ ছিল। 2) বড় অ-তুচ্ছ গেমস - এএফআরপি শৈশবকালীন, তাই বিশেষত কোনও ভাল ফ্রেমওয়ার্ক নেই এবং পারফরম্যান্সটি এখনও অনুমান করা খুব কঠিন। ডুমের হাস্কেল সংস্করণটি দেখার আগে এটি অনেক দিন হয়ে যাবে। (টুকরা গণনা করে না - এর কোনও এআই নেই))
rtPress

0

সুতরাং, এটি দেওয়া, আমি যা খুঁজছি তা হ্যাস্কেলের সাথে আসা ডাউনসাইডস বা সমস্যাগুলি are

"হাস্কেলের সমস্যা" নির্দিষ্ট ডোমেনে উপস্থিত হওয়ার প্রবণতা রয়েছে। হাস্কেল অ্যাপ্লিকেশন প্রোগ্রামিংয়ের জন্য দুর্দান্ত একটি ভাষা, অন্য কোনও কিছুর চেয়ে লেখার চেয়ে অনেক বেশি আনন্দদায়ক। আপনি যখন কিছু করার চেষ্টা করেন তখন সমস্যাগুলি ক্রপ হয়, যেমন:

  • ক্রস সংকলন। জিএইচসি ক্রস সংকলক হিসাবে নির্মিত যেতে পারে, তবে প্রক্রিয়া বরং জড়িত।
  • এম্বেড অ্যাপ্লিকেশন। হাস্কেলের একটি ময়লা আবর্জনা সংগ্রহকারীর মাধ্যমে মেমরি পরিচালনা রয়েছে, সুতরাং এটি খুব আশ্চর্যজনক নয়।
  • দ্রুততা. হাস্কেল রাস্টের মতো দ্রুত নয়, যদিও বেশিরভাগ ক্ষেত্রে এটি মোটামুটি ভাল প্রতিযোগিতা করবে। এটি অ্যাপ্লিকেশন ডোমেনের উপর নির্ভর করে - খাঁটি গণনা ভালভাবে অনুকূলিত হয়, তবে "বাফারে একটি ফাইল পড়ুন এবং লাইনের সংখ্যা গণনা করুন" এর মতো কিছু হাস্কেলের মধ্যে প্রকাশ করা আরও শক্ত।
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.