-
Notifications
You must be signed in to change notification settings - Fork 1
List of Haskell Kata to Update
The following kata are not compatible with the new GHC 8.8.4. Please help with updating.
-
Regular expression parser- reference solution wanted unavailableText.ParserCombinators.Poly
- replaced Simple Interactive Interpreter
Tests for Haskell GHC 7.10 and GHC 8.2 on Codewars are not compatible for historical reasons.
Tests for GHC 7.10 works by wrapping Hspec/HUnit and using patched hspec
function to report the test results. This was very difficult to maintain, introduced unexpected behaviors, and confused users because Test.Hspec
is not actually Hspec.
The new runner supports multiple language versions so we decided to clean this mess up when adding GHC 8.2 support and use Hspec as is.
Test for GHC 7.10:
module ExampleTest where
import Test.Hspec
import Example
main :: IO ()
main = hspec $ do
describe "Example" $ do
it "add a b" $ do
(add 1 1) `shouldBe` (2 :: Integer)
can be updated by making the following changes:
module ExampleSpec where -- test module name MUST end with Spec
import Test.Hspec
import Example
spec :: Spec -- `spec` is required
spec = do
describe "Example" $ do
it "add a b" $ do
(add 1 1) `shouldBe` (2 :: Integer)
main :: IO () --- optionally keep `main`
main = hspec spec
More work might be necessary if it depends on GHC 7.10 environment somehow.
If a kata uses hidden
from Codewars wrapper, it needs to be rewritten using solutionShouldHide
solutionShouldHideAll
from Test.Hspec.Codewars. This needs to be imported explicitly in the test file.
Haskell version should be removed because this kata is pointless in Haskell (limitation cannot be enforced by virtue).
The following kata doesn't have GHC 8.2 supported:
nil
nil
-
Befunge InterpreterRequired
- Agda Kata that require rank adjustment
- List of Possible Duplicate Kata
- List of kata that are candidates to retirement
- List of Kata with font Tag in Description (possibly broken)
- Potentially Plagiarized Kata
- Tags and topics to assign to kata
- List of Agda Kata to Update
- List of C Kata to Update
- List of C++ Kata to Update
- List of COBOL Kata to Update
- List of Coq Kata to Update
- List of Crystal Kata to Update
- List of C# Kata to Update
- List of Dart Kata to Update
- List of Elixir Kata to Update
- List of Go Kata to Update
- List of Haskell Kata to Update
- List of Java Kata to Update
- List of JavaScript Kata to Update
- List of Kotlin Kata to Update
- List of Lean Kata to Update
- List of Nim Kata to Update
- List of PHP Kata to Update
- List of Python Kata to Update
- List of Racket Kata to Update
- List of Ruby Kata to Update
- List of Rust Kata to Update
- List of Scala Kata to Update
- List of Solidity Kata to Update
- List of Swift Kata to Update
- List of TypeScript Kata to Update