<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>BankLang — Writing</title>
    <link>https://banklang.mwhassan.com/blog/</link>
    <atom:link href="https://banklang.mwhassan.com/blog/feed.xml" rel="self" type="application/rss+xml" />
    <description>Why a compiler for banking logic looks the way it does, and what the problems underneath it actually are.</description>
    <language>en</language>
    <managingEditor>mwh007@outlook.com (Md Wahid Hassan)</managingEditor>
    <item>
      <title>A banking language that compiles to COBOL</title>
      <link>https://banklang.mwhassan.com/blog/a-banking-language-that-compiles-to-cobol</link>
      <guid isPermaLink="true">https://banklang.mwhassan.com/blog/a-banking-language-that-compiles-to-cobol</guid>
      <pubDate>Sun, 09 Aug 2026 00:00:00 GMT</pubDate>
      <dc:creator>Md Wahid Hassan</dc:creator>
      <description>BankLang 0.10.0 compiles a small banking language to readable IBM Enterprise COBOL, refuses unsafe financial programs at compile time, and publishes what it has not validated.</description>
    </item>
    <item>
      <title>Why banks still run COBOL, and why rewriting it keeps failing</title>
      <link>https://banklang.mwhassan.com/blog/why-banks-still-run-cobol</link>
      <guid isPermaLink="true">https://banklang.mwhassan.com/blog/why-banks-still-run-cobol</guid>
      <pubDate>Fri, 07 Aug 2026 00:00:00 GMT</pubDate>
      <dc:creator>Md Wahid Hassan</dc:creator>
      <description>A bank's core systems are still COBOL for reasons of risk rather than nostalgia, and those reasons explain why the big rewrites keep stalling.</description>
    </item>
    <item>
      <title>Rounding money is harder than it looks</title>
      <link>https://banklang.mwhassan.com/blog/rounding-money-is-harder-than-it-looks</link>
      <guid isPermaLink="true">https://banklang.mwhassan.com/blog/rounding-money-is-harder-than-it-looks</guid>
      <pubDate>Thu, 06 Aug 2026 00:00:00 GMT</pubDate>
      <dc:creator>Md Wahid Hassan</dc:creator>
      <description>Half of one penny has to go somewhere, and the choice you make is worth real money. Here is why floating point is the wrong tool and what banks actually do instead.</description>
    </item>
    <item>
      <title>A compiler that refuses to build</title>
      <link>https://banklang.mwhassan.com/blog/a-compiler-that-refuses-to-build</link>
      <guid isPermaLink="true">https://banklang.mwhassan.com/blog/a-compiler-that-refuses-to-build</guid>
      <pubDate>Wed, 05 Aug 2026 00:00:00 GMT</pubDate>
      <dc:creator>Md Wahid Hassan</dc:creator>
      <description>Some bugs are omissions rather than mistakes — things the code failed to say. A compiler can notice that, and refusing to build is a reasonable response.</description>
    </item>
    <item>
      <title>Reading code you did not write, and did not want</title>
      <link>https://banklang.mwhassan.com/blog/reading-code-you-did-not-write</link>
      <guid isPermaLink="true">https://banklang.mwhassan.com/blog/reading-code-you-did-not-write</guid>
      <pubDate>Tue, 04 Aug 2026 00:00:00 GMT</pubDate>
      <dc:creator>Md Wahid Hassan</dc:creator>
      <description>Generated code arrives on somebody else's desk to be reviewed and supported. What makes it acceptable has almost nothing to do with whether it works.</description>
    </item>
    <item>
      <title>Testing a compiler whose target you cannot run</title>
      <link>https://banklang.mwhassan.com/blog/testing-a-compiler-you-cannot-run</link>
      <guid isPermaLink="true">https://banklang.mwhassan.com/blog/testing-a-compiler-you-cannot-run</guid>
      <pubDate>Mon, 03 Aug 2026 00:00:00 GMT</pubDate>
      <dc:creator>Md Wahid Hassan</dc:creator>
      <description>You can compare bytes against a fixture, but a fixture only proves the output has not changed. Here is how to find out whether it is right.</description>
    </item>
  </channel>
</rss>
