packages feed

language-dickinson 1.1.0.0 → 1.1.0.1

raw patch · 17 files changed

+1071/−25 lines, 17 filesdep +splitPVP ok

version bump matches the API change (PVP)

Dependencies added: split

API changes (from Hackage documentation)

Files

CHANGELOG.md view
@@ -1,5 +1,12 @@ # dickinson +## 1.1.0.1++  * Read `DCK_PATH` variable when searching for files.+  * Improvements to `lib/noun.dck` and `lib/adjectives.dck`+  * Add `lib/flappend.dck` and `lib/adverb.dck`+  * Add `ide` subcommand that runs lints + checks+ # 1.1.0.0    * Fix bug in `:type`
bench/Bench.hs view
@@ -65,6 +65,7 @@                     ]                 , bgroup "fileValidate"                     [ benchValidate "test/examples/declension.dck"+                    , bench "lib/adjectives.dck" $ nfIO (validateFile ["lib"] "lib/adjectives.dck")                     ]                 , env amalComplex $ \ ~(d, r) ->                   bgroup "validate"
examples/fortune.dck view
@@ -31,6 +31,7 @@     (| "Hunger is hope.")     (| "Spurn your family.")     (| "Salvation is finality.")+    (| "If you go outside today, you will become nauseous")     (| "Knowledge begets humility.")     (| "Mushrooms are made of flesh.")     (| "Love animals.")@@ -38,7 +39,7 @@     (| "Drugs have no mystic content.")     (| "Irony is the weakest brand of pessimism")     (| "Sin rots the flesh.")-    (| "Sex wastes the male body.")+    (| "Sex wastes the male body.") ; male sexuality is fundamentally weak     (| "Did you remember to put apotheosis on your to-do list?")     (| "Cultivate weakness.")     (| "Beauty is a moral imperative.")@@ -53,6 +54,7 @@       ('''        No more pennies to fill my pockets        ''', "Arrow de Wilde"))+    ; (| $ quote ("God save the prom queen", "Molly Kate Kestner"))     (| $ quote ("« Le beau est ce qu'on désire sans vouloir le manger. »", "Simone Weil"))     (| $ quote ("\"You're more likely to get cut with a dull tool than a sharp one.\"", "Fiona Apple"))     (| $ quote ("\"You forgot the difference between equanimity and passivity.\"", "Fiona Apple"))
language-dickinson.cabal view
@@ -1,13 +1,13 @@ cabal-version:      2.0 name:               language-dickinson-version:            1.1.0.0+version:            1.1.0.1 license:            BSD3 license-file:       LICENSE copyright:          Copyright: (c) 2020 Vanessa McHale maintainer:         vamchale@gmail.com author:             Vanessa McHale tested-with:-    ghc ==8.0.2 ghc ==8.2.2 ghc ==8.4.4 ghc ==8.6.5 ghc ==8.8.3+    ghc ==8.0.2 ghc ==8.2.2 ghc ==8.4.4 ghc ==8.6.5 ghc ==8.8.4     ghc ==8.10.1  synopsis:           A language for generative literature@@ -138,7 +138,8 @@         composition-prelude >=1.1.0.1,         binary >=0.8.4.0,         filepath -any,-        directory -any+        directory -any,+        split -any      if !flag(cross)         build-tool-depends: alex:alex -any, happy:happy -any
lib/adjectives.dck view
@@ -1,13 +1,491 @@+; augmented version of madlang library++(:include color)+ %-  (:def adjective-  (:oneof-    (| "sententious")-    (| "poetic")-    (| "plain")-    (| "bromide")-    (| "banal")-    (| "redolent")-    (| "pithy")-    (| "orotund")-    (| "stentorian")))+  (:flatten+    (:oneof+      (| color)+      (| "sententious")+      (| "hylic")+      (| "poetic")+      (| "limpid")+      (| "plain")+      (| "bromide")+      (| "banal")+      (| "redolent")+      (| "artful")+      (| "anabatic")+      (| "arid")+      (| "antinomian")+      (| "azure")+      (| "antipruritic")+      (| "elysian")+      (| "alveated")+      (| "audacious")+      (| "autotelic")+      (| "antediluvian")+      (| "antiscorbutic")+      (| "auspicious")+      (| "avuncular")+      (| "arrogant")+      (| "arilloid")+      (| "anisophyllous")+      (| "awesome")+      (| "apotropaic")+      (| "alluring")+      (| "altricial")+      (| "amicular")+      (| "affable")+      (| "angry")+      (| "apposite")+      (| "American")+      (| "arcurate")+      (| "akratic")+      (| "bellicose")+      (| "baleful")+      (| "bilious")+      (| "belligerent")+      (| "brainy")+      (| "bouncy")+      (| "bisexual")+      (| "blithe")+      (| "buffered")+      (| "belletristic")+      (| "bloody")+      (| "brash")+      (| "beautiful")+      (| "bold")+      (| "brawny")+      (| "better")+      (| "bawdy")+      (| "bitter")+      (| "cross")+      (| "crapulous")+      (| "confutative")+      (| "campy")+      (| "cavicorn")+      (| "cinematic")+      (| "concupiscent")+      (| "calm")+      (| "comely")+      (| "cranky")+      (| "Canadian")+      (| "clever")+      (| "cosmic")+      (| "cosmopolitan")+      (| "cymotrichous")+      (| "chthonic")+      (| "cherished")+      (| "chalybeate")+      (| "criminal")+      (| "charismatic")+      (| "clean")+      (| "copacetic")+      (| "craven")+      (| "crooked")+      (| "coked-out")+      (| "chrysanthemum")+      (| "caring")+      (| "cerulean")+      (| "catabatic")+      (| "cavernous")+      (| "christian")+      (| "cretinous")+      (| "cute")+      (| "curule")+      (| "charming")+      (| "cheerful")+      (| "common")+      (| "doxastic")+      (| "demonifugic")+      (| "dolorous")+      (| "dainty")+      (| "dulcet")+      (| "devoted")+      (| "dramatic")+      (| "demented")+      (| "dark")+      (| "drained")+      (| "deep")+      (| "deranged")+      (| "decorated")+      (| "daunting")+      (| "dysopneal")+      (| "diplomatic")+      (| "daring")+      (| "dangerous")+      (| "eloquent")+      (| "exoteric")+      (| "esoteric")+      (| "endogenous")+      (| "emic")+      (| "execrable")+      (| "exterior")+      (| "effusive")+      (| "everyday")+      (| "escharotic")+      (| "ebullient")+      (| "ecstatic")+      (| "ersatz")+      (| "emotional")+      (| "egregious")+      (| "extra")+      (| "elegant")+      (| "elitist")+      (| "euphoric")+      (| "euphonic")+      (| "emaciated")+      (| "elusive")+      (| "epizoan")+      (| "endogamous")+      (| "frazzled")+      (| "ferruginous")+      (| "frumpy")+      (| "flexible")+      (| "fun")+      (| "frenetic")+      (| "fringed")+      (| "fulgent")+      (| "formal")+      (| "flippant")+      (| "fragrant")+      (| "funny")+      (| "flaccid")+      (| "fastidious")+      (| "fulsome")+      (| "foundational")+      (| "frank")+      (| "fancy")+      (| "geriatric")+      (| "generous")+      (| "grateful")+      (| "gallant")+      (| "golden")+      (| "gassy")+      (| "glitzy")+      (| "gilt")+      (| "grandiose")+      (| "gargantuan")+      (| "graminivorous")+      (| "gaudy")+      (| "galactopoietic")+      (| "gaunt")+      (| "gross")+      (| "grand")+      (| "honest")+      (| "houseproud")+      (| "haemodynamic")+      (| "hinky")+      (| "healthy")+      (| "humorous")+      (| "heterosexual")+      (| "high")+      (| "heteroscedastic")+      (| "horny")+      (| "homely")+      (| "hangry")+      (| "hale")+      (| "hairy")+      (| "hard")+      (| "haughty")+      (| "histrionic")+      (| "hellish")+      (| "helpful")+      (| "irrefragable")+      (| "idiorrhythmic")+      (| "irritable")+      (| "interior")+      (| "itchy")+      (| "imperious")+      (| "ingratiating")+      (| "irrational")+      (| "illecebrous")+      (| "irate")+      (| "indigo")+      (| "impure")+      (| "iridescent")+      (| "isochoric")+      (| "iatrogenic")+      (| "idolatrous")+      (| "illusive")+      (| "imparipinnate")+      (| "intransigent")+      (| "iliac")+      (| "intercrural")+      (| "jocose")+      (| "jocular")+      (| "jaunty")+      (| "jocund")+      (| "jerkwater")+      (| "kafkaesque")+      (| "kinky")+      (| "kind")+      (| "katharobic")+      (| "scrobiculate")+      (| "stroppy")+      (| "salubrious")+      (| "sordid")+      (| "supercilious")+      (| "sexual")+      (| "superficial")+      (| "sanguine")+      (| "saturnine")+      (| "strong")+      (| "sneaky")+      (| "sesquipedalian")+      (| "sulking")+      (| "synoptistic")+      (| "skulking")+      (| "skinny")+      (| "slim")+      (| "sybaritic")+      (| "shrewd")+      (| "soft")+      (| "strident")+      (| "shallow")+      (| "sartorial")+      (| "smooth")+      (| "social")+      (| "suave")+      (| "skanky")+      (| "short")+      (| "simple")+      (| "sweaty")+      (| "synthetic")+      (| "silly")+      (| "sleepy")+      (| "sage")+      (| "somnolent")+      (| "smug")+      (| "silky")+      (| "slovenly")+      (| "spicy")+      (| "scientific")+      (| "skilled")+      (| "salacious")+      (| "sacerdotal")+      (| "narrow")+      (| "narcoleptic")+      (| "nude")+      (| "noctilucent")+      (| "nocturnal")+      (| "noetic")+      (| "noxious")+      (| "nosy")+      (| "nodding")+      (| "nervine")+      (| "noble")+      (| "nice")+      (| "nimble")+      (| "nocent")+      (| "nitid")+      (| "nisi")+      (| "nidicolous")+      (| "nidifugous")+      (| "numinous")+      (| "navicular")+      (| "ostentatious")+      (| "orexigenic")+      (| "onerous")+      (| "obtuse")+      (| "oblong")+      (| "organic")+      (| "opulent")+      (| "oneiric")+      (| "ornate")+      (| "orthostatic")+      (| "obnoxious")+      (| "old")+      (| "operose")+      (| "otiose")+      (| "ornery")+      (| "ophiolatrous")+      (| "opalescent")+      (| "obreptitious")+      (| "oleaginous")+      (| "obstreperous")+      (| "otic")+      (| "opprobious")+      (| "peripatetic")+      (| "punctual")+      (| "polythetic")+      (| "pruritic")+      (| "peckish")+      (| "petulant")+      (| "periphrastic")+      (| "paronomastic")+      (| "prim")+      (| "perturbed")+      (| "pallid")+      (| "praemunire")+      (| "practical")+      (| "politic")+      (| "perspicacious")+      (| "pleasant")+      (| "pedestrian")+      (| "poignant")+      (| "perspicuous")+      (| "precocious")+      (| "plump")+      (| "puisne")+      (| "pretentious")+      (| "pure")+      (| "pensive")+      (| "powerful")+      (| "portly")+      (| "paunchy")+      (| "playful")+      (| "pampered")+      (| "psychedelic")+      (| "psychotomimetic")+      (| "phyllotactic")+      (| "phallic")+      (| "pompous")+      (| "pale")+      (| "pathognomonic")+      (| "lachrymose")+      (| "ludic")+      (| "lenient")+      (| "leery")+      (| "liminal")+      (| "lily-livered")+      (| "lusty")+      (| "lithe")+      (| "lush")+      (| "loving")+      (| "licentious")+      (| "laughing")+      (| "lugubrious")+      (| "laodicean")+      (| "lazy")+      (| "quiscient")+      (| "quaggy")+      (| "queasy")+      (| "quirky")+      (| "quondam")+      (| "quarrelsome")+      (| "quixotic")+      (| "querulous")+      (| "queer")+      (| "rotund")+      (| "ribald")+      (| "relictual")+      (| "racy")+      (| "rosy")+      (| "recondite")+      (| "rapt")+      (| "rosicrucian")+      (| "ruthless")+      (| "ruttish")+      (| "ruby")+      (| "ravenous")+      (| "retro")+      (| "radical")+      (| "rustic")+      (| "rational")+      (| "rich")+      (| "riotous")+      (| "risible")+      (| "ritzy")+      (| "ratchet")+      (| "refractory")+      (| "tony")+      (| "teleological")+      (| "tepid")+      (| "truculent")+      (| "tantric")+      (| "turgid")+      (| "turbulent")+      (| "tawdry")+      (| "trite")+      (| "tired")+      (| "tendentious")+      (| "titillating")+      (| "trendy")+      (| "true")+      (| "tangy")+      (| "thenar")+      (| "uncouth")+      (| "ultrasonic")+      (| "umber")+      (| "upbeat")+      (| "unblemished")+      (| "unpretentious")+      (| "unperturbed")+      (| "unrecognizable")+      (| "unwelcome")+      (| "uptight")+      (| "urban")+      (| "ursine")+      (| "unshaven")+      (| "uneven")+      (| "urbane")+      (| "utopian")+      (| "unclean")+      (| "uxorial")+      (| "unctuous")+      (| "unwholesome")+      (| "ugly")+      (| "unadorned")+      (| "vain")+      (| "votive")+      (| "voluptuous")+      (| "vainglorious")+      (| "vaunted")+      (| "vacillating")+      (| "vacant")+      (| "vast")+      (| "vatic")+      (| "verrucose")+      (| "vulgar")+      (| "voluble")+      (| "vermilion")+      (| "voracious")+      (| "verticillate")+      (| "venerable")+      (| "verdant")+      (| "verbose")+      (| "venal")+      (| "velvet")+      (| "vesicant")+      (| "verse")+      (| "venose")+      (| "wan")+      (| "waxing")+      (| "weird")+      (| "weepy")+      (| "wholesome")+      (| "wrinkly")+      (| "wroth")+      (| "wretched")+      (| "wiry")+      (| "withering")+      (| "wizened")+      (| "warmhearted")+      (| "winsome")+      (| "worldly")+      (| "witty")+      (| "wise")+      (| "wilted")+      (| "wily")+      (| "xanthous")+      (| "xenophobic")+      (| "xeric")+      (| "xenodochial")+      (| "yonic")+      (| "yellow")+      (| "yankee")+      (| "young")+      (| "zippy")+      (| "zaftig")+      (| "zygodactyl")+      (| "zaddy")+      (| "zetetic")+      (| "zealous")+      (| "zesty")+      (| "pithy")+      (| "orotund")+      (| "stentorian"))))
+ lib/adverb.dck view
@@ -0,0 +1,183 @@+; ported from madlang++%-++(:def adverb+  (:oneof+    (| "shockingly")+    (| "depressingly")+    (| "lugubriously")+    (| "warmly")+    (| "openly")+    (| "laughably")+    (| "sleepily")+    (| "miserably")+    (| "exceedingly")+    (| "very")+    (| "lawfully")+    (| "purposefully")+    (| "largely")+    (| "meekly")+    (| "smartly")+    (| "questionably")+    (| "particularly")+    (| "woefully")+    (| "excitedly")+    (| "soothingly")+    (| "coldly")+    (| "thrillingly")+    (| "immorally")+    (| "askance")+    (| "smoothly")+    (| "blissfully")+    (| "joyfully")+    (| "persistently")+    (| "graciously")+    (| "thankfully")+    (| "sorrowfully")+    (| "sordidly")+    (| "adorably")+    (| "appaz")+    (| "comfortably")+    (| "candidly")+    (| "frankly")+    (| "honestly")+    (| "bluntly")+    (| "salubriously")+    (| "flamoyantly")+    (| "dangerously")+    (| "auspiciously")+    (| "inauspiciously")+    (| "subtly")+    (| "beautifully")+    (| "gracefully")+    (| "lithely")+    (| "maliciously")+    (| "stunningly")+    (| "aggressively")+    (| "pugnaciously")+    (| "belligerently")+    (| "vigorously")+    (| "animatedly")+    (| "suddenly")+    (| "inconsistently")+    (| "salaciously")+    (| "licentiously")+    (| "loftily")+    (| "superciliously")+    (| "arrogantly")+    (| "consciously")+    (| "conscientiously")+    (| "bitterly")+    (| "slowly")+    (| "quickly")+    (| "ponderously")+    (| "hellishly")+    (| "unfortunately")+    (| "fortunately")+    (| "slavishly")+    (| "hungrily")+    (| "hoarsely")+    (| "inaudibly")+    (| "audibly")+    (| "unconscionably")+    (| "clumsily")+    (| "deftly")+    (| "unabashedly")+    (| "shamefully")+    (| "gainfully")+    (| "uselessly")+    (| "malevolently")+    (| "sneakily")+    (| "solidly")+    (| "turgidly")+    (| "transparently")+    (| "strategically")+    (| "sharply")+    (| "tactically")+    (| "fairly")+    (| "unfairly")+    (| "happily")+    (| "sadly")+    (| "snugly")+    (| "visibly")+    (| "bawdily")+    (| "wearily")+    (| "calmly")+    (| "frantically")+    (| "energetically")+    (| "emphatically")+    (| "persuasively")+    (| "convincingly")+    (| "unconvincingly")+    (| "politically")+    (| "pornographically")+    (| "graphically")+    (| "explicitly")+    (| "implicitly")+    (| "widely")+    (| "narrowly")+    (| "locally")+    (| "globally")+    (| "continuously")+    (| "naturally")+    (| "canonically")+    (| "unnaturally")+    (| "differentiably")+    (| "topologically")+    (| "logically")+    (| "consistently")+    (| "blazingly")+    (| "coolly")+    (| "suavely")+    (| "seductively")+    (| "completely")+    (| "adroitly")+    (| "viciously")+    (| "shrewdly")+    (| "vindictively")+    (| "weakly")+    (| "strongly")+    (| "vanishingly")+    (| "trivially")+    (| "obviously")+    (| "demonstrably")+    (| "provably")+    (| "compactly")+    (| "sparsely")+    (| "sparingly")+    (| "densely")+    (| "abstractly")+    (| "equally")+    (| "equivalently")+    (| "economically")+    (| "intellectually")+    (| "roughly")+    (| "violently")+    (| "dramatically")+    (| "frighteningly")+    (| "brazenly")+    (| "boldly")+    (| "cowardly")+    (| "acerbically")+    (| "basically")+    (| "urbanely")+    (| "voraciously")+    (| "callously")+    (| "inhumanely")+    (| "intuitively")+    (| "constructively")+    (| "destructively")+    (| "restoratively")+    (| "festively")+    (| "angrily")+    (| "peacefully")+    (| "gently")+    (| "tenderly")+    (| "softly")+    (| "laconically")+    (| "verbosely")+    (| "loquaciously")+    (| "mutely")+    (| "silently")+    (| "actively")))
lib/animal.dck view
@@ -38,6 +38,8 @@       (| "lynx")       (| "beaver")       (| "sable")+      (| "cow")+      (| "cod")       (| "weasel")       (| "stoat")       (| "ermine")
+ lib/flappend.dck view
@@ -0,0 +1,7 @@+%-++; use if you want to supplement e.g. the standard library's colors with your own+(:def flappend+  (:lambda x text+    (:lambda y text+      (:flatten (:oneof (|x) (|y))))))
+ lib/geography.dck view
@@ -0,0 +1,40 @@+%-++(:def building+  (:oneof+    (| "the Pentagon")+    (| "the Sistine Chapel")))++(:def bigCity+  (:oneof+    (| "Istanbul")+    (| "Paris")+    (| "Milan")+    (| "Saigon")+    (| "Naples")+    (| "New York")+    (| "LA")+    (| "Cairo")+    (| "Budapest")+    (| "Edinburgh")+    (| "London")+    (| "Berlin")+    (| "Hong Kong")+    (| "Macau")+    (| "Tokyo")+    (| "Seoul")+    (| "Lima")+    (| "Madrid")+    (| "Barcelona")+    (| "Krakow")+    (| "Moscow")+    (| "St. Petersburg")+    (| "San Fransisco")+    (| "Manila")+    (| "Kuala Lumpur")+    (| "Kyoto")+    (| "Kolkata")+    (| "New Delhi")+    (| "Lhasa")+    (| "Delhi")+    (| "São Paolo")))
+ lib/mentalIllness.dck view
@@ -0,0 +1,18 @@+%-++(:def mentalIllness+  (:oneof+    (| "depression")+    (| "bipolar disorder")+    (| "borderline personality disorder")+    (| "PTSD")+    (| "anorexia")+    (| "agoraphobia")+    (| "schizophrenia")+    (| "OCD")+    (| "trichotillomania")+    (| "dermatillomania")+    (| "hypochondria")+    (| "kleptomania")+    (| "pica")+    (| "Tourette's")))
lib/noun.dck view
@@ -1,3 +1,5 @@+; ported and expanded from madlang noun library+ %-  (:def rhetoricalDevice@@ -10,15 +12,299 @@     (| "synecdoche")     (| "metonymy"))) +(:def nounPhrase+  (:oneof+    (| "sheela na gig")+    (| "roach clip")))++(:def subjectDiscipline+  (:oneof+    (| "balneology")+    (| "soteriology")+    (| "dietetics")))++; ogee (:def noun   (:flatten     (:oneof       (| rhetoricalDevice)+      (| subjectDiscipline)       (| "valetudinarian")+      (| "car")+      (| "head")+      (| "tail")+      (| "joke")+      (| "autocracy")+      (| "autonomous")+      (| "pseudonym")       (| "heliophagy")       (| "valedictorian")       (| "apothegm")+      (| "satori")+      (| "ardor")+      (| "theogeny")+      (| "curio")+      (| "tonsure")+      (| "gofer")+      (| "chignon")+      (| "henosis")+      (| "rhotacism")+      (| "doyenne")+      (| "theurgy")+      (| "ulzzang")+      (| "locum")+      (| "morganite")+      (| "ghapama")+      (| "peregrination")+      (| "ogre")+      (| "stadiometer")+      (| "fruit")+      (| "praemunire")+      (| "onanism")+      (| "sphygmomanometer")+      (| "colophon")+      (| "belvedere")+      (| "dilatation")+      (| "clyster")+      (| "apocarteresis")+      (| "kyphosis")+      (| "kyphoscoliosis")+      (| "ossicle")+      (| "apocope")+      (| "aphaeresis")+      (| "cwm")+      (| "moraine")+      (| "cirque")+      (| "tarn")+      (| "laxative")+      (| "emetic")+      (| "sialagouge")+      (| "polydipsia")+      (| "acyrologia")+      (| "sedevacantism")+      (| "catchment")+      (| "cacozelia")+      (| "codicil")+      (| "bolus")+      (| "bole")+      (| "calomel")+      (| "polysemy")+      (| "aliquot")+      (| "soraismus")+      (| "acoria")+      (| "comity")+      (| "colliquation")+      (| "lacuna")+      (| "apiary")+      (| "anastrophe")+      (| "catachresis")+      (| "acoloutha")+      (| "anacoloutha")+      (| "bilocation")+      (| "apricity")+      (| "ambo")+      (| "frisson")+      (| "prosody")+      (| "limner")+      (| "kenjataimu")+      (| "perspicuity")+      (| "wisteria")+      (| "cephalophore")+      (| "recalcitrant")+      (| "aposematism")+      (| "muskeg")+      (| "prodrome")+      (| "rounce")+      (| "eaves")+      (| "expiation")+      (| "abeyance")+      (| "parenthesis")+      (| "diacope")+      (| "philatelist")+      (| "panegyric")+      (| "nosocomial")+      (| "tmesis")+      (| "skete")+      (| "prig")+      (| "lavra")+      (| "epeolatry")+      (| "nosogenesis")+      (| "onychophagy")+      (| "parsimony")+      (| "cenobite")+      (| "hermit")+      (| "anosognosia")+      (| "radula")+      (| "pathography")+      (| "catamnesis")+      (| "bier")+      (| "etiology")+      (| "axiology")+      (| "wether")+      (| "lathyrism")+      (| "aspic")+      (| "cachexia")+      (| "thaumaturge")+      (| "epicaricacy")+      (| "schorl")+      (| "velleity")+      (| "syncope")+      (| "enuresis")+      (| "saccade")+      (| "yardstick")+      (| "epistates")+      (| "moxibustion")+      (| "yam")+      (| "tenter")+      (| "brumation")+      (| "yayo")+      (| "factotum")+      (| "nosology")+      (| "scrofula")+      (| "potato")+      (| "gamin")+      (| "sylph")+      (| "ecdysiast")+      (| "ecdysis")+      (| "synestia")+      (| "boffo")+      (| "tomato")+      (| "vegetable")+      (| "zeugma")+      (| "xylophory")+      (| "inedia")+      (| "ithe")+      (| "bookmobile")+      (| "ruck")+      (| "alexithymia")+      (| "orthorexia")+      (| "furphy")+      (| "legume")+      (| "taro")+      (| "lagomorph")+      (| "chrysanthemum")+      (| "ogonek")+      (| "ramekin")+      (| "infelicity")+      (| "hoplophile")+      (| "gloaming")+      (| "lexer")+      (| "parser")+      (| "generator")+      (| "scheme")+      (| "diapir")+      (| "ochlocracy")+      (| "scuttlebutt")+      (| "cankle")+      (| "cardiomegaly")+      (| "baculum")+      (| "skeuomorphism")+      (| "epitaph")+      (| "tensor")+      (| "hypotaxis")+      (| "parataxis")+      (| "syntaxis")+      (| "sacroiliac")+      (| "xenogogue")+      (| "sachem")+      (| "quib")+      (| "geognosy")+      (| "exuviation")+      (| "gallimaufry")+      (| "spoonerism")+      (| "cuckoo")+      (| "analglyph")+      (| "rime")+      (| "murmuration")+      (| "Lagrangian")+      (| "Hamiltonian")+      (| "aneurysm")+      (| "gleet")+      (| "synagogue")+      (| "abessive")+      (| "whit")+      (| "caritive")+      (| "privative")+      (| "meeting")+      (| "paronomasia")+      (| "mosque")+      (| "church")+      (| "cantillation")+      (| "aniconism")+      (| "milk")+      (| "peroration")+      (| "bogan")+      (| "coda")+      (| "brain")+      (| "somnambulism")+      (| "colubrid")+      (| "laccolith")+      (| "fecalith")+      (| "batholith")+      (| "kakistocracy")+      (| "keyboard")+      (| "ostranenie")+      (| "key")+      (| "piano")+      (| "roke")+      (| "shebang")+      (| "sheet")+      (| "cornice")+      (| "chancroid")+      (| "music")+      (| "commando")+      (| "commander")+      (| "egregore")+      (| "cretin")+      (| "calumny")+      (| "vermeil")+      (| "xoanon")+      (| "rancor")+      (| "tritium")+      (| "ophiomancy")+      (| "bothy")+      (| "stratocracy")+      (| "pyorrhea")+      (| "cataphyll")+      (| "catamite")+      (| "ephemeris")+      (| "kinnui")+      (| "xylopolist")+      (| "lenition")+      (| "plasma")+      (| "hydrogen")+      (| "gas")+      (| "fart")+      (| "exegesis")+      (| "caltrop")+      (| "calque")+      (| "diet")+      (| "ether")+      (| "xylem")+      (| "obreptition")+      (| "phlogiston")+      (| "poop")+      (| "turd")+      (| "cod")+      (| "xesturgy")+      (| "salmon")+      (| "crappie")+      (| "exhibitionist")+      (| "fetish")+      (| "fetishist")+      (| "cult")+      (| "religion")+      (| "cad")+      (| "cock")+      (| "confluence")+      (| "bed")+      (| "leather")+      (| "vinyl")+      (| "latex")+      (| "jeremiad")+      (| "sitiogonic")       (| "apotheosis")       (| "aphelion")+      (| "bevel")       (| "perihelion")       (| "folderol"))))
man/emd.1 view
@@ -1,4 +1,4 @@-.\" Automatically generated by Pandoc 2.10+.\" Automatically generated by Pandoc 2.10.1 .\" .TH "emd (1)" "" "" "" "" .hy@@ -70,6 +70,9 @@ .TP \f[B]-I\f[R] \f[B]--include\f[R] Directory to search for libraries+.SH INFLUENTIAL ENVIRONMENT VARIABLES+.PP+\f[C]DCK_PATH\f[R] - a colon-separated list of directories to search .SH EDITOR INTEGRATION .PP A vim plugin is available; see
run/Main.hs view
@@ -19,6 +19,7 @@          | Lint ![FilePath]          | Format !FilePath Bool          | Man+         | Ide !FilePath ![FilePath]  main :: IO () main = run =<< execParser wrapper@@ -31,6 +32,7 @@     <> command "lint" (info lintP (progDesc "Examine a file for common errors."))     <> command "fmt" (info formatP (progDesc "Format Dickinson code"))     <> command "man" (info (pure Man) (progDesc "Dump path to manpages"))+    <> command "ide" (info ide (progDesc "Run all checks and lints"))     ) <|> runP  formatP :: Parser Act@@ -44,6 +46,9 @@ runP :: Parser Act runP = Run <$> dckFile <*> includes +ide :: Parser Act+ide = Ide <$> dckFile <*> includes+ checkP :: Parser Act checkP = Check <$> some dckFile <*> includes @@ -78,11 +83,16 @@ versionMod :: Parser (a -> a) versionMod = infoOption dickinsonVersionString (short 'V' <> long "version" <> help "Show version") +modIs :: [FilePath] -> IO [FilePath]+modIs is =+    defaultLibPath <*> ((++) <$> dckPath <*> pure is)+ run :: Act -> IO ()-run (Run fp is)       = do { pGo <- defaultLibPath ; TIO.putStrLn =<< pipeline (pGo is) fp }-run (REPL _)          = dickinsonRepl-run (Check fs i)      = do { pathMod <- defaultLibPath ; traverse_ (validateFile (pathMod i)) fs }+run (Run fp is)       = do { is' <- modIs is ; TIO.putStrLn =<< pipeline is' fp }+run (REPL fps)        = dickinsonRepl fps+run (Check fs i)      = do { is' <- modIs i ; traverse_ (validateFile is') fs } run (Lint fs)         = traverse_ warnFile fs run (Format fp False) = fmtFile fp run (Format fp True)  = fmtInplace fp run Man               = putStrLn . (</> "emd.1") . (</> "man") =<< getDataDir+run (Ide fp is)       = do { is' <- modIs is ; validateFile is' fp ; warnFile fp }
run/REPL.hs view
@@ -44,8 +44,8 @@ import           System.FilePath                       ((</>)) import           System.Random                         (newStdGen, randoms) -dickinsonRepl :: IO ()-dickinsonRepl = runRepl loop+dickinsonRepl :: [FilePath] -> IO ()+dickinsonRepl fps = runRepl (traverse_ loadFile fps *> loop)  type Repl a = InputT (StateT (EvalSt a) IO) @@ -218,8 +218,9 @@ loadFile :: FilePath -> Repl AlexPosn () loadFile fp = do     pathMod <- liftIO defaultLibPath+    dp <- liftIO dckPath     mErr <- lift $ runExceptT $ do-        d <- amalgamateRenameM (pathMod ["."]) fp+        d <- amalgamateRenameM (pathMod (".":dp)) fp         maybeThrow $ checkScope d         tyTraverse d         loadDickinson d
src/Language/Dickinson/Check/Duplicate.hs view
@@ -11,6 +11,8 @@ import           Language.Dickinson.Error import           Language.Dickinson.Type +-- TODO: duplicate check better? hm+ checkNames :: [(a, T.Text)] -> Maybe (DickinsonWarning a) checkNames ns = foldMapAlternative announce (groupBy ((==) `on` snd) $ sortBy (compare `on` snd) ns)     where announce (_:(l, y):_) = Just $ DuplicateStr l y
src/Language/Dickinson/File.hs view
@@ -88,7 +88,7 @@  -- | Run some lints warnFile :: FilePath -> IO ()-warnFile = maybeThrowIO . (\x -> checkDuplicates x <|> checkMultiple x) . (\(Dickinson _ d) -> d)+warnFile = maybeThrowIO . (\x -> checkDuplicates x <|> checkMultiple x) . modDefs     <=< eitherThrowIO . parse     <=< BSL.readFile 
src/Language/Dickinson/Lib.hs view
@@ -1,12 +1,17 @@ module Language.Dickinson.Lib ( defaultLibPath-                              , libPath+                              , dckPath                               ) where +import           Data.List.Split          (splitWhen) import           Paths_language_dickinson (getDataDir)+import           System.Environment       (lookupEnv) import           System.FilePath          ((</>)) -libPath :: IO [FilePath]-libPath = defaultLibPath <*> pure []+dckPath :: IO [FilePath]+dckPath = maybe [] splitEnv <$> lookupEnv "DCK_PATH"++splitEnv :: String -> [FilePath]+splitEnv = splitWhen (== ':')  defaultLibPath :: IO ([FilePath] -> [FilePath]) defaultLibPath = do