2012-06-14 20 views
13

Ho scritto un modulo e per eseguire il codice principale in cui è importato il modulo deve avere l'estensione della lingua {-# LANGUAGE OverloadedStrings #-} o l'opzione deve essere fornita quando le cose sono compilate, naturalmente.È possibile "nascondere" le estensioni della lingua?

Se includo il {-# LANGUAGE OverloadedStrings #-} nel modulo, questo non è un problema e l'utente dovrà comunque fare lo stesso nel suo codice o durante la compilazione.

C'è un modo in cui posso fare "qualcosa" nel modulo attuale per sollevare questo problema dall'utente finale e per così dire "nascondere" l'estensione della lingua richiesta?

risposta

13

No, la libreria espone funzionalità che richiedono l'utilizzo di estensioni di lingua. Questo è qualcosa che dovresti specificare nella documentazione e negli esempi. Non c'è modo di accenderlo sul codice utente.

10

Nota che -XOverloadedStrings è mai obbligatorio. Tutto ciò che l'estensione fa è, vagamente parlando, tradurre "I'm a string" a fromString "I'm a string". Senza estensioni, gli utenti possono sempre fare lo stesso da soli.

Problemi correlati