|
172 | 172 | (raise-user-error 'localize!
|
173 | 173 | "No alt chosen. Run (choose-alts!) or (choose-alt! n) to choose one"))
|
174 | 174 |
|
175 |
| - (timeline-event! 'simplify) |
176 | 175 | (define exprs (map alt-expr (^next-alts^)))
|
177 |
| - (define localized-exprs empty) |
178 |
| - (define repr (context-repr (*context*))) |
| 176 | + (^locs^ '()) |
179 | 177 |
|
180 | 178 | (when (flag-set? 'localize 'costs)
|
| 179 | + (timeline-event! 'simplify) |
181 | 180 | (define loc-costss (batch-localize-costs exprs (*context*)))
|
182 | 181 | (define cost-localized
|
183 | 182 | (for/list ([loc-costs (in-list loc-costss)]
|
|
189 | 188 | "cost-diff"
|
190 | 189 | (if (infinite? cost-diff) "Infinite" cost-diff))
|
191 | 190 | expr))
|
192 |
| - (set! localized-exprs (remove-duplicates (append localized-exprs cost-localized)))) |
| 191 | + (^locs^ (remove-duplicates (append (^locs^) cost-localized)))) |
193 | 192 |
|
194 |
| - (timeline-event! 'localize) |
195 | 193 | (when (flag-set? 'localize 'errors)
|
| 194 | + (timeline-event! 'localize) |
196 | 195 | (define loc-errss (batch-localize-errors exprs (*context*)))
|
197 | 196 | ;;Timeline will push duplicates
|
198 | 197 | (define error-localized
|
|
202 | 201 | [_ (in-range (*localize-expressions-limit*))])
|
203 | 202 | (timeline-push! 'locations (~a expr) "accuracy" (errors-score err))
|
204 | 203 | expr))
|
205 |
| - (set! localized-exprs (remove-duplicates (append localized-exprs error-localized)))) |
| 204 | + (^locs^ (remove-duplicates (append (^locs^) error-localized)))) |
| 205 | + |
| 206 | + (when (empty? (^locs^)) |
| 207 | + (^locs^ (remove-duplicates (append-map all-subexpressions exprs)))) |
206 | 208 |
|
207 |
| - (^locs^ localized-exprs) |
208 | 209 | (void))
|
209 | 210 |
|
210 | 211 | ;; Converts a patch to full alt with valid history
|
|
0 commit comments