ghc

    0

    2답변

    하스켈은 모두 추상에 관한 것입니다. 그러나 추상화는 모든 추상 (다형성) 데이터 (힙의 포인터)의 공통 표현으로 인해 추가 CPU 사이클과 추가 메모리 사용을 필요로합니다. 고성능 요구로 추상 코드를 더 잘 재생할 수있는 몇 가지 방법이 있습니다. 필자가 아는 한, 한 가지 방법은 전문화입니다. 기본적으로 추가 코드 생성 (수동 또는 컴파일러)이 맞습니까

    1

    1답변

    나는 GHC로 컴파일 한 후에 실행될 때 일관되게 멈추는 것처럼 보이는 다음 코드를 가지고있다. (빌드 실패는 -Werror이 아니다.). import Data.Aeson import Data.Scientific import qualified Data.HashMap.Strict as S myObj = Object $ S.fromList [(

    2

    1답변

    Handle이 터미널인지 판단하기 위해 System.IO.hIsTerminalDevice을 사용하고 있습니다.이 경우 컬러링을 적용하십시오. 나는 새로운 프로세스 stdin 및 stdout에 대한 스트림으로 CreatePipe을 사용하는 프로세스를 포크 할 때이 함수가 True을 반환한다는 것을 알아 차렸습니다. 잘못된 대답 인 것 같습니다. 파이프는 터미

    2

    1답변

    stack 빌드 도구를 사용하여 ghc을 이미 설치했습니다. 그것은 내 프로젝트를 컴파일합니다. 내가 프로젝트 디렉토리 안에 nix-shell를 입력하고 nix-shell에서 내 프로젝트를 컴파일 할 때 나는이 같은 오류를 참조하십시오 No compiler found, expected minor version match with ghc-8.0.2 이는

    1

    1답변

    My Haskell 프로그램을 컴파일하는 데 너무 오래 걸립니다. 그 말은 다음과 같습니다. -O1을 사용하여 컴파일 한 지 1 년이 지났습니다. 내가 시도한 마지막 시간에 필자는 내 프로그램을 컴파일하기 위해 64GB 서버를 설정하고 밤새 실행했습니다. 그것은 추리했다. 저는 컴파일 시간을 단축 할 수있는 몇 가지 큰 리엔지니어링 변경 사항에 착수하려고합

    1

    1답변

    bash_function이 /path/to/script.sh에 정의되어 있고이 GHCi를 빨리 사용하고 싶다고 가정 해 보겠습니다. 다음은 작동하지 않습니다 당신이 재고 쉘 기능을 수행 할 수 있도록 GHCi의 bash는 상태를로드 할 수있는 방법이 Prelude> :!source /path/to/script.sh Prelude> :!bash_functi

    0

    1답변

    기본적으로 stack build은 .dump-hi 파일의 디렉토리를 .stack-work에 만듭니다. 내 프로그램에서 가장 큰 파일은 1.9GB입니다. (해당 .hi 파일은 24MB 만 필요합니다.) 필자가 이해하는 한,이 파일은 완전히 불필요하며 빌드 성능을 향상시키는 데 도움이되지 못했습니다. 그럼 어떻게하면 stack build에서 생산을 중단 할 수

    2

    1답변

    ghc 프론트 엔드 및 llvm 백엔드를 사용하여 haskell을 컴파일하려고합니다. 내 하스켈 hello.hs 파일에 다음 코드를했다 : 나는 다음 명령을 사용하여 GHC와 hello.hs를 컴파일 main = putStrLn "Hello World!" 을 기타와 함께 hello.ll 파일을 생성 ghc -fllvm -keep-llvm-files -f

    0

    1답변

    저는 하스켈 타입 클래스를 가지고 놀았으며, 누군가가 저를 도울 수 있기를 바랍니다. 내가 신속한 배경에서 출발하여 하스켈 코드에 프로토콜 지향 지식을 포팅하려고하는 "시도"를 생각해보십시오. data Candle = Candle { mts :: Integer, open :: Double, close :: Double } d

    1

    1답변

    Prelude 라이브러리의 함수 만 사용하여 두 개의 숫자 목록 사이에 점 제품을 구현하려고합니다. 나는 다음과 같은 기능을 작성했습니다 : main :: IO() main = do let n = 10^6 x = (replicate n 2.0) :: [Double] y = (replicate n 3.0) :: [Double]