9 poin oleh skuldnorniern 2025-10-13 | 2 komentar | Bagikan ke WhatsApp

Posting blog Releasing Lamina

Lamina adalah proyek backend compiler yang menerima Intermediate Representation code (IR code) sebagai masukan lalu menghasilkan machine code/binary.
Proyek ini dimulai berdasarkan pembelajaran dan proyek saya tentang bahasa/compiler selama 4~5 tahun terakhir, dan saya berharap ini bisa menjadi referensi sederhana yang dapat dipahami secara intuitif bagi mereka yang tertarik pada compiler.

Platform yang saat ini didukung

  • macOS (aarch64)
  • Linux (x86_64)
  • WebAssembly (wasm32/64)

Platform yang direncanakan untuk didukung

  • Windows (x86_64)
  • macOS (Intel)
  • Linux (aarch64)
  • Risc-V

Untuk Windows aarch64, karena penulis tidak memiliki perangkatnya, prioritasnya rendah sehingga untuk sementara diabaikan

Status saat ini

Saat ini belum ada pass optimisasi compiler, sehingga kecepatannya sedikit lebih lambat daripada C#.
Pada pembaruan berikutnya, layer Machine IR akan diimplementasikan, dan bersamaan dengan itu pass optimisasi juga direncanakan akan diperkenalkan.

Selain itu, sebelum rilis 0.1, sebagian besar konten yang dihasilkan dengan AI pada bagian Testcode dan codegen direncanakan akan dihapus lalu ditulis ulang

Contoh frontend compiler

Brainfuck-Lamina Repo - compiler Brainfuck sederhana

Fitur yang direncanakan untuk pengembangan selanjutnya

  • Dukungan pembuatan kode GPU (nantinya akan digunakan sebagai backend untuk library ML buatan sendiri)
  • Dukungan kompilasi JIT
  • Penyediaan toolset seperti debugger
  • Menyediakan assembler dan linker buatan sendiri (dukungan untuk utilitas yang sudah ada akan tetap dipertahankan)

2 komentar

 
cgl00 2025-10-13

Luar biasa sekali.

 
skuldnorniern 2025-10-14

Ini masih proyek yang sangat kurang matang,
tapi terima kasih sudah melihatnya secara positif!
Saya harap saya bisa terus memperbaiki proyek ini sehingga dapat menjadi materi yang baik bagi orang-orang yang sedang mempelajari compiler.