From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Xah Newsgroups: gmane.emacs.help Subject: Re: how to learn lisp Date: Wed, 22 Oct 2008 00:37:57 -0700 (PDT) Organization: http://groups.google.com Message-ID: References: NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1224661297 31600 80.91.229.12 (22 Oct 2008 07:41:37 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 22 Oct 2008 07:41:37 +0000 (UTC) To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Wed Oct 22 09:42:37 2008 connect(): Connection refused Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1KsYMT-000568-5P for geh-help-gnu-emacs@m.gmane.org; Wed, 22 Oct 2008 09:42:33 +0200 Original-Received: from localhost ([127.0.0.1]:51542 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1KsYLN-0004bd-Id for geh-help-gnu-emacs@m.gmane.org; Wed, 22 Oct 2008 03:41:25 -0400 Original-Path: news.stanford.edu!newsfeed.stanford.edu!postnews.google.com!q35g2000hsg.googlegroups.com!not-for-mail Original-Newsgroups: gnu.emacs.help,comp.lang.lisp Original-Lines: 43 Original-NNTP-Posting-Host: 24.6.185.159 Original-X-Trace: posting.google.com 1224661078 30168 127.0.0.1 (22 Oct 2008 07:37:58 GMT) Original-X-Complaints-To: groups-abuse@google.com Original-NNTP-Posting-Date: Wed, 22 Oct 2008 07:37:58 +0000 (UTC) Complaints-To: groups-abuse@google.com Injection-Info: q35g2000hsg.googlegroups.com; posting-host=24.6.185.159; posting-account=bRPKjQoAAACxZsR8_VPXCX27T2YcsyMA User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/5.0 (Macintosh; U; PPC Mac OS X 10_4_11; en) AppleWebKit/525.18 (KHTML, like Gecko) Version/3.1.2 Safari/525.22, gzip(gfe), gzip(gfe) Original-Xref: news.stanford.edu gnu.emacs.help:163681 comp.lang.lisp:254210 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.help:59022 Archived-At: On Oct 20, 10:36 pm, TheFlyingDutchman wrote: > On Oct 12, 9:34 pm, "jacklisp" wrote: > > > how to learn lisp > > I have studied the Emacs Lisp manual on more than one occassion and > never got much past evaluating (+ 2 2) in a buffer. But recently I was > looking to modify my .emacs file and came across something that I > wasn't aware of that I find very helpful for learning the Lisp part of > Emacs Lisp (as opposed to the "Emacs API" part of Emacs Lisp). So if > you haven't seen it yet, there is a -batch option for starting up > Emacs. If you create an Emacs Lisp file, for example - hello_world.el > - you can then execute this file in the same manner you would execute > a Perl/Python/Ruby/Tcl script by typing "emacs -batch -l > hello_world.el". In batch mode the (message ... ) function acts like a > print/printf statement in other languages, so you can start with > (message "%s" "hello world") and go on from there the way you > typically would learning a standalone language. i actually don't find batch mode useful for elisp dev. Some other suggested the interactive command line mode (Alt+x ielm), but i don't find it useful neither. I actually never used them for learning elisp or elisp dev. I find that, having elisp code in a buffer, and the ability to evaluate any code in the buffer, in whole or in parts i choose, and being able to interactively exam variables and values, is more helpful. I both learned elisp and do elisp dev this way. I use batch mode when i want to run a already written elisp script for text processing. The ielm i never used. Note: the batch mode is the basic style of running programs supported by almost all langs. The interactive input/output is supported by Python, Common Lisp, many Scheme Lisp, etc langs. Typically functional langs. The eval any parts in buffer is often called notebook, and is the typical way of running programs in MATLAB, mathCAD, Mathematica ... Xah =E2=88=91 http://xahlee.org/ =E2=98=84