Examples
Hello World
#!/usr/bin/env minilux
printf("Hello, World!")
Variables and Math
# Basic arithmetic
$a = 10
$b = 20
$sum = $a + $b
$product = $a * $b
printf("Sum: ", $sum)
printf("Product: ", $product)
Factorial Calculator
#!/usr/bin/env minilux
# Calculate factorial of a number
$n = 5
$result = 1
$original = $n
while ($n > 0) {
$result = $result * $n
dec $n - 1
}
printf("Factorial of ", $original, " is ", $result)
Countdown Timer
#!/usr/bin/env minilux
# Countdown from 10 to 1
$count = 10
while ($count > 0) {
printf($count, "...")
sleep(1)
dec $count - 1
}
printf("Blast off!")
Array Manipulation
#!/usr/bin/env minilux
# Working with arrays
$fruits = ["apple", "banana", "orange"]
printf("Initial fruits:")
$i = 0
while ($i < len($fruits)) {
printf(" ", $i, ": ", $fruits[$i])
inc $i + 1
}
# Add a fruit
push $fruits, "grape"
printf("After adding grape: ", len($fruits), " fruits")
# Remove first fruit
shift $fruits
printf("After removing first: ", len($fruits), " fruits")
# Print final list
printf("\nFinal fruits:")
$i = 0
while ($i < len($fruits)) {
printf(" ", $fruits[$i])
inc $i + 1
}
FizzBuzz
#!/usr/bin/env minilux
# FizzBuzz from 1 to 20
$i = 1
while ($i <= 20) {
$mod3 = $i % 3
$mod5 = $i % 5
if ((($mod3 == 0) AND ($mod5 == 0))) {
printf("FizzBuzz")
} elseif ($mod3 == 0) {
printf("Fizz")
} elseif ($mod5 == 0) {
printf("Buzz")
} else {
printf($i)
}
inc $i + 1
}
Find Maximum Value
#!/usr/bin/env minilux
# Find the maximum value in an array
$numbers = [23, 45, 12, 67, 34, 89, 15]
$max = $numbers[0]
$i = 1
while ($i < len($numbers)) {
if ($numbers[$i] > $max) {
$max = $numbers[$i]
}
inc $i + 1
}
printf("Maximum value: ", $max)
Shell Integration
#!/usr/bin/env minilux
# Execute system commands
printf("=== System Information ===")
$user = shell("whoami")
$hostname = shell("hostname")
$os = shell("uname -s")
$date = shell("date")
printf("User: ", $user)
printf("Hostname: ", $hostname)
printf("OS: ", $os)
printf("Date: ", $date)
User-Defined Functions
#!/usr/bin/env minilux
# Define and use custom functions
func greet {
printf("Hello from a custom function!")
}
func calculate {
$x = 10
$y = 20
$result = $x + $y
printf("Calculation result: ", $result)
}
# Call the functions
greet
calculate
Progress Bar
#!/usr/bin/env minilux
# Simulate a progress bar
printf("Loading")
$i = 0
while ($i < 10) {
printf(".")
sleep(1)
inc $i + 1
}
printf("Complete!")
Including Other Scripts
Create a library file lib.mi:
# lib.mi - Helper functions
func sayHello {
printf("Hello from library!")
}
func printSeparator {
printf("==================")
}
Main script main.mi:
#!/usr/bin/env minilux
# main.mi - Uses the library
include "lib.mi"
printSeparator
sayHello
printSeparator
TCP Socket Example
#!/usr/bin/env minilux
# Simple HTTP request
sockopen("web", "example.com", 80)
sockwrite("web", "GET / HTTP/1.0\r\nHost: example.com\r\n\r\n")
sockread("web", $response)
sockclose("web")
printf("Response: ", $response)
Sum of Numbers
#!/usr/bin/env minilux
# Calculate sum of numbers from 1 to N
$n = 100
$i = 1
$sum = 0
while ($i <= $n) {
$sum = $sum + $i
inc $i + 1
}
printf("Sum of 1 to ", $n, ": ", $sum)