Ada provides an extensive set of capabilities for creating programs with concurrent code modules (tasks), for real-time programming, similar to Java threads. Those tasks are executed concurrently with the rest of the program, so I thought the best way to test them on a Raspberry Pi is by blinking two LEDs at different time intervals ;)       Accessing the GPIO pins on a Raspberry Pi from an Ada program requires a library, I'm using  Linux Simple I/O Library  by    Philip Munts.   Assuming we have two LEDs (and corresponding resistors) on GPIO17 and 18, here's the source code for blinking them at different intervals, using tasks.    -- --  GPIO LED Test using libsimpleio --  task version -- WITH Ada.Text_IO; USE Ada.Text_IO; WITH GPIO.libsimpleio;  PROCEDURE blinky_tasks IS    LED_red : GPIO.Pin := GPIO.libsimpleio.Create(0, 17, GPIO.Output);   LED_green : GPIO.Pin := GPIO.libsimpleio.Create(0, 18, GPIO.Output);   Ch : Character;   Available : Boolean;    task First_task; ...