2009/2/24 Angel Arancibia<br>&gt;<br>&gt; El día 24 de febrero de 2009 18:24, &quot;Sebastián D. Criado&quot;<br>&gt; &lt;<a href="mailto:sebastian.criado@gmail.com">sebastian.criado@gmail.com</a>&gt; escribió:<br>&gt; &gt; Jose Luis Diaz escribió:<br>
&gt; &gt; Nuevo hilo para el tema así no molestamos.<br>&gt; &gt;<br>&gt; &gt; [...]<br>&gt; &gt;&gt;&gt; Entonces el interprete que uso viene con bola de cristal incorporado<br>&gt; &gt; ya que distingue cadena de número sin que la declare previamente como en<br>
&gt; &gt; C o Pascal..<br>&gt; &gt;&gt;<br>&gt; &gt;&gt; Sip, la bola de cristal se llama introspeccion :)<br>&gt; &gt;<br>&gt; &gt; Interesante. No sabía que se le llamada así.<br>&gt; &gt; Encontré un viejo artiuclo de IBM sobre el tema<br>
&gt; &gt;<br>&gt; &gt; Guide to Python introspection<br>&gt; &gt; <a href="http://www.ibm.com/developerworks/linux/library/l-pyint.html">http://www.ibm.com/developerworks/linux/library/l-pyint.html</a><br>&gt;<br>&gt; Otra forma de decir &quot;if it walks like a duck and quacks like a duck, I<br>
&gt; would call it a duck&quot; :)<br><br>Creo que son cosas distintas aunque muy relacionadas a los sistemas de tipos de los lenguajes: introspección, type inference (inferencia de tipos), duck typing.<br>Me explico:<br>
<br>* <a href="http://en.wikipedia.org/wiki/Introspection_%28computer_science%29">introspección</a> permite obtener en tiempo de ejecución información acerca del tipo de una variable u objeto (se usa mucho en lenguajes OO: python, ruby, java reflection)<br>
* <a href="http://en.wikipedia.org/wiki/Type_inference">type inference</a> (inferencia de tipos): es deducir o descubrir el tipo del resultado de evaluar una expresión (acabo de leer que en Haskell hace uso intensivo de esto)<br>
* <a href="http://en.wikipedia.org/wiki/Duck_typing">duck typing</a> sería una manera de considerar los tipos basada en el comportamiento y características &quot;apreciables&quot; o &quot;visibles&quot; de un objeto, y no por sus relaciones de herencia o implementaciones de interfaces (o sea mas sus características estáticas)...es frecuente verlo es lenguajes OO dinámicos (Ruby, Python)<br>
<br>mis 20 australes<br><br>saludos,<br>--p<br>&gt;<br>&gt; _______________________________________________<br>&gt; Programacion mailing list<br>&gt; <a href="mailto:Programacion@lugro.org.ar">Programacion@lugro.org.ar</a><br>
&gt; <a href="http://www.lugro.org.ar/mailman/listinfo/programacion">http://www.lugro.org.ar/mailman/listinfo/programacion</a><br><br>