আমি লিস্প -১ এবং লিস্প -২ এর মধ্যে পার্থক্যটি বোঝার চেষ্টা করেছি এবং এটি কীভাবে ক্লোজারের সাথে সম্পর্কিত তবে আমি এখনও সঠিকভাবে বুঝতে পারি না। কেউ কি আমাকে আলোকিত করতে পারেন?
আমি লিস্প -১ এবং লিস্প -২ এর মধ্যে পার্থক্যটি বোঝার চেষ্টা করেছি এবং এটি কীভাবে ক্লোজারের সাথে সম্পর্কিত তবে আমি এখনও সঠিকভাবে বুঝতে পারি না। কেউ কি আমাকে আলোকিত করতে পারেন?
উত্তর:
উইকিপিডিয়া অনুসারে :
ফাংশনগুলির জন্য পৃথক নেমস্পেস কোনও সুবিধা হ'ল লিস্প সম্প্রদায়ের মধ্যে বিতর্কের উত্স। এটি সাধারণত লিস্প -১ বনাম লিস্প -২ বিতর্ক হিসাবে পরিচিত। লিস্প -১ স্কিমের মডেলকে বোঝায় এবং লিস্প -২ কমন লিস্পের মডেলকে বোঝায়।
এটি মূলত ভেরিয়েবল এবং ফাংশনগুলির সংঘাত ছাড়াই একই নাম থাকতে পারে কিনা সে সম্পর্কে। ক্লোজুর হ'ল একটি লিস্প -1 অর্থ এটি একই নামটি কোনও ক্রিয়াকলাপের জন্য এবং একই সাথে ভেরিয়েবলের জন্য ব্যবহার করার অনুমতি দেয় না।
listপ্রায়শই একটি ফাংশন প্যারামিটার এবং কোনও জিনিস হিসাবে ব্যবহৃত হয় না, ওএমজি যেহেতু এতটা বিভ্রান্তিকর কারণ (list ...)এটি একটি স্ট্যান্ডার্ড ফাংশন। listভেরিয়েবল হিসাবে থাকা অনেকগুলি ক্রিয়াকলাপটি ব্যবহার করে listনা বা ভেরিয়েবলের কাছে এটি ব্যবহার করে না। এমনকি যখন যে ঘটবে এটা খুব খারাপ না: (list foo list)। এটি "ভাল লড়াইয়ের লড়াই করুন" এর মতো বাক্যটির চেয়ে আর বিভ্রান্তিকর নয় যেখানে একই শব্দটি বিশেষ্য এবং ক্রিয়া হিসাবে প্রদর্শিত হয়।
আপনি রিচার্ড গ্যাব্রিয়েলের এই কাগজটি পড়তে পছন্দ করতে পারেন । এটি লিস্প সম্প্রদায় লিস্প 1 বনাম লিস্প 2 তে যে বিষয়গুলি নিয়ে আলোচনা করছিল তা সংক্ষিপ্তসার। এটি প্রথম কয়েকটি বিভাগে কিছুটা ঘন এবং ধীর গতিতে চলতে পারে তবে আপনি অধ্যায় 5 এর অতীতে পৌঁছানোর পরে এটি পড়া খুব সহজ।
মূলত, লিসপ 1 এর একটি একক পরিবেশ রয়েছে যা মানগুলির প্রতীকগুলিকে মানচিত্র করে এবং সেগুলি মানগুলি "নিয়মিত" বা ফাংশন হতে পারে। লিসপ 2-তে দুটি (অন্তত) দুটি নেমস্পেস রয়েছে (প্রতীকগুলির একটি ক্রিয়াকলাপের জন্য একটি স্লট এবং নিয়মিত মানের জন্য একটি রয়েছে)। সুতরাং, লিসপ ২-এ, আপনি ফু নামে একটি ফাংশন এবং ফু নামে একটি মান রাখতে পারেন, তবে লিসপ 1 এ, foo নামটি কেবলমাত্র একটি মান (ফাংশন বা অন্যথায়) বোঝাতে পারে।
দুজনের মধ্যে বেশ কয়েকটি ট্রেড অফ এবং স্বাদের পার্থক্য রয়েছে তবে বিশদটির জন্য কাগজটি পড়ুন। ক্রিশ্চান কুইনেকের বই "লিপ্প ইন স্মল পিসস" তেও পাঠ্যের মাধ্যমে বোনা পার্থক্য নিয়ে আলোচনা রয়েছে।
funcallএবং functionঅপারেটরের পূর্ণ কোডটি ভরাট করতে হবে না । এগুলি লিস্প -১ এ অদৃশ্য হয়ে যায়।