Learn Seed7 - 10 Code Examples & CST Typing Practice Test
Seed7 is a high-level, general-purpose programming language designed for extreme flexibility, strong typing, and extensible syntax. It allows developers to define new operators, statements, and even change the language’s grammar, making it one of the most customizable languages ever created. It focuses on safety, readability, and powerful abstractions.
View all 10 Seed7 code examples →
Learn SEED7 with Real Code Examples
Updated Nov 20, 2025
Code Sample Descriptions
Seed7 Counter and Theme Toggle - Basic
var count: integer := 0;
var isDark: boolean := false;
procedure updateUI;
begin
put "Counter: "; put count; putnl;
put "Theme: "; put (if isDark then "Dark" else "Light"); putnl;
end procedure;
procedure increment;
begin
count := count + 1;
updateUI;
end procedure;
procedure toggleTheme;
begin
isDark := not isDark;
updateUI;
end procedure;
# Simulate actions
updateUI;
increment;
toggleTheme;
Basic counter with theme toggle using Seed7 procedures.
Seed7 Counter and Theme Toggle - With Decrement
var count: integer := 0;
var isDark: boolean := false;
procedure updateUI;
begin
put "Counter: "; put count; putnl;
put "Theme: "; put (if isDark then "Dark" else "Light"); putnl;
end procedure;
procedure increment;
begin
count := count + 1;
updateUI;
end procedure;
procedure decrement;
begin
count := count - 1;
updateUI;
end procedure;
procedure toggleTheme;
begin
isDark := not isDark;
updateUI;
end procedure;
# Simulate actions
updateUI;
increment;
increment;
decrement;
toggleTheme;
Adds a decrement procedure.
Seed7 Counter and Theme Toggle - Reset Example
var count: integer := 0;
var isDark: boolean := false;
procedure updateUI;
begin
put "Counter: "; put count; putnl;
put "Theme: "; put (if isDark then "Dark" else "Light"); putnl;
end procedure;
procedure increment;
begin
count := count + 1;
updateUI;
end procedure;
procedure reset;
begin
count := 0;
updateUI;
end procedure;
procedure toggleTheme;
begin
isDark := not isDark;
updateUI;
end procedure;
# Simulate actions
updateUI;
increment;
increment;
reset;
toggleTheme;
Adds a reset procedure to reset the counter to zero.
Seed7 Counter and Theme Toggle - Inline Theme Toggle
var count: integer := 0;
var isDark: boolean := false;
procedure updateUI;
begin
put "Counter: "; put count; putnl;
put "Theme: "; put (if isDark then "Dark" else "Light"); putnl;
end procedure;
procedure increment;
begin
count := count + 1;
isDark := not isDark;
updateUI;
end procedure;
procedure decrement;
begin
count := count - 1;
isDark := not isDark;
updateUI;
end procedure;
# Simulate actions
updateUI;
increment;
decrement;
Toggles theme inline during increment or decrement.
Seed7 Counter and Theme Toggle - With Conditional Display
var count: integer := 0;
var isDark: boolean := false;
procedure updateUI;
begin
put "Counter: "; put count; putnl;
put "Theme: "; put (if isDark then "Dark" else "Light"); putnl;
if count = 5 then
put "Reached 5!"; putnl;
end procedure;
procedure increment;
begin
count := count + 1;
updateUI;
end procedure;
procedure toggleTheme;
begin
isDark := not isDark;
updateUI;
end procedure;
# Simulate actions
updateUI;
increment;
increment;
increment;
increment;
increment;
toggleTheme;
Displays additional message when counter reaches 5.
Seed7 Counter and Theme Toggle - While Loop Simulation
var count: integer := 0;
var isDark: boolean := false;
procedure updateUI;
begin
put "Counter: "; put count; putnl;
put "Theme: "; put (if isDark then "Dark" else "Light"); putnl;
end procedure;
procedure increment;
begin
count := count + 1;
updateUI;
end procedure;
procedure toggleTheme;
begin
isDark := not isDark;
updateUI;
end procedure;
# Simulate actions
while count < 3 do
increment;
end while;
toggleTheme;
Uses a while loop to increment until counter reaches 3.
Seed7 Counter and Theme Toggle - Using Constants
const darkTheme: string := "Dark";
const lightTheme: string := "Light";
var count: integer := 0;
var isDark: boolean := false;
procedure updateUI;
begin
put "Counter: "; put count; putnl;
put "Theme: "; put (if isDark then darkTheme else lightTheme); putnl;
end procedure;
procedure toggleTheme;
begin
isDark := not isDark;
updateUI;
end procedure;
# Simulate actions
updateUI;
toggleTheme;
Uses constants for theme strings instead of inline text.
Seed7 Counter and Theme Toggle - Function Parameter Style
var count: integer := 0;
var isDark: boolean := false;
procedure updateUI(c: integer);
begin
put "Counter: "; put c; putnl;
put "Theme: "; put (if isDark then "Dark" else "Light"); putnl;
end procedure;
procedure increment;
begin
count := count + 1;
updateUI(count);
end procedure;
procedure toggleTheme;
begin
isDark := not isDark;
updateUI(count);
end procedure;
# Simulate actions
updateUI(count);
increment;
toggleTheme;
Passes the counter value as a parameter to the updateUI procedure.
Seed7 Counter and Theme Toggle - Using Boolean Toggle Function
var count: integer := 0;
var isDark: boolean := false;
procedure updateUI;
begin
put "Counter: "; put count; putnl;
put "Theme: "; put (if isDark then "Dark" else "Light"); putnl;
end procedure;
procedure toggle(var b: boolean);
begin
b := not b;
end procedure;
procedure toggleTheme;
begin
toggle(isDark);
updateUI;
end procedure;
procedure increment;
begin
count := count + 1;
updateUI;
end procedure;
# Simulate actions
updateUI;
increment;
toggleTheme;
Adds a helper procedure to toggle the boolean value.
Seed7 Counter and Theme Toggle - Combined Increment and Toggle
var count: integer := 0;
var isDark: boolean := false;
procedure updateUI;
begin
put "Counter: "; put count; putnl;
put "Theme: "; put (if isDark then "Dark" else "Light"); putnl;
end procedure;
procedure incrementAndToggle;
begin
count := count + 1;
isDark := not isDark;
updateUI;
end procedure;
# Simulate actions
updateUI;
incrementAndToggle;
incrementAndToggle;
Combines increment and theme toggle in a single procedure.
Frequently Asked Questions about Seed7
What is Seed7?
Seed7 is a high-level, general-purpose programming language designed for extreme flexibility, strong typing, and extensible syntax. It allows developers to define new operators, statements, and even change the language’s grammar, making it one of the most customizable languages ever created. It focuses on safety, readability, and powerful abstractions.
What are the primary use cases for Seed7?
Domain-Specific Languages (DSLs). Algorithmic and numerical computing. Parser and compiler development. Scripting and automation. General-purpose application development
What are the strengths of Seed7?
Extremely extensible language design. Readable Pascal-like syntax. Expressive DSL creation capabilities. High performance through C compilation. Safe, strongly typed development
What are the limitations of Seed7?
Small community and ecosystem. Limited tooling and IDE support. Slow development pace. Not widely adopted in industry. Requires deep understanding to design custom syntax safely
How can I practice Seed7 typing speed?
CodeSpeedTest offers 10+ real Seed7 code examples for typing practice. You can measure your WPM, track accuracy, and improve your coding speed with guided exercises.