<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Capability Catalog on Mica Development UG</title><link>https://mica-dev.com/compiler/capabilities/</link><description>Recent content in Capability Catalog on Mica Development UG</description><image><title>Mica Development UG</title><url>https://mica-dev.com/Mica%20Development%20Web.jpeg</url><link>https://mica-dev.com/Mica%20Development%20Web.jpeg</link></image><generator>Hugo</generator><language>en</language><atom:link href="https://mica-dev.com/compiler/capabilities/index.xml" rel="self" type="application/rss+xml"/><item><title>Compile-time data-race freedom</title><link>https://mica-dev.com/compiler/capabilities/data-race-freedom/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://mica-dev.com/compiler/capabilities/data-race-freedom/</guid><description>Mica catches shared-state access at compile time through a marking discipline on the activation tree - no ownership types, no lifetime annotations, and no runtime race detection.</description></item><item><title>Heap lifetime proven at compile time</title><link>https://mica-dev.com/compiler/capabilities/heap-lifetime-proof/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://mica-dev.com/compiler/capabilities/heap-lifetime-proof/</guid><description>Mica proves heap lifetimes by flow analysis. Undischarged allocations are compile errors, and where the analysis cannot follow a pointer it narrates rather than demands.</description></item><item><title>Own code generation, end to end</title><link>https://mica-dev.com/compiler/capabilities/no-llvm-backend/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://mica-dev.com/compiler/capabilities/no-llvm-backend/</guid><description>Mica generates native x86_64 and AArch64 code with its own backend. Every phase from lexing to DWARF emission is ours, with no external code-generation dependency.</description></item><item><title>The C boundary as a typed surface</title><link>https://mica-dev.com/compiler/capabilities/c-boundary/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://mica-dev.com/compiler/capabilities/c-boundary/</guid><description>Mica links against C libraries in both directions with no wrapper layer, and lifts C error conventions into the language&amp;#39;s failure channel at the call site.</description></item><item><title>The failure channel</title><link>https://mica-dev.com/compiler/capabilities/failure-channel/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://mica-dev.com/compiler/capabilities/failure-channel/</guid><description>Mica separates expected errors from bugs. The fails channel is out-of-band - no sum types, no payload enums, no tuples - and release builds pay nothing for it.</description></item><item><title>Zero-dependency implementation</title><link>https://mica-dev.com/compiler/capabilities/zero-dependency/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://mica-dev.com/compiler/capabilities/zero-dependency/</guid><description>The Mica compiler has no external code dependencies. Every phase is ours, which makes the supply-chain surface effectively nil.</description></item><item><title>Determinism as a shipped guarantee</title><link>https://mica-dev.com/compiler/capabilities/determinism/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://mica-dev.com/compiler/capabilities/determinism/</guid><description>Mica guarantees bit-identical numeric results across carrier counts and across architectures, by partitioning work so accumulations are never split.</description></item><item><title>How the optimizer sees your code</title><link>https://mica-dev.com/compiler/capabilities/how-the-optimizer-sees-your-code/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://mica-dev.com/compiler/capabilities/how-the-optimizer-sees-your-code/</guid><description>Mica builds a control flow graph, then derives liveness and reaching definitions as monotone dataflow analyses whose worklist iteration provably converges.</description></item><item><title>Ownership without lifetimes</title><link>https://mica-dev.com/compiler/capabilities/ownership-without-lifetimes/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://mica-dev.com/compiler/capabilities/ownership-without-lifetimes/</guid><description>Mica answers ownership and aliasing independently, with defaults chosen by data-flow direction: returns give ownership, parameters borrow it. No lifetimes, no reference types.</description></item><item><title>Register homes are a release-mode decision</title><link>https://mica-dev.com/compiler/capabilities/register-allocation/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://mica-dev.com/compiler/capabilities/register-allocation/</guid><description>How the Mica compiler assigns registers: whole-function linear scan, Chaitin–Briggs graph colouring with coalescing, loop-weighted spill costs, and a debug build in which no variable is optimised away.</description></item><item><title>Memory model and ordering guarantees</title><link>https://mica-dev.com/compiler/capabilities/sequential-consistency/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://mica-dev.com/compiler/capabilities/sequential-consistency/</guid><description>Mica&amp;#39;s memory model is DRF-SC - data-race-free programs are sequentially consistent - with the data-race-freedom obligation moved into the compiler.</description></item><item><title>Allocator selection is a link-time decision</title><link>https://mica-dev.com/compiler/capabilities/allocator-as-link-decision/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://mica-dev.com/compiler/capabilities/allocator-as-link-decision/</guid><description>Mica treats allocator selection as instruction selection. Deployment class is decided at link time, so one source tree serves a hosted server and a no-OS-heap embedded target.</description></item><item><title>Global value numbering</title><link>https://mica-dev.com/compiler/capabilities/global-value-numbering/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://mica-dev.com/compiler/capabilities/global-value-numbering/</guid><description>Mica eliminates redundant computation with dominance-scoped hash-based global value numbering, with literals participating as values and every collapse reported as a counter.</description></item><item><title>Tasks and blocking I/O</title><link>https://mica-dev.com/compiler/capabilities/tasks-and-blocking-io/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://mica-dev.com/compiler/capabilities/tasks-and-blocking-io/</guid><description>How the Mica runtime schedules stackful tasks over carrier threads, and what happens to the rest of the program when one task issues a descriptor operation that would block.</description></item><item><title>Refusals as design</title><link>https://mica-dev.com/compiler/capabilities/refusals-as-design/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://mica-dev.com/compiler/capabilities/refusals-as-design/</guid><description>Mica refuses variant records, procedural types, double indirection, with-statements and goto in statement position — each refusal has a structural replacement.</description></item></channel></rss>