Çalışan programların iç içe geçmesi ve manipülasyonu gibi yansıma mantığını destekleyen basit bir hesabı arıyorum .
Birinin λ- termleri sözdizimsel olarak manipüle edilebilecek ve daha sonra değerlendirilebilecek bir forma dönüştürmesini sağlayan türetilmemiş bir hesabı uzantısı var mı?
Analizin iki ana ek terimi olduğunu hayal ediyorum:
- : alır v ve bir temsilini üretir v sözdizimsel manipülasyona iyileştirilebilir.
- : bir terimin sözdizimsel gösterimini alır ve değerlendirir.
Yansımayı desteklemek için, terimlerin sözdizimsel gösterimi gereklidir. Gibi bir şey olurdu:
- bir terim olarak temsil edilen ( L A M R ( e ) ) , R ( E ) yansıyan versiyonu e ,
- ( A P P R ( e ) R ( e ′ ) ) terimi olarak temsil edilirve
- , ( V A R x ) olarak temsil edilir.
Bu gösterimle, kalıp eşleştirme terimleri değiştirmek için kullanılabilir.
Fakat bir sorunla karşılaşıyoruz. ve E v bir l desen eşleştirme olduğu gibi ihtiyaç terimler olarak kodlanacak. Bununla başa çıkmak basit görünüyor, R E F L E C T , E V A L ve M A T C H , ancak bunların manipülasyonunu desteklemek için başka terimler eklemem gerekecek mi?
Yapılması gereken tasarım seçenekleri var. Ne gereken işlevi gövdesi ile yapılacak Yukarıda değinildiği r e f l e c t ve E v bir L ? Meli R ( - ) vücudu dönüşümü ya da değil?
Yansımanın kendisini incelemekle pek ilgilenmediğim için - matematik diğer araştırmalar için bir araç görevi görür - tekerleği yeniden icat etmek istemiyorum.
Az önce tarif ettiğim ile eşleşen herhangi bir hesap var mı?
Söyleyebileceğim kadarıyla, MetaML gibi bir yorumda önerilen hesaplar çok uzun bir yol kat ediyor, ancak zaten eşleştirilen kalıp parçalarını yok etme ve daha önce oluşturulmuş kod parçalarını kaldırma yeteneğini içermiyor.
Yapabilmek istediğim bir şey:
Ve sonra tamamen farklı bir ifade oluşturmak için sonuç üzerinde desen eşleştirme yapın.
Bu kesinlikle calculus için muhafazakar bir uzantı değildir ve meta-teorinin çirkin olması muhtemeldir, ancak bu benim başvurum için önemli bir nokta. Λ- soyutlamaları birbirinden ayırmak istiyorum .