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.