Skip to content

Conversation

@nickswalker
Copy link
Contributor

Adds Mathematical Programming System:

MPS (Mathematical Programming System) is a file format for presenting and archiving linear programming (LP) and mixed integer programming problems.
...
The format was named after an early IBM LP product[1] and has emerged as a de facto standard ASCII medium among most of the commercial LP solvers. Essentially all commercial LP solvers accept this format, and it is also accepted by the open-source COIN-OR system

Description

MPS was first suggested for inclusion in #1207, but was not implemented. Later, it was noticed that Mathematical Programming System files were being labeled as JetBrains Metaprogramming System files (#6128), as that language was added without any disambiguation for other languages using the extension #5871. The Mathematical Programming System format is about 50 years old, and it has (up through today) been present in at least as many repos as the JetBrains XML variant.

One of the added samples is for the JetBrains format to make the minimum of 2 for heuristics support. I chose <persistence as the JetBrains keyword, as this appeared in all files I was able to locate, and was what the original PR searched for to determine popularity. The new MPS looks for rows or columns as these are required keywords of the language.

Checklist:

  • I am adding a new language.
    • The extension of the new language is used in hundreds of repositories on GitHub.com.
    • I have included a real-world usage sample for all extensions added in this PR:
    • I have included a syntax highlighting grammar
    • I have added a color
      • Hex value: #0530ad
      • Rationale: This is "IBM Blue", which is fitting because MPS originated from IBM
    • I have updated the heuristics to distinguish my language from others using the same extension.

google-labs-jules bot and others added 2 commits December 24, 2025 06:02
- Added "Mathematical Programming System" to languages.yml with extension .mps
- Added disambiguation heuristics in heuristics.yml for .mps extension to distinguish between JetBrains MPS and Mathematical Programming System
- Added samples for Mathematical Programming System and JetBrains MPS
Assign MPS language ID
@nickswalker nickswalker requested a review from a team as a code owner December 24, 2025 07:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant