Skip to content

Instantly share code, notes, and snippets.

@sundarj
Last active March 8, 2018 20:30
Show Gist options
  • Save sundarj/7c379785ca9b438f5e4c067bdff56828 to your computer and use it in GitHub Desktop.
Save sundarj/7c379785ca9b438f5e4c067bdff56828 to your computer and use it in GitHub Desktop.
world.sometimes.lens=> (get (at 0) [{:a 1}])
{:a 1}
world.sometimes.lens=> (assoc (at 0) nil [{:a 1}])
[nil]
world.sometimes.lens=> (update (at 0) empty [{:a 1}])
[{}]
world.sometimes.lens=> (get (comp (at 0) (at :a)) [{:a 1}])
1
world.sometimes.lens=> (assoc (comp (at 0) (at :a)) 42 [{:a 1}])
[{:a 42}]
world.sometimes.lens=> (update (comp (at 0) (at :a)) inc [{:a 1}])
[{:a 2}]
world.sometimes.lens=> (get (at-in 0 :a) [{:a 1}])
1
world.sometimes.lens=> (assoc (at-in 0 :a) 42 [{:a 1}])
[{:a 42}]
world.sometimes.lens=> (update (at-in 0 :a) inc [{:a 1}])
[{:a 2}]
world.sometimes.lens=> (get (comp (at :a) all) {:a [1 2 3]})
{:a [1 2 3]}
world.sometimes.lens=> (assoc (comp (at :a) all) 42 {:a [1 2 3]})
{:a [42 42 42]}
world.sometimes.lens=> (update (comp (at :a) all) inc {:a [1 2 3]})
{:a [2 3 4]}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment