Master MSL (Macincode Scripting Language) concepts from basics to advanced topics with interactive .mcn examples
Your first MSL program
log "Hello, World!"
Store and use data
var name = "Alice"
var age = 25
log "Name: " + name + ", Age: " + age
Document your code
// This is a single line comment
var x = 10 // Comment at end of line
Math and string operations
var sum = 10 + 5
var message = "Hello" + " " + "World"
log sum
log message
Store related data together
var user = {
"name": "John",
"age": 30,
"email": "john@example.com"
}
log user.name
Lists of data
var numbers = [1, 2, 3, 4, 5]
var names = ["Alice", "Bob", "Charlie"]
log numbers[0] // First item
log names.length
Make decisions in code
var age = 18
if age >= 18
log "Adult"
else
log "Minor"
Repeat actions
var items = ["apple", "banana", "orange"]
for item in items
log "Fruit: " + item
Work with databases easily
use "db"
// Insert data
query("INSERT INTO users VALUES (?, ?)", ("Alice", 25))
// Select data
var users = query("SELECT * FROM users")
log users
Trigger external services
// POST request
trigger("https://api.example.com/users", {
"name": "Alice",
"email": "alice@example.com"
})
// GET request
var data = fetch("https://api.example.com/users")
Use AI in your applications
use "ai"
var prompt = "Summarize this text: " + user_input
var summary = ai(prompt)
var sentiment = analyze_sentiment("Great product!")
log sentiment.score
Read and write files
// Read file
var content = read_file("data.txt")
// Write file
write_file("output.txt", "Hello World")
// Append to file
append_file("log.txt", "New entry")
Run multiple operations simultaneously
task "email" "trigger" "https://mail.api.com/send" {"to": "user@example.com"}
task "database" "query" "INSERT INTO logs VALUES (?)" ("Email sent")
task "ai" "ai" "Generate follow-up message"
var results = await "email" "database" "ai"
log "All tasks completed"
Handle errors gracefully
try
var result = query("SELECT * FROM users")
log result
catch error
log "Database error: " + error.message
// Fallback logic here
Organize and reuse code
use "email"
use "database"
use "ai"
// Now you can use functions from these packages
send_email("user@example.com", "Welcome!")
save_user(user_data)
var analysis = analyze_text(content)
Configure your applications
var api_key = env("API_KEY")
var database_url = env("DATABASE_URL")
if api_key == null
log "API_KEY not set"
exit(1)
log(message)
Print to console
query(sql, params)
Database operations
trigger(url, data)
HTTP POST request
fetch(url)
HTTP GET request
ai(prompt)
AI text generation
env(key)
Environment variable
var name = value
{"key": "value", "num": 42}
["item1", "item2", "item3"]
if condition
action
for item in array
action
use "package_name"
task "name" "function" args
try
risky_code
catch error
handle_error
Create a user registration workflow
Fetch data and analyze with AI