Skip to content

Instantly share code, notes, and snippets.

module Main where
import System.Exit
main :: IO ()
main = do
c <- getContents
mapM_ core $ lines c
where
core :: String -> IO ()
@jabaraster
jabaraster / dining-philosophers.hs
Created October 27, 2018 16:39
プログラミング言語Rustの「食事する哲学者」をHaskellで書いてみた
module Main where
import Control.Concurrent (forkIO, threadDelay)
import Control.Concurrent.Async
import Control.Concurrent.MVar
data Philosopher = Philosopher {
name :: String
, left :: Int
, right :: Int
@jabaraster
jabaraster / MonthCalendar.kt
Created June 10, 2019 06:22
カレンダ整形問題:Kotlin版
import java.text.SimpleDateFormat
import java.time.LocalDate
import java.time.Month
import java.time.temporal.ChronoUnit
import java.util.GregorianCalendar
import java.util.Locale
fun main() {
val now = LocalDate.now()
println(Main.formatMonthCalendar(now.year, now.month))
@jabaraster
jabaraster / MonthCalendar.hs
Last active June 10, 2019 07:20
カレンダ整形問題:遊びのないHaskell版
import Data.List
import Data.List.Split
import Data.Time.Calendar
import Data.Time.Calendar.WeekDate
import Data.Time.Format
import Data.Time.LocalTime
{- --------------------
この関数がエントリポイント.
--------------------- -}
@jabaraster
jabaraster / MonthCalendar2.hs
Created June 10, 2019 23:31
カレンダ整形問題別解
import Data.Time.Calendar
import Data.Time.Format
import Data.Time.LocalTime
import Data.Time.Calendar.WeekDate
{- --------------------
この関数がエントリポイント.
--------------------- -}
main = putStrLn =<< pure . formatToMonthCalendar =<< currentMonth
@jabaraster
jabaraster / format-comma.elm
Last active August 16, 2019 00:10
comma format for Int by Elm. required 'elm-community/list-split'
String.join "," << List.reverse << List.map String.fromList << List.Split.chunksOfRight 3 << String.toList << String.fromInt
@jabaraster
jabaraster / template.yaml
Created November 7, 2019 00:13
AWS LamdaからAWS SESを使ってメールを送るRoleのSAMテンプレート記述
SendMailRole:
Type: AWS::IAM::Role
Properties:
AssumeRolePolicyDocument:
Version: "2012-10-17"
Statement:
- Effect: Allow
Principal:
Service: lambda.amazonaws.com
Action: "sts:AssumeRole"