aboutsummaryrefslogtreecommitdiff
path: root/challenge-120
diff options
context:
space:
mode:
authorLance Wicks <lw@judocoach.com>2021-07-08 11:49:55 +0100
committerLance Wicks <lw@judocoach.com>2021-07-08 11:49:55 +0100
commit265753075d0882cafc5b21312a7fe5b4e3590a60 (patch)
treeb1a379f821421cdd0750764288e93707890ec7ff /challenge-120
parent3079faeabb2dcc35d51ef6d4571278da261946da (diff)
downloadperlweeklychallenge-club-265753075d0882cafc5b21312a7fe5b4e3590a60.tar.gz
perlweeklychallenge-club-265753075d0882cafc5b21312a7fe5b4e3590a60.tar.bz2
perlweeklychallenge-club-265753075d0882cafc5b21312a7fe5b4e3590a60.zip
Add elm solution
Diffstat (limited to 'challenge-120')
-rw-r--r--challenge-120/lance-wicks/elm/elm.json30
-rw-r--r--challenge-120/lance-wicks/elm/src/Bit.elm15
-rw-r--r--challenge-120/lance-wicks/elm/tests/Reverse_test.elm21
3 files changed, 66 insertions, 0 deletions
diff --git a/challenge-120/lance-wicks/elm/elm.json b/challenge-120/lance-wicks/elm/elm.json
new file mode 100644
index 0000000000..e51e404452
--- /dev/null
+++ b/challenge-120/lance-wicks/elm/elm.json
@@ -0,0 +1,30 @@
+{
+ "type": "application",
+ "source-directories": [
+ "src"
+ ],
+ "elm-version": "0.19.1",
+ "dependencies": {
+ "direct": {
+ "elm/browser": "1.0.2",
+ "elm/core": "1.0.5",
+ "elm/html": "1.0.0",
+ "icidasset/elm-binary": "2.1.0"
+ },
+ "indirect": {
+ "elm/json": "1.1.3",
+ "elm/time": "1.0.0",
+ "elm/url": "1.0.0",
+ "elm/virtual-dom": "1.0.2",
+ "elm-community/list-extra": "8.3.1"
+ }
+ },
+ "test-dependencies": {
+ "direct": {
+ "elm-explorations/test": "1.2.2"
+ },
+ "indirect": {
+ "elm/random": "1.0.0"
+ }
+ }
+}
diff --git a/challenge-120/lance-wicks/elm/src/Bit.elm b/challenge-120/lance-wicks/elm/src/Bit.elm
new file mode 100644
index 0000000000..41529a0135
--- /dev/null
+++ b/challenge-120/lance-wicks/elm/src/Bit.elm
@@ -0,0 +1,15 @@
+module Bit exposing (..)
+
+import Binary
+
+swap num =
+ num
+ |> Binary.fromDecimal
+ |> Binary.ensureSize 8
+ |> Binary.chunksOf 2
+ |> List.map Binary.toIntegers
+ |> List.map List.reverse
+ |> List.map Binary.fromIntegers
+ |> Binary.concat
+ |> Binary.toDecimal
+
diff --git a/challenge-120/lance-wicks/elm/tests/Reverse_test.elm b/challenge-120/lance-wicks/elm/tests/Reverse_test.elm
new file mode 100644
index 0000000000..24243f9d35
--- /dev/null
+++ b/challenge-120/lance-wicks/elm/tests/Reverse_test.elm
@@ -0,0 +1,21 @@
+module Reverse_test exposing (..)
+
+import Expect exposing (Expectation)
+import Fuzz exposing (Fuzzer, int, list, string)
+import Test exposing (..)
+
+import Bit exposing (swap)
+
+import Binary
+
+suite : Test
+suite =
+ describe "Swap"
+ [ describe "Examples"
+ [ test "101 -> 154" <|
+ \_ -> Expect.equal 154 (swap 101)
+ , test "18 -> 33" <|
+ \_ -> Expect.equal 33 (swap 18)
+ ]
+
+ ]