Here's an example of something I did in class with Irene last night (and with Juan Francisco on Thursday). Can you describe the differences between these words?
I'll post the answer tomorrow (Saturday.)
UPDATE - Saturday:
Right! Here are the answers. Thanks to everyone who wrote in with ideas and explanations.
The OALD defines FRIEND as: a person you know well and like, and who is not usually a member of your family.
A PAL is closer to the idea of ACQUAINTANCE - someone you know, but not very well. Put another way: If you were in jail at 4AM on a Saturday, you would call a friend to help you (not a pal...unless you have no friends, I guess.)
BUDDY is similar to PAL, but it's a slightly older term. Your parents, for example, would use "buddy", but it's not a word that you hear teenagers say these days.
A CLASSMATE is someone who's in your class at school (or university or a night or language class): you share the common context of education (and it doesn't automatically mean that the person is your friend.) CO-WORKER has the common context of work. Spanish speakers of English might find CO-WORKER easier to pronounce than "colleague" (which comes out sounding too much like "college".)
SOUL-MATE has the idea of: "a person that you have a special friendship with because you understand each other's feelings and interests". It's often (but not always) used in romantic contexts.