প্রকল্প সম্পর্কে

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` অ্যাট্রিবিউট ব্যবহার করে সমন্বিত টেস্টিং সাপোর্ট।