aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xchallenge-026/stuart-little/haskell/ch-1.hs9
-rwxr-xr-xchallenge-026/stuart-little/haskell/ch-2.hs11
2 files changed, 20 insertions, 0 deletions
diff --git a/challenge-026/stuart-little/haskell/ch-1.hs b/challenge-026/stuart-little/haskell/ch-1.hs
new file mode 100755
index 0000000000..8c603cdb21
--- /dev/null
+++ b/challenge-026/stuart-little/haskell/ch-1.hs
@@ -0,0 +1,9 @@
+#!/usr/bin/env runghc
+
+-- run <script> <stones_string> <jewels_string>
+
+import System.Environment (getArgs,)
+
+main = do
+ (stones:jewels:_) <- getArgs
+ print $ length $ filter (flip elem stones) jewels
diff --git a/challenge-026/stuart-little/haskell/ch-2.hs b/challenge-026/stuart-little/haskell/ch-2.hs
new file mode 100755
index 0000000000..1f14fe583c
--- /dev/null
+++ b/challenge-026/stuart-little/haskell/ch-2.hs
@@ -0,0 +1,11 @@
+#!/usr/bin/env runghc
+
+-- run <script> <space-separated angles in degrees>
+
+import System.Environment (getArgs,)
+import Data.Angle
+import Data.Tuple.Extra ((&&&),)
+
+main = do
+ args <- getArgs
+ print $ degrees $ Radians (uncurry atan2 $ ((sum.(map sine)) &&& (sum.(map cosine))) $ map (\x -> Degrees (read x::Float)) args)