sometimes i try to learn something and i just super don't get it and then months/years later after not touching the subject at all, and apropos of nothing, im like "ohhhh i get it"
today this happened. some time back i decided to learn ruby because "seems cool" but pretty quickly got confused about procs vs blocks vs lambdas and moved on. just now while showering i was like "oh! a block is an anonymous function which inherits the scope of the callsite and a proc is an anonymous function which has its own scope"
normally when this kinda thing happens i go "cool, neat" and move on, assuming the conclusion is at least roughly correct. but this time i decided to check; seems a touch arrogant to assume that in the years passed there has been no loss of information
and, indeed, my shower insight was not quite right. blocks are pieces of syntax, for one, not values, and i forgot that lambdas exist. but if you modify my mistaken belief by replacing "block" with "proc" and "proc" with "lambda" then i believe it's correct
anyway, i wonder what other beliefs/understandings i have banging around which are partially plainly wrong due to having been conceived of via this process ,,,
