প্রকল্প সম্পর্কে
sysl হলো একটি সাধারণ-উদ্দেশ্য সিস্টেম ল্যাঙ্গুয়েজ যা একটি সিস্টেম ল্যাঙ্গুয়েজের নিয়ন্ত্রণ প্রদানের পাশাপাশি সহজলভ্য থাকার জন্য ডিজাইন করা হয়েছে। এটি borrow checker বা garbage collector-এর পরিবর্তে মেমরি ম্যানেজমেন্টের জন্য reference counting ব্যবহার করে। মেমরি নির্দিষ্ট টাইপ মোডের মাধ্যমে পরিচালিত হয়: ভ্যালু/স্ট্যাকের জন্য `T`, ARC রেফারেন্স-কাউন্টেড হিপের জন্য `&T`, এবং র-পয়েন্টারের জন্য `*T`, যার সাথে লোকাল বাইন্ডিংয়ের জন্য `ref` যুক্ত থাকে।
এই ল্যাঙ্গুয়েজটি LLVM IR-এর মাধ্যমে নেটিভ বাইনারিতে কম্পাইল হয় এবং clang ব্যবহার করে লিঙ্ক হয়। এতে একটি বিস্তৃত স্ট্যান্ডার্ড লাইব্রেরি এবং একটি শক্তিশালী foreign function interface (FFI) রয়েছে যা এটিকে C লাইব্রেরির সাথে লিঙ্ক করতে অথবা একটি স্ট্যাটিক আর্কাইভ হিসেবে C প্রজেক্টে লিঙ্ক হতে সাহায্য করে।
মূল কারিগরি বৈশিষ্ট্যগুলোর মধ্যে রয়েছে:
- LLVM-এর মাধ্যমে নেটিভ বাইনারিতে কম্পাইলেশন।
- রেফারেন্স-কাউন্টেড মেমরি ম্যানেজমেন্ট (ARC)।
- `@export` এবং `@link` ডিরেক্টিভসের মাধ্যমে শক্তিশালী C ইন্টারঅপারেবিলিটি।
- Scala 3-তে ইমপ্লিমেন্ট করা একটি কম্পাইলার, যা CLI টুল এবং Maven Central-এর মাধ্যমে লাইব্রেরি হিসেবে উপলব্ধ।
- সোর্স কোডের মধ্যে `@test` অ্যাট্রিবিউট ব্যবহার করে সমন্বিত টেস্টিং সাপোর্ট।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.