Well Simple - A Well... Simple yet powerful scripting language with graphics, JSON, cryptography, and file I/O capabilities.
.ws - Well Simple files
Well Simple comes with three powerful command-line tools:
- ws - The Well.. Simple interpreter
- wpm - WS Package Manager (install libraries from Git)
- (wip)wvm - WS Version Manager (manage multiple versions)
gui.css(".button {color: green !important;}")gui.labelcenter(150, "Hello!")
gui.title("Hello!")
# Run the executable
./build/wslang-linux # Linux interactive mode
./build/wslang-linux file.ws # Linux run file
build\wslang-win.exe # Windows interactive mode
build\wslang-win.exe file.ws # Windows run fileBuild WSLang to executable
Linux/macOS:
./build.shWindows:
build.batx = 10
name = "Alice"
list = [1, 2, 3]
flag = truefirst = "Hello"
second = "World"
greeting = first + " " + second
parts = split("a,b,c", ",")numbers = [1, 2, 3, 4, 5]
append(numbers, 6)
print(numbers[0])
len = length(numbers)# If statement
if x > 10
print("Greater")
else
print("Smaller")
end
# While loop
while x < 5
x = x + 1
end
# For loop
for i in range(0, 10)
print(i)
enddef greet(name)
message = "Hello, " + name
print(message)
end
greet("Alice")try
# Code that might fail
readFile("nonexistent.txt")
except
# Handle error
print("File not found!")
print(error)
finally
# Always executes
print("Done")
endcanvas.clear()
canvas.drawCircle(100, 100, 50, "red")
canvas.drawRectangle(200, 200, 100, 80, "blue")
canvas.render()
canvas.exportSVG("output.svg")# Serialize
obj = [1, 2, 3]
json.stringify(obj)
# Deserialize
text = "[1, 2, 3]"
json.parse(text)# Hashing
hash.md5("password")
hash.sha256("password")
# Encoding
encoded = encode.base64("secret")
decoded = decode.base64(encoded)# Write
writeFile("data.txt", "Hello!")
# Read
content = readFile("data.txt")- wpm - Package Manager - Standalone package manager
- wvm - Version Manager - Manage multiple versions
- Building Executables - Compile for Linux/macOS/Windows
- Getting Started
- Variables and Data Types
- Strings
- Lists
- Control Flow
- Functions
- Error Handling
- File I/O
- JSON
- Cryptography
- Graphics
Check the examples/ directory:
features.ws- All new features demopackage-demo.ws- Package manager demonstrationtest-pkg-manager.ws- Package manager testing
Well.. Simple aims to be:
- Simple - Easy to learn and use
- Powerful - Rich built-in libraries
- Practical - Real-world file I/O and data handling
- Creative - Graphics engine for visualizations
- Secure - Built-in cryptography support
- Extensible - Git-based package manager for sharing libraries
Type help in the interactive mode:
>> helpexit()
quit()Open source and free to use.
Well.. Simple - Because programming should be... well, simple!