«ghc» etiketlenmiş sorular

Glasgow Haskell Compiler, Haskell işlevsel dili için son teknoloji ürünü, açık kaynaklı bir derleyici ve etkileşimli bir ortamdır. Bu etiketi özellikle GHC ile ilgili sorular için kullanın ve genel olarak Haskell hakkında değil, aksi belirtilmedikçe hemen hemen herkes bunu kullanacaktır.

1
GHC'de Otomatik Uzmanlaşmanın Geçişliliği
Gönderen docs ghc 7.6 için: [Y] Genellikle ilk etapta UZMANLIK pragmasına bile ihtiyaç duymazsınız. Bir modül M derlenirken, GHC'nin iyileştiricisi (-O ile) M'de bildirilen her üst düzey aşırı yük fonksiyonunu otomatik olarak dikkate alır ve M'de çağrıldığı farklı tipler için uzmanlaşır. İyileştirici ayrıca içe aktarılan her INLINABLE aşırı yük fonksiyonunu, …
392 haskell  ghc 

2
Kısıtlamaları İzleme Teknikleri
Bir tür imzası ile bazı kodlar yazdım ve GHC bazıları için x ~ y anlamak olamazdı yakınır: İşte senaryo xve y. Genellikle GHC'ye bir kemik atabilir ve fonksiyon kısıtlamalarına izomorfizmi ekleyebilirsiniz, ancak bu birkaç nedenden dolayı kötü bir fikirdir: Kodun anlaşılmasını vurgulamaz. Birinin yeterli olacağı 5 kısıtlama ile karşılaşabilirsiniz (örneğin, …
322 haskell  constraints  ghc 

8
Haskell / GHC'deki `forall` anahtar kelimesi ne işe yarar?
forallAnahtar kelimenin sözde "varoluş türleri" olarak nasıl kullanıldığını anlamaya başlıyorum : data ShowBox = forall s. Show s => SB s Bununla birlikte, forallbu sadece nasıl kullanıldığı hakkında bir alt kümedir ve aklımı böyle şeylerde kullanımı etrafında satamıyorum: runST :: forall a. (forall s. ST s a) -> a Veya …
312 haskell  syntax  types  ghc  forall 

4
Haskell (GHC) neden bu kadar hızlı?
Haskell ( GHCderleyici ile) beklediğinizden çok daha hızlı . Doğru kullanıldığında, düşük seviyeli dillere yakın olabilir. (Haskellers'ın en sevdiği şey, C'nin% 5'ine girmeyi denemek ve (veya onu yenmek), ancak GHC Haskell'i C'yi derlediğinden, verimsiz bir C programı kullandığınız anlamına gelir.) Sorum şu, neden? Haskell açıklayıcı ve lambda analizine dayanmaktadır. Makine …

2
-XAllowAmbiguousTypes ne zaman uygundur?
Geçenlerde bir gönderdiniz soru hakkında sözdizimsel-2,0 tanımına ilişkin share. GHC 7.6'da şu şekilde çalıştım : {-# 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 ~ Domain b, sup …
212 haskell  ghc 

4
GHC Çekirdeği Okuma
Çekirdek GHC'nin ara dilidir. Okuma Çekirdeği, programınızın performansını daha iyi anlamanıza yardımcı olabilir. Birisi benden Core okuma ile ilgili dokümantasyon veya öğreticiler istedi, ancak fazla bir şey bulamadım. GHC Core'u okumak için hangi belgeler mevcut? Şimdiye kadar bulduğum şey: Haskell'i C kadar hızlı yazın: katılık, tembellik ve özyinelemeden yararlanma Haskell …

3
GHC'nin hangi optimizasyonların güvenilir bir şekilde çalışması beklenebilir?
GHC'nin gerçekleştirebileceği birçok optimizasyon var, ancak hepsinin ne olduğunu, ne kadar gerçekleştirileceğini ve hangi koşullarda olacağını bilmiyorum. Sorum şu: her seferinde hangi dönüşümlerin uygulanmasını bekleyebilirim, ya da neredeyse böyle? Sık sık çalıştırılacak (değerlendirilecek) bir kod parçasına bakarsam ve ilk düşüncem "hmm, belki bunu optimize etmeliyim", hangi durumlarda ikinci düşüncem olmalı, …

1
Kısıtlı Uzmanlaşma
Sınıf kısıtlaması olan bir işlevi uzmanlaştırmak için GHC elde etmekte sorun yaşıyorum. Benim burada sorunun minimal örnek var: Foo.hs ve Main.hs . İki dosya derlenir (GHC 7.6.2, ghc -O3 Main) ve çalıştırılır. NOT: Foo.hs gerçekten soyulmuş. Kısıtlamanın neden gerekli olduğunu görmek istiyorsanız, burada biraz daha kod görebilirsiniz . Kodu tek …
156 haskell  ghc 

6
GHC neden bu kadar büyük / büyük?
Basit bir cevap var mı: GHC neden bu kadar büyük? OCaml: 2 MB Python: 15 MB SBCL: 9 MB OpenJRE - 26 MB GHC: 113 MB "Haskell doğru araçsa boyutu neden umursamamalıyım" evanjelizmiyle ilgilenmiyorum; bu teknik bir sorudur.
146 haskell  ghc 

2
GHC-mod, türler için tam adlar kullanmak zorunda mıdır?
Ben kullanmaya çalışıyorum ghc-modAncak vb kontrol türü / sözdizimi yapmak vim eklenti, bunu buldum ghc-modhep, örneğin hata mesajlarında türleri tam yollarını kullanır: 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) || Actual type: …
143 haskell  ghc  ghc-mod 

5
Haskell programında çöp toplama duraklama süresinin azaltılması
"Mesajları" alan ve ileten, bu mesajların geçici bir geçmişini tutarken, istenirse size mesaj geçmişini söyleyebilecek bir program geliştiriyoruz. Mesajlar sayısal olarak tanımlanır, tipik olarak yaklaşık 1 kilobayt boyutundadır ve bu mesajlardan yüz binlerce saklamamız gerekir. Bu programı gecikme için optimize etmek istiyoruz: mesaj gönderme ve alma arasındaki süre 10 milisaniyenin …


2
Haskell veri türlerinin bellek ayak izi
Haskell'de (çoğunlukla GHC ile) bazı veri türlerinin bir değerini depolamak için gereken gerçek bellek miktarını nasıl bulabilirim? Çalışma zamanında değerlendirmek mümkün mü (örneğin GHCi'de) veya bileşenlerinden bir bileşik veri türünün bellek gereksinimlerini tahmin etmek mümkün mü? Genelde, türleri bellek gereksinimleri varsa ave bbilinir gibi cebirsel veri türleri bellek havai nedir: …


4
GHC Haskell'de not alma ne zaman otomatiktir?
M2 aşağıda olmadığı halde m1'in neden hafızaya alındığını anlayamıyorum: m1 = ((filter odd [1..]) !!) m2 n = ((filter odd [1..]) !! n) m1 10000000, ilk aramada yaklaşık 1,5 saniye ve sonraki aramalarda bunun bir kısmını alır (muhtemelen listeyi önbelleğe alır), oysa m2 10000000 her zaman aynı süreyi alır (her …
106 haskell  ghc  memoization 

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.