يشغّل Elide هذه اللغات من ملف تنفيذي واحد:
| اللغة | الحالة | تعمل بوصفها | البدء باستخدام | التشغيل البيني |
|---|---|---|---|---|
| JavaScript | مدعومة | سكربت | elide app.js، elide -s CODE | Python: --interop؛ WASM: دون خيار |
| TypeScript | مدعومة | سكربت، مع حذف الأنواع | elide app.ts، elide -l ts -s CODE | مثل JavaScript |
| Python | تجريبية | Python 3.13 | elide app.py، elide python -m MOD | JavaScript: --interop |
| WebAssembly | تجريبية | أمر WASI Preview 1 | elide app.wasm (_start أو _main) | من JS/TS دون خيار |
| Java، Kotlin | مدعومة | مُصرّفة، وتعمل على JDK المضمّن | elide run Main.kt، ومشاريع elide.pkl | لا يوجد |
| Pkl | مدعومة | إعدادات | ملفات بيان elide.pkl | لا يوجد |
يسرد elide info اللغات الموجودة في ملفك التنفيذي؛ ويضيف elide setup python لغة Python. صفحات كل لغة:
JavaScript و TypeScript، Python، Java و Kotlin،
WebAssembly.
استدعاء JavaScript من Python
# sum.py
from elide import js
print(js("[1,2,3].reduce((a,b)=>a+b,0)"))elide --interop python sum.py6استيراد Python من JavaScript
# mod.py
def greet(name):
return f"hello {name}"// main.mjs
import mod from "./mod.py";
console.log(mod.greet("elide"));elide --interop main.mjshello elideالتصدير default هو وحدة Python. استخدم نقطة دخول .mjs.
دون --interop
لا يشغّل كل برنامج إلا لغة نقطة دخوله، إضافةً إلى WebAssembly في JS/TS. وتفشل الاستدعاءات بين اللغات:
| البرنامج | الخطأ |
|---|---|
sum.py | ValueError: polyglot language 'js' not found |
main.mjs | Cannot import 'mod. |
لا تمرّر --interop إلا إلى البرامج التي تستدعي شيفرة بلغات أخرى. ومع --interop تفشل خيوط Python بالخطأ
Creating threads is not allowed.
JavaScript و WebAssembly
import { add } from "./math.wasm";
console.log(add(1, 2));تعمل استيرادات .wasm وواجهة WebAssembly في كل برامج JavaScript و TypeScript. وعند تثبيت Python، تفشل الوحدات التي
تستخدم تعليمات SIMD بالخطأ Vector instructions are not enabled.
في REPL
يشارك REPL القيم بين اللغات دون --interop؛ راجع REPL التفاعلي.