Power Domain
– Teori Set menyediakan suatu notasi elegan untuk uraian perhitungan.
– Keluarga bahasa pascal menyediakan set gabungan dan simpangan dan keanggotaan set.
– Set dari semua subsets dari sebuah set adalah set tenaga dan digambarkan
PS = {S|S is a subset of S}
P= {S|S is a subset}
– Subtype dan Subrange adalah contoh dari pembangun set tenaga.
Fungsi adalah subsets daerah produk. Sebagai contoh, fungsi persegi dapat diwakili sebagai subset daerah produk Nat x Nat.
sqr = {(0,0), (1,1), (2,4),(3,9),…}
Penyamarataan membantu untuk menyederhanakan daftar tanpa batas ini untuk:
sqr= {(x,x*x)| x dalam Nat}
Recursively Defined Domain
Daerah batasan pengulangan adalah daerah yang definisinya menjadi bentuk :
D…. D….
Definisi disebut berulang karena nama daerah “berulang” pada sisi kanan dari definisi. Daerah batasan pengulangan tergantung pada abstrak karena nama daerah adalah suatu bagian penting dari definisi daerah.
Lebih dari satu set boleh mencukupi suatu definisi berulang. Bagaimanapun, mungkin saja ditunjukkan bahwa suatu definisi berulang selalu mempunyai solusi terkecil. Solusi terkecil adalah suatu subset solusi yang lain.
Solusi terkecil daerah pengulangan yang digambarkan melewati suatu urutan perkiraan (D0, D1,…) ke daerah dengan daerah yang menadi batas dari urutan perkiraan (D=lim i –> Infty D i). Batas adalah solusi yang terkecil pada definisi daerah berulang.
Type Systems
Prosentase besar kesalahan didalam program adalah dalam kaitan dengan aplikasi operasi ke object jenis yang bertentangan. Jenis sistem telah dikembangkan untuk membantu programmer didalam pendeteksian kesalahan.
Suatu sistem jenis adalah satu set aturan untuk penjelasan jenis dan menghubungkan suatu jenis dengan ungkapan didalam bahasa. Suatu sistem jenis menolak suatu ungkapan jika tidak menghubungkan suatu jenis dengan ungkapan. Jenis pemeriksaan boleh berjalan pada waktu kompilasi atau waktu berjalan atau kedua-duanya.
Jika kesalahan diharapkan untuk dideteksi pada waktu kompilasi maka suatu sistem pengecekan jenis statis diperlukan. Satu pendekatan pemeriksaan jenis statis adalah untuk memerlukan programmer untuk menetapkan jenis masing-masing objek didalam program. Jika kesalahan diharapkan untuk dideteksi pada waktu kompilasi maka suatu sistem pengecekan jenis statis diperlukan. Satu pendekatan ke pemeriksaan jenis statis adalah untuk memerlukan programmer untuk menetapkan jenis masing-masing objek didalam program. Mengizinkan kompilator untuk melaksanakan jenis pmeriksa sebelum pelaksanaan program dan ini adalah pendekatan yang diambil oleh bahasa seperti Pascal, Ada, C++, dan Java.
Jika pendeteksian kesalahan diharapkan untuk ditunda sampai waktu pelaksanaan, maka pemeriksaan jeni dinamis diperlukan.
Didalam pemeriksa jenis dinamis, masing-masing nilai data berlabel dengan jenis informasi sehingga lingkungan waktu beralan dapat memeriksa kecocokan jenis dan mungkin melaksanakan konversi jenis jika perlu. Bahasa program Lisp, Scheme, dan Small Talk adalah contoh dari bahasa jenis dinamis.
Type Checking
Suatu bahasa disebut :
– Tidak berjenis jika tidak ada jenis abstrak yang berlaku
– Jenis kuat jika menyelenggarakan jenis abstrak (operasi yang diterapkan hany object jenis sesuai)
– Jenis statis jika jenis ungkapan masing-masing dapat ditentukan dari teks program
– Jenis dinamis jika penentuan jenis beberapa ungkapan tergantung pada perilaku waktu berjalan program
Keuntungan dari bahasa tidak berjenis adalah fleksibilitas mereka. Programmer mempunyai kendali penuh atas bagaimana suatu nilai data digunakan tetapi harus mengasumsikan tanggung jawab penuh untuk mendeteksi aplikasi operasi ke object jenis yang tidak cocok atau bertentangan.
Jenis kuat membantu untuk memastikan portabilitas dan keamanan kode dan sering memerlukan progammer dengan tegas menggambarkan jenis masing-masing object didalam suatu program. Ini penting juga dalam kumpulan untuk pemilihan operasi yang sesuai dan untuk optimasi. Jenis statis secara luas dikenali sebagai kebutuhan untuk produksi perangkat lunak yang dapat dipercaya dan aman. Jenis statis yang memeriksa menyiratkan bahwa jenis dicek pada waktu kompilasi. Jenis statis dipilih ketika efisiensi didalam waktu pelaksanaan adalah penting dan kompilator pendukung digunakan untuk mendukung rancang bangun perangkat lunak berjalan.