From 7e8798669c4b6d1b7b9a2f6d14dfb5e2ca4b3d63 Mon Sep 17 00:00:00 2001 From: Ari Nugraha <nugrahaa878@gmail.com> Date: Mon, 16 Nov 2020 09:21:11 +0700 Subject: [PATCH] update README --- README.md | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/README.md b/README.md index 73d595c..e27c32e 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,57 @@ Modified by : - Ari Angga Nugraha - Faculty of Computer Science, Universitas Indonesia +Penjelasan : + +Lambda Calculus merupakan bahasa pemrograman universal paling sederhana yang ada di dunia. Lambda calculus diperkenalkan oleh Alonzo Church pada tahun 1930-an. Lambda calculus memanfaatkan aturan transformasi untuk melakukan operasi + +Aturan pada lambda calculus +1. Beta Reduction +``` += (λx.(λy.x))z += (λy.x)[x := z] += (λy.z) +``` +2. Alfa Reduction + +``` += (λx.(λy.x))y + +bisa diubah menjadi + += (λx.(λy1.x))y +``` + +Pada program ini saya melakukan perubahan supaya saat user memasukkan input berupa angka angka dan juga operas + atau * akan dilakukan perhitungan berdasarkan Church Numeral + +Contoh : +``` +λ 1+2 +λ λy x. y (y (y x)) +``` + +Langkah : +1. Angka 1 akan dirubah menjadi Church Numeral menjadi +``` +(λs z . s z) +``` +2. Simbol + akan dirubah menjadi Church Numeral menjadi +``` +(λw y x. y (w y x)) +``` +3. Angka 2 akan dirubah menjadi Church Numeral menjadi +``` +(λs z . s (s z)) +``` + +Lalu ketiga string akan digabung dengan operasi ++ dan Lambda Interpreteur akan bekerja mereduksi gabungan string tersebut dengan Beta Reduction dan juga Alfa Reduction sehingga akan menghasilkan angka 3 dalam bentuk Church Numeral yaitu + +``` +(λs z . s (s (s z))) +``` + +Original README : + # Lambda Calculus [](https://travis-ci.org/sgillespie/lambda-calculus) -- GitLab