ghc

    5熱度

    1回答

    我正在使用堆棧構建靜態鏈接二進制文件,並嘗試向其添加調試符號(以下內容:https://downloads.haskell.org/~ghc/master/users-guide/debug-info.html)。但是GDB報告:no debugging symbols found。 我缺少什麼? 我已經加入到ghc-options在.cabal file:-g -rtsopts並向ld-opti

    0熱度

    1回答

    我一直在玩Haskell類型類,我面臨一個問題,我希望有人能幫我解決。考慮到我來自Swift背景並試圖將一些面向協議的知識移植到Haskell代碼中。 起初我宣佈了一堆JSON解析器其中有相同的結構,只是不同的實現: data Candle = Candle { mts :: Integer, open :: Double, close :: Double }

    1熱度

    1回答

    我有一個測試套件和一個基準測試套件,它使用GHC API將模塊編譯到Core,這樣我就不必編寫Core 'by hand'。 目前我主要使用stack,在這裏我可以訪問測試套件中的GHC_PACKAGE_PATH環境變量(stack test)來查找我可以提供GHC API的包數據庫。請注意,這並不是我關心任何特定的數據庫,我只是想從例如base可用,用GHC的兼容版本(例如GHC.Paths.g

    4熱度

    1回答

    我有一個簡單的例程,需要一個向量的產品Double。我試圖並行化這些代碼,但許多火花最終失敗。這是也提供as a gist獨立的基準: {-# LANGUAGE BangPatterns #-} {-# LANGUAGE MagicHash #-} {-# OPTIONS_GHC -O2 -Wall -threaded -fforce-recomp #-} import Criterio

    1熱度

    1回答

    我試圖在Prelude庫中僅使用函數的兩個數字列表之間實現一個點積。我寫了下面的功能: dot :: Num a => [a] -> [a] -> a dot x y = sum $ zipWith (*) x y 我測試如下: main :: IO() main = do let n = 10^6 x = (replicate n 2.0) :: [Double]

    0熱度

    3回答

    代碼加載:進入交互 modPow :: Int -> Int -> Int -> Int modPow a k m = (a^2 `mod` m)^(k `div` 2) 代碼: (13481503^2 `mod` 46340)^(11237126 `div` 2) 即a = 13481503 ,k = 11237126,m = 46340 前者返回一個完全不同的數字,當在ghci中調用

    0熱度

    2回答

    Haskell完全是關於抽象。但是由於所有抽象(多態)數據的共同表示 - 堆中的指針,抽象花費我們額外的CPU週期和額外的內存使用。有一些方法可以使抽象代碼更好地滿足高性能需求。據我所知,一種方法是專業化 - 基本上額外的代碼生成(手動或編譯器),是正確的? 讓我們假設下面所有的代碼是嚴格 如果我們有一個功能sum(這有助於編譯器進行更多的優化?): sum :: (Num a) => a ->

    4熱度

    2回答

    對類型變量進行參數化很好,但不能縮放。作爲可能發生的一個例子,http://oleg.fi/gists/posts/2017-04-26-indexed-poptics.html給出了一個包含9個類型變量的抽象。我一直在研究程序轉換的框架,這些程序轉換由程序設計語言進行了參數化,並且可以想象將來有幾十或幾百個參數。 所以這裏的基本問題:我有一個數據類型T,它是參數化的N類型。如何在T上編寫一個函數

    3熱度

    1回答

    我已經找到一種方法來一個Nat轉換成Integer使用Proxy和natVal,你可以在下面的代碼中看到: {-# LANGUAGE DataKinds #-} {-# LANGUAGE ScopedTypeVariables #-} module Main where import Data.Proxy (Proxy) import Data.Monoid ((<>)) impor

    4熱度

    2回答

    我在haskell-stack項目上使用GHC。我想解除錯誤字段的警告,直到出現編譯錯誤。 我試圖做到以下,但它不起作用。 ​​ 你能告訴如何解除缺少的字段警告到編譯錯誤嗎?