1. Home
  2. /
  3. Modula3
  4. /
  5. Modula-3 Todo List

Modula-3 Todo List - Modula3 Typing CST Test

Loading…

Modula-3 Todo List — Modula3 Code

Maintains a simple todo list with add and remove functionality.

MODULE TodoList;
IMPORT IO;
VAR todos: ARRAY [0..9] OF STRING;
VAR count: INTEGER := 0;

PROCEDURE addTask(task: STRING);
BEGIN
	todos[count] := task; count := count + 1;
	FOR i := 0 TO count-1 DO IO.PutLn(todos[i]) END;
END addTask;

PROCEDURE removeTask(index: INTEGER);
VAR i: INTEGER;
BEGIN
	FOR i := index TO count-2 DO todos[i] := todos[i+1] END;
	count := count - 1;
	FOR i := 0 TO count-1 DO IO.PutLn(todos[i]) END;
END removeTask;

BEGIN
	addTask("Buy milk");
	addTask("Write Modula-3 code");
	removeTask(0);
END TodoList.

Modula3 Language Guide

Modula-3 is a high-level, statically typed programming language designed for safe systems programming, modularity, and object-oriented programming. It emphasizes simplicity, safety, and readability while providing features suitable for building large, robust software systems.

Primary Use Cases

  • ▸Safe systems programming
  • ▸Concurrent applications
  • ▸Compiler development
  • ▸Networked and distributed systems
  • ▸Educational projects on modular programming

Notable Features

  • ▸Strong static typing with safety guarantees
  • ▸Module system for large-scale software organization
  • ▸Garbage collection for memory safety
  • ▸Exception handling and concurrency primitives
  • ▸Support for objects, generics, and interfaces

Origin & Creator

Modula-3 was developed in the late 1980s by the DEC Systems Research Center and Olivetti Research Center, building on ideas from Modula-2 and Pascal, with contributions from several academic and industry researchers.

Industrial Note

Modula-3 is used primarily in academic research, legacy systems, and projects requiring safe and concurrent programming in a modular architecture.

More Modula3 Typing Exercises

Modula-3 Counter and Theme ToggleModula-3 Random Number GeneratorModula-3 Dice RollerModula-3 Countdown TimerModula-3 Prime CheckerModula-3 Temperature ConverterModula-3 Shopping CartModula-3 Name GreetingModula-3 Stopwatch

Practice Other Languages

CReactPythonC++RustTypeScriptKotlinPHPJavaC#RubyMqlCqlN1qlCypher