

<?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: Erlang é realmente difícil?</title>
	<atom:link href="http://www.kumpera.net/blog/index.php/2008/01/19/erlang-e-realmente-dificil/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.kumpera.net/blog/index.php/2008/01/19/erlang-e-realmente-dificil/</link>
	<description>Meus achados sobre tecnologia</description>
	<lastBuildDate>Thu, 01 Dec 2011 01:51:15 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Rui</title>
		<link>http://www.kumpera.net/blog/index.php/2008/01/19/erlang-e-realmente-dificil/comment-page-1/#comment-86992</link>
		<dc:creator>Rui</dc:creator>
		<pubDate>Fri, 18 Nov 2011 17:33:59 +0000</pubDate>
		<guid isPermaLink="false">http://www.kumpera.net/blog/index.php/2008/01/19/erlang-e-realmente-dificil/#comment-86992</guid>
		<description>Caso alguém tenha interesse em realizar trabalhos freelance com erlang, por favor me contacte ruifelipe@hotmail.com. Obrigado</description>
		<content:encoded><![CDATA[<p>Caso alguém tenha interesse em realizar trabalhos freelance com erlang, por favor me contacte <a href="mailto:ruifelipe@hotmail.com">ruifelipe@hotmail.com</a>. Obrigado</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: kumpera</title>
		<link>http://www.kumpera.net/blog/index.php/2008/01/19/erlang-e-realmente-dificil/comment-page-1/#comment-83078</link>
		<dc:creator>kumpera</dc:creator>
		<pubDate>Thu, 28 Jan 2010 12:57:51 +0000</pubDate>
		<guid isPermaLink="false">http://www.kumpera.net/blog/index.php/2008/01/19/erlang-e-realmente-dificil/#comment-83078</guid>
		<description>Abdon, sim, pattern matching é um mecanismo muito mais simples e natural a um programa erlang que o uso de IFs.</description>
		<content:encoded><![CDATA[<p>Abdon, sim, pattern matching é um mecanismo muito mais simples e natural a um programa erlang que o uso de IFs.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Abdon</title>
		<link>http://www.kumpera.net/blog/index.php/2008/01/19/erlang-e-realmente-dificil/comment-page-1/#comment-83071</link>
		<dc:creator>Abdon</dc:creator>
		<pubDate>Wed, 27 Jan 2010 17:18:24 +0000</pubDate>
		<guid isPermaLink="false">http://www.kumpera.net/blog/index.php/2008/01/19/erlang-e-realmente-dificil/#comment-83071</guid>
		<description>Prq vc diz que na ultima versão um programador erlang acharia estranho? É pelo fato de vc usar um if ao invez de deixar a linguagem utilizar o pattern matching para identificar que a lista esta vazia?
Obrigado.</description>
		<content:encoded><![CDATA[<p>Prq vc diz que na ultima versão um programador erlang acharia estranho? É pelo fato de vc usar um if ao invez de deixar a linguagem utilizar o pattern matching para identificar que a lista esta vazia?<br />
Obrigado.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dhérsy Gabreil</title>
		<link>http://www.kumpera.net/blog/index.php/2008/01/19/erlang-e-realmente-dificil/comment-page-1/#comment-67732</link>
		<dc:creator>Dhérsy Gabreil</dc:creator>
		<pubDate>Mon, 03 Nov 2008 04:50:31 +0000</pubDate>
		<guid isPermaLink="false">http://www.kumpera.net/blog/index.php/2008/01/19/erlang-e-realmente-dificil/#comment-67732</guid>
		<description>Amigo como fazer a comparação entre dois numeros em erlang?
Ex:
-module(fluxo).
-export([fluxo/2]).

fluxo() -&gt; 
	{ok,[Nun1]} = io:fread(&#039;Primeiro Numero: &#039;, &quot;~f&quot;),
	{ok,[Nun2]} = io:fread(&#039;Segundo Numero: &#039;, &quot;~f&quot;),

if Num1 &gt; Num2;
true -&gt;
io:format(&quot;Num1 &gt; Num2 ~f~n&quot;,[Num1])
end

if Num1 
io:format(&quot;Num1 
io:format(&quot;Num1 (igual) Num2 ~f~n&quot;,[Num1,Num2])
end.

Seria assim?
desculpe-me pelos erros pois estou começando na linguagem.
Agradeço a Atenção!</description>
		<content:encoded><![CDATA[<p>Amigo como fazer a comparação entre dois numeros em erlang?<br />
Ex:<br />
-module(fluxo).<br />
-export([fluxo/2]).</p>
<p>fluxo() -&gt;<br />
	{ok,[Nun1]} = io:fread(&#8217;Primeiro Numero: &#8216;, &#8220;~f&#8221;),<br />
	{ok,[Nun2]} = io:fread(&#8217;Segundo Numero: &#8216;, &#8220;~f&#8221;),</p>
<p>if Num1 &gt; Num2;<br />
true -&gt;<br />
io:format(&#8221;Num1 &gt; Num2 ~f~n&#8221;,[Num1])<br />
end</p>
<p>if Num1<br />
io:format(&#8221;Num1<br />
io:format(&#8221;Num1 (igual) Num2 ~f~n&#8221;,[Num1,Num2])<br />
end.</p>
<p>Seria assim?<br />
desculpe-me pelos erros pois estou começando na linguagem.<br />
Agradeço a Atenção!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ricardo Herrmann</title>
		<link>http://www.kumpera.net/blog/index.php/2008/01/19/erlang-e-realmente-dificil/comment-page-1/#comment-45397</link>
		<dc:creator>Ricardo Herrmann</dc:creator>
		<pubDate>Wed, 23 Jan 2008 17:14:25 +0000</pubDate>
		<guid isPermaLink="false">http://www.kumpera.net/blog/index.php/2008/01/19/erlang-e-realmente-dificil/#comment-45397</guid>
		<description>Aliás, já que tocaram no assunto de tradução (e eu acho que abusei disso também), &quot;recursão de cauda&quot; é o termo mais utilizado.</description>
		<content:encoded><![CDATA[<p>Aliás, já que tocaram no assunto de tradução (e eu acho que abusei disso também), &#8220;recursão de cauda&#8221; é o termo mais utilizado.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ricardo Herrmann</title>
		<link>http://www.kumpera.net/blog/index.php/2008/01/19/erlang-e-realmente-dificil/comment-page-1/#comment-45396</link>
		<dc:creator>Ricardo Herrmann</dc:creator>
		<pubDate>Wed, 23 Jan 2008 17:07:43 +0000</pubDate>
		<guid isPermaLink="false">http://www.kumpera.net/blog/index.php/2008/01/19/erlang-e-realmente-dificil/#comment-45396</guid>
		<description>@Andrei: Só esclarecendo melhor o que você disse sobre pureza vs. efeitos colaterais.

É possível ver I/O em Haskell como o acoplamento de dois elementos: (i) uma computação pura que gera um &quot;programa&quot; (um valor da mônada IO) e (ii) um executor (RTS), que executa as ações (I/O) desse programa, obtendo-as através de avaliação tardia (senão todas as ramificações do programa iram ser executadas para todas as entradas, o que não faz sentido). A transparência referencial vale na parte pura, com as mônadas efetuando o controle explícito dos efeitos colaterais causados pelo executor. Isso torna possível usar todo o ferramental de raciocínio equacional sobre funções que &quot;fazem&quot; I/O encapsuladas em mônadas, como se fossem um tipo qualquer, já que quem vai fazer o I/O propriamente dito é o executor.

Ou será que eu só piorei a coisa ? ;-)</description>
		<content:encoded><![CDATA[<p>@Andrei: Só esclarecendo melhor o que você disse sobre pureza vs. efeitos colaterais.</p>
<p>É possível ver I/O em Haskell como o acoplamento de dois elementos: (i) uma computação pura que gera um &#8220;programa&#8221; (um valor da mônada IO) e (ii) um executor (RTS), que executa as ações (I/O) desse programa, obtendo-as através de avaliação tardia (senão todas as ramificações do programa iram ser executadas para todas as entradas, o que não faz sentido). A transparência referencial vale na parte pura, com as mônadas efetuando o controle explícito dos efeitos colaterais causados pelo executor. Isso torna possível usar todo o ferramental de raciocínio equacional sobre funções que &#8220;fazem&#8221; I/O encapsuladas em mônadas, como se fossem um tipo qualquer, já que quem vai fazer o I/O propriamente dito é o executor.</p>
<p>Ou será que eu só piorei a coisa ? ;-)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Andrei</title>
		<link>http://www.kumpera.net/blog/index.php/2008/01/19/erlang-e-realmente-dificil/comment-page-1/#comment-45321</link>
		<dc:creator>Andrei</dc:creator>
		<pubDate>Tue, 22 Jan 2008 18:08:18 +0000</pubDate>
		<guid isPermaLink="false">http://www.kumpera.net/blog/index.php/2008/01/19/erlang-e-realmente-dificil/#comment-45321</guid>
		<description>Quando um programador diz que a &quot;sintaxe da linguagem X é indecifrável&quot;, geralmente significa que ele não está acostumado com aquela sintaxe. Até porque quem só aprendeu C e derivados na vida só viu uma forma de tratar a sintaxe de uma linguagem. O que não significa que não existam linguagens mais e menos legíveis, claro. Perl é um exemplo de linguagem considerada write-only, mas Erlang está muito longe disso. 

Quanto à pureza, é meio sem sentido dizer que uma linguagem é pura se não permite efeitos colaterais, já que não dá para fazer muita coisa sem eles. No contexto da programação funcional, uma linguagem é pura se ela possui transparência referencial. Haskell faz I/O e outros efeitos em mônadas, que são valores, e desde que as leis de mônadas sejam respeitadas, é possível garantir que a transparência referencial é mantida.</description>
		<content:encoded><![CDATA[<p>Quando um programador diz que a &#8220;sintaxe da linguagem X é indecifrável&#8221;, geralmente significa que ele não está acostumado com aquela sintaxe. Até porque quem só aprendeu C e derivados na vida só viu uma forma de tratar a sintaxe de uma linguagem. O que não significa que não existam linguagens mais e menos legíveis, claro. Perl é um exemplo de linguagem considerada write-only, mas Erlang está muito longe disso. </p>
<p>Quanto à pureza, é meio sem sentido dizer que uma linguagem é pura se não permite efeitos colaterais, já que não dá para fazer muita coisa sem eles. No contexto da programação funcional, uma linguagem é pura se ela possui transparência referencial. Haskell faz I/O e outros efeitos em mônadas, que são valores, e desde que as leis de mônadas sejam respeitadas, é possível garantir que a transparência referencial é mantida.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Proteu Alcebidiano</title>
		<link>http://www.kumpera.net/blog/index.php/2008/01/19/erlang-e-realmente-dificil/comment-page-1/#comment-45203</link>
		<dc:creator>Proteu Alcebidiano</dc:creator>
		<pubDate>Mon, 21 Jan 2008 04:08:57 +0000</pubDate>
		<guid isPermaLink="false">http://www.kumpera.net/blog/index.php/2008/01/19/erlang-e-realmente-dificil/#comment-45203</guid>
		<description>Pois então, estou me atendo ao conceito de side-effects, é o tipo de erro que é mais recorrente dos programadores em linguagens que aceitam updates (e que testes ajudam a encontrar quando estes falham).

No caso de IO&#039;s, Um registro em arquivo pode ser atualizado em situações práticas, é um side-effect inevitável, com ou sem rastreabilidade dos updates da informação.

T+</description>
		<content:encoded><![CDATA[<p>Pois então, estou me atendo ao conceito de side-effects, é o tipo de erro que é mais recorrente dos programadores em linguagens que aceitam updates (e que testes ajudam a encontrar quando estes falham).</p>
<p>No caso de IO&#8217;s, Um registro em arquivo pode ser atualizado em situações práticas, é um side-effect inevitável, com ou sem rastreabilidade dos updates da informação.</p>
<p>T+</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: kumpera</title>
		<link>http://www.kumpera.net/blog/index.php/2008/01/19/erlang-e-realmente-dificil/comment-page-1/#comment-45194</link>
		<dc:creator>kumpera</dc:creator>
		<pubDate>Mon, 21 Jan 2008 02:16:30 +0000</pubDate>
		<guid isPermaLink="false">http://www.kumpera.net/blog/index.php/2008/01/19/erlang-e-realmente-dificil/#comment-45194</guid>
		<description>A questão de ser puramente funcional é curiosa, pois depende de qual definição é usada.

A mais comum é a que nenhum efeito colateral é possivel. Nesse caso é preciso abrir mão de construções avançadas para simplesmente fazer I/O.

A outra visão é de que basta a linguagem computar tudo via aplicação de funções. O que exclui a existencia de side-effects internalmente a aplicação, porém não exclui efeitos externos.

Sinceramente, Erlang pode ser vista como uma versão pragmática, pois, para efeitos práticos, também é possivel escrever em um arquivo usando Haskell e não precisamos nos dobrar todos com monads.</description>
		<content:encoded><![CDATA[<p>A questão de ser puramente funcional é curiosa, pois depende de qual definição é usada.</p>
<p>A mais comum é a que nenhum efeito colateral é possivel. Nesse caso é preciso abrir mão de construções avançadas para simplesmente fazer I/O.</p>
<p>A outra visão é de que basta a linguagem computar tudo via aplicação de funções. O que exclui a existencia de side-effects internalmente a aplicação, porém não exclui efeitos externos.</p>
<p>Sinceramente, Erlang pode ser vista como uma versão pragmática, pois, para efeitos práticos, também é possivel escrever em um arquivo usando Haskell e não precisamos nos dobrar todos com monads.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Proteu Alcebidiano</title>
		<link>http://www.kumpera.net/blog/index.php/2008/01/19/erlang-e-realmente-dificil/comment-page-1/#comment-45182</link>
		<dc:creator>Proteu Alcebidiano</dc:creator>
		<pubDate>Sun, 20 Jan 2008 19:41:25 +0000</pubDate>
		<guid isPermaLink="false">http://www.kumpera.net/blog/index.php/2008/01/19/erlang-e-realmente-dificil/#comment-45182</guid>
		<description>Legal o post, Rodrigo. Duas coisas:

- Erlang não é puramente funcional, tem acesso a IO e sockets;

- Quanto à funções com tail-recursion, eu arrisco traduzir como &quot;Funções com recursão no final&quot;.

T+</description>
		<content:encoded><![CDATA[<p>Legal o post, Rodrigo. Duas coisas:</p>
<p>- Erlang não é puramente funcional, tem acesso a IO e sockets;</p>
<p>- Quanto à funções com tail-recursion, eu arrisco traduzir como &#8220;Funções com recursão no final&#8221;.</p>
<p>T+</p>
]]></content:encoded>
	</item>
</channel>
</rss>

