<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class="">I have always been curious about how hard it would be to port a very small subset of Erlang to FreeRTOS, so that it could be run on cheap micro-controllers like the ESP8266 (or the ESP32, now that it is being produced in volume).</div><div class=""><br class=""></div><div class="">I've done a bit of hobbying with micropython on the ESP8266, and while it is a gas, trying to deal with concurrency (asyncio) in python is a nightmare [1].   Des anyone actually think coroutines are a sound idea?  (Likely I just don't get it)</div><div class=""><br class=""></div><div class="">Abstracting all the concurrency out the way with Erlang seem ideal for embedded systems, IMO, even if you are dealing with only one scheduler.</div><div class=""><br class=""></div><div class="">-Fred</div><div class=""><br class=""></div><div class="">[1] Grep for `yield` at <a href="https://github.com/fadushin/esp8266/blob/809360a9bd99ddbb920edf4f734d803036dec868/micropython/uhttpd/uhttpd.py" class="">https://github.com/fadushin/esp8266/blob/809360a9bd99ddbb920edf4f734d803036dec868/micropython/uhttpd/uhttpd.py</a>, if you want your eyes to bleed.</div><br class=""><div><blockquote type="cite" class=""><div class="">On Jul 19, 2017, at 6:45 AM, Joe Armstrong <<a href="mailto:erlang@gmail.com" class="">erlang@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class="">Sonic Pi V3 now includes a complete Erlang distribution.<br class=""><br class="">Sonic Pi is a complete programmable music making machine,<br class="">for teaching kids to program and for music experiments.<br class=""><br class="">The Erlang is well hidden away - but it's there<br class="">together with a complete Ruby and Supercollider (also hidden)<br class=""><br class="">So far I've only tested this on my Mac - but I think Erlang<br class="">is also included in the rasberry Pi, linux and windows distributions<br class="">(or at least will be)<br class=""><br class="">This is actually an amazing bit of engineering - in a single desktop app<br class="">Sonic Pi includes complete stripped down  versions of Ruby and Erlang<br class="">and the Supercollider. All these are isolated components talking<br class="">together through OSC over UDP.<br class=""><br class="">(See <a href="http://joearms.github.io/2016/01/28/A-Badass-Way-To-Connect-Programs-Together.html" class="">http://joearms.github.io/2016/01/28/A-Badass-Way-To-Connect-Programs-Together.html</a><br class="">- for details of OSC)<br class=""><br class="">Sonic Pi is programmed in Ruby+Erlang+C++ + Supercollider language<br class="">and uses QT for the interface.<br class=""><br class="">This is how systems should be built.<br class=""><br class="">Sam has done a fantastic job job here - as a side effect of this<br class="">Erlang will be in the standard Rasberry Pi distro - whether it stays there<br class="">is up to YOU - Sam has done the ground work - this actually opens the<br class="">SonicPi infrastructure to Erlang and Elixir Programmers<br class=""><br class="">So what are you waiting for? -  Go write a drum machine in Erlang<br class="">or an arpeggiator or a harmonizer - or write it in Elixir if that is<br class="">your thing.<br class=""><br class="">Have fun<br class=""><br class="">/Joe<br class="">_______________________________________________<br class="">erlang-questions mailing list<br class=""><a href="mailto:erlang-questions@erlang.org" class="">erlang-questions@erlang.org</a><br class="">http://erlang.org/mailman/listinfo/erlang-questions<br class=""></div></div></blockquote></div><br class=""></body></html>