এটি হল কমান্ড আলিঙ্গন যা আমাদের একাধিক বিনামূল্যের অনলাইন ওয়ার্কস্টেশন যেমন উবুন্টু অনলাইন, ফেডোরা অনলাইন, উইন্ডোজ অনলাইন এমুলেটর বা MAC OS অনলাইন এমুলেটর ব্যবহার করে OnWorks ফ্রি হোস্টিং প্রদানকারীতে চালানো যেতে পারে।
কার্যক্রম:
NAME এর
আলিঙ্গন, রানহাগস, ফিহাগস - আলিঙ্গন 98, কার্যকরী প্রোগ্রামিং সিস্টেম
সাইনোপিসিস
ভালোবাসামাখা [ অপশন ] [ মডিউল ]
রানহুগস [ অপশন ] মডিউল [ args ]
ফিহাগস [ অপশন ] মডিউল [ কম্পাইলার_আর্গুমেন্ট ]...
বর্ণনাঃ
আলিঙ্গন হল হাসকেলের জন্য একটি দোভাষী, একটি আদর্শ অ-কঠোর কার্যকরী প্রোগ্রামিং ভাষা।
আলিঙ্গন পারস্পরিক পুনরাবৃত্ত ব্যতীত প্রায় সমস্ত Haskell 98 মান প্রয়োগ করে
মডিউল নাম ভালোবাসামাখা জন্য একটি স্মৃতিবিজড়িত Haskell, ব্যবহারকারীর গফার পদ্ধতি.
দোভাষী ব্যবহার শুরু হয় ভালোবাসামাখা আদেশ বিকল্প প্রক্রিয়াকরণের পরে, এটি লোড হয়
স্ট্যান্ডার্ড মডিউল প্রস্তাবনা এবং কমান্ড লাইনে তালিকাভুক্ত অন্য কোনো মডিউল।
প্রতিটি হাসকেল মডিউল একটি পৃথক ফাইলে সংরক্ষণ করা হয়। একটি মডিউল লোড করার সময় নাম, ভালোবাসামাখা
প্রতিটি ` প্রতিস্থাপন করে.' ভিতরে নাম সঙ্গে একটি `/' এবং তার অনুসন্ধানে প্রতিটি ডিরেক্টরিতে দেখায়
পথ (দেখুন -P অধীনে বিকল্প) ফাইলের জন্য নাম.এইচএস এবং নাম.lhs. (স্বীকৃত প্রত্যয়
ব্যবহার করে পরিবর্তন করা যেতে পারে -S বিকল্প, নীচে বর্ণিত বিকল্প.) এটিও চেষ্টা করে নাম হিসেবে
আক্ষরিক ফাইলের নাম। ফাইলের শেষ ".lhs"কে সাক্ষর লিপি হিসাবে গণ্য করা হয়।
বিকল্প
কিছু বিকল্প সঙ্গে টগল করা হয় + or - তাদের যথাক্রমে চালু বা বন্ধ করতে।
ভাষা ধারণা
+98 শুধুমাত্র Haskell 98 গ্রহণ করুন (এর মধ্যে পরিবর্তন করা যাবে না ভালোবাসামাখা; ডিফল্ট: চালু)। এই বাঁক
বন্ধ বেশ কয়েকটি বিশেষ আলিঙ্গন এক্সটেনশন সক্ষম করে, যেগুলি এ বর্ণনা করা হয়েছে৷ ভালোবাসামাখা 98
ব্যবহারকারী ম্যানুয়াল.
+o ওভারল্যাপিং দৃষ্টান্তগুলিকে অনুমতি দিন (একটি আলিঙ্গন এক্সটেনশন; ডিফল্ট: বন্ধ)
+O অনিরাপদ ওভারল্যাপিং উদাহরণের অনুমতি দিন (একটি আলিঙ্গন এক্সটেনশন; ডিফল্ট: বন্ধ)
+H 'এখানে নথিপত্র' অনুমতি দিন (একটি আলিঙ্গন এক্সটেনশন; ডিফল্ট: বন্ধ)
মডিউল বোঝাই
+l যেসব ফাইলের নাম শেষ হয় না `তে ব্যবহার করুন.এইচএস'না'.lhs'সাক্ষর স্ক্রিপ্ট হিসাবে
(ডিফল্ট: বন্ধ)
+. মডিউল লোড করার সময় অগ্রগতি দেখানোর জন্য বিন্দু মুদ্রণ করুন (ডিফল্ট: বন্ধ)
+q মডিউল লোড করার সময় অগ্রগতি দেখানোর জন্য কিছুই প্রিন্ট করবেন না (ডিফল্ট: চালু)
+w কোন ফাইলগুলি লোড করা হয়েছে তা সর্বদা দেখান (ডিফল্ট: বন্ধ)
অভিব্যক্তি মূল্যায়ন
+s প্রতিটি মূল্যায়নের পরে হ্রাস/কক্ষের সংখ্যা প্রিন্ট করুন (ডিফল্ট: বন্ধ)
+t প্রতিটি মূল্যায়নের পরে প্রিন্টের ধরন (ডিফল্ট: বন্ধ)
+T মুদ্রণের প্রকারের আগে Haskell ডিফল্টিং নিয়ম প্রয়োগ করুন (ডিফল্ট: বন্ধ)
+g প্রতিটি আবর্জনা সংগ্রহের পরে পুনরুদ্ধার করা কক্ষগুলির মুদ্রণ সংখ্যা (ডিফল্ট: বন্ধ)
+Q প্রিন্ট করার সময় যোগ্য নামগুলি (ডিফল্ট: বন্ধ)
+k সম্পূর্ণ ধরনের ত্রুটি দেখান (ডিফল্ট: বন্ধ)
+u ব্যবহার করুন "প্রদর্শনী" ফলাফল প্রদর্শন করতে (ডিফল্ট: চালু)
+I IO প্রোগ্রামের ফলাফল প্রদর্শন করুন (ডিফল্ট: বন্ধ)
পরামিতি
অন্যান্য বিকল্প (যাতে - দ্বারা প্রতিস্থাপিত হতে পারে +, পছন্দ কোন পার্থক্য করে না) হল:
-hNUM স্তূপের আকার সেট করুন (এর মধ্যে পরিবর্তন করা যাবে না ভালোবাসামাখা; ডিফল্ট: 250K)
-pStr প্রম্পট স্ট্রিং এতে সেট করুন Str (ডিফল্ট: `%s> ')। যে কোন %s প্রম্পটে প্রতিস্থাপন করা হবে
বর্তমান মডিউল নাম দ্বারা।
-rStr পুনরাবৃত্তি শেষ অভিব্যক্তি স্ট্রিং সেট করুন Str (ডিফল্ট: $$).
-PStr উৎস ফাইলের জন্য অনুসন্ধান পথ সেট করুন Str, যা একটি কোলন-বিচ্ছিন্ন তালিকা হওয়া উচিত
ডিরেক্টরি এই তালিকার একটি শূন্য এন্ট্রি পূর্ববর্তী অনুসন্ধান দ্বারা প্রতিস্থাপিত হবে
পথ একটি নাল Str মানে ডিফল্ট পথ। এর কোনো ঘটনা {আলিঙ্গন} এই স্ট্রিং মধ্যে
Hugs লাইব্রেরি ডিরেক্টরিতে প্রসারিত করা হয়েছে, যথা /usr/lib/hugs। একইভাবে, {বাড়ি}
আপনার হোম ডিরেক্টরিতে প্রসারিত হয় (এর মান হোম পরিবেশ সূচক).
ফর্মের একটি এন্ট্রি `ডিরেক্টরি/*' মানে এর সমস্ত তাৎক্ষণিক উপ-নির্দেশিকা
ডিরেক্টরি. ডিফল্ট মান হল
.:{Home}/lib/hugs/packages/*:/usr/local/lib/hugs/packages/*:{Hugs}/packages/*:{Hugs}/লাইব্রেরি
-SStr সোর্স ফাইল প্রত্যয়গুলির কোলন-বিচ্ছিন্ন তালিকা সেট করুন Str (ডিফল্ট: .hs:.lhs)। একজন
এই তালিকায় নাল এন্ট্রি পূর্ববর্তী প্রত্যয় তালিকা দ্বারা প্রতিস্থাপিত হবে; একটি নাল Str
মানে ডিফল্ট তালিকা।
-EStr দ্বারা প্রদত্ত সম্পাদক সেটিং ব্যবহার করুন Str (ডিফল্ট: এর মান বিকিরণকারী পরিবেশ
পরিবর্তনশীল)। এর কোনো ঘটনা %d এবং %s সম্পাদক বিকল্পে দ্বারা প্রতিস্থাপিত হয়
সূচনা লাইন নম্বর এবং ফাইলের নাম যথাক্রমে সম্পাদনা করা হবে। একটি সাধারণ
সেটিং হল "vi +%d %s".
-cNUM টাইপ চেকারে সীমাবদ্ধতার কাটঅফ সীমা সেট করুন NUM (ডিফল্ট: 40)।
-Fcmd কমান্ড সোর্স ফাইলের জন্য প্রিপ্রসেসর ফিল্টার সেট করুন cmd কমান্ড (ডিফল্টরূপে আনসেট)। পরিবর্তে
সরাসরি একটি উৎস ফাইল পড়া, ভালোবাসামাখা এর স্ট্যান্ডার্ড আউটপুট পড়বে cmd কমান্ড সঙ্গে চালানো
যুক্তি হিসাবে উৎস ফাইলের নাম।
-XStr স্ট্রিং Str একটি বিকল্প স্ট্রিং হিসাবে ব্যাখ্যা করা হয়। এটি দরকারী, উদাহরণস্বরূপ,
একাধিক আর্গুমেন্ট পাস করার জন্য রানহুগস একটি #! লিপি.
কম্যান্ডস
একবার দোভাষী লোড হয়ে গেলে, নিম্নলিখিত কমান্ডগুলি পাওয়া যায়:
:বোঝা [মডিউল] প্রিলিউড ব্যতীত সমস্ত মডিউল সাফ করুন এবং নির্দিষ্ট মডিউলগুলি লোড করুন।
:ও মডিউল অতিরিক্ত মডিউল পড়ুন।
: পুনরায় লোড করুন শেষ পুনরাবৃত্তি বোঝা কমান্ড।
: সম্পাদনা করুন ফাইল সম্পাদন করা ফাইল.
: সম্পাদনা করুন শেষ ফাইল সম্পাদনা করুন।
: মডিউল মডিউল অভিব্যক্তি মূল্যায়নের জন্য মডিউল সেট করুন।
এক্সপ্রেস অভিব্যক্তি মূল্যায়ন।
: প্রকার এক্সপ্রেস প্রিন্ট ধরনের অভিব্যক্তি।
:? কমান্ডের এই তালিকা প্রদর্শন করুন।
: সেট অপশন কমান্ড লাইন বিকল্প সেট করুন।
: সেট কমান্ড লাইন বিকল্পে সাহায্য।
: নাম [নিদর্শন] তালিকার নামগুলি বর্তমানে যে কোনো শেল-স্টাইল প্যাটার্নের সাথে মেলে।
: তথ্য নাম নামযুক্ত বস্তু বর্ণনা করুন।
: ব্রাউজ করুন মডিউল রপ্তানি করা নাম ব্রাউজ করুন মডিউল.
:অনুসন্ধান নাম এর সংজ্ঞা ধারণকারী ফাইল সম্পাদনা করুন নাম.
:!হুকুম শেল অব্যাহতি
: cd Dir ডিরেক্টরি পরিবর্তন করুন।
:gc জোর করে আবর্জনা সংগ্রহ।
: সংস্করণ আলিঙ্গন সংস্করণ মুদ্রণ.
: ছেড়ে দাও আলিঙ্গন দোভাষী প্রস্থান করুন.
যেকোন কমান্ডকে সংক্ষেপে বলা যেতে পারে :c কোথায় c পুরো নামের প্রথম অক্ষর। চালু
বেশিরভাগ সিস্টেম থেকেও আপনি প্রস্থান করতে পারেন ভালোবাসামাখা ফাইলের শেষ অক্ষর (^D) টাইপ করে।
মনে রাখবেন যে ইন্টারাপ্ট কী (অধিকাংশ সিস্টেমে ^C) ব্যবহার করার সময় যে কোনো সময় ব্যবহার করা যেতে পারে
ভালোবাসামাখা ফাংশন সংজ্ঞা বা একটি ফাইল পড়ার প্রক্রিয়া পরিত্যাগ করা
একটি অভিব্যক্তি মূল্যায়ন। যখন বাধা সনাক্ত করা হয়, ভালোবাসামাখা স্ট্রিং প্রিন্ট করে
"{ব্যহত!}" এবং প্রম্পট প্রিন্ট করে যাতে আরও কমান্ড প্রবেশ করা যায়।
স্ট্যান্ডালোন প্রোগ্রাম
সার্জারির রানহুগস কমান্ড একটি এক্সিকিউটেবল আলিঙ্গন স্ক্রিপ্টের জন্য একটি দোভাষী, যেটিতে অবশ্যই একটি থাকতে হবে
Haskell, প্রধান মডিউল উদাহরণস্বরূপ, এক্সিকিউটেবল ফাইল হ্যালো লাইন থাকতে পারে
#!/usr/bin/runhugs +l
> মডিউল প্রধান কোথায়
> প্রধান = putStr "হ্যালো, বিশ্ব\n"
যখন এই ফাইলটি কার্যকর করা হয়, রানহুগস আহ্বান করবে প্রধান ফাংশন উপর দেওয়া কোনো যুক্তি
কমান্ড লাইন মাধ্যমে উপলব্ধ হবে getArgs.
মনে রাখবেন যে #! স্ক্রিপ্টে শুধুমাত্র একটি যুক্তি পাস করে। দ্য -X বিকল্প পেতে ব্যবহার করা যেতে পারে
এই চারপাশে
C ইন্টারফেস
গতিশীল লিঙ্কিং সমর্থন করে এমন আর্কিটেকচারে, ভালোবাসামাখা এর অংশ বাস্তবায়ন করে Haskell, 98
বিদেশী ক্রিয়া ইন্টারফেস (FFI) যা Haskell ফাংশনকে C রুটিন কল করার অনুমতি দেয়। (চালু
x86, পাওয়ারপিসি এবং স্পার্ক আর্কিটেকচার, সব বিদেশী আমদানিs সমর্থিত; অন্যদের উপর,
কেবল স্থির আমদানি প্রদান করা হয়।) এই ধরনের মডিউল রয়েছে বিদেশী ঘোষণা হতে হবে
ব্যবহার করে সংকলিত ফিহাগস সাথে ব্যবহারের আগে কমান্ড ভালোবাসামাখা. সি এর জন্য অতিরিক্ত যুক্তি
কম্পাইলার এর মাধ্যমে সরবরাহ করা যেতে পারে কম্পাইলার_আর্গুমেন্টs উদাহরণস্বরূপ, ধরুন আপনার কাছে কিছু সি
মধ্যে ফাংশন test.c এবং এই ফাংশনগুলির জন্য কিছু এফএফআই ঘোষণা টেস্ট.এইচএস এবং কোড
in test.c সঙ্গে কম্পাইল করা প্রয়োজন -এলএম. তারপর আপনি সঙ্গে মডিউল কম্পাইল হবে
হুকুম
ফিহাগস টেস্ট.এইচএস test.c -এলএম
যা একটি অবজেক্ট ফাইল তৈরি করে পরীক্ষা. তাই. তারপর যখন ভালোবাসামাখা লোড টেস্ট.এইচএস, এটা লোড হবে
পরীক্ষা. তাই.
স্ট্যান্ডার্ড এফএফআই-এ, প্রতিটি বিদেশী আমদানি ঘোষণা একটি C শিরোনাম ফাইল নাম করা উচিত
ফাংশনের প্রোটোটাইপ ধারণকারী। কারণ এটি প্রায়শই কষ্টকর, ফিহাগস
নিম্নলিখিত অতিরিক্ত বিকল্প প্রদান করে:
-iStr উত্পন্ন C ফাইলের জন্য একটি অন্তর্ভুক্ত উল্লেখ করুন। অন্তর্ভুক্ত স্ট্রিং হওয়া উচিত
এমন কিছু যা অনুসরণ করতে পারে"# অন্তর্ভুক্ত"একটি সি প্রোগ্রামে, যেমন
ফিহাগস '-আমি ' '-i"mydefs.h"' টেস্ট.এইচএস test.c -এলএম
পরিবেশ
আলিঙ্গন
জন্য অতিরিক্ত বিকল্প ভালোবাসামাখা, কমান্ড লাইনে প্রদত্ত আগে প্রক্রিয়া করা হয়।
আলিঙ্গন
Hugs লাইব্রেরি ডিরেক্টরি (ডিফল্ট: /usr/lib/hugs).
বিকিরণকারী ডিফল্ট সম্পাদক, যদি -E দেওয়া হয় না।
শেল যে শেলটি দ্বারা আহ্বান করা হয় তা নির্দিষ্ট করতে ব্যবহৃত হয় :! কমান্ড।
onworks.net পরিষেবা ব্যবহার করে অনলাইনে আলিঙ্গন ব্যবহার করুন