共找到15條詞條名為SAC的結果 展開
SAC
純函數式編程語言
SAC(Single Assignment C)是一門嚴格的純函數式編程語言,以滿足數值計算領域的需求為主要目的。
怎樣實現對多維數組的高效計算是SAC的核心部分。效率在程序設計領域可以有兩方面的理解。一方面是提供高級的數組運算操作,以加快開發程序,另一方面是在某種模式下優化編譯程序,以減少其所需的運行時間和存儲容量。作為一門成功的計算機語言,必須滿足第二個條件。
為了能夠編譯出高效的可執行代碼,某些對數值計算不重要的函數式語言的特徵(到目前為止)還不被SAC支持,比如高階函數(higher-order functions),多態(polymorphism),以及惰性求值(lazy evalution)。而像Haskell、Clean、Miranda或者ML卻擁有這些特徵。
怎樣實現對多維數組的高效計算是SAC的核心部分。
為了能夠編譯出高效的可執行代碼,某些對數值計算不重要的函數式語言的特徵(到目前為止)還被SAC支持,比如高級函數(higher-order functions),多態性(polymorphism),以及懶惰計演演算法(lazy evalution)。而像Haskell、Clean、Miranda 或者 ML卻擁有這些特徵。
APL是A Programming Language或Array Processing Language的縮寫。肯尼斯·艾佛森在1962年設計這個語言時他正在哈佛大學工作,1979年他因對數學表達式和編程語言理論的貢獻而得到圖靈獎。在過去數十年的使用歷史中,APL 從它的原始版本開始不斷改變和發展,今天的版本與1963年發表時的版本已經非常不一樣了。但它始終是一種解釋執行的計算機語言。現代的 APL 版本支持其初始版本不支持的結構和模式編程。APL 至今依然使用一種非標準化的字母表,這一直是他人對 APL 的批評。
函數式編程(英語:functional programming)或稱函數程序設計,又稱泛函編程,是一種編程典範,它將電腦運算視為數學上的函數計算,並且避免使用程序狀態以及易變對象。函數編程語言最重要的基礎是λ演算(lambda calculus)。而且λ演算的函數可以接受函數當作輸入(引數)和輸出(傳出值)。
比起指令式編程,函數式編程更加強調程序執行的結果而非執行的過程,倡導利用若干簡單的執行單元讓計算結果不斷漸進,逐層推導複雜的運算,而不是設計一個複雜的執行過程。