<?xml version="1.0" encoding="ISO-8859-15"?>
<rss version="2.0"><channel>
<title>ohjelmointiparadigmat</title>
<link>http://sange.fi/~atehwa/cgi-bin/piki.cgi/</link>
<description>Recent changes in ohjelmointiparadigmat</description>
<item><title>ohjelmointiparadigmat</title>
<link>http://sange.fi/~atehwa/cgi-bin/piki.cgi/ohjelmointiparadigmat</link>
<guid>http://sange.fi/~atehwa/cgi-bin/piki.cgi/#1380889218</guid>
<description>&lt;p&gt;[...]

&lt;p&gt;Monet funktiot pystyy kirjoittamaan kokonaan kompositio-operaattorin 
avulla. Tuloksena olevaa ohjelmointityyliä kutsutaan nimellä 
''point-free notation'' ja se tuo usein selkeästi esiin tietovuot, 
joiden kautta arvot kulkevat laskennassa (listaus &lt;ins&gt;X ja&lt;/ins&gt; X). 
Koska kaikki funktiot pystyy määrittelemään yksinkertaisempien 
funktioiden kompositioina, ''konkatenatiivisissa'' ohjelmointikielissä 
kompositiosta tehdään ohjelmoinnin perusoperaatio.[[ALAVIITE: Tunnetuin 
näistä kielistä on Factor. Monelle tietovoita korostava point-free 
notation on tutumpi Unix-komentoriviympäristön ''putkirakenteista''. 
Esimerkiksi tämä komento laskee syötteensä sanojen frekvenssijakauman: 
{{{ tr ' ' \\012 | sort | uniq -c | sort -nr }}}|]] 

&lt;p&gt;---- Listaus X. &lt;ins&gt;Parillisten laskeminen. // Toteutuskieli: 
Haskell.&lt;/ins&gt; 

&lt;p&gt;&lt;ins&gt;{{{ Rekursiivinen: Tietorakennefunktionaaleilla: countEvens xs 
= length (filter even xs) countEvens [] = 0 countEvens (x:xs) 
Kompositio-operaattorilla: | even x = 1 + countEvens xs countEvens = 
length . filter even | otherwise = countEvens xs }}} ----&lt;/ins&gt; 

&lt;p&gt;&lt;ins&gt;---- Listaus X.&lt;/ins&gt; Vektoreiden pistetulo (vektorit 
mallinnetaan listoina). // Toteutuskieli: Haskell. 

&lt;p&gt;[...]

</description>
<pubDate>Fri, 04 Oct 2013 12:20:18 +0000</pubDate>
</item>

</channel></rss>
