gusl: (Default)
[personal profile] gusl
So I've been obsessed with my project of reimplementing Mathematica in Lisp. Thursday, I worked about 14 hours on it. I think I can blame this for recent symptoms of too much left-brain activity inhibiting my understanding of language.

So today, I had the best illustration of my difficulty with understanding informal language (and by extension, communicating with most of humanity).
I just came back from a Lambda Calculus class about encoding the natural numbers... basically doing recursion theory in Lambda Calculus. I started out understanding things ok, but towards the end there were points where I got totally stuck.

I would make no progress at all... like when you are reading a book, and you get stuck on a line. And you read it again, and again, and again, and you're still stuck!

I have become extremely intolerant of informality. Maybe partly because I believe that "formal is better" and refuse to be more flexible.

I am very much a constructivist learner... I need all the basic parts in order to build my knowledge. And while I have no problem taking a high-level view of things by abstracting away from the details, I am utterly unable to deal with sentences which are "slightly wrong" or incomplete or assume a certain context (in particular, I am a stickler with missing quantifiers: I must know the quantification of every variable before I can interpret the meaning of the sentence. For some reason, human mathematicians tend to omit universal quantifiers). If I can't make things fit just right, I will not resolve the sentence, and it will keep bothering me until it's resolved. (refusal to give up?)
I also actively search for contradictions when I learn something: the failure to find a contradiction gives me much-needed reassurance. (is this related to being a control freak?)

So this explains my case of chronic distraction. It's not ADD. It's that I'm permanently working to catch up with the background I missed, to explore connections between the knowledge I already have (including searching for contradictions) and search for new consequences... so my mind is too busy to understand new things (I have few resources left). It's the notorious mathematician's absent-mindedness, only it's manifested all the time. I take a long time to chew new ideas, and make the most of them (is this related to being frugal?)

(parallel branch off the big paragraph about my intolerance): I'm like a computer. Justin used to say this, and it's only a half-joke. Maybe this is why I can talk to programming languages so well.


Another "paradox" in my life ("paradox", as in being simultaneously "sloppy" and "organized": it could be that one trait copes with the problems caused by other):

I have a hard time finishing projects (probably due to having too many projects + getting bored once I know what to do)

yet I'm obsessed with finishing reading everything I begin reading (...no matter how banal and uninteresting. It's almost as if it would be "unfair" for the words in the end if I stopped in the middle.). And not just reading, also other things.

Prior Art

Date: 2005-03-22 07:56 pm (UTC)
From: [identity profile] fare.livejournal.com
Mind that there already exist many free software for computer algebra and/or logical reasoning implemented in Common Lisp. I've heard of at least the following: ACL2, Axiom, the Formal Digital Library, Maxima, the DTP Prover, FRAPPS, SNARK, TPS.

Re: Prior Art

Date: 2005-03-22 08:15 pm (UTC)
From: [identity profile] gustavolacerda.livejournal.com
Are there any you can use? What I want to do is something that can solve simple algebraic equations.

I'm halfway done with mine, though.

Re: Prior Art

Date: 2005-03-22 08:32 pm (UTC)
From: [identity profile] gustavolacerda.livejournal.com
I would like one that uses lisp syntax, so that a (eval expr) could be applied when all variables are numbers. I don't want to write a parses and interpreter.

I browsed through the above, but didn't manage to find one like this.

Re: Prior Art

Date: 2005-03-22 09:57 pm (UTC)
From: [identity profile] fare.livejournal.com
For simple equations, there are various packages that are listed on cliki. For integration of an algebra system and lisp, at least maxima has something good. Other systems also have their own way of manipulating expressions within the system. As for writing your own evaluator, it is really a simple thing that fits one page (plus many small utility functions); see LiSP in Small Pieces for a book that explains it all, or any good Computer Science book written with Lisp or Scheme (say SICP or PAIP or whatever).

Re: Prior Art

Date: 2005-03-22 10:04 pm (UTC)
From: [identity profile] gustavolacerda.livejournal.com
what do you mean by evaluator?

I think a proper solver will take necessarily take more than a page of code.

Re: Prior Art

Date: 2005-03-23 01:23 am (UTC)
From: [identity profile] fare.livejournal.com
The evaluator is your own, controlled, version of EVAL.

Re: Prior Art

Date: 2005-03-23 12:29 am (UTC)
From: [identity profile] darius.livejournal.com
PAIP includes a symbolic-math system that works on s-expressions, either prefix or infix. (There's downloadable source.) It's smaller and less featureful than the above, at least the ones I've heard of, but Norvig writes really excellent code and it's well documented in the book, so perhaps this will be more useful to you.

(no subject)

Date: 2005-03-24 09:15 am (UTC)
From: [identity profile] turingtest.livejournal.com
yet I'm obsessed with finishing reading everything I begin reading (...no matter how banal and uninteresting.

This reminds me of a favorite quote of Francis Bacon:

"Some books are to be tasted, others to be swallowed, and some few to be chewed and digested: that is, some books are to be read only in parts, others to be read, but not curiously, and some few to be read wholly, and with diligence and attention."

I used to have a similar inclination but I decided that since way more great reading material exists than is possible to digest in our currently pathetic human lifespan, I wasn't going to waste any more precious life-seconds than necessary on thoroughly reading second-rate (or worse) material. If the writing style is not engaging in a work of non-fiction, then I just x-ray the book for salient arguments/data/whatever and move on. Mediocre fiction gets discarded immediately unless I'm reading for other than personal enjoyment.

A resource I found helpful many years ago for efficiently extracting desired information from the written word is the classic How to Read a Book (http://www.amazon.com/exec/obidos/tg/detail/-/0671212095/). Maybe it would be worth a look for you?

February 2020

S M T W T F S
      1
2345678
9101112131415
16171819202122
23242526272829

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags