Strings and Cursors

In argentum strings are mere sequences of Unicode code-points. Internally they are in UTF8. Strings are immutable, and not indexable. There is only one way to access string characters – to read them one-by-one start-to-end. Previously class sys_String played two…

How fast is Argentum (part 2)

The previous “benchmark” tested integer arithmetic, control structures and function/lambda calls. This benchmark tests data structures, object creation, method calls and pointers. It’s based on First of all, tests from the above site have a number of issues: Let’s…

How fast is Argentum?

Argentum is advertised as fast. But how fast it actually is? Here is a simple benchmark of three languages: Python, C, and an x86-64 assembly. Though this benchmark is questionable: This though gives a glimpse on how these languages are…

Playground

Argentum got a web-based playground. Playground features: Limitations Future improvements With time the playground will be improved in many ways: All in all, right now this playground allows to play with Argentum online.Happy hacking!

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 operator This operator allows to perform…

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: