Feature request: Tests

By Pavel_Vozenilek My ideal is SQLite, where each production line is accompanied by thousand lines in tests. This is not always perfect idea for everyone everytime, but it fits me. [1] A test is test, not a function, doesn’t need…

Tutorial #4. SDL Demo

Step 1. Create a separate module for the graphical scene. Let’s name this module gui. Step 2. Create a main application module. Step3. Entry point This line of code must always be the last line of the source file. What…

How Argentum programming language handles object hierarchies

Practical example, comparison with popular languages, operation semantics, multithreading features, internal structure Original link: reddit To avoid excessive theorizing, let’s examine the reference model of the language using a practical example of a desktop application’s data model. We’ll design a…

Argentum programming language

Original link: reddit 1/2 years ago I started creating a new programming language. Windows demo:  page:  Language Features: Argentum is an experimental language. Much remains to be done: numerous code generation optimizations, bug fixes, test coverage, stack unwinding, improved debugger…

Multithreading

Argentum threads act as ultra-lightweight processes. They don’t use mutexes, conditional variables or atomics to share state. They share immutable objects naturally and isolate hierarchies of mutable objects inside single thread. There is a mechanism of asynchronous request passing that…

Asynchronous mode

Argentum application can work in either: In the synchronous mode application gets executed this way: In this mode application has access to the following objects: There is no global variables and no mutable global state in this mode: by tracing…

Argentum debugger v1

Debugger v0 supported breakpoints, call-stack inspection and stepping through the program. Version 1 added object inspection and watch expressions. Also it has special support for strings and limited support for arrays. This version is available in binary distribution. 1. Installation…

Argentum got a Debugger v0

In the first version of the Debugger : So far debugger is available only in Argentum compiler built from sources. This is the way to build *.ag application with debug info (and with no optimizations): This debug info is lldb/dwarf…

99 bottles of beer

There is a famous kid’s song in the USA: 99 bottles of beer on the wall, 99 bottles of beer. Take one down and pass it around, 98 bottles of beer on the wall. 98 bottles of beer on the…