<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>GmFortran on Fortran 2026</title>
    <link>https://fortran.sh3d.com.au/tags/gmfortran/</link>
    <description>Recent content in GmFortran on Fortran 2026</description>
    <generator>Hugo</generator>
    <language>en</language>
    <atom:link href="https://fortran.sh3d.com.au/tags/gmfortran/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Promula</title>
      <link>https://fortran.sh3d.com.au/tools/promula/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://fortran.sh3d.com.au/tools/promula/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Promula&lt;/strong&gt; — also known as &lt;strong&gt;gmFortran&lt;/strong&gt; and shipped by &lt;strong&gt;&lt;a href=&#34;https://www.greatmigrations.com/&#34;&gt;Great Migrations&lt;/a&gt;&lt;/strong&gt; — is the Fortran translation, preprocessing, and modernisation toolset we work in daily. We have used it on real engagements to lift legacy Fortran into a maintainable, testable, modern shape, and to extend production codebases with multi-line strings, hash maps, regex, SQL, and other modern conveniences without throwing away any existing logic.&lt;/p&gt;&#xA;&lt;h2 id=&#34;where-we-add-value&#34;&gt;Where we add value&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#where-we-add-value&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Driving Promula / gmFortran on production codebases&lt;/strong&gt;, not toy examples.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Adopting it in an existing Fortran codebase&lt;/strong&gt; without disrupting the build.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Configuring rules and exceptions&lt;/strong&gt; for the quirks every old codebase has.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Combining tool output with hand-tuned changes&lt;/strong&gt; so the result reads like code humans want to maintain.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Wiring the translation&lt;/strong&gt; into reproducible builds, CI, and unit-test pipelines so the migration is repeatable instead of a one-shot stunt — see &lt;a href=&#34;https://fortran.sh3d.com.au/expertise/migration-32-to-64/&#34;&gt;Expertise → 32 → 64-bit migration&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Coordinating with Great Migrations&lt;/strong&gt; when an engagement needs both the toolmaker and an experienced delivery team.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Training your team&lt;/strong&gt; on Promula idioms so the codebase stays maintainable after we leave.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;talk-to-us&#34;&gt;Talk to us&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#talk-to-us&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;a href=&#34;mailto:simon@unisolve.com.au&#34;&gt;simon@unisolve.com.au&lt;/a&gt; or&#xA;&lt;a href=&#34;mailto:scottp@dd.com.au&#34;&gt;scottp@dd.com.au&lt;/a&gt;&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
