From a6a74e943cd9f2d62b63d38338198422b449318e Mon Sep 17 00:00:00 2001 From: Matt Decker Date: Sun, 26 Jun 2022 09:16:12 -0500 Subject: [PATCH] Delete haskell directory --- haskell/.gitignore | 11 ------ haskell/README.md | 20 ---------- haskell/gilded-rose.cabal | 35 ----------------- haskell/src/GildedRose.hs | 70 ---------------------------------- haskell/src/Main.hs | 44 --------------------- haskell/stack.yaml | 3 -- haskell/test/GildedRoseSpec.hs | 14 ------- haskell/test/Spec.hs | 1 - 8 files changed, 198 deletions(-) delete mode 100644 haskell/.gitignore delete mode 100644 haskell/README.md delete mode 100644 haskell/gilded-rose.cabal delete mode 100644 haskell/src/GildedRose.hs delete mode 100644 haskell/src/Main.hs delete mode 100644 haskell/stack.yaml delete mode 100644 haskell/test/GildedRoseSpec.hs delete mode 100644 haskell/test/Spec.hs diff --git a/haskell/.gitignore b/haskell/.gitignore deleted file mode 100644 index 1be183c3..00000000 --- a/haskell/.gitignore +++ /dev/null @@ -1,11 +0,0 @@ -*.hi -*.ho -TAGS -*.log -*.profile -/dist -/cabal.config - -/.cabal-sandbox/ -/cabal.sandbox.config - diff --git a/haskell/README.md b/haskell/README.md deleted file mode 100644 index 835ea5f5..00000000 --- a/haskell/README.md +++ /dev/null @@ -1,20 +0,0 @@ -# Haskell port of the Gilded-Rose Kata - -This is a Haskell port of the *Gilded-Rose-Kata*. - -## Prerequisite - -If you don't have a recent Stack version installed in your system, follow the -[installation instructions](https://docs.haskellstack.org/en/stable/install_and_upgrade/) -for your operating system. - -## Building and Running - -Run `stack build` initially, then `stack test` to execute the tests after -each refactoring. - -To execute the program run `stack run [days]` where `[days]` denotes an optional -parameter for the number of days to simulate. - -Tests are in `test/GildedRoseSpec.hs`. Refer to http://hspec.github.io/ for -more information about writing tests using `Hspec`. diff --git a/haskell/gilded-rose.cabal b/haskell/gilded-rose.cabal deleted file mode 100644 index dc5458e7..00000000 --- a/haskell/gilded-rose.cabal +++ /dev/null @@ -1,35 +0,0 @@ -name: gilded-rose -version: 0.1.0.0 -synopsis: Haskell-port of the gilded rose kata -license: GPL -author: Sven Heyll -maintainer: sven.heyll@gmail.com -category: System -build-type: Simple -cabal-version: >=1.10 - -library - exposed-modules: GildedRose - build-depends: base >=4.7 - hs-source-dirs: src - default-language: Haskell2010 - -executable gilded-rose - main-is: Main.hs - build-depends: gilded-rose, base >=4.7 - hs-source-dirs: src - default-language: Haskell2010 - other-modules: GildedRose - -test-suite spec - type: exitcode-stdio-1.0 - ghc-options: -Wall - hs-source-dirs: test - default-language: Haskell2010 - main-is: Spec.hs - other-modules: GildedRoseSpec - build-depends: base >=4.7 - , gilded-rose - , hspec - , hspec-expectations - , QuickCheck diff --git a/haskell/src/GildedRose.hs b/haskell/src/GildedRose.hs deleted file mode 100644 index 8e710c8e..00000000 --- a/haskell/src/GildedRose.hs +++ /dev/null @@ -1,70 +0,0 @@ -module GildedRose where - -type GildedRose = [Item] - -data Item = Item String Int Int - deriving (Eq) - -instance Show Item where - show (Item name sellIn quality) = - name ++ ", " ++ show sellIn ++ ", " ++ show quality - -updateQuality :: GildedRose -> GildedRose -updateQuality = map updateQualityItem - where - updateQualityItem (Item name sellIn quality) = - let - quality' = - if name /= "Aged Brie" - && name /= "Backstage passes to a TAFKAL80ETC concert" - then - if quality > 0 - then - if name /= "Sulfuras, Hand of Ragnaros" - then quality - 1 - else quality - else quality - else - if quality < 50 - then - quality + 1 + - (if name == "Backstage passes to a TAFKAL80ETC concert" - then - if sellIn < 11 - then - if quality < 49 - then - 1 + (if sellIn < 6 - then - if quality < 48 - then 1 - else 0 - else 0) - else 0 - else 0 - else 0) - else quality - - sellIn' = - if name /= "Sulfuras, Hand of Ragnaros" - then sellIn - 1 - else sellIn - in - if sellIn' < 0 - then - if name /= "Aged Brie" - then - if name /= "Backstage passes to a TAFKAL80ETC concert" - then - if quality' > 0 - then - if name /= "Sulfuras, Hand of Ragnaros" - then (Item name sellIn' (quality' - 1)) - else (Item name sellIn' quality') - else (Item name sellIn' quality') - else (Item name sellIn' (quality' - quality')) - else - if quality' < 50 - then (Item name sellIn' (quality' + 1)) - else (Item name sellIn' quality') - else (Item name sellIn' quality') diff --git a/haskell/src/Main.hs b/haskell/src/Main.hs deleted file mode 100644 index a5fad66c..00000000 --- a/haskell/src/Main.hs +++ /dev/null @@ -1,44 +0,0 @@ -module Main where - -import System.Environment -import GildedRose - - -main :: IO () -main = do - putStrLn "OMGHAI!" - - let inventoriesWithDay = inventories `zip` [0..] - inventories = iterate updateQuality initialInventory - - numberOfDays <- daysFromArg - mapM_ printUpdate (take numberOfDays inventoriesWithDay) - - where - printUpdate :: (GildedRose, Int) -> IO () - printUpdate (items, day) = do - putStrLn ("-------- day " ++ show day ++ " --------") - putStrLn "name, sellIn, quality" - mapM_ (putStrLn . show) items - putStrLn "" - - daysFromArg :: IO Int - daysFromArg = do - args <- getArgs - return $ if length args > 0 - then read (head args) - else 20 - - initialInventory :: GildedRose - initialInventory = - [ Item "+5 Dexterity Vest" 10 20 - , Item "Aged Brie" 2 0 - , Item "Elixir of the Mongoose" 5 7 - , Item "Sulfuras, Hand of Ragnaros" 0 80 - , Item "Sulfuras, Hand of Ragnaros" (-1) 80 - , Item "Backstage passes to a TAFKAL80ETC concert" 15 20 - , Item "Backstage passes to a TAFKAL80ETC concert" 10 49 - , Item "Backstage passes to a TAFKAL80ETC concert" 5 49 - -- this conjured item does not work properly yet - , Item "Conjured Mana Cake" 3 6 - ] diff --git a/haskell/stack.yaml b/haskell/stack.yaml deleted file mode 100644 index 3e184f84..00000000 --- a/haskell/stack.yaml +++ /dev/null @@ -1,3 +0,0 @@ -resolver: lts-12.14 -packages: -- . diff --git a/haskell/test/GildedRoseSpec.hs b/haskell/test/GildedRoseSpec.hs deleted file mode 100644 index cdcaaddd..00000000 --- a/haskell/test/GildedRoseSpec.hs +++ /dev/null @@ -1,14 +0,0 @@ -module GildedRoseSpec (spec) where - -import Test.Hspec -import GildedRose - -spec :: Spec -spec = - describe "updateQuality" $ do - - it "fixme" $ - let inventory = [Item "foo" 0 0] - actual = updateQuality inventory - expected = [] - in actual `shouldBe` expected diff --git a/haskell/test/Spec.hs b/haskell/test/Spec.hs deleted file mode 100644 index a824f8c3..00000000 --- a/haskell/test/Spec.hs +++ /dev/null @@ -1 +0,0 @@ -{-# OPTIONS_GHC -F -pgmF hspec-discover #-}