RSSAmplifier

Blog

Daslang blog

daslang.ioRSS feed ↗43 posts

Latest posts

Tell me a story.

All those scars upon my back tell me a story.

Walking the inline.

Ask not what your compiler can do for you – ask what you can do for your compiler. *— Y.T., Compiler 101*

Pretty things.

They are so pretty.

Drums. Drums. They are coming.

It's all about the beat.

Bye-bye Elvis

I'm happy. I'm feeling glad.

It's tables all the way down

The Art Of Computer Programming Volume 3. Kind of. Again. This time with hash.

LINQ? yes, really

LINQ? I think I've seen that one — but that was a year ago.

Kibble

So meta. Much wow.

10k

It's an anniversary. Why don't I feel like celebrating?

Spaghetti of choice

Never send bot to think about mans job.

From macro hell

I have macros and I'm not afraid to use them.

Verbose much?

Much code. Very explain. Wow.

RIP blind mouse

It was a fun little experiment while it lasted.

Its like dejavu all over again

I feel like I've done this before. It brings back memories.

Do you even sort?

The Art Of Computer Programming Volume 3. Kind of.

Are we there yet?

Yes and No.

Internal tools

Why internal tools?

The three horsemen

The lint apocalypse is coming and you are not prepared.

running-it-live

I like live coding. Here, I said it.

ai-friendly

You say You are AI friendly. But how friendly are You?

we-can-has-dasilb

Sometimes technical debt gets paid off.

quality-of-life

Sometimes little things make big difference.

Templates? Templates?? Type macros!

This is going to be a good one. It's an iceberg.

LINQ?

LINQ? But Boris, DASLANG already has high-order functions.

How to EDSL

There are ways to ~~die~~ EDSL, and there are ways to ~~die~~ EDSL.

options gen2

Its very easy to ignore reality. Ignoring effects of ignoring reality - now that's tricky.

Zero point five

Construction can't be finished, only stopped. 0.5 is out.

Of pipes and blocks

Das is not a write-only code. The idea is we read more than we write. There is "write as you speak", but there is also "read as you listen".

Data initialization in DAS

Updated on 2024-07-29 16:31:00 Sometimes shorthand notation arrives first.

Garbage collection in the wild

What do a mafia boss and a garbage-collector have in common? Both make sure you'll never see unwanted things again!

Daslang it is

The plug has been pulled. Daslang it is. Take a look at dasCHash too ( C#->DAS ).

0.4 and THE PLAN

0.4 is out. Its a big deal. Its not a big deal.

Hectic

Hectic is exactly the word which comes to mind, when I look at the commit history for the month.

A matter of multiplication

Its a matter of multiplication, really. Productivity factors do not just add up (thats why they are called factors).

Wake up and test the damn thing

It has to be stable. The time has come to test the damn thing.

Pattern matching

In the world of computer programming, there is a concept known as pattern matching. This technique allows us to take a complex value, such as an array or a variant, and compare it to a set of patterns. If the value fits a certain pattern, the matching process continues and we can extract specific values from that value. This is a powerful tool for making our code more readable and efficient, and…

For loop noise

It's stupid. It's ugly. Its also measurable performance gain.

Performance and CMRES aliasing

From daslang.io "... is high-level, statically strong typed scripting language, designed to be fast ..." With an emphasis on fast. Performance first, last, and foremost.

It's not a script

Whats in a name? The sheer fact that I'm writing this post implies a problem. "It's not a script" is something we had to say on numerous occasions. - `Boris ELI5 script?` - Script is a simple programming langue you write your game logic in. When it gets slow you rewrite it to C++. daScript is none of the above.

Implementing instruments

During the last few days I took a small detour from the land of the JIT, to the land of the profiler.

There is something about JIT

In the early days of daScript development having robust JIT was never a priority. In fact during the initial planning meetings JIT was postponed until the cows came home.

Better safe

[Herb Sutter is right](https://youtu.be/ELeZAKCN4tY?t=2391). Its the same thing year after year after year. `Lifetime`, `Initialization`, `Type safety`, and `Bounds safety` are the things which your language should do for you.

Lock and load

Consider the following example: ```python [export] def main var a push(13) // kaboom ``` It causes daScript runtime panic.