Bağımlı tip teorisinde nesneleri (OOP) modelleme


13

Bağımlı tip teorisinde, nesne yönelimli programlamadan nesneleri modellemekle ilgileniyorum. Olası bir uygulama olarak, zorunlu programlama dillerinin farklı özelliklerini tanımlayabildiğim bir model istiyorum.

Bağımlı tür teorisinde nesneleri modelleme üzerine sadece bir tane kağıt bulabildim, yani:
Bağımlı tür teorisinde A. Setzer (2006) tarafından nesne yönelimli programlama

Bu konuda kaçırdığım başka referanslar var mı ve belki de daha yeni olanlar var mı?

Belki de Coq veya Agda gibi bir teorem kanıtlayıcı için bir uygulama (örn. Kanıt) var mı?

Yanıtlar:


6

Bu alanda yapılan bazı erken (?) Çalışmalar Bart Jacobs (Nijmegen) ve Marieke Huisman tarafından yapılmıştır. Çalışmaları PVS aracına dayanıyor ve sınıfların bir kömürgebra kodlamasına dayanıyordu (doğru hatırlıyorsam). Marieke'nin 2000 yılında yayınlanan makaleler ve 2001'deki doktora tezleri için bakın. Ayrıca bahsettiğiniz A Setzer gazetesinde belirtilen Bart Jacobs'un makalelerine de bakın.

O günlerde, LOOP aracı olarak adlandırılan bir şeyleri vardı, ancak internetten yok gibi görünüyor.

OO programlarının resmi doğrulamasını ele alan FTfJP (Java benzeri Programlar için Resmi Teknikler) olarak bilinen bir atölye serisi bulunmaktadır . Kuşkusuz bazı çalışmalar bağımlı tip teorisi / üst düzey mantık kullanır. Atölye serisi 14 yıldır faaliyet gösteriyor.




2

Neden OOP'yi temsil etmek için bağımlı tip teorisine bakıyorsunuz ? OOP'yi bağımlı olmayan hesaplarla tatmin edici bir şekilde modelleyemez miyiz? Sistem F'ye (veya jenerikleri desteklemek istiyorsanız Fω) çevrildiğinde OOP'un neye benzediğine dair gayri resmi bir modelim var ve tip-değer bağımlılığının nerede devreye gireceğini görmüyorum.

Bağımlı tipler, örneğin cebirsel veri tiplerine daha düşük bir anlam vermek için kullanılabilir. Muhtemelen OO özelliklerinin böyle düşük seviyeli bir kodlamasını yapabilirsiniz, ancak bunun modelleme dilinize cebirsel veri türleri eklemekten daha iyi olduğundan emin değilim.

Belki gibi, şu anda türsüzdür OOP yapılara daha ince bir statik semantiğini vermek istiyorum instance_ofbir takip cast. Bağımlı tip bilgisayar korsanlığının bu tür programlar hakkında statik akıl yürütmede yararlı olduğunu görebilirim; ama dinamik açı üzerinde yoğunlaşan işlemleri "modelleyeceğinden" emin değilim, bu daha fazla bir şey.


Bu sorunun cevabı değil. Bu bir tartışma forumu değil.
Dave Clarke
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.