Fork me on GitHub
#sci
<
2020-08-05
>
borkdude07:08:57

@kevin.van.rooijen I'll take a look. Can you maybe write a repro of your issue in a Github issue?

borkdude08:08:06

@kevin.van.rooijen I'm not sure what's the right answer here. ^:foo is expanded into {:foo true}. Should the :postprocess function only see {:foo true} or {:tag FooBar} (in case of type hints)?

borkdude08:08:24

or should it have an extra argument that indicates we're reading metadata?

borkdude08:08:54

maybe desugar should be applied first and then postprocess?

borkdude08:08:21

Hmm, that doesn't work, since the value produced by desugar isn't going through the reader

borkdude08:08:57

I guess we can implement our own version of desugar

borkdude08:08:25

@kevin.van.rooijen The problem here is that the value produced by desugar is not read from source code, so by definition it has no location metadata

borkdude09:08:13

@kevin.van.rooijen I now pushed a solution to the branch desugar-postprocess

borkdude09:08:39

both forms now get your {{:value :foo} true} as meta. I do need to look into a performance regression that this may incur

borkdude09:08:19

Maybe it's not significant compared to master and my computer is just slower today ;)

borkdude09:08:25

yeah, I don't think there is a problem. So please test :)

Kevin10:08:32

Hey thanks, I'll take a look right now

Kevin10:08:55

Seems to work! Interesting bug