2017-05-11 1 views
1

j'ai essayé d'ajouter le drapeau à package.yaml fichier

name:    sandbox 
version:    0.1.0.0 
homepage:   https://github.com/githubuser/sandbox#readme 
license:    BSD3 
author:    Author name here 
maintainer:   [email protected] 
copyright:   2017 Author name here 
category:   Web 
extra-source-files: 
    - README.md 

flags : 
    sandbox: 
     defer-type-errors : true 

dependencies: 
    - base >= 4.7 && < 5 

executables: 
    sandbox: 
    source-dirs:  src 
    main:    Main.hs 
    dependencies : streaming 

Mais je reçois l'erreur suivante:

.... \ bac à sable \ package.yaml: erreur dans .flags.sandbox de $: clé « manuel » ne présente

Répondre

0

Si tel est le fichier entier, vous devez ajouter (si vous utilisez GHC-8.0.2):

resolver: lts-8.3 

flags: 
    sandbox: 
    defer-type-errors: true 

Le nom n'est pas nécessaire.

+0

Je pense que je vous ai un peu confus. C'est un package.yaml et mon fichier est un peu différent. –

0

Pour TUN report type d'erreur, enseigner Stack pour compiler avec le drapeau à l'intérieur stack.yaml, non package.yaml:

resolver: ... 
packages: ['.'] 
ghc-options: 
    sandbox: -fdefer-type-errors 
extra-deps: [] 
flags: {} 
extra-package-dbs: [] 

Le paragraphe flags dans package.yaml est censé déclarer des drapeaux pour utilisateurs de votre package pour l'activer ou le désactiver. See here for an example. Ceci est généralement utilisé pour la compilation conditionnelle de fonctions optionnelles, comme les tests d'intégration.

Pour ajuster les indicateurs que GHC utilisera à compiletime, utilisez ghc-options dans stack.yaml. (Assez de confusion, il ya aussi flags en stack.yaml.)