

<?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: Sobre Ponteros e Pattern Matching</title>
	<atom:link href="http://www.kumpera.net/blog/index.php/2007/06/10/sobre-pointeros-e-pattern-matching/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.kumpera.net/blog/index.php/2007/06/10/sobre-pointeros-e-pattern-matching/</link>
	<description>Meus achados sobre tecnologia</description>
	<lastBuildDate>Wed, 16 Jun 2010 18:47:13 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: murilo</title>
		<link>http://www.kumpera.net/blog/index.php/2007/06/10/sobre-pointeros-e-pattern-matching/comment-page-1/#comment-83654</link>
		<dc:creator>murilo</dc:creator>
		<pubDate>Fri, 07 May 2010 21:36:29 +0000</pubDate>
		<guid isPermaLink="false">http://www.kumpera.net/blog/index.php/2007/06/10/sobre-pointeros-e-pattern-matching/#comment-83654</guid>
		<description>Realmente ponteiros e pattern matching até se tornarem triviais são um &quot;pesadelo&quot;. 
Só uma observação quanto ao título, a palavra &quot;Ponteiros&quot; foi escrita &quot;Pointeiros&quot;.

Abraço.</description>
		<content:encoded><![CDATA[<p>Realmente ponteiros e pattern matching até se tornarem triviais são um &#8220;pesadelo&#8221;.<br />
Só uma observação quanto ao título, a palavra &#8220;Ponteiros&#8221; foi escrita &#8220;Pointeiros&#8221;.</p>
<p>Abraço.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: kumpera</title>
		<link>http://www.kumpera.net/blog/index.php/2007/06/10/sobre-pointeros-e-pattern-matching/comment-page-1/#comment-12166</link>
		<dc:creator>kumpera</dc:creator>
		<pubDate>Thu, 14 Jun 2007 14:23:42 +0000</pubDate>
		<guid isPermaLink="false">http://www.kumpera.net/blog/index.php/2007/06/10/sobre-pointeros-e-pattern-matching/#comment-12166</guid>
		<description>Paulo, não é quem tem cara, é um switch turbinado sim ;). O problema é mais das linguagens funcionais que não te permitem fatorar seu código de maneira adequada e isso se deve principalmente ao fato de ser uma construção limitadíssima.
.
Eu vejo mais utilidade de pattern matching na criação de métodos e destruturing assignment que própriamente nas construções tipo switch.</description>
		<content:encoded><![CDATA[<p>Paulo, não é quem tem cara, é um switch turbinado sim ;). O problema é mais das linguagens funcionais que não te permitem fatorar seu código de maneira adequada e isso se deve principalmente ao fato de ser uma construção limitadíssima.<br />
.<br />
Eu vejo mais utilidade de pattern matching na criação de métodos e destruturing assignment que própriamente nas construções tipo switch.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Paulo Silveira</title>
		<link>http://www.kumpera.net/blog/index.php/2007/06/10/sobre-pointeros-e-pattern-matching/comment-page-1/#comment-12136</link>
		<dc:creator>Paulo Silveira</dc:creator>
		<pubDate>Thu, 14 Jun 2007 00:09:15 +0000</pubDate>
		<guid isPermaLink="false">http://www.kumpera.net/blog/index.php/2007/06/10/sobre-pointeros-e-pattern-matching/#comment-12136</guid>
		<description>Apesar da idéia me agradar, ainda fica um pouco com cara de switch. Mas entendo que querer tratar tudo com polimorfimos da um trabalhao, alem de que o pattern matching pode deixar bem claro pra quem esta lendo o codigo de quem esta invocando o metodo.</description>
		<content:encoded><![CDATA[<p>Apesar da idéia me agradar, ainda fica um pouco com cara de switch. Mas entendo que querer tratar tudo com polimorfimos da um trabalhao, alem de que o pattern matching pode deixar bem claro pra quem esta lendo o codigo de quem esta invocando o metodo.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Luiz C. F. dos Santos</title>
		<link>http://www.kumpera.net/blog/index.php/2007/06/10/sobre-pointeros-e-pattern-matching/comment-page-1/#comment-12043</link>
		<dc:creator>Luiz C. F. dos Santos</dc:creator>
		<pubDate>Tue, 12 Jun 2007 13:25:43 +0000</pubDate>
		<guid isPermaLink="false">http://www.kumpera.net/blog/index.php/2007/06/10/sobre-pointeros-e-pattern-matching/#comment-12043</guid>
		<description>OK, o wiki eu já li... básico :-) Os duas outras referências vou ler. Obrigado!</description>
		<content:encoded><![CDATA[<p>OK, o wiki eu já li&#8230; básico :-) Os duas outras referências vou ler. Obrigado!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: kumpera</title>
		<link>http://www.kumpera.net/blog/index.php/2007/06/10/sobre-pointeros-e-pattern-matching/comment-page-1/#comment-12010</link>
		<dc:creator>kumpera</dc:creator>
		<pubDate>Mon, 11 Jun 2007 23:29:48 +0000</pubDate>
		<guid isPermaLink="false">http://www.kumpera.net/blog/index.php/2007/06/10/sobre-pointeros-e-pattern-matching/#comment-12010</guid>
		<description>Luiz, o &lt;a href=&quot;http://en.wikipedia.org/wiki/Pattern_matching&quot; rel=&quot;nofollow&quot;&gt;verbete da wikipedia&lt;/a&gt; é uma boa leitura por onde começar, especialmente os links externos. 
.
Fora isso recomendo ler o Scala By Example, possui uma ótima introdução sobre o assunto. O manual introdutorio do Erlang também discorre muito bem sobre o assunto, vale conferir também.</description>
		<content:encoded><![CDATA[<p>Luiz, o <a href="http://en.wikipedia.org/wiki/Pattern_matching" rel="nofollow">verbete da wikipedia</a> é uma boa leitura por onde começar, especialmente os links externos.<br />
.<br />
Fora isso recomendo ler o Scala By Example, possui uma ótima introdução sobre o assunto. O manual introdutorio do Erlang também discorre muito bem sobre o assunto, vale conferir também.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Luiz C. F. dos Santos</title>
		<link>http://www.kumpera.net/blog/index.php/2007/06/10/sobre-pointeros-e-pattern-matching/comment-page-1/#comment-11985</link>
		<dc:creator>Luiz C. F. dos Santos</dc:creator>
		<pubDate>Mon, 11 Jun 2007 16:17:13 +0000</pubDate>
		<guid isPermaLink="false">http://www.kumpera.net/blog/index.php/2007/06/10/sobre-pointeros-e-pattern-matching/#comment-11985</guid>
		<description>Não conhecia &quot;pattern matching&quot;, onde posso ler mais sobre isso?</description>
		<content:encoded><![CDATA[<p>Não conhecia &#8220;pattern matching&#8221;, onde posso ler mais sobre isso?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: kumpera</title>
		<link>http://www.kumpera.net/blog/index.php/2007/06/10/sobre-pointeros-e-pattern-matching/comment-page-1/#comment-11936</link>
		<dc:creator>kumpera</dc:creator>
		<pubDate>Mon, 11 Jun 2007 01:37:13 +0000</pubDate>
		<guid isPermaLink="false">http://www.kumpera.net/blog/index.php/2007/06/10/sobre-pointeros-e-pattern-matching/#comment-11936</guid>
		<description>Luca, atribuição com desestruturante é uma das principais utilidades de pattern matching, inclusive é uma forma de ter o equivalente a checked exceptions, porém de maneira muito menos intrusiva. 
.
Erlang utiliza o idioma de que toda função deve retornar a tupla {ok, _} no caso de sucesso, onde _ é o resultado efetivo. Quando a função falha com { error, Reason }, irá causar uma falha de matching e uma exception.</description>
		<content:encoded><![CDATA[<p>Luca, atribuição com desestruturante é uma das principais utilidades de pattern matching, inclusive é uma forma de ter o equivalente a checked exceptions, porém de maneira muito menos intrusiva.<br />
.<br />
Erlang utiliza o idioma de que toda função deve retornar a tupla {ok, _} no caso de sucesso, onde _ é o resultado efetivo. Quando a função falha com { error, Reason }, irá causar uma falha de matching e uma exception.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Luca Bastos</title>
		<link>http://www.kumpera.net/blog/index.php/2007/06/10/sobre-pointeros-e-pattern-matching/comment-page-1/#comment-11930</link>
		<dc:creator>Luca Bastos</dc:creator>
		<pubDate>Mon, 11 Jun 2007 00:27:05 +0000</pubDate>
		<guid isPermaLink="false">http://www.kumpera.net/blog/index.php/2007/06/10/sobre-pointeros-e-pattern-matching/#comment-11930</guid>
		<description>Ponteiros e Pattern matching não são difíceis de usar mas eles podem dificultar bem a leitura do código até que a gente se acostume com eles.
.
Pattern matching assusta um pouco mas nem tanto para quem se acostumou a usar o printf do C, que no fundo faz parecido. O problema é acostumar a cabeça com o fato de que o sinal de igual (=) NÃO significa atribuição de valor e sim Pattern matching na hora de ler o código.
.
Para quem nunca viu nenhum exemplo de Pattern matching, aí vai um trechinho de programa (para simplificar, por ora entendam tupla como um &quot;vetor&quot;):
.
% Point vai conter a tupla {point, 10, 45}
Point = {point, 10, 45}.
%
% Coloca os valores 10 e 45 em X e Y
{point, X, Y} = Point.
.
Os valores são extraídos de Point e o sinal de igual(=) faz o Pattern matching.</description>
		<content:encoded><![CDATA[<p>Ponteiros e Pattern matching não são difíceis de usar mas eles podem dificultar bem a leitura do código até que a gente se acostume com eles.<br />
.<br />
Pattern matching assusta um pouco mas nem tanto para quem se acostumou a usar o printf do C, que no fundo faz parecido. O problema é acostumar a cabeça com o fato de que o sinal de igual (=) NÃO significa atribuição de valor e sim Pattern matching na hora de ler o código.<br />
.<br />
Para quem nunca viu nenhum exemplo de Pattern matching, aí vai um trechinho de programa (para simplificar, por ora entendam tupla como um &#8220;vetor&#8221;):<br />
.<br />
% Point vai conter a tupla {point, 10, 45}<br />
Point = {point, 10, 45}.<br />
%<br />
% Coloca os valores 10 e 45 em X e Y<br />
{point, X, Y} = Point.<br />
.<br />
Os valores são extraídos de Point e o sinal de igual(=) faz o Pattern matching.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
