oCamlCase
2026React + TypeScriptocamlcase.dev ↗kaynak ↗
OCaml'i ezber söz dizimiyle değil, zihinsel modellerle öğreten etkileşimli bir site.
- kavram
- 27 sayfa
- alıştırma
- 33 mini + 6 proje
- lab
- 4 etkileşimli
- lisans
- açık kaynak
Nedir
27 kavram sayfasının her biri tek bir zihinsel modelin etrafına kurulu: bağlamalardan closure'lara, tip çıkarımından kuyruk özyinelemeye. İki gezinme modu farklı ihtiyaçları karşılıyor: düz bir Başvuru listesi ve adım adım Rehberli Yol. İlerleme localStorage'da tutuluyor; hesap yok, takip yok.
Lablar
- Tip türetme ağacı: TypeScript'le yazılmış gerçek bir tip denetleyicisi, akıl yürütmesini ağaç olarak çiziyor.
- Ağaç gezgini: tek rose tree, dört görünüm modu (tur, doğrusallaştırma, izdüşüm, dengeleme).
- Yorumlayıcı hattı: bir ifadeyi altı aşamada ileri geri sar; karakterlerden token'lara, ağaca ve değere.
- Playground: JavaScript'e derlenmiş gerçek OCaml toplevel'ı, tarayıcının içinde.
Teknik notlar
- Elaborator, parser ve evaluator hazır bir bileşen değil; özel TypeScript implementasyonları.
- Rota bazlı kod bölümleme paketi 840 kB'den 655 kB'ye indirdi.
- Rota başına önceden üretilen head ve sitemap, 105 rotayı kapsıyor.
- GitHub Pages üzerinde; CI her build öncesi test paketini çalıştırıyor.
ocamlcase.dev'de dene ↗ocamlcase.dev
ücretsiz · hesap gerekmez
Motivasyon
OCaml, TUM'da fonksiyonel programlamaya giriş dili ve anlatımların çoğu söz dizimi odaklı. Bu site, öğrenirken elimde olmasını istediğim, zihinsel modelden yola çıkan kaynak.
Öğrendiklerim
Tip denetleyicisini ve yorumlayıcıyı kendim yazmak, sitenin öğretmeye çalıştığı kavrayışı bende derinleştirdi. Bir kavramı başkasına anlatmak insanı netliğe zorluyor; siteyi yayına almak da paketleme, SEO ve CI tarafında iyi bir pratik oldu.