## November 24th, 2012

### (no subject)

It's always been a little mysterious to me why, from a category-theoretic perspective, the tensor product in linear logic is focally positive. I expect positive things to be colimity/left-adjointy things and negative things to be limity/right-adjointy things, and a monoidal functor is just something you plop down into your set of requirements, not something that evidently arises as a (co)limit or adjoint.

But stephen lack's "A 2-categories companion", page 4, has the following interesting passage: (emphasis mine)

Suppose V and W are monoidal categories and F : V → W is a left adjoint
which does preserve the monoidal structure up to coherent isomorphism.
There is no reason why the right adjoint U should do so, but there will be
induced comparison maps UA ⊗ UB → U(A ⊗ B) making U a monoidal
functor. (Think of the tensor product as a type of colimit, so the left adjoint
preserves it, but the right adjoint doesn’t necessarily.) In fact the monoidal
functor U : Ab → Set arises in this way

### (no subject)

Still chugging through rails tut.
WHAT SORCERY IS THIS.
```irb> User.methods.select{|x| /^find/.match x.to_s}
=> [:finder_needs_type_condition?, :find, :find_each, :find_in_batches, :find_by_sql]
irb> User.find_by_email("asdf")
User Load (0.2ms)  SELECT "users".* FROM "users" WHERE "users"."email" = 'asdf' LIMIT 1
```

The surprising thing is that there is no method named "find_by_email", yet there is a method named find_by_email. There's some sort of fallback reflectiony autoload method-dispatch intervention thingy that lets you do arbitrary magic things, isn't there? Sigh.

Grumbling about that aside, I reeeally like this concrete syntax for function expressions. Holy dang.