Commit 2b7938e
committed
Standard: instance MonadValue (StdValue m) m: optimize
Thunking & Values have pretty complex type system & inference.
Putting the function loops literally to show to GHC & to users that there is no
type class jumps needed - instances go & run recursion until value is computed.
Type applications are to just skip the `MonadThunk (StdThunk m) m (StdValue m)`
instance all togather & so save the type class jump on these frequently called &
recurced on operations.1 parent d97a8a0 commit 2b7938e
1 file changed
+17
-8
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
119 | 119 | | |
120 | 120 | | |
121 | 121 | | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
122 | 126 | | |
123 | 127 | | |
124 | 128 | | |
| |||
221 | 225 | | |
222 | 226 | | |
223 | 227 | | |
224 | | - | |
| 228 | + | |
225 | 229 | | |
226 | 230 | | |
227 | 231 | | |
228 | 232 | | |
229 | | - | |
230 | | - | |
231 | | - | |
232 | | - | |
233 | | - | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
234 | 240 | | |
235 | 241 | | |
236 | 242 | | |
237 | 243 | | |
238 | | - | |
239 | | - | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
| 247 | + | |
| 248 | + | |
240 | 249 | | |
241 | 250 | | |
242 | 251 | | |
| |||
0 commit comments