目錄
- 1 什么是嚴格函數
什么是嚴格函數
編輯在計算機科學和計算機編程中,如果一個函數f應用于一個非終止表達式時,它也不能終止,則稱其為嚴格函數。在編程語言的指稱語義學中,一個嚴格的函數是一個函數f,其中稱為底層,表示一個不返回正常值的表達式,要么是因為它無休止地循環,要么是因為它由于錯誤(如除以0)而中止。一個不嚴格的函數被稱為非嚴格的。一種嚴格的編程語言是指用戶定義的函數總是嚴格的。直觀地說,非嚴格的函數對應于控制結構。在操作上,一個嚴格的函數是一個總是評估其參數的函數;一個非嚴格的函數是一個可能不評估其某些參數的函數。
有一個以上參數的函數可以對每個參數獨立地進行嚴格或非嚴格處理,也可以同時對幾個參數共同進行嚴格處理。例如,許多編程語言中的if-then-else表達式,在受C語言啟發的語言中稱為?這個函數在它的xxx個參數中是嚴格的,因為這個函數在返回之前必須知道它的xxx個參數的值是真還是假;但是它在第二個參數中是不嚴格的,因為(例如)if(false,在非嚴格的函數式編程語言中,嚴格性分析是指用于證明一個函數對其一個或多個參數的嚴格性的任何算法。這樣的函數可以被編譯成更有效的調用約定,如按值調用,而不改變包圍程序的意義。
內容由匿名用戶提供,本內容不代表www.gelinmeiz.com立場,內容投訴舉報請聯系www.gelinmeiz.com客服。如若轉載,請注明出處:http://www.gelinmeiz.com/164382/