mirror of
https://github.com/anoma/juvix.git
synced 2024-12-15 10:03:22 +03:00
3acade4072
* add TypeCallsBuilder and others * implement propagation of type calls * improve type propagation * polymorphize fungible token * sort type calls map pretty output * use HashSet in TypeCallsMap * renaming * rename module * improve indexing in type propagation * draft monomorphization generation algorithm * fix draft * wip mono code generation * wip code generation * finish first candidate for code generation * add monojuvix command * fix MonoJuvix pretty printer to properly display name ids * [monojuvix] improve clause pretty printing * add support for function types in expressions * properly translate function expressions * ormolu * add a basic positive test for monomorphization * cleanup effect constraints * collect type applications in axiom types * apply some style improvements * fix PolySimpleFungibleToken and add it to the test suite * ignore polymorphic inductive definitions that are never used
83 lines
2.6 KiB
YAML
83 lines
2.6 KiB
YAML
# Based on HLint configuration file from https://github.com/ndmitchell/hlint
|
|
|
|
- arguments: [--color]
|
|
|
|
# --------------------------------------------------------------------------------
|
|
# RESTRICTIONS
|
|
# --------------------------------------------------------------------------------
|
|
|
|
- extensions:
|
|
- default: false
|
|
- name:
|
|
- ApplicativeDo
|
|
- DataKinds
|
|
- DerivingStrategies
|
|
- GADTs
|
|
- ImportQualifiedPost
|
|
- LambdaCase
|
|
- NoImplicitPrelude
|
|
- OverloadedStrings
|
|
- QuasiQuotes
|
|
- RecordWildCards
|
|
- StandaloneKindSignatures
|
|
- TemplateHaskell
|
|
- TypeFamilyDependencies
|
|
- UndecidableInstances
|
|
- UnicodeSyntax
|
|
- GeneralizedNewtypeDeriving
|
|
|
|
- flags:
|
|
- default: false
|
|
- name:
|
|
- -Wall
|
|
- -Wcompat
|
|
- -Wderiving-defaults
|
|
- -Widentities
|
|
- -Wincomplete-patterns
|
|
- -Wincomplete-record-updates
|
|
- -Wincomplete-uni-patterns
|
|
- -Wmissing-deriving-strategies
|
|
- -Wredundant-constraints
|
|
- -O2 -flate-specialise -fspecialise-aggressively
|
|
|
|
- modules:
|
|
# if you import Data.Set qualified, it must be as 'Set'
|
|
- {name: [Data.Set, Data.HashSet], as: Set}
|
|
- {name: [Data.Map, Data.HashMap.Strict, Data.HashMap.Lazy], as: Map}
|
|
# - {name: Control.Arrow, within: []} # Certain modules are banned entirely
|
|
|
|
- functions:
|
|
- {name: Data.List.NonEmpty.nub, within: []}
|
|
- {name: Data.List.NonEmpty.nubBy, within: []}
|
|
|
|
# --------------------------------------------------------------------------------
|
|
# OTHER HINTS
|
|
# --------------------------------------------------------------------------------
|
|
|
|
# - warn: {name: Use explicit module export list}
|
|
|
|
# --------------------------------------------------------------------------------
|
|
# HINTS
|
|
# --------------------------------------------------------------------------------
|
|
|
|
- error: {lhs: idea Warning, rhs: warn}
|
|
- error: {lhs: idea Suggestion, rhs: suggest}
|
|
- error: {lhs: ideaN Warning, rhs: warnN}
|
|
- error: {lhs: ideaN Suggestion, rhs: suggestN}
|
|
|
|
- error: {lhs: occNameString (occName (unLoc x)), rhs: rdrNameStr x}
|
|
- error: {lhs: occNameString (occName x), rhs: occNameStr x}
|
|
- error: {lhs: noLoc (HsVar noExtField (noLoc (mkRdrUnqual (mkVarOcc x)))), rhs: strToVar x}
|
|
|
|
# --------------------------------------------------------------------------------
|
|
# IGNORES
|
|
# --------------------------------------------------------------------------------
|
|
|
|
- ignore: {name: Use let, within: [Test.All]}
|
|
- ignore: {name: Use String}
|
|
- ignore: {name: Avoid restricted qualification}
|
|
- ignore: {name: Redundant multi-way if}
|
|
- ignore: {name: Eta reduce}
|
|
- ignore: {name: Avoid restricted alias}
|
|
- ignore: {name: Use tuple-section}
|