<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;DUUNQ3w7fCp7ImA9WhRUGUs.&quot;"><id>tag:blogger.com,1999:blog-13053494</id><updated>2012-01-31T01:48:12.204+02:00</updated><category term="lispworks" /><category term="isikukood" /><category term="lisp" /><category term="valideerimine" /><title>Lauri blogi</title><subtitle type="html" /><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://laurum.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://laurum.blogspot.com/" /><author><name>Lauri</name><uri>http://www.blogger.com/profile/00705740653107945481</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>2</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/blogspot/cUmF" /><feedburner:info uri="blogspot/cumf" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;CEYER3oyfSp7ImA9WxZbEU0.&quot;"><id>tag:blogger.com,1999:blog-13053494.post-4180620222949103573</id><published>2008-03-15T06:57:00.026+02:00</published><updated>2008-04-13T18:55:06.495+03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-04-13T18:55:06.495+03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="valideerimine" /><category scheme="http://www.blogger.com/atom/ns#" term="lisp" /><category scheme="http://www.blogger.com/atom/ns#" term="lispworks" /><category scheme="http://www.blogger.com/atom/ns#" term="isikukood" /><title>Eesti isikukoodi valideerimine Lispis</title><content type="html">&lt;style type="text/css"&gt;.symbol { color : #770055; background-color : transparent; border: 0px; margin: 0px;}
a.symbol:link { color : #229955; background-color : transparent; text-decoration: none; border: 0px; margin: 0px; }
a.symbol:active { color : #229955; background-color : transparent; text-decoration: none; border: 0px; margin: 0px; }
a.symbol:visited { color : #229955; background-color : transparent; text-decoration: none; border: 0px; margin: 0px; }
a.symbol:hover { color : #229955; background-color : transparent; text-decoration: none; border: 0px; margin: 0px; }
.special { color : #FF5000; background-color : inherit; }
.keyword { color : #770000; background-color : inherit; }
.comment { color : #007777; background-color : inherit; }
.string { color : #777777; background-color : inherit; }
.atom { color : #314F4F; background-color : inherit; }
.macro { color : #FF5000; background-color : inherit; }
.variable { color : #36648B; background-color : inherit; }
.function { color : #8B4789; background-color : inherit; }
.attribute { color : #FF5000; background-color : inherit; }
.character { color : #0055AA; background-color : inherit; }
.syntaxerror { color : #FF0000; background-color : inherit; }
span.paren1:hover { color : inherit; background-color : #BAFFFF; }
span.paren2:hover { color : inherit; background-color : #FFCACA; }
span.paren3:hover { color : inherit; background-color : #FFFFBA; }
span.paren4:hover { color : inherit; background-color : #CACAFF; }
span.paren5:hover { color : inherit; background-color : #CAFFCA; }
span.paren6:hover { color : inherit; background-color : #FFBAFF; }

.lisp-code { background-color: white; color: black; }
.lisp-code:hover { background-color: white; color: black; }
&lt;/style&gt;
&lt;p&gt;&lt;a href="http://dukelupus.wordpress.com/"&gt;Dukelupus&lt;/a&gt; &lt;a href="http://dukelupus.wordpress.com/2008/03/11/eesti-isikukoodi-valideerimine/"&gt;kirjutas&lt;/a&gt; isikukoodi valideerimisest &lt;a href="http://en.wikipedia.org/wiki/.NET_Framework"&gt;.NET'is&lt;/a&gt;.&lt;br&gt;
Võrdluseks sama kood kirjutatuna &lt;a href="http://en.wikipedia.org/wiki/Common_Lisp"&gt;Lispis&lt;/a&gt;:
&lt;p&gt;&lt;tt class="lisp-code"&gt;&lt;span class="paren1"&gt;(&lt;span class="lisp-code"&gt;&lt;a href="http://www.lispworks.com/reference/HyperSpec/Body/m_defun.htm" class="symbol"&gt;&lt;i&gt;&lt;span class="symbol"&gt;defun&lt;/span&gt;&lt;/i&gt;&lt;/a&gt; number-to-digits &lt;span class="paren2"&gt;(&lt;span class="lisp-code"&gt;&lt;a href="http://www.lispworks.com/reference/HyperSpec/Body/t_number.htm" class="symbol"&gt;number&lt;/a&gt;&lt;/span&gt;)&lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&lt;span class="paren2"&gt;(&lt;span class="lisp-code"&gt;&lt;a href="http://www.lispworks.com/reference/HyperSpec/Body/f_map.htm" class="symbol"&gt;map&lt;/a&gt; '&lt;a href="http://www.lispworks.com/reference/HyperSpec/Body/a_list.htm" class="symbol"&gt;list&lt;/a&gt; #'&lt;a href="http://www.lispworks.com/reference/HyperSpec/Body/f_digi_1.htm" class="symbol"&gt;digit-char-p&lt;/a&gt; &lt;span class="paren3"&gt;(&lt;span class="lisp-code"&gt;&lt;a href="http://www.lispworks.com/reference/HyperSpec/Body/f_wr_to_.htm" class="symbol"&gt;princ-to-string&lt;/a&gt; &lt;a href="http://www.lispworks.com/reference/HyperSpec/Body/t_number.htm" class="symbol"&gt;number&lt;/a&gt;&lt;/span&gt;)&lt;/span&gt;&lt;/span&gt;)&lt;/span&gt;&lt;/span&gt;)&lt;/span&gt;&lt;br&gt;&lt;br&gt;

&lt;span class="paren1"&gt;(&lt;span class="lisp-code"&gt;&lt;a href="http://www.lispworks.com/reference/HyperSpec/Body/m_defun.htm" class="symbol"&gt;&lt;i&gt;&lt;span class="symbol"&gt;defun&lt;/span&gt;&lt;/i&gt;&lt;/a&gt; digits-to-number &lt;span class="paren2"&gt;(&lt;span class="lisp-code"&gt;digits&lt;/span&gt;)&lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&lt;span class="paren2"&gt;(&lt;span class="lisp-code"&gt;&lt;a href="http://www.lispworks.com/reference/HyperSpec/Body/f_parse_.htm" class="symbol"&gt;parse-integer&lt;/a&gt; &lt;span class="paren3"&gt;(&lt;span class="lisp-code"&gt;&lt;a href="http://www.lispworks.com/reference/HyperSpec/Body/f_map.htm" class="symbol"&gt;map&lt;/a&gt; '&lt;a href="http://www.lispworks.com/reference/HyperSpec/Body/a_string.htm" class="symbol"&gt;string&lt;/a&gt; #'&lt;a href="http://www.lispworks.com/reference/HyperSpec/Body/f_digit_.htm" class="symbol"&gt;digit-char&lt;/a&gt; digits&lt;/span&gt;)&lt;/span&gt;&lt;/span&gt;)&lt;/span&gt;&lt;/span&gt;)&lt;/span&gt;&lt;br&gt;&lt;br&gt;

&lt;span class="paren1"&gt;(&lt;span class="lisp-code"&gt;&lt;a href="http://www.lispworks.com/reference/HyperSpec/Body/m_defun.htm" class="symbol"&gt;&lt;i&gt;&lt;span class="symbol"&gt;defun&lt;/span&gt;&lt;/i&gt;&lt;/a&gt; valid-birth-date &lt;span class="paren2"&gt;(&lt;span class="lisp-code"&gt;ik-digits&lt;/span&gt;)&lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&lt;span class="string"&gt;"Kontrollib kas tegu on korrektse kuupäevaga"&lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&lt;span class="paren2"&gt;(&lt;span class="lisp-code"&gt;&lt;a href="http://www.lispworks.com/reference/HyperSpec/Body/s_let_l.htm" class="symbol"&gt;&lt;i&gt;&lt;span class="symbol"&gt;let&lt;/span&gt;&lt;/i&gt;&lt;/a&gt; &lt;span class="paren3"&gt;(&lt;span class="lisp-code"&gt;&lt;span class="paren4"&gt;(&lt;span class="lisp-code"&gt;sajand&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="paren5"&gt;(&lt;span class="lisp-code"&gt;&lt;a href="http://www.lispworks.com/reference/HyperSpec/Body/m_case_.htm" class="symbol"&gt;case&lt;/a&gt; &lt;span class="paren6"&gt;(&lt;span class="lisp-code"&gt;&lt;a href="http://www.lispworks.com/reference/HyperSpec/Body/f_firstc.htm" class="symbol"&gt;first&lt;/a&gt; ik-digits&lt;/span&gt;)&lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="paren6"&gt;(&lt;span class="lisp-code"&gt;&lt;span class="paren1"&gt;(&lt;span class="lisp-code"&gt;1 2&lt;/span&gt;)&lt;/span&gt; 1800&lt;/span&gt;)&lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="paren6"&gt;(&lt;span class="lisp-code"&gt;&lt;span class="paren1"&gt;(&lt;span class="lisp-code"&gt;3 4&lt;/span&gt;)&lt;/span&gt; 1900&lt;/span&gt;)&lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="paren6"&gt;(&lt;span class="lisp-code"&gt;&lt;span class="paren1"&gt;(&lt;span class="lisp-code"&gt;5 6&lt;/span&gt;)&lt;/span&gt; 2000&lt;/span&gt;)&lt;/span&gt;&lt;/span&gt;)&lt;/span&gt;&lt;/span&gt;)&lt;/span&gt;&lt;/span&gt;)&lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="paren3"&gt;(&lt;span class="lisp-code"&gt;&lt;a href="http://www.lispworks.com/reference/HyperSpec/Body/m_when_.htm" class="symbol"&gt;when&lt;/a&gt; sajand&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="paren4"&gt;(&lt;span class="lisp-code"&gt;&lt;a href="http://www.lispworks.com/reference/HyperSpec/Body/f_inte_1.htm" class="symbol"&gt;integerp&lt;/a&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="paren5"&gt;(&lt;span class="lisp-code"&gt;&lt;a href="http://www.lispworks.com/reference/HyperSpec/Body/m_ignore.htm" class="symbol"&gt;ignore-errors&lt;/a&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="paren6"&gt;(&lt;span class="lisp-code"&gt;&lt;a href="http://www.lispworks.com/reference/HyperSpec/Body/f_encode.htm" class="symbol"&gt;encode-universal-time&lt;/a&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0 0 0&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="paren1"&gt;(&lt;span class="lisp-code"&gt;digits-to-number &lt;span class="paren2"&gt;(&lt;span class="lisp-code"&gt;&lt;a href="http://www.lispworks.com/reference/HyperSpec/Body/f_subseq.htm" class="symbol"&gt;subseq&lt;/a&gt; ik-digits 5 7&lt;/span&gt;)&lt;/span&gt;&lt;/span&gt;)&lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="paren1"&gt;(&lt;span class="lisp-code"&gt;digits-to-number &lt;span class="paren2"&gt;(&lt;span class="lisp-code"&gt;&lt;a href="http://www.lispworks.com/reference/HyperSpec/Body/f_subseq.htm" class="symbol"&gt;subseq&lt;/a&gt; ik-digits 3 5&lt;/span&gt;)&lt;/span&gt;&lt;/span&gt;)&lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="paren1"&gt;(&lt;span class="lisp-code"&gt;&lt;a href="http://www.lispworks.com/reference/HyperSpec/Body/a_pl.htm" class="symbol"&gt;+&lt;/a&gt; sajand &lt;span class="paren2"&gt;(&lt;span class="lisp-code"&gt;digits-to-number &lt;span class="paren3"&gt;(&lt;span class="lisp-code"&gt;&lt;a href="http://www.lispworks.com/reference/HyperSpec/Body/f_subseq.htm" class="symbol"&gt;subseq&lt;/a&gt; ik-digits 1 3&lt;/span&gt;)&lt;/span&gt;&lt;/span&gt;)&lt;/span&gt;&lt;/span&gt;)&lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&lt;/span&gt;)&lt;/span&gt;&lt;/span&gt;)&lt;/span&gt;&lt;/span&gt;)&lt;/span&gt;&lt;/span&gt;)&lt;/span&gt;&lt;/span&gt;)&lt;/span&gt;&lt;/span&gt;)&lt;/span&gt;&lt;br&gt;&lt;br&gt;

&lt;span class="paren1"&gt;(&lt;span class="lisp-code"&gt;&lt;a href="http://www.lispworks.com/reference/HyperSpec/Body/m_defun.htm" class="symbol"&gt;&lt;i&gt;&lt;span class="symbol"&gt;defun&lt;/span&gt;&lt;/i&gt;&lt;/a&gt; checksum &lt;span class="paren2"&gt;(&lt;span class="lisp-code"&gt;ik-digits fn&lt;/span&gt;)&lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&lt;span class="paren2"&gt;(&lt;span class="lisp-code"&gt;&lt;a href="http://www.lispworks.com/reference/HyperSpec/Body/a_mod.htm" class="symbol"&gt;mod&lt;/a&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="paren3"&gt;(&lt;span class="lisp-code"&gt;&lt;a href="http://www.lispworks.com/reference/HyperSpec/Body/m_loop.htm" class="symbol"&gt;&lt;i&gt;&lt;span class="symbol"&gt;loop&lt;/span&gt;&lt;/i&gt;&lt;/a&gt; for n from 1 to 10&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sum &lt;span class="paren4"&gt;(&lt;span class="lisp-code"&gt;&lt;a href="http://www.lispworks.com/reference/HyperSpec/Body/a_st.htm" class="symbol"&gt;*&lt;/a&gt; &lt;span class="paren5"&gt;(&lt;span class="lisp-code"&gt;&lt;a href="http://www.lispworks.com/reference/HyperSpec/Body/f_1pl_1_.htm" class="symbol"&gt;1+&lt;/a&gt; &lt;span class="paren6"&gt;(&lt;span class="lisp-code"&gt;&lt;a href="http://www.lispworks.com/reference/HyperSpec/Body/a_mod.htm" class="symbol"&gt;mod&lt;/a&gt; &lt;span class="paren1"&gt;(&lt;span class="lisp-code"&gt;&lt;a href="http://www.lispworks.com/reference/HyperSpec/Body/f_funcal.htm" class="symbol"&gt;funcall&lt;/a&gt; fn n&lt;/span&gt;)&lt;/span&gt; 9&lt;/span&gt;)&lt;/span&gt;&lt;/span&gt;)&lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="paren5"&gt;(&lt;span class="lisp-code"&gt;&lt;a href="http://www.lispworks.com/reference/HyperSpec/Body/f_nth.htm" class="symbol"&gt;nth&lt;/a&gt; &lt;span class="paren6"&gt;(&lt;span class="lisp-code"&gt;&lt;a href="http://www.lispworks.com/reference/HyperSpec/Body/f_1pl_1_.htm" class="symbol"&gt;1-&lt;/a&gt; n&lt;/span&gt;)&lt;/span&gt; ik-digits&lt;/span&gt;)&lt;/span&gt;&lt;/span&gt;)&lt;/span&gt;&lt;/span&gt;)&lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;11&lt;/span&gt;)&lt;/span&gt;&lt;/span&gt;)&lt;/span&gt;&lt;br&gt;&lt;br&gt;

&lt;span class="paren1"&gt;(&lt;span class="lisp-code"&gt;&lt;a href="http://www.lispworks.com/reference/HyperSpec/Body/m_defun.htm" class="symbol"&gt;&lt;i&gt;&lt;span class="symbol"&gt;defun&lt;/span&gt;&lt;/i&gt;&lt;/a&gt; valid-checksum &lt;span class="paren2"&gt;(&lt;span class="lisp-code"&gt;ik-digits&lt;/span&gt;)&lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&lt;span class="paren2"&gt;(&lt;span class="lisp-code"&gt;= &lt;span class="paren3"&gt;(&lt;span class="lisp-code"&gt;&lt;a href="http://www.lispworks.com/reference/HyperSpec/Body/f_firstc.htm" class="symbol"&gt;first&lt;/a&gt; &lt;span class="paren4"&gt;(&lt;span class="lisp-code"&gt;&lt;a href="http://www.lispworks.com/reference/HyperSpec/Body/f_last.htm" class="symbol"&gt;last&lt;/a&gt; ik-digits&lt;/span&gt;)&lt;/span&gt;&lt;/span&gt;)&lt;/span&gt; &amp;nbsp;&lt;span class="comment"&gt;;; kontrollnumber&lt;br&gt;

&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="paren3"&gt;(&lt;span class="lisp-code"&gt;&lt;a href="http://www.lispworks.com/reference/HyperSpec/Body/s_let_l.htm" class="symbol"&gt;&lt;i&gt;&lt;span class="symbol"&gt;let&lt;/span&gt;&lt;/i&gt;&lt;/a&gt; &lt;span class="paren4"&gt;(&lt;span class="lisp-code"&gt;&lt;span class="paren5"&gt;(&lt;span class="lisp-code"&gt;result &lt;span class="paren6"&gt;(&lt;span class="lisp-code"&gt;checksum ik-digits '&lt;a href="http://www.lispworks.com/reference/HyperSpec/Body/f_1pl_1_.htm" class="symbol"&gt;1-&lt;/a&gt;&lt;/span&gt;)&lt;/span&gt;&lt;/span&gt;)&lt;/span&gt;&lt;/span&gt;)&lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="paren4"&gt;(&lt;span class="lisp-code"&gt;&lt;a href="http://www.lispworks.com/reference/HyperSpec/Body/s_if.htm" class="symbol"&gt;&lt;i&gt;&lt;span class="symbol"&gt;if&lt;/span&gt;&lt;/i&gt;&lt;/a&gt; &lt;span class="paren5"&gt;(&lt;span class="lisp-code"&gt;= 10 result&lt;/span&gt;)&lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="paren5"&gt;(&lt;span class="lisp-code"&gt;&lt;a href="http://www.lispworks.com/reference/HyperSpec/Body/a_mod.htm" class="symbol"&gt;mod&lt;/a&gt; &lt;span class="paren6"&gt;(&lt;span class="lisp-code"&gt;checksum ik-digits '&lt;a href="http://www.lispworks.com/reference/HyperSpec/Body/f_1pl_1_.htm" class="symbol"&gt;1+&lt;/a&gt;&lt;/span&gt;)&lt;/span&gt; 10&lt;/span&gt;)&lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;result&lt;/span&gt;)&lt;/span&gt;&lt;/span&gt;)&lt;/span&gt;&lt;/span&gt;)&lt;/span&gt;&lt;/span&gt;)&lt;/span&gt;&lt;br&gt;&lt;br&gt;

&lt;span class="paren1"&gt;(&lt;span class="lisp-code"&gt;&lt;a href="http://www.lispworks.com/reference/HyperSpec/Body/m_defun.htm" class="symbol"&gt;&lt;i&gt;&lt;span class="symbol"&gt;defun&lt;/span&gt;&lt;/i&gt;&lt;/a&gt; valid-isikukood &lt;span class="paren2"&gt;(&lt;span class="lisp-code"&gt;isikukood&lt;/span&gt;)&lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&lt;span class="paren2"&gt;(&lt;span class="lisp-code"&gt;&lt;a href="http://www.lispworks.com/reference/HyperSpec/Body/s_let_l.htm" class="symbol"&gt;&lt;i&gt;&lt;span class="symbol"&gt;let&lt;/span&gt;&lt;/i&gt;&lt;/a&gt; &lt;span class="paren3"&gt;(&lt;span class="lisp-code"&gt;&lt;span class="paren4"&gt;(&lt;span class="lisp-code"&gt;ik-digits &lt;span class="paren5"&gt;(&lt;span class="lisp-code"&gt;number-to-digits isikukood&lt;/span&gt;)&lt;/span&gt;&lt;/span&gt;)&lt;/span&gt;&lt;/span&gt;)&lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="paren3"&gt;(&lt;span class="lisp-code"&gt;&lt;a href="http://www.lispworks.com/reference/HyperSpec/Body/a_and.htm" class="symbol"&gt;and&lt;/a&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="paren4"&gt;(&lt;span class="lisp-code"&gt;= &lt;span class="paren5"&gt;(&lt;span class="lisp-code"&gt;&lt;a href="http://www.lispworks.com/reference/HyperSpec/Body/f_length.htm" class="symbol"&gt;length&lt;/a&gt; ik-digits&lt;/span&gt;)&lt;/span&gt; 11&lt;/span&gt;)&lt;/span&gt; &lt;span class="comment"&gt;;; peab sisaldama 11 numbrit&lt;br&gt;

&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="paren4"&gt;(&lt;span class="lisp-code"&gt;valid-birth-date ik-digits&lt;/span&gt;)&lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="paren4"&gt;(&lt;span class="lisp-code"&gt;valid-checksum ik-digits&lt;/span&gt;)&lt;/span&gt;&lt;/span&gt;)&lt;/span&gt;&lt;/span&gt;)&lt;/span&gt;&lt;/span&gt;)&lt;/span&gt;&lt;/tt&gt;
&lt;p&gt;&lt;h3&gt;Tulemused:&lt;/h3&gt;
CL-USER 57 &gt; (time (valid-isikukood 21107190012))&lt;br&gt;
Timing the evaluation of (VALID-ISIKUKOOD 21107190012)&lt;br&gt;

&lt;br&gt;
User time    =        0.000&lt;br&gt;
System time  =        0.000&lt;br&gt;
Elapsed time =        0.000&lt;br&gt;
Allocation   = 300 bytes&lt;br&gt;
0 Page faults&lt;br&gt;
T&lt;br&gt;
&lt;br&gt;
CL-USER 58 &gt; (time (valid-isikukood "21107190012"))&lt;br&gt;
Timing the evaluation of (VALID-ISIKUKOOD "21107190012")&lt;br&gt;

&lt;br&gt;
User time    =        0.000&lt;br&gt;
System time  =        0.000&lt;br&gt;
Elapsed time =        0.000&lt;br&gt;
Allocation   = 288 bytes&lt;br&gt;
0 Page faults&lt;br&gt;
T&lt;br&gt;
&lt;br&gt;
CL-USER 59 &gt; (time (valid-isikukood 21107190013))&lt;br&gt;
Timing the evaluation of (VALID-ISIKUKOOD 21107190013)&lt;br&gt;

&lt;br&gt;
User time    =        0.000&lt;br&gt;
System time  =        0.000&lt;br&gt;
Elapsed time =        0.000&lt;br&gt;
Allocation   = 300 bytes&lt;br&gt;
0 Page faults&lt;br&gt;
NIL&lt;br&gt;
&lt;br&gt;
&lt;br&gt;&lt;p&gt;Huvitav on see, et kui anda isikukood ette stringina siis võtab programm vähem mälu kui numbritega.&lt;br&gt;&lt;br&gt;&lt;p&gt;Seda koodi saab &lt;a href="http://www.lispworks.com/downloads/index.html"&gt;Lispworksis&lt;/a&gt; kasutada ka läbi graafilise liidese:

&lt;p&gt;&lt;tt class="lisp-code"&gt;&lt;span class="paren1"&gt;(&lt;span class="lisp-code"&gt;capi:prompt-for-integer&lt;br&gt;&amp;nbsp;&lt;span class="string"&gt;"Sisesta isikukood:"&lt;/span&gt;&lt;br&gt;&amp;nbsp;&lt;span class="keyword"&gt;:ok-check&lt;/span&gt; 'valid-isikukood&lt;/span&gt;)&lt;/span&gt;&lt;/tt&gt;
&lt;p&gt;Tulemusena avaneb selline aken:&lt;br&gt;
&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.lo.pri.ee/ik.exe"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_GCwB-OlG_wE/R90E23NKezI/AAAAAAAAAGg/QkNb39odpGw/s320/lw-isikukood.PNG" border="0" alt=""id="BLOGGER_PHOTO_ID_5178300487124548402" /&gt;&lt;/a&gt;&lt;br&gt;
Ok-nupp aktiveerub alles siis kui sisestatud on korrektne isikukood.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13053494-4180620222949103573?l=laurum.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/cUmF/~4/QJTF5yS4DtE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://laurum.blogspot.com/feeds/4180620222949103573/comments/default" title="Postita kommentaarid" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=13053494&amp;postID=4180620222949103573" title="0 kommentaari" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/13053494/posts/default/4180620222949103573?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/13053494/posts/default/4180620222949103573?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/cUmF/~3/QJTF5yS4DtE/eesti-isikukoodi-valideerimine-lispis.html" title="Eesti isikukoodi valideerimine Lispis" /><author><name>Lauri</name><uri>http://www.blogger.com/profile/00705740653107945481</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_GCwB-OlG_wE/R90E23NKezI/AAAAAAAAAGg/QkNb39odpGw/s72-c/lw-isikukood.PNG" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://laurum.blogspot.com/2008/03/eesti-isikukoodi-valideerimine-lispis.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUcMQHc8fSp7ImA9WxZWFUU.&quot;"><id>tag:blogger.com,1999:blog-13053494.post-114724963213529211</id><published>2006-05-10T11:16:00.001+03:00</published><updated>2008-03-15T15:18:01.975+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-03-15T15:18:01.975+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="lisp" /><title>PLEAC</title><content type="html">&lt;a href="http://pleac.sourceforge.net/"&gt;PLEAC project&lt;/a&gt; - Programming Language Examples Alike Cookbook in various programming languages.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13053494-114724963213529211?l=laurum.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/cUmF/~4/6xapjtjn2RM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://laurum.blogspot.com/feeds/114724963213529211/comments/default" title="Postita kommentaarid" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=13053494&amp;postID=114724963213529211" title="0 kommentaari" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/13053494/posts/default/114724963213529211?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/13053494/posts/default/114724963213529211?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/cUmF/~3/6xapjtjn2RM/pleac.html" title="PLEAC" /><author><name>Lauri</name><uri>http://www.blogger.com/profile/00705740653107945481</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://laurum.blogspot.com/2006/05/pleac.html</feedburner:origLink></entry></feed>

