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.

1
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 disebut dalam M. Pengoptimal juga mempertimbangkan setiap fungsi kelebihan …
392 haskell  ghc 

2
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 tidak menekankan pemahaman …
322 haskell  constraints  ghc 

8
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 :: forall a. (forall s. ST …
312 haskell  syntax  types  ghc  forall 

4
Mengapa Haskell (GHC) begitu cepat?
Haskell (dengan GHCkompiler) jauh lebih cepat dari yang Anda harapkan . Digunakan dengan benar, ini bisa mendekati bahasa tingkat rendah. (Hal favorit yang harus dilakukan Haskellers adalah mencoba dan mendapatkan dalam 5% dari C (atau bahkan mengalahkannya, tetapi itu berarti Anda menggunakan program C yang tidak efisien, karena GHC mengkompilasi …

2
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) :-> Full b) share :: (Let :<: sup, sup ~ …
212 haskell  ghc 

4
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 temukan sejauh ini: Tulis Haskell secepat C: mengeksploitasi …

3
Optimalisasi apa yang diharapkan GHC lakukan dengan andal?
GHC memiliki banyak optimasi yang dapat dilakukan, tetapi saya tidak tahu apa itu semua, atau seberapa besar kemungkinan mereka akan dilakukan dan dalam keadaan apa. Pertanyaan saya adalah: transformasi apa yang dapat saya harapkan untuk diterapkan setiap waktu, atau hampir seperti itu? Jika saya melihat sepotong kode yang akan sering …

1
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 kendala diperlukan, Anda dapat melihat lebih banyak …
156 haskell  ghc 

6
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 teknis.
147 haskell  ghc 

2
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]’ || Expected type: containers-0.5.6.2:Data.Map.Base.Map || [GHC.Types.Char] || ([(integer-gmp-1.0.0.0:GHC.Integer.Type.Integer, || integer-gmp-1.0.0.0:GHC.Integer.Type.Integer)], || containers-0.5.6.2:Data.Set.Base.Set || integer-gmp-1.0.0.0:GHC.Integer.Type.Integer) …
143 haskell  ghc  ghc-mod 

5
Mengurangi waktu jeda pengumpulan sampah di program Haskell
Kami sedang mengembangkan program yang menerima dan meneruskan "pesan", sambil menyimpan riwayat sementara pesan-pesan itu, sehingga dapat memberi tahu Anda riwayat pesan jika diminta. Pesan diidentifikasi secara numerik, biasanya berukuran sekitar 1 kilobyte, dan kita perlu menyimpan ratusan ribu pesan ini. Kami ingin mengoptimalkan program ini untuk latensi: waktu antara …


2
Jejak memori dari tipe data Haskell
Bagaimana saya dapat menemukan jumlah memori sebenarnya yang diperlukan untuk menyimpan nilai beberapa tipe data di Haskell (kebanyakan dengan GHC)? Apakah mungkin untuk mengevaluasinya pada saat runtime (misalnya dalam GHCi) atau mungkinkah untuk memperkirakan kebutuhan memori tipe data gabungan dari komponennya? Secara umum, jika kebutuhan memori tipe adan bdiketahui, apa …


4
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 menyimpan daftar), sedangkan …
106 haskell  ghc  memoization 

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.