Ana içeriğe geç
Programlama

Kategori teorisine dayanan catlang programları SQL sorgularına dönüştürüyor

Öne çıkanlar

  • catlang, yazılan programları tek bir büyük SQL SELECT sorgusuna derliyor.
  • Derleme sürecinde kategori teorisine dayalı sembolik bir ara temsil dili kullanılıyor.
  • Programlardaki döngü mekanizmaları PostgreSQL'in WITH RECURSIVE yapısıyla çözülüyor.

Geliştirici, programlama dillerini doğrudan SQL sorgularına derleyen deneysel bir dil geliştirdi. catlang adı verilen bu dil, standart bir sorgu dili olmanın ötesinde genel amaçlı programlama mantığını tek bir devasa SELECT ifadesine çeviriyor. Derleyicinin ürettiği bu sorgu PostgreSQL üzerinde çalıştırıldığında programın nihai çıktısını doğrudan veritabanı yanıtı olarak üretiyor.

Dilin mimarisi, kaynak kodun kategori teorisine dayalı bir ara temsil diline (IL) indirgenmesi temeline dayanıyor. Arrow sözdizimine benzeyen bloklarla yazılan kaynak kod, cebirsel semantiğe sahip soyut sembollere dönüştürülüyor. Bu ara dildeki her bileşen bağımsız cebirsel kurallara göre çalıştığı için kodun SQL gibi sıra dışı derleme hedeflerine aktarılması kolaylaşıyor.

Sistemin işleyişini göstermek amacıyla hazırlanan sayaç fonksiyonu, döngü mantığını PostgreSQL'in özyinelemeli sorgu yapılarıyla (WITH RECURSIVE) modelliyor. Geliştirici, soyut cebirsel temsiller sayesinde geleneksel programlama yapılarının veri tabanı motoru üzerinde saf sorgu mantığıyla tamamen yürütülebildiğini ortaya koydu.

Kaynak

Bu özet yapay zekâ ile hazırlanmıştır; ayrıntılar ve doğrulama için orijinal kaynağa başvurun.