Alex Knauth
Alex Knauth
Would it make sense to allow names to be any arbitrary value, to be formatted with `"#"`? So for instance, `#`? Contracts allow names to be arbitrary display-able values.
Would it look better with a space instead of a colon?
What do you mean? Do you think someone will do ``` racket (struct thing () #:methods gen:custom-write [(define (write-proc a b c) (error "not printable"))]) (lens-rename some-lens (thing)) ``` ?...
I'm not saying the name couldn't be a symbol, just that it doesn't have to be. I was looking at contracts and how they print and deal with names.
Wait why would hash-ref-lens print as ugly? It would be `#
No: ``` racket > (printf "#" '(hash-ref-lens 'a)) #
About composed lenses, I am planning on using `'composed` for the name, not the whole thing with an s-expression and the arguments. That's what I do in https://github.com/jackfirth/lens/pull/214 , so...
Is that equivalent to `(map (lens-set lns tgt _) lst)`?
I'm not sure how that relates to "fragment" though ... What came to my mind first, which is why I was confused a bit, was a function like this: ```...
It would be tricky to make a lens like this follow the lens laws. What should happen in an example like this? ```racket (lens-set list*->list-lens '(a b . c) '(1...