<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Lisp for Dummies</title>
	<atom:link href="http://blog.kjempekjekt.com/2010/08/02/lisp-for-dummies/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.kjempekjekt.com/2010/08/02/lisp-for-dummies/</link>
	<description>om livet som .net utvikler</description>
	<lastBuildDate>Wed, 16 May 2012 21:05:45 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
	<item>
		<title>By: Torbjørn</title>
		<link>http://blog.kjempekjekt.com/2010/08/02/lisp-for-dummies/#comment-102628</link>
		<dc:creator>Torbjørn</dc:creator>
		<pubDate>Mon, 09 Aug 2010 04:44:42 +0000</pubDate>
		<guid isPermaLink="false">http://blog.kjempekjekt.com/2010/08/02/lisp-for-dummies/#comment-102628</guid>
		<description>Lars Rune, jeg er enig i det du sier, bortsett fra det at praksiser ikke er uavhengig av editor. Historien vår er full av praksiser som skyldes editor, og som i utgangspunktet ikke har noe med språket å gjøre.

Ta for eksempel Erlang: Der er det vanlig å begynne kommentar-linjer med %%. Erlang-spekken sier man bare skal bruke én %, men fordi den som lagde Emacs-pluginen for Erlang valgte å bruke to stykker har det blitt praksis for alle. I dag skriver folk %% selv om de for eksempel bruker Vim, uten å ane hvorfor.

Når det gjelder kodekonvensjoner som antall tegn for å representere innrykk så bør det alltid være opp til den enkelte, eller det enkelte teamet om vi snakker om prosjekter/open source. Det finnes for eksempel mange som har problemer med å se innrykk på bare 2 tegn. 

Dessuten må vi huske på at vi har endel mer skjermplass tilgjengelig i dag som vi kan utnytte enn man hadde for noen år siden, og at mange konvensjoner ble skapt mens man hadde 10 linjer og noen-og-70 kolonner (eller noe sånn) på en skjerm. Større innrykk er nok bare en vanesak (men mine Vim-instillinger &lt;i&gt;er&lt;/i&gt; på 2 tegn de også).</description>
		<content:encoded><![CDATA[<p>Lars Rune, jeg er enig i det du sier, bortsett fra det at praksiser ikke er uavhengig av editor. Historien vår er full av praksiser som skyldes editor, og som i utgangspunktet ikke har noe med språket å gjøre.</p>
<p>Ta for eksempel Erlang: Der er det vanlig å begynne kommentar-linjer med %%. Erlang-spekken sier man bare skal bruke én %, men fordi den som lagde Emacs-pluginen for Erlang valgte å bruke to stykker har det blitt praksis for alle. I dag skriver folk %% selv om de for eksempel bruker Vim, uten å ane hvorfor.</p>
<p>Når det gjelder kodekonvensjoner som antall tegn for å representere innrykk så bør det alltid være opp til den enkelte, eller det enkelte teamet om vi snakker om prosjekter/open source. Det finnes for eksempel mange som har problemer med å se innrykk på bare 2 tegn. </p>
<p>Dessuten må vi huske på at vi har endel mer skjermplass tilgjengelig i dag som vi kan utnytte enn man hadde for noen år siden, og at mange konvensjoner ble skapt mens man hadde 10 linjer og noen-og-70 kolonner (eller noe sånn) på en skjerm. Større innrykk er nok bare en vanesak (men mine Vim-instillinger <i>er</i> på 2 tegn de også).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Lars Rune Nøstdal</title>
		<link>http://blog.kjempekjekt.com/2010/08/02/lisp-for-dummies/#comment-102626</link>
		<dc:creator>Lars Rune Nøstdal</dc:creator>
		<pubDate>Sun, 08 Aug 2010 21:14:39 +0000</pubDate>
		<guid isPermaLink="false">http://blog.kjempekjekt.com/2010/08/02/lisp-for-dummies/#comment-102626</guid>
		<description>Hei,
Ja, jeg kjenner ikke til noe snakk om dette i Hyperspec&#039;en f.eks. ( http://www.lispworks.com/documentation/HyperSpec/Front/ ), så dette er nok snakk om tradisjon og praksis(#1).

M.t.p. &quot;én riktig måte å gjøre ting på&quot; mener jeg spesielt ting relatert til bruk av Tab(#2) og intenderingen i sammenheng med DEFUN / WHILE; altså &amp;BODY. Det er kanskje _noe_ variasjon m.t.p. antall mellomrom(#3), men første argument er alltid skjøvet noe til venstre og _ikke_ rett under første argument til f.eks. DEFUN -- dette slik at videre kode ikke tilslutt ender opp for langt til høyere på skjermen ettersom en nester flere ting noe som er lett (og morsomt!) å gjøre i Lisp siden mer eller mindre alt kan returnere verdier! :)

Happy hackin&#039;!


  #1: ..noe som forøvrig er uavhengig av editor. :)

  #2: ..aner ikke om VIM setter in Tab av seg selv eller hva.

  #3: ..men uten å undersøke så fryktelig nøye bruker all Lisp-kode jeg kommer på sånn i farta 2 mellomrom her.</description>
		<content:encoded><![CDATA[<p>Hei,<br />
Ja, jeg kjenner ikke til noe snakk om dette i Hyperspec&#8217;en f.eks. ( <a href="http://www.lispworks.com/documentation/HyperSpec/Front/" rel="nofollow">http://www.lispworks.com/documentation/HyperSpec/Front/</a> ), så dette er nok snakk om tradisjon og praksis(#1).</p>
<p>M.t.p. &#8220;én riktig måte å gjøre ting på&#8221; mener jeg spesielt ting relatert til bruk av Tab(#2) og intenderingen i sammenheng med DEFUN / WHILE; altså &amp;BODY. Det er kanskje _noe_ variasjon m.t.p. antall mellomrom(#3), men første argument er alltid skjøvet noe til venstre og _ikke_ rett under første argument til f.eks. DEFUN &#8212; dette slik at videre kode ikke tilslutt ender opp for langt til høyere på skjermen ettersom en nester flere ting noe som er lett (og morsomt!) å gjøre i Lisp siden mer eller mindre alt kan returnere verdier! :)</p>
<p>Happy hackin&#8217;!</p>
<p>  #1: ..noe som forøvrig er uavhengig av editor. :)</p>
<p>  #2: ..aner ikke om VIM setter in Tab av seg selv eller hva.</p>
<p>  #3: ..men uten å undersøke så fryktelig nøye bruker all Lisp-kode jeg kommer på sånn i farta 2 mellomrom her.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Torbjørn</title>
		<link>http://blog.kjempekjekt.com/2010/08/02/lisp-for-dummies/#comment-102625</link>
		<dc:creator>Torbjørn</dc:creator>
		<pubDate>Sun, 08 Aug 2010 20:40:27 +0000</pubDate>
		<guid isPermaLink="false">http://blog.kjempekjekt.com/2010/08/02/lisp-for-dummies/#comment-102625</guid>
		<description>Hei Lars Rune. Jeg så bildet første gangen, men følte i første omgang at å si at jeg brukte Vim&#039;s Lisp-indentering var gått nok svar.

Du sier at det kun er én riktig måte å indentere på i Lisp. Om du ikke kan referere til noe i Lisp-spesifikasjonen som sier noe annet vil jeg hevde at det ikke finnes noen regler for hvordan Lisp skal indenteres! Det finnes derimot praksiser, og som regel skyldes disse praksisene hvordan editoren som brukes mest (emacs) oppfører seg. Det du sier er verdifull input, men sålenge jeg bruker Vim vil jeg nok stort sett være fornøyd med hvordan den bestemmer at Lisp&#039;en min skal se ut.

Din bruk av linjeskift er finere enn min; jeg gjorde det som jeg gjorde for å illustrere, og bryter normalt opp noe anderledes. Jeg føler derimot ikke at jeg følger noen regler, men gjør det som resulterer i mest mulig lesbar kode.

For ordens skyld: Jeg bruker &quot;Lisp&quot; indenteringsregler, jeg har ikke installert de Clojure-spesifike reglene/syntaksdefinisjonene. Dette er nok for eksempel årsaken til at funksjonene mine ikke har riktig indentering, siden Vim ikke skjenner til defn (men bare defun).

Jeg stusser dog litt over at Vim indenterer &#039;if&#039; slik som du sier &#039;while&#039; skal indenteres, og &#039;while&#039; slik du sier &#039;if&#039; skal indenteres. :&#124;</description>
		<content:encoded><![CDATA[<p>Hei Lars Rune. Jeg så bildet første gangen, men følte i første omgang at å si at jeg brukte Vim&#8217;s Lisp-indentering var gått nok svar.</p>
<p>Du sier at det kun er én riktig måte å indentere på i Lisp. Om du ikke kan referere til noe i Lisp-spesifikasjonen som sier noe annet vil jeg hevde at det ikke finnes noen regler for hvordan Lisp skal indenteres! Det finnes derimot praksiser, og som regel skyldes disse praksisene hvordan editoren som brukes mest (emacs) oppfører seg. Det du sier er verdifull input, men sålenge jeg bruker Vim vil jeg nok stort sett være fornøyd med hvordan den bestemmer at Lisp&#8217;en min skal se ut.</p>
<p>Din bruk av linjeskift er finere enn min; jeg gjorde det som jeg gjorde for å illustrere, og bryter normalt opp noe anderledes. Jeg føler derimot ikke at jeg følger noen regler, men gjør det som resulterer i mest mulig lesbar kode.</p>
<p>For ordens skyld: Jeg bruker &#8220;Lisp&#8221; indenteringsregler, jeg har ikke installert de Clojure-spesifike reglene/syntaksdefinisjonene. Dette er nok for eksempel årsaken til at funksjonene mine ikke har riktig indentering, siden Vim ikke skjenner til defn (men bare defun).</p>
<p>Jeg stusser dog litt over at Vim indenterer &#8216;if&#8217; slik som du sier &#8216;while&#8217; skal indenteres, og &#8216;while&#8217; slik du sier &#8216;if&#8217; skal indenteres. :|</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Lars Rune Nøstdal</title>
		<link>http://blog.kjempekjekt.com/2010/08/02/lisp-for-dummies/#comment-102622</link>
		<dc:creator>Lars Rune Nøstdal</dc:creator>
		<pubDate>Sun, 08 Aug 2010 14:03:35 +0000</pubDate>
		<guid isPermaLink="false">http://blog.kjempekjekt.com/2010/08/02/lisp-for-dummies/#comment-102622</guid>
		<description>Torbjørn: 
Jeg linket til et bilde i posten over; det kom kanskje ikke så klart frem:

  http://static.nostdal.org/~lnostdal/always-here/lisp-for-dummies.png


Det kan forøvrig hende at det er vanlig med en _noe_ annerledes stil i sammenheng med Clojure, men dette skal være riktig i sammenheng med Scheme og CL ihvertfall.

Hvorvidt ting følger på en vertikal rett linje nedover slik som i eksempelet med (multiply ...) eller om første argument på egen linje &quot;trekkes inn&quot; slik som i sammenheng med (defun ...) baserer seg gjerne på bruk av &amp;BODY. F.eks. brukes &amp;BODY i DEFUN og i (brukerdefinerte) macroer some f.eks. WHILE o.l.. 

En ser at i sammenheng med IF brukes ikke &amp;BODY derfor er argumentet på første nye linje ikke &quot;trukket inn&quot;, men følger på en vertikal rett linje nedover slik som i eksempelet med (multiply ...).

Slike ting tar Emacs+Slime seg av automatisk; om en definerer en ny macro med eller uten bruk av &amp;BODY vil Emacs+Slime holde styr på dette og indentere riktig alt-ettersom.

PS: Hadde egentlig tenkt å maile deg, men fant ikke noen e-postaddresse.</description>
		<content:encoded><![CDATA[<p>Torbjørn:<br />
Jeg linket til et bilde i posten over; det kom kanskje ikke så klart frem:</p>
<p>  <a href="http://static.nostdal.org/~lnostdal/always-here/lisp-for-dummies.png" rel="nofollow">http://static.nostdal.org/~lnostdal/always-here/lisp-for-dummies.png</a></p>
<p>Det kan forøvrig hende at det er vanlig med en _noe_ annerledes stil i sammenheng med Clojure, men dette skal være riktig i sammenheng med Scheme og CL ihvertfall.</p>
<p>Hvorvidt ting følger på en vertikal rett linje nedover slik som i eksempelet med (multiply &#8230;) eller om første argument på egen linje &#8220;trekkes inn&#8221; slik som i sammenheng med (defun &#8230;) baserer seg gjerne på bruk av &amp;BODY. F.eks. brukes &amp;BODY i DEFUN og i (brukerdefinerte) macroer some f.eks. WHILE o.l.. </p>
<p>En ser at i sammenheng med IF brukes ikke &amp;BODY derfor er argumentet på første nye linje ikke &#8220;trukket inn&#8221;, men følger på en vertikal rett linje nedover slik som i eksempelet med (multiply &#8230;).</p>
<p>Slike ting tar Emacs+Slime seg av automatisk; om en definerer en ny macro med eller uten bruk av &amp;BODY vil Emacs+Slime holde styr på dette og indentere riktig alt-ettersom.</p>
<p>PS: Hadde egentlig tenkt å maile deg, men fant ikke noen e-postaddresse.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Torbjørn</title>
		<link>http://blog.kjempekjekt.com/2010/08/02/lisp-for-dummies/#comment-102428</link>
		<dc:creator>Torbjørn</dc:creator>
		<pubDate>Wed, 04 Aug 2010 07:00:23 +0000</pubDate>
		<guid isPermaLink="false">http://blog.kjempekjekt.com/2010/08/02/lisp-for-dummies/#comment-102428</guid>
		<description>Selv bruker jeg Vim, og den har fin Lisp-indentering (koden i blogpostene mine er direkte html-eksport derfra). Men jeg må innrømme at jeg er litt misunnelig på Emacs+Slime etter å ha sett noen screencasts..</description>
		<content:encoded><![CDATA[<p>Selv bruker jeg Vim, og den har fin Lisp-indentering (koden i blogpostene mine er direkte html-eksport derfra). Men jeg må innrømme at jeg er litt misunnelig på Emacs+Slime etter å ha sett noen screencasts..</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Einar W. Høst</title>
		<link>http://blog.kjempekjekt.com/2010/08/02/lisp-for-dummies/#comment-102427</link>
		<dc:creator>Einar W. Høst</dc:creator>
		<pubDate>Wed, 04 Aug 2010 06:54:36 +0000</pubDate>
		<guid isPermaLink="false">http://blog.kjempekjekt.com/2010/08/02/lisp-for-dummies/#comment-102427</guid>
		<description>Lispbox (som beskrevet i PCL) gir deg Emacs+Slime uten hassle.</description>
		<content:encoded><![CDATA[<p>Lispbox (som beskrevet i PCL) gir deg Emacs+Slime uten hassle.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Lars Rune Nøstdal</title>
		<link>http://blog.kjempekjekt.com/2010/08/02/lisp-for-dummies/#comment-102383</link>
		<dc:creator>Lars Rune Nøstdal</dc:creator>
		<pubDate>Tue, 03 Aug 2010 20:21:37 +0000</pubDate>
		<guid isPermaLink="false">http://blog.kjempekjekt.com/2010/08/02/lisp-for-dummies/#comment-102383</guid>
		<description>http://static.nostdal.org/~lnostdal/always-here/lisp-for-dummies.png

Emacs+Slime indenterer forøvrig CL-kode riktig; litt krongel å sette opp, men av flere årsaker enn m.t.p. dette med indentering verdt det om en først skal bruke Lisp.

Lykke til med PCL; det er en fin og morsom bok. :)</description>
		<content:encoded><![CDATA[<p><a href="http://static.nostdal.org/~lnostdal/always-here/lisp-for-dummies.png" rel="nofollow">http://static.nostdal.org/~lnostdal/always-here/lisp-for-dummies.png</a></p>
<p>Emacs+Slime indenterer forøvrig CL-kode riktig; litt krongel å sette opp, men av flere årsaker enn m.t.p. dette med indentering verdt det om en først skal bruke Lisp.</p>
<p>Lykke til med PCL; det er en fin og morsom bok. :)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Einar W. Høst</title>
		<link>http://blog.kjempekjekt.com/2010/08/02/lisp-for-dummies/#comment-102357</link>
		<dc:creator>Einar W. Høst</dc:creator>
		<pubDate>Tue, 03 Aug 2010 11:48:07 +0000</pubDate>
		<guid isPermaLink="false">http://blog.kjempekjekt.com/2010/08/02/lisp-for-dummies/#comment-102357</guid>
		<description>Du har helt rett Ameth.</description>
		<content:encoded><![CDATA[<p>Du har helt rett Ameth.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ameth</title>
		<link>http://blog.kjempekjekt.com/2010/08/02/lisp-for-dummies/#comment-102330</link>
		<dc:creator>Ameth</dc:creator>
		<pubDate>Mon, 02 Aug 2010 23:48:34 +0000</pubDate>
		<guid isPermaLink="false">http://blog.kjempekjekt.com/2010/08/02/lisp-for-dummies/#comment-102330</guid>
		<description>Det er jo fordi CL har forskjellige namespaces for funksjoner og variabler, så hvis det hadde vært CL og du hadde skrevet (condp = ...) så hadde den lett etter en variabel med navn «=» og ikke en funksjon. #&#039;= er da for å lete i funksjons-namespacet. I både Clojure og Scheme slipper du dette.

Du kan forresten gjøre det så enkelt som (define (7teen f x) ((eval f) x 17)) i det andre eksemplet ditt.</description>
		<content:encoded><![CDATA[<p>Det er jo fordi CL har forskjellige namespaces for funksjoner og variabler, så hvis det hadde vært CL og du hadde skrevet (condp = &#8230;) så hadde den lett etter en variabel med navn «=» og ikke en funksjon. #&#8217;= er da for å lete i funksjons-namespacet. I både Clojure og Scheme slipper du dette.</p>
<p>Du kan forresten gjøre det så enkelt som (define (7teen f x) ((eval f) x 17)) i det andre eksemplet ditt.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Einar W. Høst</title>
		<link>http://blog.kjempekjekt.com/2010/08/02/lisp-for-dummies/#comment-102282</link>
		<dc:creator>Einar W. Høst</dc:creator>
		<pubDate>Mon, 02 Aug 2010 11:32:59 +0000</pubDate>
		<guid isPermaLink="false">http://blog.kjempekjekt.com/2010/08/02/lisp-for-dummies/#comment-102282</guid>
		<description>Urk, enda mer rot. Jeg mente å skrive (funcall #&#039;= ...) og (7teen #&#039;= 17). Hodet er tydeligvis på ferie fremdeles.</description>
		<content:encoded><![CDATA[<p>Urk, enda mer rot. Jeg mente å skrive (funcall #&#8217;= &#8230;) og (7teen #&#8217;= 17). Hodet er tydeligvis på ferie fremdeles.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

