پروژه Lasm؛ اجرای کدهای تایید رسمی شده زبان Lean در بستر وب و سرورلس — Show HN: Lasm – Write formally verified webapps in Lean for Node/serverless/edge
خلاصه
ابزار Lasm به توسعهدهندگان اجازه میدهد برنامههای نوشته شده با زبان Lean 4 را به WebAssembly کامپایل کرده و در Node.js، مرورگر و محیطهای سرورلس یا Edge اجرا کنند. این پروژه امکان پیادهسازی نرمافزارهای وب با قابلیت اثبات ریاضی صحت عملکرد را از فرانتاند تا بکاند فراهم میسازد.
معرفی پروژه Lasm و مسئلهای که حل میکند
توسعه نرمافزار به روش سنتی همواره با باگها و خطاهای پیشبینینشده دستبهگریبان است. اثبات صوری یا همان Formal Verification راهکاری است که در آن صحت عملکرد کد با استفاده از منطق ریاضی اثبات میشود. زبان برنامهنویسی Lean یکی از محبوبترین ابزارها برای این منظور است که اثبات ریاضی را مستقیماً در درون خود جای داده است.
با این حال، استفاده از Lean تاکنون عمدتاً به حوزههای آکادمیک و سیستمهای خاص محدود بوده است. پروژه Lasm با هدف پر کردن این خلاء ایجاد شده و به توسعهدهندگان اجازه میدهد کدهای Lean 4 را پیش از موعد (AOT) به WebAssembly کامپایل کنند. این یعنی میتوانید کل یک وباپلیکیشن (از سرور تا رابط کاربری مرورگر) را با Lean بنویسید و صحت قوانین بیزینس آن را به صورت ریاضی اثبات کنید.
معماری و نحوه عملکرد
هسته اصلی Lasm کدهای Lean 4 را گرفته و آنها را برای اجرا در محیطهای مدرن آماده میکند. این ابزار به صورت یک پکیج روی npm منتشر شده و ابزار ساخت Lake را نیز به همراه دارد؛ بنابراین برای کار با آن نیازی به نصب ابزارهای پیچیده جانبی ندارید.
از طریق ماژولهای ارائهشده مانند Lasm.Fetch برای ارتباطات HTTP، Lasm.UI برای توسعه رابط کاربری به سبک معماری Elm و کتابخانههای مرتبط با KV و RPC، میتوانید برنامههای وب کامل بسازید. همچنین با استفاده از دستورهای ساده تعاملی، امکان اتصال به پکیجهای جاوا اسکریپت و توابع fetch با کمک ویژگی @[js] فراهم شده است.
نحوه استفاده و شروع سریع
برای راهاندازی یک پروژه جدید با قالب دلخواه (مانند Hono)، میتوانید از دستور زیر استفاده کنید:
npm create @lasm@latest my-app -- --template hono
cd my-app && npm install && npm run dev
برای بیلد گرفتن و خروجی گرفتن جهت استقرار روی پلتفرمهای مختلف (مانند Cloudflare Workers، AWS Lambda، Vercel یا کانتینرهای داکر)، دستورات هدف (Targets) متعددی پشتیبانی میشود. به عنوان مثال:
lasm build Main.lean --target workers
سیگنالهای پختگی و وضعیت مخزن
این پروژه تحت لایسنس بازبینیشده MIT منتشر شده و توسط سازمان Millillion توسعه مییابد. نسخه فعلی ابزار @lasm/cli (نسخه 0.3.5) فعالانه توسعه پیدا میکند و در گیتهاب مورد توجه توسعهدهندگان حوزه برنامهنویسی تابعی و اثبات صوری قرار گرفته است.
شاخصترین نمونه کارکرد این ابزار، پروژه Conduit است که نسخه کامل RealWorld (شبیه به Medium) را با ۱۱۷ قضیه اثباتشده بدون هیچگونه خطای sorry پیادهسازی کرده است. تمام این قضایا مواردی نظیر مکانیزم احراز هویت، مدیریت دسترسیها، اعتبارسنجی دادهها و امنیت مسیرها را تضمین میکنند.
چرا در هکرنیوز مطرح شده است؟
جامعه مهندسی نرمافزار همواره به دنبال ابزارهایی برای افزایش اطمینان از صحت کدهای تولیدی است. با ظهور مدلهای هوش مصنوعی پیشرفته که توانایی درک اثبات صوری را دارند، ابزارهایی مثل Lasm جذابیت دوچندانی پیدا کردهاند. این پروژه نشان میدهد که انتقال اثبات ریاضی از محیطهای تئوریک به توسعه واقعی وباپلیکیشنهای مقیاسپذیر در محیطهای Edge و سرورلس کاملاً امکانپذیر و کاربردی است.
در یک نگاه
- زبان اصلی: C و Lean 4
- محیطهای اجرایی پشتیبانیشده: Node.js، مرورگرها، پلتفرمهای Edge (مانند Cloudflare Workers و Deno Deploy)، و سیستمهای سرورلس
- سیستم مدیریت بسته: npm (پکیج
@lasm/cli) - لایسنس: MIT
- ویژگی برجسته: امکان اثبات ریاضی کدهای فولاستک وباپلیکیشن
این مطلب بهصورت کاملاً خودکار و با هوش مصنوعی از مقالهٔ اصلی و بحث هکرنیوز تهیه شده و ممکن است خطا داشته باشد. حقوق مطلب اصلی متعلق به نویسندهٔ آن است. قوانین و گزارش مشکل