Category Features

Tests

Argentum got a special syntax to define tests right in the source files along this with code that needs to be tested, and a special mode of compilation, designed to support those tests. How to Define Tests in Code Argentum…

Multilevel breaks from lambdas

This post extends the previous post related to break/continue/return operators. In other languages Let’s start with a JavaScript example: Why is it sometimes desirable to use lambda over loops? On the other hand Lambdas have one big disadvantage: handling control…

New Argentum project structure

Argentum is a modular language. Modules: Module is always a single text source file. It starts with a series of using declaration that define dependencies on other modules with optional imports of class/function/constant names from those used modules. Argentum SDK…

GUI Platform

It’s time to make Argentum programs work on: To do so it needs a graphical user interface library: But this GUI library itself needs a foundation: So meet an experimental “GuiPlatform” module: Example So far this example is tested on…

JSON Module Overview

Module Content It’s available in playground, so go and try it yourself 🙂 Argentum JSON module provides three separate ways to handle JSONs in your application: Use cases To be specific we need some sort of common task to be…

JSON DOM

Argentum JSON module has effective Writer and Parser that reads and writes generic application data structures to and from JSONs. It’s a preferred way of using JSON in Argentum. Though in rare cases when an application has to deal with…

JSON Writer

Argentum got a JSON module. Its Writer class allows to directly encode in JSON arbitrary application data without creating any intermediate DOM structures. Writer has a number of methods that write structural and primitive data nodes.After data is written, a…

32bit Short and Float Types

Argentum was initially designed as 64bit-only language. Its integer and floating point types were 64bit (int and double types respectively) while support for all other data types was limited to raw buffer operations through Blob data type – it allowed…

Strings and Cursors

Argentum strings are mere sequences of Unicode code-points (internally encoded in Utf-8). Argentum string is immutable. They are not indexable.There is only one way to access string characters – is to read them one-by-one start-to-end. Argentum String has unique features…

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…