Skip to content

Instantly share code, notes, and snippets.

@pocketberserker
Last active March 20, 2016 01:23
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save pocketberserker/ea1b9897ab9a602126fc to your computer and use it in GitHub Desktop.
Save pocketberserker/ea1b9897ab9a602126fc to your computer and use it in GitHub Desktop.
http://www.paraiso-lang.org/ikmsm/books/c86.html の第4章の最初のほうが元ネタ
1
2
あぁ^~
4
こころが
あぁ^~
ぴょんぴょんするんじゃ^~
8
あぁ^~
こころが
11
あぁ^~
13
ぴょんぴょんするんじゃ^~
あぁ^~こころが
16
17
あぁ^~
19
こころが
あぁ^~ぴょんぴょんするんじゃ^~
22
23
あぁ^~
こころが
26
あぁ^~
ぴょんぴょんするんじゃ^~
29
あぁ^~こころが
31
32
あぁ^~
34
こころがぴょんぴょんするんじゃ^~
あぁ^~
37
38
あぁ^~
こころが
41
あぁ^~ぴょんぴょんするんじゃ^~
43
44
あぁ^~こころが
46
47
あぁ^~
ぴょんぴょんするんじゃ^~
こころが
あぁ^~
52
53
あぁ^~
こころが
ぴょんぴょんするんじゃ^~
あぁ^~
58
59
あぁ^~こころが
61
62
あぁ^~ぴょんぴょんするんじゃ^~
64
こころが
あぁ^~
67
68
あぁ^~
こころがぴょんぴょんするんじゃ^~
71
あぁ^~
73
74
あぁ^~こころが
76
ぴょんぴょんするんじゃ^~
あぁ^~
79
こころが
あぁ^~
82
83
あぁ^~ぴょんぴょんするんじゃ^~
こころが
86
あぁ^~
88
89
あぁ^~こころが
ぴょんぴょんするんじゃ^~
92
あぁ^~
94
こころが
あぁ^~
97
ぴょんぴょんするんじゃ^~
あぁ^~
こころが
101
あぁ^~
103
104
あぁ^~こころがぴょんぴょんするんじゃ^~
let mappend (m: string option) (n: string option) =
match (m, n) with
| (None, n) -> n
| (m, None) -> m
| (Some m, Some n) -> Some (m + n)
let あぁ n = if n % 3 = 0 then Some "あぁ^~" else None
let こころ n = if n % 5 = 0 then Some "こころが" else None
let ぴょんぴょん n = if n % 7 = 0 then Some "ぴょんぴょんするんじゃ^~" else None
type ごちうさ() =
member __.Delay(f: unit -> _) = f
member __.Run(f) = f () |> List.iter (printfn "%s")
member __.Yield(()) = fun _ -> None
[<CustomOperation("あぁ^~")>]
member __.あぁ(k: int -> _) = fun n -> mappend (k n) (あぁ n)
[<CustomOperation("こころが")>]
member __.こころ(k: int -> _) = fun n -> mappend (k n) (こころ n)
[<CustomOperation("ぴょんぴょんするんじゃ^~")>]
member __.ぴょんぴょん(k: int -> _) = fun n -> mappend (k n) (ぴょんぴょん n)
[<CustomOperation("!")>]
member __.てぃっぴー(k, source: int list) =
let f n = match k n with Some s -> s | None -> string n
source |> List.map f
let ごちうさ = ごちうさ()
ごちうさ {
``あぁ^~``
``こころが``
``ぴょんぴょんするんじゃ^~``
``!`` [1..105]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment