GES233

GES233

I’m posting this in response to Jose’s recent tweet (Cr. link) :

People are sleeping on Elixir for a coding harness:

  • Hot-code swapping allows you to build an extensible plugin system similar to Pi, which reloads live without dropping state

  • Designing a client-server architecture, similar to OpenCode, is basically a byproduct of the actor model (plus you get both IO/CPU concurrency)

  • The built-in distribution means you can easily isolate the brains (model + session) from the hands (sandbox + tools). For example, you can the agentic session on your machine which coordinates agents executing inside Docker or a remote node. Or even have one agent session coordinate multiple nodes (this is basically how Livebook works anyway)

Those can definitely be built from scratch in other languages, but in Elixir the building blocks are basically part of the runtime.

The comments there are some guys plugging their own libraries, so I figured this deserved a proper thread here.

Coincidentally, DeepSeek released its Harness(DSH) on 13/8, together with a paper(The orginal implementation, cordis, is extracted from Koishi chatbot framework, written by TS). The core idea, decomposing dynamic composition into spatial & temporal composability, feels like a natural fit for Elixir. What Jose siad shown elixir is actually ahead of Node(hot code swapping, the actor model, behaviours, supervision trees, etc.).

I don’t wanna implement anothor meta-framework in elixir yet, I’d like to discuss: if these ideas could be expressed natively on the BEAM, what would it enable? Could the BEAM do it even better than the TS runtime the paper targets?

Showing Posts 1 to 4

AstonJ

AstonJ

I am a fan of DeepSeek (out of all of the LLMs I have tried, its ‘personality’ is more in line with what I like, humble, smart, rather than arrogant, smart - like I’ve found some of the others) and they’re obviously technically skilled with all their advances and innovations.

Why not? Why not give it a try and see? As José said, the BEAM could well be a perfect fit (imo) especially:

Designing a client-server architecture, similar to OpenCode, is basically a byproduct of the actor model (plus you get both IO/CPU concurrency)

The built-in distribution means you can easily isolate the brains (model + session) from the hands (sandbox + tools).

Those can definitely be built from scratch in other languages, but in Elixir the building blocks are basically part of the runtime.

GES233

GES233 OP

The first agent I had even used is a tiny agent writtern in Elixir, as a learning product of ClaudeCode’s source code leak. However, Elixir’s eco has very poor support for Windows(esp somthing which related OS, like TUI), so it was abandoned when model can execute simple task with tool callings and I decided others finally.

DeepSeek’s development approach for harness, which extracts an extremely abstract and minimal core, has a strong sense of “taste”, what is honey to one is poison to another. I like it, frankly. I’ve recently been working on a similar project, but it’s not applied for harness(or agent) and it’s not as radical as DeepSeek.

GES233

GES233 OP

I wanna build a SVS(Singing Voice Synthesis) Engine(or Editor) since high school. And currently the foundation(make user intervention(e.g. override pitch curve/phoneme timing/etc.) as 1st class and DAG-engine) has been laid, now I’m focusing on refining the UI and real-world engine(like UTAU or DiffSinger/NNSVS).

The overall idea is to make everything composable. For example, I designed the tuning system to be pluggable to accommodate microtones other than only 12ET(mainstream DAW and SVS Editor like Vocaloid/UTAU only support this without plugin), or ethnic music from certain regions. This took several months since May. It’s currently over(the core, see GES233/Coconut and its rebase core SynapticStrings/Tamal), but I haven’t found a killer feature that can answer “Why elixir” yet.

One possible vision is once the PoC’s complete, deploy it online, consisting of a main server and several computing nodes performing GPU-intensive tasks(but once face memory error, NIF will crashed BEAM machine). For all world, the virtual singer(downstream of SVS) community is small. As long as there are no serious architectural problems (or DDoS attacks), the editor itself only requires one server and it can handle it perfectally.

It seems like I’m the only one whose intersect SVS X Elixir.

Ideas aren’t worth much so feel free to implement it(if you want). After all, the workload of the editor cannot be accomplished simply by telling the Agent one prompt.

GES233

GES233 OP

I tried to re-implement cordis since yesterday(see GES233/Dexterous).

All I did was just simply convert the paper into markdown and send it to the Agent(Kimi K3 & Kimi Code / DeepSeek Harness, I choose Kimi because DeepSeek’s API price increased so high, and I had Kimi Code’s subscription for a year). LOC for extisted components is just ~2k.

Currently, all except HMR have been achieved(My initial suggestion was to use the native Elixir/BEAM concepts instead of the Cordis’ wheel/components). I wanted to reference Phoenix.CodeReloaderat beginning, but its too coarse(required next request and recompiling whole BEAM). Also, BEAM’s hot reloading mechanism and Cordis’s design are philosophically compatible, but differ in detail. I have to make a trade off. And cross-node/instance hot reload is not currently being considered.

Its cleary that creating another agent similar to DSH is feasible, but I personally prefer to first use it to reimplement the editor I mentioned earlier and see how it running.

— All posts loaded —

Where Next? Top

Trending in Discussions Top

AstonJ
As the title says, please share what you’ve been up to with Elixir. Whether that’s been learning it, looking into it, making stuff with i...
2977 94592 917
New
cblavier
Hey there, It’s been more than a year since we started using LiveView as our main UI library and building a whole library of UI componen...
New
mudasobwa
I am happy to introduce the very α version of the new programming language compiled to BEAM. Welcome Cure. It has literally three kille...
New
heathen
Quite interesting article Google brought me. Didn’t find any mentions about it here. What do you think in general? Would you use togethe...
New
mhanberg
Hi everyone! The first release candidate for the Expert language server project is now available! We’ve published a press release detai...
New
AstonJ
Since we have deprecated our Erlang sections (as we have dedicated Erlang Forums now) let’s add this thread for those who’d like to post ...
New
Null-logic-0
What IDE or editor are you using for Elixir development? Personally, I use Zed, and I really like it, but sometimes I wish there were a ...
New

Other Trending Topics Top

JesseHerrick
Hey, I’m Jesse and I’m the main contributor behind Dexter, a full-featured, lightning-fast Elixir LSP optimized for large codebases. It s...
New
marciok
Hi there! We created Gust: A task orchestrator inspired by Airflow. For those who have never heard about Aiflow, it’s a Python-based wor...
New
jimsynz
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
Dmk
Xamal is a deployment tool for Elixir apps that deploys native releases to bare metal servers over SSH. It’s a port of GitHub - basecamp/...
New
netoum
Corex is an accessible, unstyled UI component library for Phoenix that integrates Zag.js state machines using Vanilla JavaScript and Live...
New
webofbits
With AI doing more of the implementation work, I’ve been wondering how much coding I should deliberately keep doing myself. My main conc...
#ai
New

Latest on Elixir Forum

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews