wargames.mc (WarGames simulator in MIMERCode)

What happens when you design a programming language from scratch, knowing that half the code written in it will be generated by an AI?

That question drove the creation of MIMERCode — a new programming language that is readable by business analysts, writable by humans, ChatGPT and Claude, and secure enough that you can execute AI-generated code without losing sleep.

MIMERCode ships as two executables: MIMERCodeRunner for console programs and MIMERCodeRunnerGUI for graphical applications. Write a .mc file, double-click, and it runs. No compiler toolchain. No package manager. No dependency hell.

Why Another Language?

We already have Python, JavaScript, and a hundred others. So why MIMERCode?

Because the world changed. Large Language Models now generate code every day — inside chatbots, inside automation pipelines, inside tools that non-programmers use to build things. And the languages those LLMs target were designed decades ago, for humans typing at keyboards. They are full of ambiguity, implicit behavior, and silent failure modes that LLMs stumble over constantly.

MIMERCode was designed with three goals:

  1. Readable by everyone. Plain English keywords. No semicolons. No invisible whitespace rules. Every block closes with end. A business analyst can read MIMERCode and understand what it does.
  2. Writable by AI. The syntax deliberately matches what LLMs already know from Python and JavaScript. F-strings, slicing, dictionaries, lambdas — they all work the way an LLM expects. Case-insensitive keywords mean True, true, and TRUE all work.
  3. Secure by design. Contracts validate data at boundaries. Channels sandbox all I/O. Sensitive fields are sealed automatically. There is no way for code — human or AI-generated — to silently access files, networks, or databases without explicit permission.

What Does It Look Like?

Here is a complete MIMERCode program:

program HelloWorld
local Name := "World"
WriteLn(f"Hello, {Name}!")
for I := 1 to 5 do
WriteLn(f"Count: {I}")
end
end

Save it as hello.mc, run MIMERCodeRunner hello.mc, and you get:

Hello, World!
Count: 1
Count: 2
Count: 3
Count: 4
Count: 5

No imports. No boilerplate. No configuration files. If you have ever written a line of code in any language, you can read this.

Contracts: Data You Can Trust

Every real program receives data from the outside world — from users, APIs, databases. And that data is frequently wrong. MIMERCode solves this with contracts: you declare the exact shape of valid data in one place, and the runtime enforces it automatically.

contract Customer
Name: required String minlen(1) maxlen(200),
Email: required String,
Age: optional Integer range(0, 150),
Active: default true Boolean
end

If invalid data arrives, it is rejected before your code ever sees it. No manual validation. No scattered if-checks. The contract is simultaneously the definition, the validation, and the documentation.

Sensitive fields get even better treatment:

contract PaymentRequest
CardNumber: required String sensitive,
CVV: required String sensitive,
Amount: required Double gte(0)
end

Fields marked sensitive are sealed at creation. Every accessor returns masked data (****). Logging cannot accidentally leak card numbers. Error messages cannot expose secrets. The only way to access the real value is an explicit unseal() call, creating a clear audit trail.

Pipelines: Composable Workflows

Real-world programs are multi-step workflows: validate, enrich, transform, render, deliver. MIMERCode pipelines make this explicit:

pipeline InvoiceProcess
input as OrderData
output as DeliveryPackage
Validated := ValidateOrder(Input)
Customer, Pdf := fork Validated
=> EnrichCustomer()
=> RenderOrder() |> HtmlToPdf()
end
return Assemble(Customer, Pdf)
end

Each step has a name and a contract. The fork keyword runs branches in parallel. Every step can declare its own error policy: abort, skip, retry, or fallback. The runtime logs every step with timing and trace IDs automatically. You can even load pipeline definitions from JSON configuration — change the workflow without changing code.

Channels: One Pattern for All I/O

Files, HTTP, databases, authentication — MIMERCode uses the same two-verb pattern for everything:

// Read a file
local F := open("file://data/config.json")
local Content := F.Read()
close(F)
// Call an API
local Api := open("https://api.example.com/v1")
local Users := Api.Get("/users")
close(Api)
// Serve HTTP
local Web := serve("http://0.0.0.0:8080")
on Web.Get("/") as Req: HttpRequest
return "<html><h1>Hello!</h1></html>"
end

All paths are sandboxed. Path traversal is rejected. There is no eval(), no exec(), no import os. If an LLM generates MIMERCode, it physically cannot access resources you have not explicitly permitted through a channel.

A Complete GUI Framework

MIMERCode includes a full declarative GUI framework, rendered by its own canvas engine — every pixel is painted by MIMERCode, with no platform widget dependencies.

view Counter
state
Count := 0
end
func Increment()
Count := Count + 1
end
render
vbox padding: 16, gap: 8
label text: f"Count: {Count}", font_size: 24 end
button text: "Increment", on_click: Increment end
end
end
end
local App := serve("gui://Counter",
title: "My Counter", width: 300, height: 200
)

Over 30 built-in widgets are available: text inputs, textareas with line numbers, numeric editors with hex/binary support, checkboxes, radio buttons, sliders, dropdown selects, tab containers, splitters, menubars with keyboard shortcuts, tree views, status bars, and more.

The table widget is a full data grid with sorting, column filtering, cell editing, grouping, custom cell templates, and keyboard navigation:

A table displaying employee information, including names, ages, departments, salaries, ratings, active status, and levels, with a focus on the Engineering and HR departments.

The chart widget renders line, bar, area, pie, donut, and scatter charts with tooltips, legends, zoom, and click events. Multi-series combo charts (bar + line overlay) are supported with explicit series blocks.

Bar chart displaying monthly sales performance with revenue, cost, and profit represented in blue, red, and green respectively.

Choropleth map charts display geographic data with color-coded regions, hover effects, and drill-down navigation. Click a country to see its states. Click a state to see its counties. The built-in map downloader tool converts Natural Earth GeoJSON data to MIMERCode’s lightweight .mcmap format.

World map showing GDP by country in billions of USD for 2023, with varying shades of blue representing different GDP levels.

Animations That Just Work

Add a single transition property to any widget and style changes animate smoothly:

button text: "Hover me",
background: if IsHovered then "primary" else "surface" end,
transition: "button_hover",
on_mouseenter: func() IsHovered := true end,
on_mouseleave: func() IsHovered := false end
end

Thirteen named transition presets are built in — from subtle "fade" and "focus" to playful "bounce" and "spring" with elastic overshoot. Twelve easing functions are available, including cubic, back, bounce, and elastic variants. All animations run at 60fps.

Full SVG rendering with SMIL animations is also supported — including <animate>, <animateTransform>, and <animateMotion> for path-following animations. Build loading spinners, animated icons, and data visualizations directly in SVG.

96 Built-In Icons, Two Themes

MIMERCode ships with 96 Material Design icons (from add to warning, including arrows, cloud operations, media controls, social icons, and developer tools) and complete Dark and Light themes with 48+ semantic color tokens that every widget respects automatically.

[Screenshot suggestion: Side-by-side comparison of the same app in Dark and Light theme]

Math, Statistics, Geography, and Data Formats

The standard library is comprehensive:

  • 55+ math functions — trigonometry, logarithms, combinatorics, random distributions (normal, uniform), bitwise operations, and constants (pi, e, tau, inf, nan)
  • Statistics — median, standard deviation, variance, percentile, Pearson correlation, cumulative sums, array operations
  • Linear algebra — vectors, matrices, dot/cross products, determinants, inverse, solve
  • Geographic functions — Haversine distance, bearing, great-circle paths, Mercator projection, point-in-polygon, polygon area, coordinate conversion
  • Data formats — JSON parse/stringify and CSV parse/stringify with full RFC compliance (quoted fields, escaped quotes, custom delimiters)
  • Templates — Mustache-based rendering with automatic sensitive field masking

For LLM System Builders

If you are building a system where an LLM generates code at runtime, MIMERCode was designed specifically for you. The combination of contracts, channels, and pipelines means you can execute LLM-generated code with confidence:

  • Invalid data is rejected at entry — contracts validate before your code runs
  • Secrets never leak — sensitive fields are sealed, even in error messages
  • I/O is sandboxed — channels prevent unauthorized file, network, or database access
  • Every step has error handling — pipelines provide per-step abort/skip/retry/fallback
  • Execution is fully traceable — built-in logging with trace IDs and timing

An LLM that generates MIMERCode cannot import os; os.system("rm -rf /"). It cannot read /etc/passwd. It cannot send your data to an unauthorized endpoint. The language itself makes these things impossible.

For Delphi Developers

MIMERCode will feel immediately familiar. It inherits Delphi’s class/record/interface model, constructor/destructor lifecycle, virtual/override dispatch, properties, and try/except/finally. What changed is the boilerplate: no begin/end pairs (just end), no semicolons, func instead of function/procedure, return instead of Result :=, and local variables declared anywhere instead of a var block at the top.

The runtime is built in Delphi, rendered via GDI+, and runs natively on Windows.

Getting Started

MIMERCode is developed by Components4Developers. To get started:

  1. Download MIMERCodeRunner (console) or MIMERCodeRunnerGUI (graphical)
  2. Create a .mc file with any text editor
  3. Run it: MIMERCodeRunner myprogram.mc

The MIMERCode User Manual covers everything from Hello World to choropleth maps, with complete property references for every GUI widget.

MIMERCode is not trying to replace Python or JavaScript. It is solving a specific, growing problem: how do you let AI generate code that is safe to run? Contracts, channels, and pipelines are the answer.


Copyright 2026 Components4Developers – Kim Bo Madsen. MIMERCode is proprietary commercial software.

This is both a teaser and a release post with download links and setup instructions to get you started.

Make sure to read the README and the LICENSE file before use.

Please provide feedback! If you like what we do, share your enthusiasm with others. Rate us with a thumbs up where you can – it helps us know you want us to keep going!

Downloads:

theDANE, our Delphi-native code editor (and my daily replacement for Notepad++), will receive an update shortly with more features and bug fixes. It is 100% written in Delphi.

Price? FREE

Loading

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.