mayel

mayel

Conjure - taking AI coding to the next level

You describe a function. An LLM hallucinates it. The BEAM compiles and runs it live in your runtime with no restart, no compile step, no test suite, no PR reviews, no deploy. The source also lands in your codebase for further use. Straight from user input into production. Probably fine?

iex> Conjure.run("roman numeral for n", args: [2026])
"MMXXVI"

# Zig is faster than elixir for some things:
iex> Conjure.run("sum integers from 1 to n", args: [1_000_000_000], lang: :zig)
500000000500000000

# or why not use C to calculate the distance between London and Paris:
iex> Conjure.run("distance in km between two gps coordinates", args: [51.5074, -0.1278, 48.8566, 2.3522], lang: :c)
343.5560603410416

Why?

Every AI coding tool is doing some version of this. The difference is how many layers of shiny UI, “sandboxing”, and permission dialogs stand between you and the moment an LLM’s output actually executes. Conjure removes them all.

Software has spent decades building walls between users and raw execution. The stated reason is safety. The actual effect is that developers decide what users are allowed to want.

Conjure explores what the opposite feels like. Neal Stephenson asked this in 1999. We still haven’t figured it out.

Of course, the emperor has no clothes. You’re running a model that doesn’t answer your request but just produces text in the shape of an answer, statistically resembling code written by whoever happened to be overrepresented in the training data. Sometimes that’s String.myers_difference("puppy", "kitten"). Sometimes it’s System.cmd("rm", ["-rf", "/"]). Conjure will compile and run either with equal enthusiasm.

Most AI coding workflows paper over this with a reverse centaur: the human reviews and rubber-stamps LLM output, absorbing responsibility for failures they were never equipped to catch. Conjure just removes the human from the loop entirely. Just pure honest vibe coding.

The technical curiosity

slopc does something similar in Rust. The question here was whether this could be pushed further, not just at compile time via macros, but at runtime: live code generation, compilation, and execution inside a running OTP node, with no restart. And not just Elixir code: thanks to language interoperability tooling, the same trick works for Zig and C, so you can go from idea to halucinated code to computed result with a single Conjure.run/2 runtime call.

https://github.com/mayel/conjure?tab=readme-ov-file#conjure

#ai

First Post!

martosaur

martosaur

I admire the idea, similar vibes to my Handwave lib.

Do you have a good use case for it in mind or is it more of an art project right now?

Most Liked

mayel

mayel

Definitely more of a “how did we end up here” and where should (not just can which seems to be driving much of this) we go next?

Where Next?

Popular in AI / LLMs Top

ricksonoliveira
Hey folks, I have been looking for an alternative to good old VsCode for a while. Have tried some vim and emacs editors with their plugi...
New
garrison
For those who are not aware, “AI agents” are, for the most part, commodity LLMs which are given access to “tools” and prompted to complet...
#ai
New
AstonJ
What kind of impact do you think AI will have on programming/tech jobs? Have you or anyone you know been impacted directly? Does it conce...
New
ken-kost
Agreed; I just want to add that IMO Ash amplifies this even further. Especially since the dawn of usage rules. :cowboy_hat_face:
New
sergio
As more and more code is written by agents, driven by humans, what strategies are you employing to keep the slop at bay? Managing a team...
New
samoloth
Hi, recently I’ve discovered Matt Pocock’s skills for AI agents. They look extremely reasonable, especially after hearing his explanation...
New
mjason
I built a tmux alternative in Elixir, focused on remote development in the AI era. It makes using remote AI agents feel just like running...
#ai
New

Other popular topics Top

JeremM34
Hello, how can I check the Phoenix version ? Thanks !
New
minhajuddin
I have seen a lot of code which picks the first element from a list using Enum.at(0) instead of List.first. Is there a reason why people ...
New
gausby
I asked this very same question on twitter and got some interesting feedback, but I thought it would be a good question to ask here as we...
1207 40165 209
New
sorentwo
Hello! tl;dr Announcing Oban, an Ecto based job processing library with a focus on reliability and historical observability. After spen...
985 44778 311
New
sergio
Kind of like when jquery came out, it was super necessary. Existing drag and drop libraries have a bunch of baggage to support old browse...
New
senggen
Erlang/OTP 25 [erts-13.2.2] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1] 15:22:35.803 [error] gen_event {lager_file_backend...
New

We're in Beta

About us Mission Statement