ghc

    0熱度

    2回答

    下面介紹的解決方案如何改進以下問題?它能在時間和空間上更有效率嗎?是否有空間泄漏? 問題: 鑑於Astronauts輸入列表中,產生對Astronauts這樣的,該對不具有來自相同國家二級Astronauts的列表。假設輸入具有Astronauts的列表以及唯一的identifiers。 data Astronaut = Astronaut { identifier :: Int, country

    19熱度

    1回答

    我試圖瞭解Haskell(GHC 7.10.1在OS X 10.10.5)中的(綠色)線程是多麼昂貴。我知道它與真正的操作系統線程相比非常便宜,無論是內存使用還是CPU。 對,所以我開始寫用叉子n(綠色)線程一個超級簡單的程序(使用優秀async庫),然後就睡覺每個線程m秒。 嗯,這是很容易的: $ cat PerTheadMem.hs import Control.Concurrent (th

    6熱度

    2回答

    對於使用最近版本的GHC爲初學者教授Haskell,某些功能的類型可能會因爲可摺疊可穿越前奏(FTP)而引起混淆。例如,列表上的基本功能(如length,sum和product)的類型包括Foldable約束foldr :: Foldable t => (a -> b -> b) -> b -> t a -> b。對於一些介紹性的高階功能,例如foldl :: Foldable t => (b -

    6熱度

    1回答

    我有一個大的C項目,必須使用gcc進行編譯。所以,我有一個文件鏈接的主執行程序是這樣的: #include <HsFFI.h> static void my_enter(void) __attribute__((constructor)); static void my_enter(void) { static char *argv[] = { "Pointer.exe", 0 }

    2熱度

    1回答

    我想在Windows上調用GHC(版本7.8.3)中使用visual studio(2015社區版)構建的C DLL。 的C代碼:(myDLL.cpp) extern "C" { __declspec(dllexport) int someFn() { return 42; } } Haskell代碼:(Main.hs) module Main where

    0熱度

    2回答

    這裏我們需要得到給定長度的所有子序列。如何計算給定函數的漸近複雜度? import Data.List subsequencesOfSize l n = [x | x <- subsequences l, length x == n] 它會是多少「迭代」?我們可以談論「迭代」嗎?任何優化? GHC 7.10.2。編譯器或程序員如何改進這一點?

    14熱度

    1回答

    我在我的服務器託管上受到1GB內存的限制。當我想編譯一些像git-annex這樣的大程序時,Cabal吃了很多內存。有沒有辦法限制cabal或gcl使用一些選項來限制內存使用? 我更新了一些問題的問題:我正在運行cabal(1.22.4.0)和Ghc 7.10.2關於Webfaction託管(CentOS 7 - 64位),可以訪問shell(非root訪問)。 Webfaction管理員/機器人

    11熱度

    1回答

    昨天晚上,我正在寫一些娛樂代碼,在某些時候我用>>=代替concatMap,並在我的代碼中看到了〜10%的加速。 我的印象是>>=對於[]的定義恰好是concatMap,所以我有點困惑。

    7熱度

    2回答

    我試圖以mtl庫的精神實現MaybeT。有了這個非編解決方案: {-# LANGUAGE FlexibleInstances, MultiParamTypeClasses, UndecidableInstances #-} import Control.Monad import Control.Monad.Trans import Control.Monad.State newtype

    0熱度

    1回答

    我使用cabal來管理中型項目(不打算用於分發)。我使用Makefile執行基本設置,然後調用cabalconfigure/build來構建項目的其餘部分。我還希望能夠使用GHC中內置的工具來選擇性地分析項目。 這似乎涉及.cabal文件中的一組不同的選項,並將--enable-executable-profiling選項傳遞給cabal配置階段。後者在Makefile中很容易實現,但是我找不到一