2012-06-14 12 views
13

Napisałem moduł i aby uruchomić główny kod, do którego moduł jest importowany, należy podać rozszerzenie językowe {-# LANGUAGE OverloadedStrings #-} lub opcję należy podać przy kompilacji oczywiście.Czy można "ukryć" rozszerzenia językowe?

Jeśli dołączę do modułu {-# LANGUAGE OverloadedStrings #-}, nie będzie to lekarstwo, a użytkownik będzie musiał zrobić to samo w swoim kodzie lub podczas kompilacji.

Czy jest jakiś sposób, że mogę zrobić "coś" w rzeczywistym module, aby usunąć ten problem z ostatecznego użytkownika, a zatem "ukryć" wymagane rozszerzenie języka?

Odpowiedz

13

Nie, biblioteka udostępnia funkcje wymagające użycia rozszerzeń językowych. To jest coś, co powinieneś podać w swojej dokumentacji i przykładach. Nie ma sposobu, aby włączyć go na kodzie użytkownika.

10

Należy pamiętać, że -XOverloadedStrings to nigdy nie jest wymagane. Całe to rozszerzenie ma na celu, luźno mówiąc, przetłumaczenie "I'm a string" na fromString "I'm a string". Bez rozszerzeń użytkownicy zawsze mogą zrobić to samo.

Powiązane problemy