Reviews (1 human, 2 LLM)
pl/matlab (high) 2026-10-01pl/matlab (high) 2026-09-29pl/matlab (high) 2026-09-29.mDistinct files in the full Software Heritage archive (2026-06-04 export), dated by first appearance, following Desmazières, Di Cosmo, Lorentz (MSR 2025). Case-aggregated. citation.
Case variants in archive: .m (52.5M), .M (31.6K) — aggregated above.
Study m — What is actually in the .m extension on Software Heritage? Report: docs/m_swh_study.md · PDF.
Population. 51,414,668 .m files in 2,076,824 repositories.
Sample. share of files — 10,000 .m files drawn uniformly at random; 1,000 read by both LLM judges, all labelled by the study's rules, and all 368 rare-language candidates judged; share of repositories — 3,000 repositories drawn uniformly at random, one random .m file each; 1,000 judged, all labelled by the study's rules, and all 55 rare-language candidates judged.
Each share says how it was estimated (judged sample, PPI over the rule-labelled sample, or tail census); 95 % interval in brackets.
Help review. Review 100 of these files (blind, in your browser; submitted as a GitHub issue).
| Language / format | Share of files | Share of repositories |
|---|---|---|
Objective-C pl/objective-c | 55.6% [54.6–56.6] · PPI++ | 69.8% [68.2–71.5] · PPI++ |
MATLAB pl/matlab | 41.7% [38.7–44.8] · judged sample | 25.8% [23.2–28.6] · judged sample |
MATLAB + Octave (family) pl/matlab | 40.8% [39.8–41.9] · PPI++ | 28.2% [26.5–29.9] · PPI++ |
| not code (XML, data, text, binary) | 1.4% [1.3–1.9] · tail census | 0.93% [0.6–1.6] · tail census |
GNU Octave (Octave-only syntax) pl/octave | 1.1% [0.6–2.0] · tail census | 1.1% [0.6–2.0] · tail census |
Magma pl/magma | 0.62% [0.6–1.1] · tail census | 0.07% [0.0–0.5] · tail census |
MUMPS (M) pl/m | 0.51% [0.5–0.9] · tail census | 0.10% [0.0–0.6] · tail census |
Wolfram Language / Mathematica pl/wolfram-language | 0.48% [0.4–0.9] · tail census | 0.33% [0.2–0.9] · tail census |
Mercury pl/mercury | 0.17% [0.2–0.6] · tail census | 0.07% [0.0–0.5] · tail census |
| other languages | 0.15% [0.1–0.6] · tail census | 0.17% [0.1–0.6] · tail census |
C (misnamed .m) pl/c | 0.13% [0.0–0.6] · tail census | 0.17% [0.1–0.6] · tail census |
Limbo pl/limbo | 0.01% [0.0–0.4] · tail census | 0.0% [0.0–0.4] · tail census |
| unknown | 0.0% [0.0–0.4] · tail census | 0.13% [0.0–0.6] · tail census |
MUF pl/muf | 0.0% [0.0–0.4] · tail census | 0.0% [0.0–0.4] · tail census |
This extension is attributed to MATLAB; Mercury; Objective-C; Octave; Wolfram Language as primary by 10 authoritative claims.
.m among their extensions. Strength reflects whether the upstream source treated it as their primary extension.| Language | Source | Strength |
|---|---|---|
| MATLAB | pygments | primary |
| MATLAB | wikidata | primary |
| Mercury | linguist | primary |
| Mercury | wikidata | primary |
| Objective-C | linguist | primary |
| Objective-C | pygments | primary |
| Objective-C | wikidata | primary |
| Octave | pygments | primary |
| Octave | wikidata | primary |
| Wolfram Language | wikidata | primary |
| Limbo | linguist | secondary |
| MATLAB | linguist | secondary |
| MUF | linguist | secondary |
| MUMPS | linguist | secondary |
| Wolfram Language | linguist | secondary |
| A+ (programming language) | wikipedia | proposed |
| m4 | pygments | disputed |
| Monkey C | pygments | disputed |
| Win32 Message File | pygments | disputed |
.m on Wikidata
(property P1195) or in the Wikipedia infobox.
Source: data/derived/external_extension_index.csv.
Click Use as new PL on any row to open the
Add-PL form pre-filled with that entry's name, Wikipedia/Wikidata
URL, and this extension — one submission creates the PL + claim.
| Format | Class (Wikidata P31) | Suggested label | MIME | Notes | Action |
|---|---|---|---|---|---|
| Desktop Color Separation Q28205883 file format | file format | — | — | — | Use as new PL ↗ |
| Maple Common Binary (Amiga) Q105861793 file format | file format | — | application/octet-stream | — | Use as new PL ↗ |
| Mason file format Q130280361 file format | file format | — | application/x-mason | — | Use as new PL ↗ |
.m file actually is.| Rule | Predicts | Kind | Predicates (truncated) | Measured on SWH |
|---|---|---|---|---|
h/linguist/.m/0 | Objective-C | predicates | [{"kind": "any", "regexes": ["^\\s*(@(interface|class|protocol|property|end|synchronised|selector|implementation)\\b|#import\\s+.+\\.h[\">])"]}] | fires 1244 · precision 1.00 |
h/linguist/.m/1 | Mercury | predicates | [{"kind": "any", "regexes": [":- module"]}] | fires 3 · precision 1.00 |
h/linguist/.m/2 | MUF | predicates | [{"kind": "any", "regexes": ["^: "]}] | fires 0 |
h/linguist/.m/3 | MUMPS | predicates | [{"kind": "any", "regexes": ["^\\s*;", "(?i)^[ \\t]+(?:\\.[ \\t]+)+(?:d(?:o)?|f(?:or)?|i(?:f)?|n(?:ew)?|q(?:uit)?|s(?:et)?|w(?:rite)?)[ \\t:]", "(?i)^[ \\t]+s(?:et)?[ \\t]+\\^[%a-z][a-z0-9]*(?:\\(|=)" | fires 8 · precision 0.75 |
h/linguist/.m/4 | Wolfram Language | predicates | [{"kind": "any", "regexes": ["\\(\\*"]}, {"kind": "any", "regexes": ["\\*\\)$"]}] | fires 8 · precision 1.00 |
h/linguist/.m/5 | MATLAB | predicates | [{"kind": "any", "regexes": ["^\\s*%"]}] | fires 596 · precision 1.00 |
h/linguist/.m/6 | MATLAB | predicates | [{"kind": "any", "regexes": ["^[ \\t]*function[ \\t]+(?:\\[[^\\]\\r\\n]*\\][ \\t]*=[ \\t]*|[A-Za-z]\\w*[ \\t]*=[ \\t]*)?[A-Za-z]\\w*[ \\t]*\\(", "^[ \\t]*classdef[ \\t]+(?:\\([^\\r\\n)]*\\)[ \\t]*)?[A | fires 0 |
h/linguist/.m/7 | Limbo | predicates | [{"kind": "any", "regexes": ["^\\w+\\s*:\\s*module\\s*\\{"]}] |
m (LLM judges, human reviews) · 2 via Linguist heuristicm (LLM judges, human reviews) (23)pl/matlab (high) 2026-10-01pl/matlab (high) 2026-09-29pl/matlab (high) 2026-09-29pl/matlab (high) 2026-09-29pl/matlab (high) 2026-09-29pl/matlab (high) 2026-10-01pl/matlab (high) 2026-09-29pl/matlab (high) 2026-09-29pl/matlab (medium) 2026-10-01pl/matlab (high) 2026-09-29pl/matlab (high) 2026-09-29pl/matlab (medium) 2026-10-01pl/matlab (high) 2026-09-29pl/matlab (high) 2026-09-29pl/matlab (high) 2026-10-01pl/matlab (high) 2026-09-29pl/matlab (high) 2026-09-29pl/matlab (medium) 2026-10-01pl/matlab (high) 2026-09-29pl/matlab (high) 2026-09-29pl/matlab (high) 2026-09-29pl/matlab (high) 2026-09-29pl/matlab (medium) 2026-10-01pl/matlab (high) 2026-09-29pl/matlab (high) 2026-09-29pl/matlab (medium) 2026-10-01pl/matlab (high) 2026-09-29pl/matlab (high) 2026-09-29pl/matlab (medium) 2026-10-01pl/matlab (high) 2026-09-29pl/matlab (high) 2026-09-29pl/matlab (high) 2026-10-01pl/matlab (high) 2026-09-29pl/matlab (high) 2026-09-29pl/matlab (high) 2026-10-01pl/matlab (high) 2026-09-29pl/matlab (high) 2026-09-29pl/matlab (high) 2026-10-01pl/matlab (high) 2026-09-29pl/matlab (high) 2026-09-29pl/matlab (medium) 2026-10-01pl/matlab (high) 2026-09-29pl/matlab (high) 2026-09-29pl/matlab (high) 2026-10-01pl/matlab (high) 2026-09-29pl/matlab (high) 2026-09-29pl/matlab (medium) 2026-10-01pl/matlab (high) 2026-09-29pl/matlab (high) 2026-09-29pl/matlab (high) 2026-10-01pl/matlab (high) 2026-09-29pl/matlab (high) 2026-09-29pl/matlab (high) 2026-10-01pl/matlab (high) 2026-09-29pl/matlab (high) 2026-09-29pl/matlab (high) 2026-10-01pl/matlab (high) 2026-09-29pl/matlab (high) 2026-09-29pl/matlab (medium) 2026-10-01pl/matlab (high) 2026-09-29pl/matlab (high) 2026-09-29pl/matlab (high) 2026-10-01pl/matlab (high) 2026-09-29pl/matlab (high) 2026-09-29pl/matlab (medium) 2026-10-01pl/matlab (high) 2026-09-29pl/matlab (high) 2026-09-29m (LLM judges, human reviews)pl/magma (high) 2026-09-30pl/magma (high) 2026-09-30pl/magma (medium) 2026-10-02pl/magma (high) 2026-09-29pl/magma (high) 2026-09-29pl/magma (high) 2026-09-30pl/magma (high) 2026-09-30pl/magma (low) 2026-10-01pl/magma (high) 2026-09-29pl/magma (high) 2026-09-29pl/magma (medium) 2026-10-02pl/magma (high) 2026-09-29pl/magma (high) 2026-09-29pl/magma (medium) 2026-10-02pl/magma (high) 2026-09-29pl/magma (high) 2026-09-29pl/magma (high) 2026-09-30pl/magma (high) 2026-09-30m (LLM judges, human reviews)pl/wolfram-language (high) 2026-09-30pl/wolfram-language (high) 2026-09-30pl/wolfram-language (high) 2026-09-30pl/wolfram-language (high) 2026-09-30pl/wolfram-language (medium) 2026-10-01pl/wolfram-language (high) 2026-09-29pl/wolfram-language (high) 2026-09-29pl/wolfram-language (medium) 2026-10-01pl/wolfram-language (high) 2026-09-29pl/wolfram-language (high) 2026-09-29pl/wolfram-language (medium) 2026-10-01pl/wolfram-language (high) 2026-09-29pl/wolfram-language (high) 2026-09-29pl/wolfram-language (high) 2026-09-30pl/wolfram-language (high) 2026-09-30pl/wolfram-language (medium) 2026-10-01pl/wolfram-language (high) 2026-09-29pl/wolfram-language (high) 2026-09-29m (LLM judges, human reviews)pl/objective-c (high) 2026-09-29pl/objective-c (high) 2026-09-29pl/objective-c (high) 2026-10-02pl/objective-c (high) 2026-09-29pl/objective-c (high) 2026-09-29pl/objective-c (medium) 2026-10-02pl/objective-c (high) 2026-09-29pl/objective-c (high) 2026-09-29pl/objective-c (high) 2026-10-02pl/objective-c (high) 2026-09-29pl/objective-c (high) 2026-09-29pl/objective-c (high) 2026-10-01pl/objective-c (high) 2026-09-29pl/objective-c (high) 2026-09-29pl/objective-c (high) 2026-09-29pl/objective-c (high) 2026-09-29m (LLM judges, human reviews)pl/octave (high) 2026-10-02pl/octave (high) 2026-09-29pl/octave (high) 2026-09-29pl/octave (high) 2026-09-29pl/octave (high) 2026-09-29pl/octave (high) 2026-09-29pl/octave (high) 2026-09-29pl/octave (high) 2026-10-01pl/octave (high) 2026-09-29pl/octave (high) 2026-09-29pl/octave (high) 2026-10-02pl/octave (high) 2026-09-29pl/octave (high) 2026-09-29pl/octave (high) 2026-09-29pl/octave (high) 2026-09-29m (LLM judges, human reviews)pl/mercury (medium) 2026-10-01pl/mercury (high) 2026-09-29pl/mercury (high) 2026-09-29pl/mercury (high) 2026-09-30pl/mercury (high) 2026-09-30pl/mercury (high) 2026-09-30pl/mercury (high) 2026-09-30pl/mercury (high) 2026-09-29pl/mercury (high) 2026-09-29pl/mercury (high) 2026-10-01pl/mercury (high) 2026-09-29pl/mercury (high) 2026-09-29m (LLM judges, human reviews)pl/m (high) 2026-09-30pl/m (high) 2026-09-30pl/m (medium) 2026-10-02pl/m (high) 2026-09-29pl/m (high) 2026-09-29pl/m (high) 2026-09-30pl/m (high) 2026-09-30pl/m (high) 2026-09-30pl/m (high) 2026-09-30pl/m (high) 2026-10-01pl/m (high) 2026-09-29pl/m (high) 2026-09-29m (LLM judges, human reviews)pl/limbo (high) 2026-09-30pl/limbo (high) 2026-09-30pl/new:xlib-and-x-protocol-test-suite (medium) amended 2026-06-12