Pertanyaan yang diberi tag ghc

Glasgow Haskell Compiler adalah kompiler open source yang canggih dan lingkungan interaktif untuk bahasa fungsional Haskell. Gunakan tag ini untuk pertanyaan khusus tentang GHC dan bukan tentang Haskell secara umum karena hampir semua orang akan menggunakannya kecuali ditentukan lain.

392
Transitivitas Auto-Spesialisasi dalam GHC

Dari dokumen untuk GHC 7.6: [Y] ou sering kali bahkan tidak membutuhkan pragma SPESIALISASI. Saat menyusun modul M, pengoptimal GHC (dengan -O) secara otomatis mempertimbangkan setiap fungsi tingkat-atas yang dideklarasikan dalam M, dan mengkhususkannya untuk jenis yang berbeda di mana ia...

322
Teknik untuk Melacak Batasan

Berikut skenario: Saya sudah menulis beberapa kode dengan tipe tanda tangan dan GHC mengeluh tidak dapat menyimpulkan x ~ y untuk beberapa xdan y. Anda biasanya dapat melempar GHC ke tulang dan menambahkan isomorfisme ke batasan fungsi, tetapi ini adalah ide yang buruk karena beberapa alasan: Itu...

312
Apa kata kunci `forall` dalam Haskell / GHC?

Saya mulai memahami bagaimana forallkata kunci digunakan dalam apa yang disebut "tipe eksistensial" seperti ini: data ShowBox = forall s. Show s => SB s Namun, ini hanya sebagian dari cara forallpenggunaannya dan saya tidak bisa menggunakan pikiran saya dalam hal-hal seperti ini: runST ::...

212
Kapan -XAllowAmbiguousTypes tepat?

Saya baru saja memposting pertanyaan tentang sintaksis-2.0 tentang definisi share. Saya sudah menjalankan ini di GHC 7.6 : {-# LANGUAGE GADTs, TypeOperators, FlexibleContexts #-} import Data.Syntactic import Data.Syntactic.Sugar.BindingT data Let a where Let :: Let (a :-> (a -> b) :->...

193
Membaca GHC Core

Core adalah bahasa perantara GHC. Membaca Core dapat membantu Anda lebih memahami kinerja program Anda. Seseorang meminta saya untuk dokumentasi atau tutorial tentang membaca Core, tetapi saya tidak dapat menemukan banyak. Dokumentasi apa yang tersedia untuk membaca GHC Core? Inilah yang saya...

156
Spesialisasi dengan Kendala

Saya mengalami masalah dalam mendapatkan GHC untuk mengkhususkan fungsi dengan batasan kelas. Saya punya contoh minimal masalah saya di sini: Foo.hs dan Main.hs . Dua file dikompilasi (GHC 7.6.2, ghc -O3 Main) dan jalankan. CATATAN: Foo.hs benar-benar dilucuti. Jika Anda ingin melihat mengapa...

147
Mengapa GHC begitu besar / besar?

Apakah ada jawaban sederhana: Mengapa GHC begitu besar? OCaml: 2MB Python: 15MB SBCL: 9MB OpenJRE - 26MB GHC: 113MB Tidak tertarik pada penginjilan "Mengapa saya tidak harus peduli tentang ukuran jika Haskell adalah alat yang tepat"; ini pertanyaan

143
Apakah GHC-mod harus menggunakan nama lengkap untuk tipe?

Saya mencoba menggunakan ghc-modplugin vim untuk melakukan ketik / memeriksa sintaks dll. Namun, saya menemukan bahwa ghc-modselalu menggunakan path lengkap jenis dalam pesan kesalahan, misalnya: test.hs|71 col 13 error| Couldn't match type ‘Data.Text.Internal.Text’ || with ‘[GHC.Types.Char]’ ||...

106
Kapan memoisasi otomatis di GHC Haskell?

Saya tidak tahu mengapa m1 tampaknya dikosongkan sementara m2 tidak dalam berikut ini: m1 = ((filter odd [1..]) !!) m2 n = ((filter odd [1..]) !! n) m1 10000000 membutuhkan waktu sekitar 1,5 detik pada panggilan pertama, dan sebagian kecil dari itu pada panggilan berikutnya (mungkin itu...

87
Contoh yatim piatu di Haskell

Saat menyusun aplikasi Haskell saya dengan -Wallopsi tersebut, GHC mengeluh tentang instans yatim piatu, misalnya: Publisher.hs:45:9: Warning: orphan instance: instance ToSElem Result Jenis kelas ToSElembukan milik saya, ini ditentukan oleh HStringTemplate . Sekarang saya tahu cara...

12
Perilaku aneh (^) di Haskell

Mengapa GHCi memberikan jawaban yang salah di bawah? GHCi λ> ((-20.24373193905347)^12)^2 - ((-20.24373193905347)^24) 4.503599627370496e15 Python3 >>> ((-20.24373193905347)**12)**2 - ((-20.24373193905347)**24) 0.0 UPDATE Saya akan mengimplementasikan fungsi Haskell (^) sebagai...