<?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: distantfar</title>
    <description>The latest articles on DEV Community by distantfar (@distantfar).</description>
    <link>https://dev.to/distantfar</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%2F4025432%2F603cea8e-6eb0-42fc-ae62-b039e1f7af7b.png</url>
      <title>DEV Community: distantfar</title>
      <link>https://dev.to/distantfar</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/distantfar"/>
    <language>en</language>
    <item>
      <title>visibility modifiers in coluber.</title>
      <dc:creator>distantfar</dc:creator>
      <pubDate>Wed, 22 Jul 2026 06:03:52 +0000</pubDate>
      <link>https://dev.to/distantfar/visibility-modifiers-in-coluber-472m</link>
      <guid>https://dev.to/distantfar/visibility-modifiers-in-coluber-472m</guid>
      <description>&lt;p&gt;Visibility modifiers is a method used in programming to specify the specific object for it's as visible or invisible, the purpose of visibility modifier is to define what is able to access or what is not to be able to access the object.&lt;/p&gt;

&lt;p&gt;In coluber it's able to define visibility modifier at several objects:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;data.&lt;/li&gt;
&lt;li&gt;task.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;As an example defined:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;public data measurement:
    inch: float
    type_meas: string

public task process():
    serve measurements = measurement(inch: 1.5, type_meas: "meter")

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

&lt;/div&gt;



&lt;p&gt;public, defined as visibility modifier it can accessed through main.clbr at the root project or across modules in stdlib or library.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;private data measurement:
    inch: float
    type_meas: string

private task process():
    serve measurements = measurement(inch: 1.5, type_meas: "meter")

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

&lt;/div&gt;



&lt;p&gt;main.clbr or other modules in both are unable to access the objects for as is the private modifier.&lt;/p&gt;

</description>
      <category>programming</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Coluber: A Compiled Language Designed for Clarity and Simplicity</title>
      <dc:creator>distantfar</dc:creator>
      <pubDate>Sat, 11 Jul 2026 18:02:03 +0000</pubDate>
      <link>https://dev.to/distantfar/coluber-a-compiled-language-designed-for-clarity-and-simplicity-32l7</link>
      <guid>https://dev.to/distantfar/coluber-a-compiled-language-designed-for-clarity-and-simplicity-32l7</guid>
      <description>&lt;p&gt;Over the years, I have grown increasingly found of the idea that code should read like prose. Clear, intentional, and free from unnecessary noise.&lt;/p&gt;

&lt;p&gt;This curiosity led me to build Coluber a compiled, statically-typed programming language designed around three core values: &lt;strong&gt;Fun&lt;/strong&gt;, &lt;strong&gt;Simple&lt;/strong&gt;, and &lt;strong&gt;Fast&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is Coluber?
&lt;/h2&gt;

&lt;p&gt;Coluber is a personal hobby project and an open-source language written in Pascal. It works by transpiling &lt;code&gt;.clbr&lt;/code&gt; source files into Pascal, which are then compiled by their respective toolchains into native binaries.&lt;/p&gt;

&lt;p&gt;The name comes from Coluber, a genus of non-venomous snakes, known for being fast, agile, and adaptable.&lt;/p&gt;

&lt;h2&gt;
  
  
  Syntax Overview.
&lt;/h2&gt;

&lt;p&gt;Here is what a typical Coluber function looks like:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;public task calculate_score(points: int, bonus: int) -&amp;gt; int:
    serve total = points + bonus

    cond first (total &amp;gt; 100):
        say("Excellent score.")
    cond other (total &amp;gt;= 50):
        say("Good result.")
    cond nothing:
        say("Keep going.")

    serve total
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;A few things worth to knows:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;serve&lt;/code&gt;&lt;/strong&gt; is used to declare variables. The type is inferred automatically, though explicit annotations are supported.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;cond first&lt;/code&gt; / &lt;code&gt;cond other&lt;/code&gt; / &lt;code&gt;cond nothing&lt;/code&gt;&lt;/strong&gt; replace the if / elif / else structure.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;loop&lt;/code&gt;&lt;/strong&gt; and &lt;strong&gt;&lt;code&gt;crawl&lt;/code&gt;&lt;/strong&gt; replace &lt;code&gt;while&lt;/code&gt; and &lt;code&gt;for&lt;/code&gt; respectively.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;task&lt;/code&gt;&lt;/strong&gt; defines functions.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The syntax is intentionally orthogonal there is one clear way to do each thing, which keeps &lt;br&gt;
code consistent and easy to follow.&lt;/p&gt;
&lt;h2&gt;
  
  
  Transpiles.
&lt;/h2&gt;

&lt;p&gt;Coluber transpiled into pascal, which using an free pascal compiler coluber compiled through free pascal compiler return an executable file which as much usable for any needs. Yet before transpiled into two backends instead to pascal because it's much powerfull and high community supports.&lt;/p&gt;
&lt;h2&gt;
  
  
  String Features.
&lt;/h2&gt;

&lt;p&gt;Coluber supports standard string interpolation using &lt;code&gt;{expression}&lt;/code&gt; syntax, as well as the full set of escape characters you would expect from a C-family language:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;serve name = "World"
say("Hello, {name}!\nThis is a new line.\tAnd this is a tab.")
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Supported escape sequences include: &lt;code&gt;\n&lt;/code&gt;, &lt;code&gt;\t&lt;/code&gt;, &lt;code&gt;\r&lt;/code&gt;, &lt;code&gt;\a&lt;/code&gt;, &lt;code&gt;\b&lt;/code&gt;, &lt;code&gt;\f&lt;/code&gt;, &lt;code&gt;\v&lt;/code&gt;, &lt;code&gt;\0&lt;/code&gt;, &lt;code&gt;\'&lt;/code&gt;, &lt;code&gt;\"&lt;/code&gt;, and &lt;code&gt;\\&lt;/code&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Project Status
&lt;/h2&gt;

&lt;p&gt;Coluber is, frankly, a work in progress and that is part of what makes it interesting to work on. &lt;/p&gt;

&lt;p&gt;Repository:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Codeberg: &lt;a href="https://codeberg.org/distantfar/coluber.git" rel="noopener noreferrer"&gt;https://codeberg.org/distantfar/coluber.git&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Gitlab: &lt;a href="https://gitlab.com/refrigerant_v1/coluber.git" rel="noopener noreferrer"&gt;https://gitlab.com/refrigerant_v1/coluber.git&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>programming</category>
      <category>computerscience</category>
      <category>opensource</category>
      <category>architecture</category>
    </item>
  </channel>
</rss>
