module EunminKim where
-- | 김은민 (Eunmin Kim)
-- | Seoul, South Korea
-- | Constacts, Inc. @ arota.ai
import Clojure
import Scala
import Kotlin
import Elm
import Haskell
import Guitar -- 🎸
import HighFive -- ✋
-- | 나는 누구인가?
data Developer = Developer
{ name :: String
, location :: String
, company :: String
, loves :: [Language]
}
me :: Developer
me = Developer
{ name = "김은민"
, location = "Seoul"
, company = "Constacts, Inc."
, loves = [Clojure, Scala, Kotlin, Elm, Haskell]
}
-- | 함수형 프로그래밍을 사랑합니다
class FunctionalProgrammer a where
writesPureCode :: a -> Bool
avoidsStateMutate :: a -> Bool
thinkInMonads :: a -> IO Enlightenment
instance FunctionalProgrammer Developer where
writesPureCode _ = True
avoidsStateMutate _ = True
thinkInMonads dev = do
study "getting-started-monad" -- ⭐ 41
practice "realworld-haskell" -- ⭐ 37
create "plet" -- ⭐ 22
return Enlightenment
-- | 오픈소스 기여
data GitHubStats = GitHubStats
{ repositories :: Int
, followers :: Int
, stars :: Int
}
myGitHub :: GitHubStats
myGitHub = GitHubStats
{ repositories = 302
, followers = 124
, stars = 345
}
-- | 업적
achievements :: [String]
achievements =
[ "Arctic Code Vault Contributor"
, "Starstruck"
, "Pull Shark x2"
]
-- | main = 커피 >> 코딩 >> repeat
main :: IO ()
main = forever $ do
drink Coffee
write FunctionalCode
contribute OpenSource
playGuitar
spreadKnowledge