প্রকল্প সম্পর্কে
এজ পাইথন হলো পাইথনের একটি সাবসেটের জন্য স্যান্ডবক্সড রানটাইম, যা একটি সিঙ্গেল-পাস SSA বাইটকোড কম্পাইলারকে একটি থ্রেডেড-কোড স্ট্যাক ভার্চুয়াল মেশিনের সাথে একত্রিত করে। ইমপ্লিমেন্টেশনে রয়েছে NaN-বক্সড ভ্যালু, ইনলাইন ক্যাশিং, সুপার-ইনস্ট্রাকশন ফিউশন, পিউর-ফাংশন মেমোইজেশন, একটি মার্ক-সুইপ গার্বেজ কালেক্টর, সম্পূর্ণ ইন্টারপ্রেটার স্ন্যাপশট এবং কভারেজ-গাইডেড ফাজিং।
ভাষাটি ক্লাস, async/await, প্যাটার্ন ম্যাচিং এবং কম্পাইল টাইমে রিজলভ হওয়া ইমপোর্ট সমর্থন করে। প্রোগ্রামগুলো ডিফল্টভাবে একটি স্যান্ডবক্সে চলে এবং শুধুমাত্র একটি `edge.json` মডিউল কনফিগারেশনের মাধ্যমে স্পষ্টভাবে ঘোষণা করা হলে ফাইল, নেটওয়ার্ক বা এনভায়রনমেন্ট অ্যাক্সেস করতে পারে।
ডিপ্লয়মেন্ট টার্গেটের মধ্যে রয়েছে:
- `<edge-python>` কাস্টম এলিমেন্টের মাধ্যমে WebAssembly মডিউল হিসেবে ব্রাউজার এক্সিকিউশন
- macOS, Linux বা WSL-এ ইনস্টল করা `edge` বাইনারির মাধ্যমে CLI এক্সিকিউশন
- `edge build` দ্বারা উৎপাদিত স্ট্যান্ডঅ্যালোন কম্পাইলড বাইনারি
- `edge actor` দ্বারা ম্যানেজ করা কোঅপারেটিভ অ্যাক্টরদের একটি পুল
রিপোজিটরিটি কয়েকটি কম্পোনেন্টে সংগঠিত: রুট ক্রেটে রয়েছে ইঞ্জিন, লেক্সার, পার্সার, VM এবং WebAssembly এক্সপোর্ট; `cli/` ডিরেক্টরি `edge` বাইনারি প্রদান করে যা JavaScript মডিউলের জন্য StarlingMonkey-এর পাশাপাশি wasmtime-এর অধীনে `compiler.wasm` চালায়; `std/` স্ট্যান্ডার্ড প্যাকেজ ধারণ করে; `pdk/` এবং `abi/` `.wasm` প্লাগইন লেখার কিট প্রদান করে; `lang/` ইঞ্জিনের উপর কাস্টম স্ক্রিপ্টিং ভাষা তৈরির প্রদর্শন করে; এবং `fuzz/` ফাজার ধারণ করে।
ডকুমেন্টেশন, কুইক স্টার্ট গাইড, CLI রেফারেন্স, মডিউল লিস্টিং, অ্যাক্টর প্যাটার্ন এবং এমবেডিং নির্দেশনা edgepython.com/docs-এ পাওয়া যায়।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.