Zach Beane (xach) wrote,
Zach Beane
xach

Where to get help with Common Lisp

There are several options for getting help with Common Lisp.

First, some general sources of help.

  • Any coherent question posted to Stack Overflow with a Common-Lisp tag gets answered very quickly by a number of informed people. Rainer Joswig in particular has answered hundreds of questions with quality information. There are many other people who provide quick answers, too. Answers are scored, and, in general, helpful answers score highly and unhelpful answers are moderated away.

  • Questions posted to reddit's /r/lisp and /r/learnlisp subreddits often get a number of answers quickly as well. In my experience, there are more eyes and answers on /r/lisp. I think it's fine to ask novice questions there. Answers are scored, and unhelpful answers are usually downvoted.

  • Freenode #lisp IRC is good for realtime interaction. Questions, even novice-level questions, are welcome there, but it helps if your novice question comes from reading a good book and getting stuck. On-topicness is cherished; if you're bored and want to talk with IRC friends about your day, try somewhere else. It is moderated for topic (you might get scolded for talking about stuff other than Common Lisp) and for spammers/trolls (who get kicked and banned). It is not moderated for quality of helpfulness; it can be the case that five people attempt to provide their vision of helpfulness at once, and the most enthusiastic (or just the fastest typer) will dominate the content. It can be difficult at times to tell who, if anyone, is being genuinely helpful. But the quick feedback loop of IRC can be invaluable despite its drawbacks.

  • The pro@common-lisp.net mailing list has some high-level discussion among Common Lisp "pro" users. I can't find the original announcement for this list, but the general idea is that it is for people who use Common Lisp in a professional capacity, not people who are figuring out how conses or macros work.

  • I've never really gotten into it, but lispforum.com seems to be active.

  • comp.lang.lisp still has some helpful people who read and respond to questions. It is wholly unmoderated. There are several people (WJ, gavino, and others) who have been posting troll threads for years. The signal/noise ratio at times can be terrible. Those who remain have learned to manage a killfile or are gluttons for punishment. Don't read or post through Google Groups, which screws up formatting and has very little in the way of article filtering. I use news.individual.net for access, which costs a tiny amount. There are free servers out there as well. I read and filter articles with GNUS for Emacs.

Second, some implementation-specific help.

Every implementation has a mailing list. Some have multiple lists, depending on the topic of discussion. Here are some of the lists I know about:
Finally, there's a Quicklisp mailing list for Quicklisp issues. All questions about Quicklisp are welcome.



When appealing to any of these sources for help, asking good questions is critical to getting good results. In many cases, that requires three key bits of information:

  • What did you try? Actual source code can be hugely helpful here. paste.lisp.org can be a good place to put it.

  • What did you expect to happen?

  • What happened instead? Actual output and error messages can be hugely helpful here. paste.lisp.org can be a good place to put it.

Sometimes this info isn't applicable, like for "What is a good book for learning Common Lisp?" (Practical Common Lisp, Paradigms of AI Programming). But in many cases, having those three things readily available will save a lot of time.

There are dozens of people ready and willing to help you with your Common Lisp questions. This can work very well as you're getting oriented and learning the basics. After the basics, though, you may find questions going unanswered: "I'm compiling commonqt for ecls on raspberry pi and I'm getting a segfault in my custom gcc fork..." nets no helpful answers anywhere you ask. Don't worry! This is your chance to be a pioneer! When you do find a solution to your problem, share it in public so those in the future with the same, weird problem need not feel so lonely. And answer the question yourself the next time it comes up on a mailing list.

You may also get conflicting help as well. Some people believe that nobody should ever use LOOP, and others feel that for the right situation, nothing's better. Some people will tell you that you must use Emacs to write Common Lisp, and others feel there are other reasonable options. Some love the Common Lisp Object System, and others are wrong. It's up to you to sift through the information and decide for yourself what makes the most sense. And how boring would it be if everyone agreed about everything all the time?

I love to help people with Common Lisp. It's most rewarding when the questions show an interest in Common Lisp and a desire for progress and understanding. It's least rewarding when the questions show disdain for Common Lisp ("Why is this so convoluted and dumb?") and no interest in anything but a quick answer ("I'm taking this dumb course and after it's done I will never use LISP again. So can you just explain how to remove quote marks from a list?").

Have fun, and I hope the next time you need help with Common Lisp, you get what you need. Good luck!
Tags: lisp
Subscribe

  • Common Lisp bits

    Heinrich Apfelmus has updated to the source code from Computer Models of Musical Creativity and put it on github. Looks like it's meant to work…

  • Starting a Lisp project in 2014

    If you're starting a project today and you want to make it easy to interact with the outside world, there are many, many, many services…

  • Common Lisp bits

    The International Lisp Conference 2014 is history. I didn't make it, but Julian Squires did and provided a nice write-up. So did Nick Levine.…

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 0 comments