<?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>DEV Community: Ngwang Shalom</title>
    <description>The latest articles on DEV Community by Ngwang Shalom (@ngwang_shalom_988abfaf778).</description>
    <link>https://dev.to/ngwang_shalom_988abfaf778</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4224024%2F9ccfee97-a730-4c8e-92d2-1b75a9e13cb7.png</url>
      <title>DEV Community: Ngwang Shalom</title>
      <link>https://dev.to/ngwang_shalom_988abfaf778</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ngwang_shalom_988abfaf778"/>
    <language>en</language>
    <item>
      <title>I built a programming language where you can't lose a cent: a 5-minute tour of Quill</title>
      <dc:creator>Ngwang Shalom</dc:creator>
      <pubDate>Tue, 03 Nov 2026 10:22:33 +0000</pubDate>
      <link>https://dev.to/ngwang_shalom_988abfaf778/i-built-a-programming-language-where-you-cant-lose-a-cent-a-5-minute-tour-of-quill-594g</link>
      <guid>https://dev.to/ngwang_shalom_988abfaf778/i-built-a-programming-language-where-you-cant-lose-a-cent-a-5-minute-tour-of-quill-594g</guid>
      <description>&lt;p&gt;Quill is an open-source language for backends, business software and automation. It's built around three ideas: intent is clear, failures are explicit, and correctness is part of the code. Here's a five-&lt;br&gt;
minute tour.&lt;/p&gt;
&lt;h2&gt;
  
  
  Install
&lt;/h2&gt;

&lt;p&gt;curl --proto '=https' --tlsv1.2 -LsSf &lt;a href="https://github.com/Ngwangshalom/Quill/releases/latest/download/quill-installer.sh" rel="noopener noreferrer"&gt;https://github.com/Ngwangshalom/Quill/releases/latest/download/quill-installer.sh&lt;/a&gt; | sh&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;
&lt;span class="gu"&gt;## Start a whole app&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;br&gt;
bash&lt;br&gt;
quill new shop app&lt;br&gt;
cd shop&lt;br&gt;
quill run server.quill&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
That's a small events company: bookings checked against a type, prices with VAT, three payments that add up to the cent, and an AI assistant. `quill test` runs its tests.

## Data that reads like a sentence

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;br&gt;
plaintext&lt;br&gt;
say count of students where score &amp;gt;= 50&lt;br&gt;
say average score of students&lt;br&gt;
say get name of students sorted by highest score&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
## Money that never loses a cent

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;br&gt;
plaintext&lt;br&gt;
say split 100 USD into 3     -- 33.34 USD, 33.33 USD, 33.33 USD&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
`100 USD + 20 EUR` doesn't run. Quill says it won't mix currencies, and suggests `convert 20 EUR to USD at 0.92`, at the rate you were given.

## Failures you can't forget

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;br&gt;
plaintext&lt;br&gt;
fn charge(amount: USD) -&amp;gt; text&lt;br&gt;
  fails Declined&lt;br&gt;
  ...&lt;/p&gt;

&lt;p&gt;receipt = charge(5000 USD)&lt;br&gt;
  on Declined -&amp;gt; "declined"&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
Leave out `on Declined` and Quill won't run the program. It tells you which failure you forgot.

## Errors that teach

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;br&gt;
plaintext&lt;br&gt;
say total + "hello"&lt;br&gt;
    ^^^^^^^^^^^^^^^&lt;br&gt;
You're adding money in USD (total) and Text ("hello").&lt;br&gt;
Add or subtract two amounts in the same currency, like 100 USD + 50 USD.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
## Join in

Quill is early and open source (Apache 2.0). If you like languages, compilers, docs, or editor tooling, there's plenty to do:

- {% embed Repo: https://github.com/Ngwangshalom/Quill %}
- {% embed Book: https://ngwangshalom.github.io/Quill/ %}
- Learn it with exercises: `quill new practice learn`
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;br&gt;
`&lt;/p&gt;

</description>
      <category>backend</category>
      <category>opensource</category>
      <category>programming</category>
      <category>softwaredevelopment</category>
    </item>
  </channel>
</rss>
