Last active
March 20, 2016 01:23
-
-
Save pocketberserker/ea1b9897ab9a602126fc to your computer and use it in GitHub Desktop.
http://www.paraiso-lang.org/ikmsm/books/c86.html の第4章の最初のほうが元ネタ
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 | |
あぁ^~こころがぴょんぴょんするんじゃ^~ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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