|
1 |
| -let mapArr = arr => arr->Js.Array2.map(v => v + 2) |
2 |
| -let arr = [1, 2, 3] |
3 |
| -// let _ = arr-> |
| 1 | +module Integer: { |
| 2 | + type t |
| 3 | + let increment: (t, int) => t |
| 4 | + let decrement: (t, int => int) => t |
| 5 | + let make: int => t |
| 6 | + let toInt: t => int |
| 7 | +} = { |
| 8 | + type t = int |
| 9 | + let increment = (t, num) => t + num |
| 10 | + let decrement = (t, decrementer) => decrementer(t) |
| 11 | + let make = t => t |
| 12 | + let toInt = t => t |
| 13 | +} |
| 14 | + |
| 15 | +module SuperFloat: { |
| 16 | + type t |
| 17 | + let fromInteger: Integer.t => t |
| 18 | + let toInteger: t => Integer.t |
| 19 | +} = { |
| 20 | + type t = float |
| 21 | + let fromInteger = t => t->Integer.toInt->Belt.Float.fromInt |
| 22 | + let toInteger = t => t->Belt.Float.toInt->Integer.make |
| 23 | +} |
| 24 | + |
| 25 | +let toFlt = i => i->SuperFloat.fromInteger |
| 26 | +let int = Integer.make(1) |
| 27 | +let f = int->Integer.increment(2) |
| 28 | +// let _ = int-> |
4 | 29 | // ^com
|
5 | 30 |
|
6 |
| -// let _ = arr->Js.Array2.map(v => v)-> |
7 |
| -// ^com |
| 31 | +// let _ = int->toFlt-> |
| 32 | +// ^com |
| 33 | + |
| 34 | +// let _ = int->Integer.increment(2)-> |
| 35 | +// ^com |
| 36 | + |
| 37 | +// let _ = Integer.increment(int, 2)-> |
| 38 | +// ^com |
8 | 39 |
|
9 |
| -// let _ = arr->Js.Array2.filter(v => v)->Js.Array2.filter(v => v)-> |
10 |
| -// ^com |
| 40 | +// let _ = int->Integer.decrement(t => t - 1)-> |
| 41 | +// |
11 | 42 |
|
12 |
| -// let _ = arr->Js.Array2.filter(v => v)-> |
13 |
| -// ^com |
| 43 | +// let _ = int->Integer.increment(2)->Integer.decrement(t => t - 1)-> |
| 44 | +// |
14 | 45 |
|
15 |
| -// let _ = arr->Js.Array2-map(v => v)->Belt.List.fromArray-> |
16 |
| -// ^com |
| 46 | +// let _ = int->Integer.increment(2)->SuperFloat.fromInteger-> |
| 47 | +// |
17 | 48 |
|
18 |
| -// let _ = arr->Js.Array2-map(v => v)->Belt.List.fromArray->s |
19 |
| -// ^com |
| 49 | +// let _ = int->Integer.incremebt(2)->SuperFloat.fromInteger->t |
| 50 | +// |
0 commit comments