Mar 12 2008
6.40pm Restate my assumptions
Some random thoughts on intelligence, language and related matters.
Creating intelligent agents must be done organically
Human babies don’t learn about the world through databases, but through the input of their own senses. So to create a human-equivalent agent it makes sense to give it the equivalent set of sensors and effectors as a human being.
This also suggests that any agent modelled on something else — a spider, a cat, a condor — would be as alien in thought from us as the animal it is designed after.
If you can’t understand how your cat thinks, how can you expect to find something in common with a being whose only knowledge of the world is through a text terminal or a single fixed camera?
Human languages are too opaque for serious use
“Normal” — accepted (behaviour) or average (production) or perpendicular (line)? No wonder people spend so much time arguing.
Shibboleths are words which mark you out as a member of a particular group. What’s the word for a word which different groups have in common, but with wildly different definitions?
Creating a more explicit imperative language
In light of Simon Peyton Jones’ remark of Haskell being an excellent imperative language, what exact combination of “programmable semicolons” is needed to recreate something like C?
newtype C a = C (ReaderT Const (StateT Global IO) a) deriving (Functor, Monad, MonadIO, MonadState Global, MonadReader Const)
(The above example is basically just the X monad from the window manage Xmonad.) Is there anything else? Disregarding syntax, is the C monad equivalent to a standard imperative language? (In fact it maybe be more like Python than C, given its higher-levelness.)
Language ambiguity redux
Can we create a similar stack of environments and assumptions for conversation, from more primitive/abstract building blocks? (Obviously, short answer is no. But bear with me.)
More useful would be a type checker for internet arguments that spits out the following when required:
Error: Ambiguous context for keyword `normal' at line 17.