A Defense of eco and of my character

Eco is an independently developed Elm compiler project with its own architecture, implementation history and technical objectives.

Some similarities have been drawn between Eco and other projects in the Elm ecosystem, particularly in relation to website design, roadmap structure and terminology. Similarity alone, however, is not evidence of plagiarism. Projects working in the same technical space will often converge on similar concepts, milestones and vocabulary because they face many of the same engineering problems.

The use of terms such as “bytecode” and “runtime” reflects Eco’s actual implementation.

Eco compiles Elm through an MLIR-based intermediate representation. That representation can be serialized into a binary file, so describing it as bytecode is technically accurate. The change from “MLIR dialect” to “Eco bytecode dialect” was intended to describe the existing system more clearly, not to signal a new direction or a borrowed idea.

Similarly, a GitHub link was corrected to point to a repository named eco-runtime. That repository had already carried that name since November 2025. The correction therefore did not represent a sudden change in product positioning on 3 June. The repository was subsequently renamed eco-compiler, which further demonstrates that the link correction was not evidence of an attempt to reposition Eco around the word “runtime”.

The roadmap similarities also need to be understood in context. Compiler projects commonly progress through comparable stages: establishing an intermediate representation, compiling or executing programs, adding runtime support, improving tooling, stabilising releases and extending deployment options. These are largely determined by technical dependencies rather than by any one project’s originality.

Common technical words such as “bytecode”, “runtime”, “compiler”, “enterprise support” and “roadmap” are not distinctive expressions. A credible claim of copying would require evidence of unusual shared wording, non-obvious duplicated structure, copied implementation ideas or a clear development chronology showing direct derivation.

Eco has been developed over a substantial period, with its design decisions visible in its code, commit history and documentation. Its architecture is materially different from other Elm execution projects. It uses MLIR and LLVM, preserves type and representation information through the compiler pipeline, and includes its own work on specialization, runtime representation, garbage collection and native code generation.

The central point is simple: Eco should be judged on its implementation and development history. Publicly visible terminology changes or broad similarities between roadmaps do not establish plagiarism, particularly where those changes have direct technical explanations.

Reasonable questions about provenance, design and chronology are welcome. They should be addressed by examining the underlying work carefully and by distinguishing ordinary convergence from genuine copying.


I reject the portrayal of me as dishonest, opportunistic, or willing to take credit for another person’s work.

I have spent much of my professional life building complex systems, sharing technical ideas, and engaging seriously with the work of others. I understand the importance of attribution. Where an idea comes from someone else, I believe in acknowledging that clearly. I would not knowingly present another person’s original work as my own.

My record is one of sustained effort rather than shortcuts. I am prepared to do difficult, detailed work over long periods, to explain my reasoning publicly, and to accept scrutiny of what I have produced. That is not consistent with the picture of someone seeking attention through appropriation.

I have also tried to resolve disagreements directly and privately before allowing them to become public disputes. I approached the earlier concern in a conciliatory manner and was willing to make changes to reduce friction, even though I did not accept the underlying accusation. That willingness should not be mistaken for an admission of wrongdoing.

When I was later accused publicly in severe and personal terms, I responded defensively. Some of my language was sharper than it needed to be. I can acknowledge that without accepting a false account of my intentions or character. Irritation under attack is not evidence of dishonesty.

I do not believe that another person’s success diminishes my own, nor do I object to others working in the same field. I welcome independent projects, competing approaches, and serious technical disagreement. My aim is to contribute useful work, not to claim ownership of an area or prevent others from participating in it.

The accusations made against me attribute motives that are not mine. They turn disagreement, coincidence, and competition into allegations of moral misconduct. Those allegations should not be accepted merely because they are expressed forcefully.

I ask to be judged by my established conduct: whether I work openly, whether I give credit where it is due, whether I engage with evidence, whether I try to resolve conflict reasonably, and whether I stand behind my own work.

On that basis, I believe the suggestion that I am a plagiarist or a person of bad faith is both unsupported and unjust.

I do not have much desire to wade into the current controversy; however I’ll make a few points:

  1. Rupert has been a member in good standing of the Elm community for a long time. He has helped maintain and write a number of useful packages that many of us use day-to-day. As such I believe he deserves the benefit of doubt on any allegations.

  2. The allegations have been heavy on rhetoric and light on evidence. As far as I can tell from a cursory reading of the posts, only a very uncharitable reading of the actions presented could be interpreted as anything dishonest. I’d suggest taking some time to cool off and if there is still a feeling of being mistreated, a clear, unemotional and factual statement of the facts and evidence may well be more convincing than what we have seen so far.

This is fair and unfair at the same time.

It’s fair that you’re asking for a cooldown period, which I will accept, even more so as I’m waiting to hear from Elm Camp organizers about the complaint I made this morning.

It’s unfair because it classifies the argumentation “light on evidence” without examination of what constitutes strong evidence in cases of allegations of plagiarism.

Let’s cool off and then I’ll present the evidence again in the shortest possible format: there’s enough noise in that thread to make the essence lost. (Also, it got delisted as I result of my request, I believe).

As I did notify Rupert, there’s a new piece of “actions, not words,” coming, so I expect further minimization in the meantime.

In ethics and logic, relying on a person’s past good deeds to excuse or deny intellectual theft is a mix of Halo Effect (assuming a person is entirely good due to past good deeds) and the Appeal to Virtue fallacy.

There are heaps of historical cases where this exact defense—“A respected member who has given so much to our community”—was explicitly used by colleagues and institutions to protect a plagiarist, only for it to blow up in their faces then the fraud proved undeniable. Here are two examples I actually remember reading about.

Diederik Stapel

Stapel was a superstar of social psychology in the Netherlands. A prolific publisher, immensely popular in that community because of his studies constantly bringing positive attention and funding to his university.

When junior researchers first noticed anomalies in Stapel’s data in 2011, university leadership brushed them off. Senior faculty members defended him, pointing out how much prestige and grant money he had brought to the institution. They argued it was unthinkable that a man who had done so much for the community could be a fraud.

In reality, Stapel had spent over a decade completely fabricating data from scratch, for at least 55 major papers. His respected status only delayed his exposure, ultimately creating a “crisis of confidence” that tarnished the entire field of social psychology globally.

Stephen Ambrose

Legendary American historian, best-selling author, and the founder of the National WWII Museum.

In 2002 it was revealed that Ambrose had used substantial chunks of text from other historians without quotation marks or attribution.

His defenders argued Ambrose had single-handedly revitalized public interest in military history, helped fund major museums, and his “net positive impact” on the community vastly outweighed “sloppy footnoting.”

Ultimately, scholars pointed out that being a “net positive” storyteller does not give someone a license to steal the precise intellectual labor of less-famous writers. His legacy remains compromised because his immense public contribution could not wash away the fundamental dishonesty of his methodology.


Many other examples on OriginalityReport.com, RetractionWatch.com and other sites. Also look up the horrifying peer review theft that is all about abusing access to privileged information.

Utility vs Integrity

Someone can build a highly useful piece of software that saves money to companies, or helps thousands be more productive, and still steal one person’s code or product strategy. A “good thing” doesn’t negate the “bad thing." These two variables operate in different dimensions.

Defense based on prestige and utility compromises a community’s ethical standards and sends a message to younger members that rules only apply to the powerless.

Is it just me that thinks this, or does this look like a campaign of harassment against me ?

Mods - please remove these posts which contain threats “actions not words” and are amounting to a campaign of harassment against me. Then lock the thread. @ianmackenzie

It is not okay to expose private communication of any kind publicly, especially when it contains financially damaging information for others.

Please show good faith and delete that post before the facts are again indexed by search engines.

This thread is supposed to be a clear exchange based on informed evidence one can engage with.

To that effect, I’ve asked for one last post to provide evidence of my allegations per @gampleman 's point 2, based on clear facts without any personal mentions, hopefully providing closure to this incident, at least from my side.

Public speech is an important form of community building and building up community resilience. If we speak up publicly, especially on complex topics like this one, we are automatically public personae and our duty is to also educate through explanations and examples of statements we give.

Once again, I call the few that flagged the post without engaging with evidence to engage in a discourse that benefits younger members. Examine what leads you to flag a factual post as inappropriate. The intent of the post is to counter a widely held belief that appeal to utility is a valid reason for a benefit of the doubt. Taking into account we’re an intellectual profession, I think it’s important to examine these important issues.

I think side-taking and emotional reactions from the shadow like this detract from getting benefit to individuals themselves and the wider group and end up being only a signal that certain topics cause emotional reactions, without deeper examinations of why this is so.

Ask yourself privately, what is it that made me react so strongly to a factual post like that? Explore and learn for yourself.

To repeat myself, this public discourse must be an opportunity to explore and learn. It is a tough topic, but the time you took to read must be worth your while. Examine your emotions, your ethical views, and grow.

OK seems clear that this thread has also devolved, so I’m going to lock it like the original one and post some reminders on the forum guidelines.