[erlang-questions] [ANN] Sonic Pi 3.0 released

Joe Armstrong <>
Fri Jul 21 19:18:29 CEST 2017


Ummm - this has (according to Mr Wiki) 96 KB or RAM - this is for the
OS + application
this is really not enough memory - You'd need to totally redesign the
instruction set
(which is today a 32 threaded code) - with (say) huffman encoded
instructions and
make a tiny emulator and throw away all the BIFS (in C) - when you'd done this
it would no longer be Erlang.

(Erlang + OS did fit into 640Kb a while back (it ran on windows) but
96 KB would be
just way too little memory)

Some kind of parallel forth  might be better.

Cheers

/Joe


On Fri, Jul 21, 2017 at 5:22 PM, Fred Dushin <> wrote:
> 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).
>
> 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)
>
> Abstracting all the concurrency out the way with Erlang seem ideal for
> embedded systems, IMO, even if you are dealing with only one scheduler.
>
> -Fred
>
> [1] Grep for `yield` at
> https://github.com/fadushin/esp8266/blob/809360a9bd99ddbb920edf4f734d803036dec868/micropython/uhttpd/uhttpd.py,
> if you want your eyes to bleed.
>
> On Jul 19, 2017, at 6:45 AM, Joe Armstrong <> wrote:
>
> Sonic Pi V3 now includes a complete Erlang distribution.
>
> Sonic Pi is a complete programmable music making machine,
> for teaching kids to program and for music experiments.
>
> The Erlang is well hidden away - but it's there
> together with a complete Ruby and Supercollider (also hidden)
>
> So far I've only tested this on my Mac - but I think Erlang
> is also included in the rasberry Pi, linux and windows distributions
> (or at least will be)
>
> This is actually an amazing bit of engineering - in a single desktop app
> Sonic Pi includes complete stripped down  versions of Ruby and Erlang
> and the Supercollider. All these are isolated components talking
> together through OSC over UDP.
>
> (See
> http://joearms.github.io/2016/01/28/A-Badass-Way-To-Connect-Programs-Together.html
> - for details of OSC)
>
> Sonic Pi is programmed in Ruby+Erlang+C++ + Supercollider language
> and uses QT for the interface.
>
> This is how systems should be built.
>
> Sam has done a fantastic job job here - as a side effect of this
> Erlang will be in the standard Rasberry Pi distro - whether it stays there
> is up to YOU - Sam has done the ground work - this actually opens the
> SonicPi infrastructure to Erlang and Elixir Programmers
>
> So what are you waiting for? -  Go write a drum machine in Erlang
> or an arpeggiator or a harmonizer - or write it in Elixir if that is
> your thing.
>
> Have fun
>
> /Joe
> _______________________________________________
> erlang-questions mailing list
> 
> http://erlang.org/mailman/listinfo/erlang-questions
>
>
>
> _______________________________________________
> erlang-questions mailing list
> 
> http://erlang.org/mailman/listinfo/erlang-questions
>


More information about the erlang-questions mailing list