Có thể chuyển đổi số nhà thờ thành biểu diễn số nguyên mà không sử dụng ngôn ngữ nguyên thủy như add1 không?Chữ số của Giáo hội chuyển thành int không có ngôn ngữ nguyên thủy
Tất cả các ví dụ tôi đã đi qua sử dụng một nguyên thủy để dechurch để int
Ví dụ:
plus1 = lambda x: x + 1
church2int = lambda n: n(plus1)(0)
Ví dụ 2:
(define (church-numeral->int cn)
((cn add1) 0))
Tôi đang thử nghiệm với một lisp vi intepretter (chỉ sử dụng 10 quy tắc của John McCarthy) và muốn hiểu liệu điều đó có thể được thực hiện mà không cần thêm nguyên thủy hay không.
Tôi có nghĩa là nguyên thủy theo nghĩa http://stackoverflow.com/questions/3482389/how-many-primitives-does-it-take-to-build-a-lisp-machine-ten-seven-or- số năm. Tôi đã không nhìn thấy howt để chuyển đổi trở lại một đại diện có thể đọc của một số nhà thờ bằng cách sử dụng 7,10 phổ biến, x nguyên thủy như "nguyên tử, báo giá, eq, xe, cdr, khuyết điểm, cond, lambda, nhãn, áp dụng." Bây giờ, một nguyên thủy "đầu ra" cũng sẽ được yêu cầu là hữu ích. Có thể làm một cái gì đó với một ycombinator và đầu ra? – Joe