<?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: Curry-oppskrift for sultne utviklere</title>
	<atom:link href="http://blog.kjempekjekt.com/2010/08/11/curry-oppskrift-for-sultne-utviklere/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.kjempekjekt.com/2010/08/11/curry-oppskrift-for-sultne-utviklere/</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: Bjørn Hamre</title>
		<link>http://blog.kjempekjekt.com/2010/08/11/curry-oppskrift-for-sultne-utviklere/#comment-102855</link>
		<dc:creator>Bjørn Hamre</dc:creator>
		<pubDate>Thu, 12 Aug 2010 20:22:43 +0000</pubDate>
		<guid isPermaLink="false">http://blog.kjempekjekt.com/2010/08/11/curry-oppskrift-for-sultne-utviklere/#comment-102855</guid>
		<description>Scala kan gjøre dette også. Her er et eksempel hentet fra &quot;Programming Scala&quot; av Venkat Subramaniam.
Hvis du har en log-metode som tar både dato og tekst som skal logges, f.eks.:

def log(date:  Date,  message:  String){
    println(date  +  &quot;----&quot; +  message)
}

For å kalle metoden på vanlig måte må en alltid sende med det samme datoobjektet:

val date  =  new Date
log(date,  &quot;message1&quot;)


Ved å bruke &quot;partial application&quot; får man en ny metode/funksjon som kan kalles med kun en streng:
 
val logWithDateBound  =  log(new Date,  _  :  String)
logWithDateBound(&quot;message1&quot;)
logWithDateBound(&quot;message2&quot;)</description>
		<content:encoded><![CDATA[<p>Scala kan gjøre dette også. Her er et eksempel hentet fra &#8220;Programming Scala&#8221; av Venkat Subramaniam.<br />
Hvis du har en log-metode som tar både dato og tekst som skal logges, f.eks.:</p>
<p>def log(date:  Date,  message:  String){<br />
    println(date  +  &#8220;&#8212;-&#8221; +  message)<br />
}</p>
<p>For å kalle metoden på vanlig måte må en alltid sende med det samme datoobjektet:</p>
<p>val date  =  new Date<br />
log(date,  &#8220;message1&#8243;)</p>
<p>Ved å bruke &#8220;partial application&#8221; får man en ny metode/funksjon som kan kalles med kun en streng:</p>
<p>val logWithDateBound  =  log(new Date,  _  :  String)<br />
logWithDateBound(&#8220;message1&#8243;)<br />
logWithDateBound(&#8220;message2&#8243;)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ameth</title>
		<link>http://blog.kjempekjekt.com/2010/08/11/curry-oppskrift-for-sultne-utviklere/#comment-102829</link>
		<dc:creator>Ameth</dc:creator>
		<pubDate>Thu, 12 Aug 2010 13:37:58 +0000</pubDate>
		<guid isPermaLink="false">http://blog.kjempekjekt.com/2010/08/11/curry-oppskrift-for-sultne-utviklere/#comment-102829</guid>
		<description>Bare hyggelig.

mapM_ print [1,2] er bare en litt fancy måte å skrive «do print 1; print 2» :P

Du har haugevis av tutorialer å ta av for monader, i et hvert fall: http://www.haskell.org/haskellwiki/Monad_tutorials_timeline
Du vil kanskje finne denne interessant: http://onclojure.com/2009/03/05/a-monad-tutorial-for-clojure-programmers-part-1/</description>
		<content:encoded><![CDATA[<p>Bare hyggelig.</p>
<p>mapM_ print [1,2] er bare en litt fancy måte å skrive «do print 1; print 2» :P</p>
<p>Du har haugevis av tutorialer å ta av for monader, i et hvert fall: <a href="http://www.haskell.org/haskellwiki/Monad_tutorials_timeline" rel="nofollow">http://www.haskell.org/haskellwiki/Monad_tutorials_timeline</a><br />
Du vil kanskje finne denne interessant: <a href="http://onclojure.com/2009/03/05/a-monad-tutorial-for-clojure-programmers-part-1/" rel="nofollow">http://onclojure.com/2009/03/05/a-monad-tutorial-for-clojure-programmers-part-1/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Torbjørn</title>
		<link>http://blog.kjempekjekt.com/2010/08/11/curry-oppskrift-for-sultne-utviklere/#comment-102822</link>
		<dc:creator>Torbjørn</dc:creator>
		<pubDate>Thu, 12 Aug 2010 11:56:41 +0000</pubDate>
		<guid isPermaLink="false">http://blog.kjempekjekt.com/2010/08/11/curry-oppskrift-for-sultne-utviklere/#comment-102822</guid>
		<description>PHP-varianten er vel mer eller mindre samme teknikken som brukt i JavaScript. Det derre Haskell &lt;i&gt;monad&lt;/i&gt; greiene skjønner jeg fortsatt ikke helt (jobber med saken), men ellers fungerer det jo som i F# (som jeg også forventet det skulle i et rent funksjonelt språk). Takk for oppskriftene.</description>
		<content:encoded><![CDATA[<p>PHP-varianten er vel mer eller mindre samme teknikken som brukt i JavaScript. Det derre Haskell <i>monad</i> greiene skjønner jeg fortsatt ikke helt (jobber med saken), men ellers fungerer det jo som i F# (som jeg også forventet det skulle i et rent funksjonelt språk). Takk for oppskriftene.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ameth</title>
		<link>http://blog.kjempekjekt.com/2010/08/11/curry-oppskrift-for-sultne-utviklere/#comment-102817</link>
		<dc:creator>Ameth</dc:creator>
		<pubDate>Thu, 12 Aug 2010 11:01:05 +0000</pubDate>
		<guid isPermaLink="false">http://blog.kjempekjekt.com/2010/08/11/curry-oppskrift-for-sultne-utviklere/#comment-102817</guid>
		<description>Haskell:
add = (+)
add5 = add 5
main = mapM_ print [add 1 2, add5 1]

Python:
import functools
add = lambda a, b: a + b
add5 = functools.partial(add, 5)
print(add(1, 2), add5(1))

PHP: (ugh...)
http://kjempekjekt.pastebin.com/wPyK2n3Z</description>
		<content:encoded><![CDATA[<p>Haskell:<br />
add = (+)<br />
add5 = add 5<br />
main = mapM_ print [add 1 2, add5 1]</p>
<p>Python:<br />
import functools<br />
add = lambda a, b: a + b<br />
add5 = functools.partial(add, 5)<br />
print(add(1, 2), add5(1))</p>
<p>PHP: (ugh&#8230;)<br />
<a href="http://kjempekjekt.pastebin.com/wPyK2n3Z" rel="nofollow">http://kjempekjekt.pastebin.com/wPyK2n3Z</a></p>
]]></content:encoded>
	</item>
</channel>
</rss>

