Python sınıfının matematiksel modeli nedir?


10

Lambda kağıtlarından klasik modelin Python için geçerli olmadığını anlıyorum.

Ve kapanışlar Python sisteminin uygulanmasının matematiksel modeli değildir.

Peki hangi model?


Modeli biliyorsam, sıfırdan bir sistem inşa etme sürecini tanımlayacak ayrıntılı bir kitap (liseler için sicp gibi) bulabileceğimi düşündüm.
alinsoar

4
İlgili: stackoverflow.com/q/2469824 . İkinci sorunuzu yazınızın gövdesinden çıkardım (Sıfırdan bir Python sistemi nasıl oluşturulur), çünkü burada cevapsız. Gerçek bir çalışma programlama dilinin nasıl geliştirileceğini bilmek istiyorsanız, ayrıştırıcılar, sözlükler ve derleyiciler gibi şeylere bakmalısınız.
Robert Harvey

Teşekkürler ! İkinci soru ilk soruya eşitti! Modeli biliyorsam, pratikte açıklayan bir dokümanı bulabilirim, böylece sistemin çekirdeğinin nasıl oluşturulacağını gösterir!
alinsoar

Harika bir soru !!! :)
Maxood

Yanıtlar:


7

Python ve lambda hesabı üzerindeki klasik kağıtlardan modeller arasındaki temel fark, Python'un çok paradigma bir dil olmasıdır. Lambda hesabını düşünen çoğu makale, diğer paradigmaların (OOP veya mantıksal programlama gibi) eklenmesinin karmaşıklığı olmaksızın saf bir işlevsel dili düşünmektedir.

Sorudan ve yorumlarınızdan, bu tür çok paradigma dillerinin temellerine ilgi duyduğunuzu düşünüyorum. Bu durumda, Peter van Roy ve Seif Haridi tarafından Bilgisayar Programlama Kavramları, Teknikleri ve Modelleri önerebilirim . Kitap esas olarak oldukça akademik bir dil olan Mozart / Oz dili ile ilgilidir. Bununla birlikte, kitap çok küçük bir çekirdek dil ile nasıl başlanacağını ve üzerine (ve hepsi aynı çekirdek dilde) nesne yönelimi, fonksiyonel ve mantık programlamanın nasıl oluşturulacağını açıkça göstermektedir.

Gerçek matematiksel modele gelince, çoğu programlama dili sadece resmi olmayan veya yarı resmi bir spesifikasyona sahiptir. Nadiren, temel olarak lambda hesabı gibi uygun bir teoriye sahip olanı buluyorsunuz. İcat edilmiş ve az çok uygulanabilir olan birçok farklı matematiksel model vardır. İlginç olan şey, programlama semantiğinin nasıl modellendiğine dair farklı yaklaşımlar arasında genel bir ayrım olmasıdır: anlambilim, anlamsal, işlevsel veya cebirsel olarak tanımlanabilir. Daha da derine inmek istiyorsanız , Programlama Teorilerini Birleştirici hakkında biraz okumak bir başlangıçtır, ancak dik bir öğrenme eğrisi olan sert bir başlangıçtır.

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.