admin

admin

The Argentum programming language is one year old

A brief first-person overview and retrospective of the language’s first year.Implemented features, plans and priorities. January 20, 2023 On a gloomy winter morning, I received a notice from Google about an upcoming staff reduction: I must either find another department…

Lambdas

In Argentum lambdas are special functions: Syntax Lambda type declarations: If functions, methods or delegates take lambdas as parameters, these lambda types need to be declared: When creating lambdas, their parameters and return types are inferred from the first call…

Pipe and initializer operators

These two binary infix operators simplify some frequent scenarios Pipe operator This operator allows to pass the value from left operand to the right operand and return the result of the right operand. Initializer (colombo) operator This operator allows to…

Strings simplified

The first language iteration is almost over. It’s time to revise some previously made decisions on syntax and semantic. Nowadays Argentum has too many syntax for strings – single and multiline, with and without interpolation, strings are defined with “”…

SQLite integration

Argentum got SQLite integration: Build & run: It prints (depending on the actual content of the database): This code: Other supported features not shown in this demo: Limitations:

Map, SharedMap, WeakMap

Argentum standard library has three hash maps: Map, SharedMap, WeakMap. Most of design details of Maps are similar to Arrays: These maps are unordered key-value containers, where: Internally they are implemented as flat, open addressed, 2n grow, linear probe, robin…

Array, WeakArray, SharedArray

Argentum has no built-in Arrays Other languages have built-in arrays (and some even have built-in maps), but these built-in data structures quickly become insufficient. So the parallel containers from the standard libraries emerge. They quickly surpass and replace the built-in…