<div dir="ltr"><div><div><div>Aparte en los proyectos de cantoalegrea,<br></div>alguna vez uds. presentaron ese chuck acá en el parche?<br><br></div>Como digamos una hora de iniciación y una de experimentación o algo asi?<br><br></div>Si ya fue no estuve<br></div><div class="gmail_extra"><br><div class="gmail_quote">2015-12-18 6:31 GMT-05:00 Federico Lopez <span dir="ltr"><<a href="mailto:fede2001@hotmail.com" target="_blank">fede2001@hotmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class=""><br>
On 12/17/2015 08:14 PM, Fabio Barone wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Gracias fede, aunque no veo como podría aplicarlo a lo que necesito hacer :)<br>
<br>
</blockquote></span>
pues estas páginas modernas de una sola vista llena de flujos que se renuevan puede tener algunas cosas en común con la programación de hilos que son concurrentes, cada parte (notificaciones, nuevas publicaciones, mensajes, etc) supongo que escuchan en paralelo y van reaccionando a partir de eventos, o ciclos de tiempo, entonces pensé que se podría sacar ideas de la arquitectura de esos lenguajes que manejan hilos simultáneos.<span class=""><br>
<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Pero otra cosa, como maneja chuck esos loops?<br>
<br>
Es que los dos hacen while (true), y en un lenguaje 'tradicional', estaría solo uno a la vez ejecutándose, al otro nunca entraría porque no se sale nunca del primero....<br>
<br>
</blockquote>
<br></span>
Las funciones se ejecutan en paralelo, sin bloquearse mutuamente, parecido a Node.<span class=""><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Hay algún keyword como yield o algo que libera el procesador? O hace un scheduling interno?<br>
<br>
</blockquote>
<br></span>
Eso! tiene un scheduling  interno ( como podríamos traducir eso?, como un agente que distribuye quién hace qué cuando, Agendador? ) y se encarga de ir ejecutando las cosas pendientes en la cola sample por sample! y también administra cuales funciones son hijas de quien, porque una función X puede disparar otro función paralela Y donde Y quedaría registrada como hija de X, y si muere X también mata a Y (un poco bíblico).<br>
<br>
Acá una diagrama del algoritmo <a href="http://jardincosmico.net/files/unloquer/Screenshot_from_2015-12-18_06:00:24.png" rel="noreferrer" target="_blank">http://jardincosmico.net/files/unloquer/Screenshot_from_2015-12-18_06:00:24.png</a><br>
<br>
Y otro diagrama ya en general de la arquitectura en tiempo de ejecución  <a href="http://jardincosmico.net/files/unloquer/chuck_runtime.png" rel="noreferrer" target="_blank">http://jardincosmico.net/files/unloquer/chuck_runtime.png</a><br>
<br>
En la sección 3.4 de su Tesis, Ge Wang el principal escritor de ChucK, explica el diseño del sistema y su implementación: <a href="http://www.cs.princeton.edu/~gewang/thesis.pdf" rel="noreferrer" target="_blank">http://www.cs.princeton.edu/~gewang/thesis.pdf</a><div class="HOEnZb"><div class="h5"><br>
<br>
<br>
_______________________________________________<br>
unloquer mailing list<br>
<a href="mailto:unloquer@lists.aktivix.org" target="_blank">unloquer@lists.aktivix.org</a><br>
<a href="https://lists.aktivix.org/mailman/listinfo/unloquer" rel="noreferrer" target="_blank">https://lists.aktivix.org/mailman/listinfo/unloquer</a><br>
</div></div></blockquote></div><br></div>