奧利亞語翻譯比來在浏覽另外一種程式說話派別翻譯社
不是天流地流與神流,不是二刀流,也不是人稱一流劍一流,
是一種叫做函數式說話 (functional programming language) 的.
先聲明翻譯社因為以往工作與進修情況並不熟習這器械的實作翻譯社
以下凡談到底層翻譯社含編譯/直譯等翻譯社都是胡扯瞎掰的.
假如有幸,未來可能有機遇實作.
函數式說話的特點就是函數界說,寫完函數,程式就寫完了.
跟傳統程式說話 (構造化程式) 有什麼差異呢?
按數學來說翻譯社函數是指將界說域映照到值域翻譯社
而傳統程式說話的函數翻譯社除映照以外,
還多了許多器械, (流程節制,破例處置懲罰,資本治理...等)
所以更稱為函式.
函數式說話沒有指定論述,沒有副感化 (side effect), 也沒有流程節制.
可想而知,遞迴是函數式說話經常使用的器械翻譯社因為遞迴有隱性的流程節制功能.
這時候候可能看棺...呃,看倌們會想到函數式說話程式有多慢,
但因為函數式說話沒有副感化翻譯社意指一個子函數只做它該做的事,其他不多做.
比如近鄰 p 版正在評論辯論的 int x=12; x=x+++++x; 疑義,
在函數式說話的世界是完全無效的!
哪一個子運算式/子函數先較量爭論,後果都一樣.
是以,一份函數呼喚可以被自由代換為它的函數內容,不改其義.
遞迴函數很慢,睜開成非遞迴函數就快多了.
(乃至也許底層不需要有傳統說話編譯器的函式節制記憶區)
函數式說話之所以沒副感化翻譯社那是因為所有的變數一利用就不改其值.
沒有指定論述可以點竄變數內容.
接下來再講講邏輯式說話, (logical programming language)
邏輯說話的根基構件是邏輯式.
用過 Prolog 的人或許會感覺 a :- b, c. 是劃定規矩翻譯社 (if b and c then a)
但如許很輕易墮入劃定規矩式推論系統的框架中,誤以為一旦利用 Prolog,
就非得實作劃定規矩式推論系統.
事實上,那是 !b || !c || a 這般邏輯式 (此式借用C的符號), 稱為Horn clause.
(Horn clause到底怎麼翻譯啊? 角句嗎?)
邏輯式說話的程式翻譯社就是很多邏輯式的荟萃,
稱為演繹式資料庫 (deductive database翻譯社 DDB).
邏輯式說話的較量爭論,在於把握解集. (answer sets, 謎底集)
回憶范式圖 (Van diagram), 假如
來自: https://www.ptt.cc/bbs/PLT/M.1172348644.A.D49.html有關各國語文翻譯公證的問題歡迎諮詢華頓翻譯公司02-77260932
- Nov 11 Sun 2018 00:18
[閒聊] 邏輯式說話與函數式說話
close
文章標籤
全站熱搜
留言列表
發表留言