প্রকল্প সম্পর্কে
Vult একটি সহজ, শক্তিশালী ভাষা যা উচ্চ-কর্মক্ষমতা সম্পন্ন অ্যালগরিদম প্রোগ্রামিংয়ের জন্য ব্যবহৃত হয় যা ছোট মাইক্রোপ্রসেসর বা মাইক্রোকন্ট্রোলারে চালানো যেতে পারে। এটি বিশেষভাবে ডিজিটাল সিগন্যাল প্রসেসিং (DSP) কাজের জন্য যেমন অডিও ইফেক্ট এবং সিনথেসাইজারের জন্য তৈরি।
Vult কম্পাইলার একটি ট্রান্সকম্পাইলার: এটি Vult সোর্স নেয় এবং সাধারণ C/C++ তৈরি করে যা যেকোনো প্ল্যাটফর্মে C/C++ কম্পাইলার দিয়ে তৈরি করা যেতে পারে, উদাহরণস্বরূপ Arduino বা Teensy বোর্ড যা ফিক্সড-পয়েন্ট অ্যারিথমেটিক ব্যবহার করে। এটি সরাসরি ব্রাউজারে চালানোর জন্য JavaScript তৈরিও করতে পারে, অথবা Pure Data এক্সটার্নাল হিসেবে কম্পাইল করার জন্য উপযুক্ত C/C++ তৈরি করতে পারে।
README-এ বর্ণিত মূল সক্ষমতাসমূহ:
- কমান্ড-লাইন কম্পাইলার `vultc` যা `.h`/`.cpp` আউটপুট তৈরি করে, লিংকিংয়ের জন্য প্রয়োজনীয় রানটাইম ফাইল `runtime/vultin.h` এবং `runtime/vultin.cpp` সহ।
- ফ্লোটিং-পয়েন্ট বা ফিক্সড-পয়েন্ট অ্যারিথমেটিক (`-real fixed`, q16 ফরম্যাট: ১৬ ইন্টিজার বিট, ১৬ ভগ্নাংশ বিট), FPU ছাড়া প্রসেসরে যেমন AVR Arduino, Teensy 3.2 এবং Raspberry Pi Pico-তে কাজে লাগে।
- Teensy Audio Library এবং Pure Data এক্সটার্নাল সহ টার্গেটের জন্য টেমপ্লেট; উদাহরণ রিপোজিটরিতে PicoADK, WebAudio, Pure Data এবং Teensy Audio অন্তর্ভুক্ত।
- ভাষার বৈশিষ্ট্য যেমন সম্পূর্ণ প্রসেসিং ইউনিট হিসেবে কাজ করা ফাংশন, প্রতি-ইনস্ট্যান্স `mem` স্টেট ভেরিয়েবল, কম্পাইল-টাইম লুকআপ টেবিল (`@[table(...)]`) এবং ইন্টারপোলেশন সহ বা ছাড়া wav ফাইল এম্বেড করা।
- ডিস্ট্রিবিউশন অপশন: নেটিভ এক্সিকিউটেবল, npm-ইনস্টলড `vultc` (নেটিভের চেয়ে প্রায় ৪x ধীর বলে উল্লেখ করা হয়েছে), একটি node.js লাইব্রেরি (`vultlib`), এবং ব্রাউজার-এম্বেডেড কম্পাইলার স্ক্রিপ্ট।
- Sublime Text সিনট্যাক্স ফাইল এবং Visual Studio Code এক্সটেনশনের মাধ্যমে এডিটর সাপোর্ট।
- OCaml/Opam, `make`, `make jscompiler` এবং `make test` দিয়ে সোর্স থেকে বিল্ড করা।
README-তে বলা হয়েছে যে Vult VCV Rack এবং Vult Eurorack মডিউলের জন্য DSP কোড Vult ভাষায় লেখা হয়। প্রজেক্ট সাইট এবং উইকিতে ডকুমেন্টেশন, টিউটোরিয়াল, ভাষা রেফারেন্স এবং কমান্ড-লাইন অপশন উপলব্ধ।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.