Parallel Perl – autoparallelizing interpreter with JIT

A deep dive into the evolution of Perl-based automation systems and the emergence of Parallel Perl (pperl), a high-performance Rust-based interpreter developed with AI assistance.
GPW 2016 · Nuremberg · "KI: Wie testet man ein Hirn?"
That was 10 years ago. A lot happened.
"Patience you must have, my young Padawan"
This prologue is not about Perl – but it is necessary context.
Some things are better left unspoken.
What I can show you today is roughly half of what happened.
– moving on
Designed, built, automated
Victron ecosystem · Perl monitoring & control
Reference S1 · Nuremberg
~24 kWp · 45 kWh · 80+% off-grid · feed-in
Reference J2 · Prague
40 kWp · 120 kWh · 100% off-grid
A technocrat's house – 2050s standard
A house this complex needs an automation system
that doesn't exist yet.
–
Witty House Infrastructure Processor
First tools: Victron Modbus + ECS BMS – all in Perl
$ ecs_bms_tool -range 1-16 # query all battery modules
$ ecs_bms_tool -get cell_voltage -get cell_temperature
$ ecs_bms_tool -otype json # JSON for pipeline integration
$ Wmodbus discover 192.168.2.0/24 # find Modbus devices on network
$ Wmodbus --host 192.168.2.201 --unit 2 read holding 0-10
$ Wmodbus --host 192.168.2.201 --profile vents-dbe900l monitor
ecs_bms_tool – ECS LiPro BMS management (SoC, cell voltage, balancing)
Wmodbus – Modbus TCP/RTU: discovery, read/write, device profiles, monitoring
Wcli – solar irradiance & PV power calculator
Wthermal – physics-based house thermal model
Scripts work. But a house is more than solar panels.
Preferably in Perl, obviously.
"We do not like CPAN" – dependencies create problems. So we reimplement everything ourselves. But worse.
"We do not like PBP" – contributions are done by amateurs. Too high expectations would kill contribution.
"Efficient algorithms are overrated" – "So what? That's 0.1s faster?"
"Tests? TDD? That's superfluous work!"
"I don't like you, you cannot use my GPL code"
(FHEM people: no offense. Well, maybe a little.)
Nice idea. Wrong execution.
I felt there had to be something better.
Why CAN? Hardware arbitration (CSMA/CR) · true multi-master · 1 Mbit/s · differential · industrial grade
Why not WiFi/Zigbee? No batteries to die. No mesh to collapse. Building for 50 years, not 5.
Why not RS485? No arbitration. Master-slave only. Two nodes transmit = garbage.
Why not KNX? 9600 baud (1990s design). Expensive. Closed ecosystem.
So you have 20 nodes – now what?
Higher layers are always a supplement, never a requirement.
Hardware: STM32F103 (Cortex-M3, 72 MHz), STM32F303 (Cortex-M4F, FPU), Native bxCAN controller
Software: FreeRTOS · libopencm3. No vendor HAL lock-in. One YAML = one firmware. Dependency resolver inspired by Linux Kconfig.
Ganglion = GANG of Lightweight I/O Nodes – insect-brain model. IF-THEN rules, timers, local variables – compiled to bytecode on the MCU. Nodes operate autonomously even when hub/server are down.
DEF LightTimeout = 300 # 5 minutes
# Motion detected: light on, start timer
IF motion:detected THEN lights:on; SET $T_0 = LightTimeout
# Timer expired: light off
IF !$T_0 THEN lights:off
# Cross-node: kitchen smoke – alarm everywhere
DEF Kitchen = 42
IF Kitchen:smoke:detected THEN buzzer:alarm(1)
Toolchain: Wgc (Compiler), Wgi (Interpreter), Wgs (Simulator). Specialized RasPi hubs. No hub is a single point of failure.
SELV = Safety Extra Low Voltage. Under 60V DC. Entire lighting chain runs from battery storage. 48V – 24V DC/DC – LED. No 230V AC anywhere. DALI controls at 16V. Switches, sensors, dimmers – all SELV.
SNMP: 2 days with AI · CPAN module was 93% working · targeted fixes, no rewrite. 4740 MIBs · 301 fixes · 52 fewer failures than Go.
gRPC: Built from scratch. FFI::Platypus bindings to the gRPC C API. 326 tests passing · zero memory leaks · zero crashes.
AI doesn't do this on its own. Human: strategy, architecture, learning path, priorities. AI: execution, documentation, pattern learning, iteration.
pperl (PetaPerl / ParallelPerl): A Perl 5 interpreter/platform – designed by humans. Written in Rust – by many AI agents. Serious – no toy or academic exercise. Compatibility: strive for maximum Perl 5 compliance (5.42). Performance: strive for V8 levels.
Source: Hacker News










