<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>Daslang (former daScript) - care and feeding</title>
  <icon>https://borisbat.github.io/dascf-blog/icon.png</icon>
  
  <link href="https://borisbat.github.io/dascf-blog/atom.xml" rel="self"/>
  
  <link href="https://borisbat.github.io/dascf-blog/"/>
  <updated>2026-03-07T04:52:08.045Z</updated>
  <id>https://borisbat.github.io/dascf-blog/</id>
  
  <author>
    <name>Boris Batkin</name>
    
  </author>
  
  <generator uri="https://hexo.io/">Hexo</generator>
  
  <entry>
    <title>ai-friendly</title>
    <link href="https://borisbat.github.io/dascf-blog/2026/03/06/ai-friendly/"/>
    <id>https://borisbat.github.io/dascf-blog/2026/03/06/ai-friendly/</id>
    <published>2026-03-07T04:19:47.000Z</published>
    <updated>2026-03-07T04:52:08.045Z</updated>
    
    
    <summary type="html">&lt;p&gt;You say You are AI friendly. But how friendly are You?&lt;/p&gt;</summary>
    
    
    
    
    <category term="daScript" scheme="https://borisbat.github.io/dascf-blog/tags/daScript/"/>
    
    <category term="Claude" scheme="https://borisbat.github.io/dascf-blog/tags/Claude/"/>
    
  </entry>
  
  <entry>
    <title>we-can-has-dasilb</title>
    <link href="https://borisbat.github.io/dascf-blog/2026/02/20/we-can-has-dasilb/"/>
    <id>https://borisbat.github.io/dascf-blog/2026/02/20/we-can-has-dasilb/</id>
    <published>2026-02-21T05:20:35.000Z</published>
    <updated>2026-02-21T15:11:48.382Z</updated>
    
    
    <summary type="html">&lt;p&gt;Sometimes technical debt gets paid off.&lt;/p&gt;</summary>
    
    
    
    
    <category term="daScript" scheme="https://borisbat.github.io/dascf-blog/tags/daScript/"/>
    
    <category term="daslang" scheme="https://borisbat.github.io/dascf-blog/tags/daslang/"/>
    
  </entry>
  
  <entry>
    <title>quality-of-life</title>
    <link href="https://borisbat.github.io/dascf-blog/2026/01/22/quality-of-life/"/>
    <id>https://borisbat.github.io/dascf-blog/2026/01/22/quality-of-life/</id>
    <published>2026-01-23T04:21:45.000Z</published>
    <updated>2026-01-23T17:35:07.790Z</updated>
    
    
    <summary type="html">&lt;p&gt;Sometimes little things make big difference.&lt;/p&gt;</summary>
    
    
    
    
    <category term="daScript" scheme="https://borisbat.github.io/dascf-blog/tags/daScript/"/>
    
    <category term="daslang" scheme="https://borisbat.github.io/dascf-blog/tags/daslang/"/>
    
  </entry>
  
  <entry>
    <title>Templates? Templates?? Type macros!</title>
    <link href="https://borisbat.github.io/dascf-blog/2026/01/19/templates-what/"/>
    <id>https://borisbat.github.io/dascf-blog/2026/01/19/templates-what/</id>
    <published>2026-01-19T17:58:46.000Z</published>
    <updated>2026-01-20T15:18:12.473Z</updated>
    
    
    <summary type="html">&lt;p&gt;This is going to be a good one. It’s an iceberg.&lt;/p&gt;</summary>
    
    
    
    
    <category term="daScript" scheme="https://borisbat.github.io/dascf-blog/tags/daScript/"/>
    
    <category term="daslang" scheme="https://borisbat.github.io/dascf-blog/tags/daslang/"/>
    
  </entry>
  
  <entry>
    <title>LINQ?</title>
    <link href="https://borisbat.github.io/dascf-blog/2025/10/08/linq-that/"/>
    <id>https://borisbat.github.io/dascf-blog/2025/10/08/linq-that/</id>
    <published>2025-10-09T00:27:00.000Z</published>
    <updated>2025-10-09T14:25:31.171Z</updated>
    
    
    <summary type="html">&lt;p&gt;LINQ? But Boris, DASLANG already has high-order functions.&lt;/p&gt;</summary>
    
    
    
    
    <category term="daScript" scheme="https://borisbat.github.io/dascf-blog/tags/daScript/"/>
    
  </entry>
  
  <entry>
    <title>How to EDSL</title>
    <link href="https://borisbat.github.io/dascf-blog/2025/06/05/how-to-edsl/"/>
    <id>https://borisbat.github.io/dascf-blog/2025/06/05/how-to-edsl/</id>
    <published>2025-06-06T02:56:40.000Z</published>
    <updated>2025-06-06T03:37:25.509Z</updated>
    
    
    <summary type="html">&lt;p&gt;There are ways to &lt;del&gt;die&lt;/del&gt; EDSL, and there are ways to &lt;del&gt;die&lt;/del&gt; EDSL.&lt;/p&gt;</summary>
    
    
    
    
    <category term="daScript" scheme="https://borisbat.github.io/dascf-blog/tags/daScript/"/>
    
    <category term="edsl" scheme="https://borisbat.github.io/dascf-blog/tags/edsl/"/>
    
  </entry>
  
  <entry>
    <title>options gen2</title>
    <link href="https://borisbat.github.io/dascf-blog/2025/05/04/gen2-syntax/"/>
    <id>https://borisbat.github.io/dascf-blog/2025/05/04/gen2-syntax/</id>
    <published>2025-05-05T03:57:24.000Z</published>
    <updated>2025-05-05T15:25:18.960Z</updated>
    
    
    <summary type="html">&lt;p&gt;Its very easy to ignore reality. Ignoring effects of ignoring reality - now that’s tricky.&lt;/p&gt;</summary>
    
    
    
    
    <category term="daScript" scheme="https://borisbat.github.io/dascf-blog/tags/daScript/"/>
    
  </entry>
  
  <entry>
    <title>Zero point five</title>
    <link href="https://borisbat.github.io/dascf-blog/2024/10/10/zero-point-five/"/>
    <id>https://borisbat.github.io/dascf-blog/2024/10/10/zero-point-five/</id>
    <published>2024-10-11T00:36:36.000Z</published>
    <updated>2024-10-11T14:22:52.315Z</updated>
    
    
    <summary type="html">&lt;p&gt;Construction can’t be finished, only stopped. 0.5 is out.&lt;/p&gt;</summary>
    
    
    
    
    <category term="daslang" scheme="https://borisbat.github.io/dascf-blog/tags/daslang/"/>
    
  </entry>
  
  <entry>
    <title>Of pipes and blocks</title>
    <link href="https://borisbat.github.io/dascf-blog/2024/09/17/of-pipes-and-blocks/"/>
    <id>https://borisbat.github.io/dascf-blog/2024/09/17/of-pipes-and-blocks/</id>
    <published>2024-09-18T05:16:07.000Z</published>
    <updated>2024-09-20T02:36:11.337Z</updated>
    
    
    <summary type="html">&lt;p&gt;Das is not a write-only code. The idea is we read more than we write.&lt;br&gt;There is “write as you speak”, but there is also “read as you listen”.&lt;/p&gt;</summary>
    
    
    
    
    <category term="daScript" scheme="https://borisbat.github.io/dascf-blog/tags/daScript/"/>
    
  </entry>
  
  <entry>
    <title>Data initialization in DAS</title>
    <link href="https://borisbat.github.io/dascf-blog/2024/07/23/data-initialization/"/>
    <id>https://borisbat.github.io/dascf-blog/2024/07/23/data-initialization/</id>
    <published>2024-07-24T04:35:17.000Z</published>
    <updated>2024-07-29T23:41:22.716Z</updated>
    
    
    <summary type="html">&lt;p&gt;Updated on 2024-07-29 16:31:00&lt;/p&gt;
&lt;p&gt;Sometimes shorthand notation arrives first.&lt;/p&gt;</summary>
    
    
    
    
    <category term="daScript" scheme="https://borisbat.github.io/dascf-blog/tags/daScript/"/>
    
    <category term="C++" scheme="https://borisbat.github.io/dascf-blog/tags/C/"/>
    
  </entry>
  
  <entry>
    <title>Garbage collection in the wild</title>
    <link href="https://borisbat.github.io/dascf-blog/2024/04/16/gc-in-the-wild/"/>
    <id>https://borisbat.github.io/dascf-blog/2024/04/16/gc-in-the-wild/</id>
    <published>2024-04-17T04:07:26.000Z</published>
    <updated>2024-04-17T04:51:13.499Z</updated>
    
    
    <summary type="html">&lt;p&gt;What do a mafia boss and a garbage-collector have in common?&lt;br&gt;Both make sure you’ll never see unwanted things again!&lt;/p&gt;</summary>
    
    
    
    
    <category term="daScript" scheme="https://borisbat.github.io/dascf-blog/tags/daScript/"/>
    
    <category term="GC" scheme="https://borisbat.github.io/dascf-blog/tags/GC/"/>
    
  </entry>
  
  <entry>
    <title>Daslang it is</title>
    <link href="https://borisbat.github.io/dascf-blog/2023/12/28/daslang-it-is/"/>
    <id>https://borisbat.github.io/dascf-blog/2023/12/28/daslang-it-is/</id>
    <published>2023-12-29T04:51:24.000Z</published>
    <updated>2023-12-29T05:32:52.190Z</updated>
    
    
    <summary type="html">&lt;p&gt;The plug has been pulled. Daslang it is. Take a look at dasCHash too ( C#-&amp;gt;DAS ).&lt;/p&gt;</summary>
    
    
    
    
    <category term="daScript" scheme="https://borisbat.github.io/dascf-blog/tags/daScript/"/>
    
    <category term="C++" scheme="https://borisbat.github.io/dascf-blog/tags/C/"/>
    
    <category term="C#" scheme="https://borisbat.github.io/dascf-blog/tags/C/"/>
    
  </entry>
  
  <entry>
    <title>0.4 and THE PLAN</title>
    <link href="https://borisbat.github.io/dascf-blog/2023/05/01/version-4/"/>
    <id>https://borisbat.github.io/dascf-blog/2023/05/01/version-4/</id>
    <published>2023-05-02T00:11:37.000Z</published>
    <updated>2023-05-02T06:20:07.674Z</updated>
    
    
    <summary type="html">&lt;p&gt;0.4 is out. Its a big deal. Its not a big deal.&lt;/p&gt;</summary>
    
    
    
    
    <category term="daScript" scheme="https://borisbat.github.io/dascf-blog/tags/daScript/"/>
    
  </entry>
  
  <entry>
    <title>Hectic</title>
    <link href="https://borisbat.github.io/dascf-blog/2023/04/17/hectic/"/>
    <id>https://borisbat.github.io/dascf-blog/2023/04/17/hectic/</id>
    <published>2023-04-17T17:44:39.000Z</published>
    <updated>2023-04-17T18:28:12.935Z</updated>
    
    
    <summary type="html">&lt;p&gt;Hectic is exactly the word which comes to mind, when I look at the commit history for the month.&lt;/p&gt;</summary>
    
    
    
    
    <category term="OpenAI" scheme="https://borisbat.github.io/dascf-blog/tags/OpenAI/"/>
    
    <category term="daScript" scheme="https://borisbat.github.io/dascf-blog/tags/daScript/"/>
    
    <category term="Telegram" scheme="https://borisbat.github.io/dascf-blog/tags/Telegram/"/>
    
  </entry>
  
  <entry>
    <title>A matter of multiplication</title>
    <link href="https://borisbat.github.io/dascf-blog/2023/03/20/a-matter-of-multipliction/"/>
    <id>https://borisbat.github.io/dascf-blog/2023/03/20/a-matter-of-multipliction/</id>
    <published>2023-03-21T06:28:56.000Z</published>
    <updated>2023-03-21T07:12:31.177Z</updated>
    
    
    <summary type="html">&lt;p&gt;Its a matter of multiplication, really. Productivity factors do not just add up (thats why they are called factors).&lt;/p&gt;</summary>
    
    
    
    
    <category term="OpenAI" scheme="https://borisbat.github.io/dascf-blog/tags/OpenAI/"/>
    
    <category term="daScript" scheme="https://borisbat.github.io/dascf-blog/tags/daScript/"/>
    
  </entry>
  
  <entry>
    <title>Wake up and test the damn thing</title>
    <link href="https://borisbat.github.io/dascf-blog/2023/02/25/wake-up-and-test-the-damn-thing/"/>
    <id>https://borisbat.github.io/dascf-blog/2023/02/25/wake-up-and-test-the-damn-thing/</id>
    <published>2023-02-26T02:44:19.000Z</published>
    <updated>2023-02-26T03:21:41.933Z</updated>
    
    
    <summary type="html">&lt;p&gt;It has to be stable. The time has come to test the damn thing.&lt;/p&gt;</summary>
    
    
    
    
    <category term="daScript" scheme="https://borisbat.github.io/dascf-blog/tags/daScript/"/>
    
  </entry>
  
  <entry>
    <title>Pattern matching</title>
    <link href="https://borisbat.github.io/dascf-blog/2023/02/07/pattern-matching/"/>
    <id>https://borisbat.github.io/dascf-blog/2023/02/07/pattern-matching/</id>
    <published>2023-02-07T19:45:17.000Z</published>
    <updated>2023-02-07T20:21:32.876Z</updated>
    
    
    <summary type="html">&lt;p&gt;In the world of computer programming, there is a concept known as pattern matching.&lt;br&gt;This technique allows us to take a complex value, such as an array or a variant, and compare it to a set of patterns.&lt;br&gt;If the value fits a certain pattern, the matching process continues and we can extract specific values from that value.&lt;br&gt;This is a powerful tool for making our code more readable and efficient,&lt;br&gt;and in this section we’ll be exploring the different ways that pattern matching can be used in daScript.&lt;/p&gt;</summary>
    
    
    
    
    <category term="daScript" scheme="https://borisbat.github.io/dascf-blog/tags/daScript/"/>
    
    <category term="ChatGPT" scheme="https://borisbat.github.io/dascf-blog/tags/ChatGPT/"/>
    
  </entry>
  
  <entry>
    <title>For loop noise</title>
    <link href="https://borisbat.github.io/dascf-blog/2023/01/27/for-loop-noise/"/>
    <id>https://borisbat.github.io/dascf-blog/2023/01/27/for-loop-noise/</id>
    <published>2023-01-28T00:24:05.000Z</published>
    <updated>2023-01-29T17:27:56.304Z</updated>
    
    
    <summary type="html">&lt;p&gt;It’s stupid. It’s ugly. Its also measurable performance gain.&lt;/p&gt;</summary>
    
    
    
    
    <category term="daScript" scheme="https://borisbat.github.io/dascf-blog/tags/daScript/"/>
    
    <category term="C++" scheme="https://borisbat.github.io/dascf-blog/tags/C/"/>
    
  </entry>
  
  <entry>
    <title>Performance and CMRES aliasing</title>
    <link href="https://borisbat.github.io/dascf-blog/2023/01/21/performance-and-aliasing/"/>
    <id>https://borisbat.github.io/dascf-blog/2023/01/21/performance-and-aliasing/</id>
    <published>2023-01-21T22:31:03.000Z</published>
    <updated>2023-01-21T23:09:18.167Z</updated>
    
    
    <summary type="html">&lt;p&gt;From dascript.org “… is high-level, statically strong typed scripting language, designed to be fast …”&lt;/p&gt;
&lt;p&gt;With an emphasis on fast. Performance first, last, and foremost.&lt;/p&gt;</summary>
    
    
    
    
    <category term="daScript" scheme="https://borisbat.github.io/dascf-blog/tags/daScript/"/>
    
  </entry>
  
  <entry>
    <title>It&#39;s not a script</title>
    <link href="https://borisbat.github.io/dascf-blog/2022/12/31/its-not-a-script/"/>
    <id>https://borisbat.github.io/dascf-blog/2022/12/31/its-not-a-script/</id>
    <published>2022-12-31T20:03:22.000Z</published>
    <updated>2022-12-31T20:59:18.588Z</updated>
    
    
    <summary type="html">&lt;p&gt;Whats in a name? The sheer fact that I’m writing this post implies a problem.&lt;br&gt;“It’s not a script” is something we had to say on numerous occasions.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Boris ELI5 script?&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Script is a simple programming langue you write your game logic in. When it gets slow you rewrite it to C++.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;daScript is none of the above.&lt;/p&gt;</summary>
    
    
    
    
    <category term="daScript" scheme="https://borisbat.github.io/dascf-blog/tags/daScript/"/>
    
  </entry>
  
  <entry>
    <title>Implementing instruments</title>
    <link href="https://borisbat.github.io/dascf-blog/2022/12/11/instruments/"/>
    <id>https://borisbat.github.io/dascf-blog/2022/12/11/instruments/</id>
    <published>2022-12-11T18:36:22.000Z</published>
    <updated>2022-12-19T08:07:48.748Z</updated>
    
    
    <summary type="html">&lt;p&gt;During the last few days I took a small detour from the land of the JIT, to the land of the profiler.&lt;/p&gt;</summary>
    
    
    
    
    <category term="daScript" scheme="https://borisbat.github.io/dascf-blog/tags/daScript/"/>
    
  </entry>
  
  <entry>
    <title>There is something about JIT</title>
    <link href="https://borisbat.github.io/dascf-blog/2022/11/20/something-about-jit/"/>
    <id>https://borisbat.github.io/dascf-blog/2022/11/20/something-about-jit/</id>
    <published>2022-11-20T17:46:37.000Z</published>
    <updated>2022-12-12T05:26:08.483Z</updated>
    
    
    <summary type="html">&lt;p&gt;In the early days of daScript development having robust JIT was never a priority.&lt;br&gt;In fact during the initial planning meetings JIT was postponed until the cows came home.&lt;/p&gt;</summary>
    
    
    
    
    <category term="daScript" scheme="https://borisbat.github.io/dascf-blog/tags/daScript/"/>
    
    <category term="C++" scheme="https://borisbat.github.io/dascf-blog/tags/C/"/>
    
    <category term="gamedev" scheme="https://borisbat.github.io/dascf-blog/tags/gamedev/"/>
    
  </entry>
  
  <entry>
    <title>Better safe</title>
    <link href="https://borisbat.github.io/dascf-blog/2022/11/14/better-safe/"/>
    <id>https://borisbat.github.io/dascf-blog/2022/11/14/better-safe/</id>
    <published>2022-11-15T02:29:45.000Z</published>
    <updated>2022-11-16T07:40:31.644Z</updated>
    
    
    <summary type="html">&lt;p&gt;&lt;a href=&quot;https://youtu.be/ELeZAKCN4tY?t=2391&quot;&gt;Herb Sutter is right&lt;/a&gt;. Its the same thing year after year after year. &lt;code&gt;Lifetime&lt;/code&gt;, &lt;code&gt;Initialization&lt;/code&gt;, &lt;code&gt;Type safety&lt;/code&gt;, and &lt;code&gt;Bounds safety&lt;/code&gt; are the things which your language should do for you.&lt;/p&gt;</summary>
    
    
    
    
    <category term="daScript" scheme="https://borisbat.github.io/dascf-blog/tags/daScript/"/>
    
    <category term="C++" scheme="https://borisbat.github.io/dascf-blog/tags/C/"/>
    
  </entry>
  
  <entry>
    <title>Lock and load</title>
    <link href="https://borisbat.github.io/dascf-blog/2022/11/13/builtin-lock-check-md/"/>
    <id>https://borisbat.github.io/dascf-blog/2022/11/13/builtin-lock-check-md/</id>
    <published>2022-11-13T19:58:49.000Z</published>
    <updated>2022-11-20T18:58:21.497Z</updated>
    
    
    <summary type="html">&lt;p&gt;Consider the following example:&lt;/p&gt;
&lt;figure class=&quot;highlight python&quot;&gt;&lt;table&gt;&lt;tr&gt;&lt;td class=&quot;gutter&quot;&gt;&lt;pre&gt;&lt;span class=&quot;line&quot;&gt;1&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;2&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;3&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;4&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;5&lt;/span&gt;&lt;br&gt;&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;code&quot;&gt;&lt;pre&gt;&lt;span class=&quot;line&quot;&gt;[export]&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;keyword&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;title function_&quot;&gt;main&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;    var a &amp;lt;- [&amp;#123;&lt;span class=&quot;built_in&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;number&quot;&gt;1&lt;/span&gt;;&lt;span class=&quot;number&quot;&gt;2&lt;/span&gt;;&lt;span class=&quot;number&quot;&gt;3&lt;/span&gt;;&lt;span class=&quot;number&quot;&gt;4&lt;/span&gt;&amp;#125;]&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;    &lt;span class=&quot;keyword&quot;&gt;for&lt;/span&gt; x &lt;span class=&quot;keyword&quot;&gt;in&lt;/span&gt; a&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;        a |&amp;gt; push(&lt;span class=&quot;number&quot;&gt;13&lt;/span&gt;)   // kaboom&lt;/span&gt;&lt;br&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/figure&gt;

&lt;p&gt;It causes daScript runtime panic.&lt;/p&gt;</summary>
    
    
    
    
    <category term="daScript" scheme="https://borisbat.github.io/dascf-blog/tags/daScript/"/>
    
  </entry>
  
</feed>
