Skip to content

Commit 8fc0f25

Browse files
Fix syntax highlight.
1 parent 559693f commit 8fc0f25

File tree

1 file changed

+36
-30
lines changed

1 file changed

+36
-30
lines changed

Diff for: content/posts/monad-expressions-in-csharp.md

+36-30
Original file line numberDiff line numberDiff line change
@@ -62,45 +62,50 @@ public static class TaskExtensions
6262
### Case 1
6363

6464
```cs
65-
from index in Enumerable.Range(1, 5)
66-
from date in Enumerable.Repeat(DateTime.Today, 5)
67-
select (index, date) into pair
68-
select pair.date.AddDays(pair.index);
65+
var result =
66+
from index in Enumerable.Range(1, 5)
67+
from date in Enumerable.Repeat(DateTime.Today, 5)
68+
select (index, date) into pair
69+
select pair.date.AddDays(pair.index);
6970
```
7071

7172
```fs
72-
seq {
73-
let! index = Enumerable.Range(1, 5)
74-
let! date = Enumerable.Repeat(DateTime.Today, 5)
75-
let pair = (index, date)
76-
yield pair |> (fun (i, d) -> d.AddDays(i |> float))
77-
}
73+
let result =
74+
seq {
75+
let! index = Enumerable.Range(1, 5)
76+
let! date = Enumerable.Repeat(DateTime.Today, 5)
77+
let pair = (index, date)
78+
yield pair |> (fun (i, d) -> d.AddDays(i |> float))
79+
}
7880
```
7981

8082
### Case 2
8183

8284
```cs
83-
from index in GetIndexAsync()
84-
from date in Task.FromResult(DateTime.Today)
85-
select (index, date) into pair
86-
select pair.date.AddDays(pair.index);
85+
var result =
86+
from index in GetIndexAsync()
87+
from date in Task.FromResult(DateTime.Today)
88+
select (index, date) into pair
89+
select pair.date.AddDays(pair.index);
8790
```
8891

8992
```fs
90-
monad {
91-
let! index = GetIndexAsync()
92-
let! date = Task.FromResult(DateTime.Today)
93-
let pair = (index, date)
94-
yield pair |> (fun (i, d) -> d.AddDays(i |> float))
95-
}
93+
let result =
94+
monad {
95+
let! index = GetIndexAsync()
96+
let! date = Task.FromResult(DateTime.Today)
97+
let pair = (index, date)
98+
yield pair |> (fun (i, d) -> d.AddDays(i |> float))
99+
}
96100
```
97101

98102
### Case 3
99103
```cs
100-
from index in Option.Some(5)
101-
from date in Option.None<DateTime>()
102-
select (index, date) into pair
103-
select pair.date.AddDays(pair.index);
104+
var result =
105+
from index in Option.Some(5)
106+
from date in Option.None<DateTime>()
107+
select (index, date) into pair
108+
select pair.date.AddDays(pair.index);
104109
```
105110

106111
```cs
@@ -113,12 +118,13 @@ async Option<DateTime> Fun() {
113118
```
114119

115120
```fs
116-
monad {
117-
let! index = Some 5
118-
let! date = None
119-
let pair = (index, date)
120-
yield pair |> (fun (i, (d:DateTime)) -> d.AddDays(i |> float))
121-
}
121+
let result =
122+
monad {
123+
let! index = Some 5
124+
let! date = None
125+
let pair = (index, date)
126+
yield pair |> (fun (i, (d:DateTime)) -> d.AddDays(i |> float))
127+
}
122128
```
123129
`monad` is from [F#+](http://fsprojects.github.io/FSharpPlus/), though implementing `option` Computation Expression manually is pretty straight-forward
124130

0 commit comments

Comments
 (0)