A truly unique programming language with conversational, natural English syntax
Project description
๐ Whisper Programming Language
A truly unique programming language with conversational, natural English syntax that makes coding feel like storytelling.
๐ Website
Official Website: https://whisper.ibrahimmustafaopu.com
- ๐ Documentation
- ๐ Tutorial
- ๐ป Examples
- ๐ค Contribute
โจ What Makes Whisper Unique?
- File Extensions:
.wspor.whisper- your choice! - Conversational Syntax: Write code like you're having a conversation
- Question-Based Logic: Ask questions with yes/no answers
- Story Objects: Create characters and objects with properties
- Natural Commands: Multiple ways to express the same thing
- Beginner-Friendly: Read and write code in plain English
- Fully Featured: Functions, loops, lists, file I/O, and more
๐ Quick Start
Installation
pip install whisper-lang
Hello World
Create hello.wsp (or hello.whisper):
hey whisper, remember that name is "World"
tell me "Hello, " + name + "!"
Run it:
whisper hello.wsp
# Both .wsp and .whisper extensions are supported
๐ฏ Examples
1. Conversational Variables
# Talk to Whisper naturally
hey whisper, remember that score is 0
whisper, so lives is 3
# Or use traditional syntax
let player be "Alice"
set level to 1
2. Question-Based Conditions
is age greater than 18?
yes:
tell me "You can vote!"
no:
tell me "Too young to vote"
3. Story-Like Programming
# Create objects with properties
there is a hero with health 100, power 50
there is a dragon with health 200, damage 30
# Perform actions
the hero loses 20 health
the dragon loses 30 health
the hero gains 10 power
4. Natural Loop Control
do 10 times:
let num be randint(1, 10)
when num is 5:
skip # Skip 5
when num is 9:
end loop # Exit loop
show num
5. Functions & Logic
define greet with name, age:
whisper "Hello, " + name + "!"
is age greater than 18?
yes:
tell me "Welcome, adult!"
no:
tell me "Welcome, young one!"
give back "Greeting complete"
call greet with "Alice", 25
๐ Core Features
Variables (Multiple Ways!)
remember that x is 10 # Conversational
let y be 20 # Traditional
set z to 30 # Alternative
so w is 40 # Shorthand
forget about old_var # Delete
Output (Choose Your Style!)
whisper "Hello" # Classic
show value # Simple
tell me "Message" # Conversational
just say "Quick" # Casual
announce "No newline" # Inline
Conditionals
# When/Otherwise (if/elif/else)
when x greater than 10:
show "Big"
or when x greater than 5:
show "Medium"
otherwise:
show "Small"
# Question format
is x equals 10?
yes:
show "Perfect!"
no:
show "Try again"
Loops
do 5 times: # Repeat N times
show "Hello"
repeat 10: # Alternative syntax
show "Counting"
while count less than 10: # While loop
increase count by 1
for each item in items: # For-each loop
show item
Lists
make fruits with ["apple", "banana", "orange"]
add "grape" to fruits
remove "banana" from fruits
for each fruit in fruits:
show fruit
Functions
define calculate with a, b:
let sum be a + b
let product be a * b
give back sum
call calculate with 10, 5
show __last_result__
File Operations
write "Hello, File!" to "output.txt"
read "input.txt" into content
show content
Error Handling
attempt:
let result be 10 / 0
handle:
whisper "Error: " + error
Math & Random
let x be sqrt(16) # 4
let y be pow(2, 3) # 8
let z be randint(1, 100) # Random 1-100
increase score by 10
decrease lives by 1
String Operations
uppercase "hello" into upper # HELLO
lowercase "WORLD" into lower # world
๐ฎ Complete Example: Number Guessing Game
# Number Guessing Game
whisper "=== Guess the Number ==="
let secret be randint(1, 100)
let attempts be 0
while attempts less than 10:
increase attempts by 1
ask "Guess (1-100):" into guess
is guess equals secret?
yes:
whisper "๐ Correct! You win!"
show "Attempts: " + attempts
end loop
no:
when guess greater than secret:
tell me "Too high!"
otherwise:
tell me "Too low!"
let remaining be 10 - attempts
show "Tries left: " + remaining
whisper "Thanks for playing!"
๐ Syntax Comparison
| Feature | Python | Whisper |
|---|---|---|
| Variable | x = 10 |
remember that x is 10 or let x be 10 |
print("Hi") |
whisper "Hi" or tell me "Hi" |
|
| Input | name = input("Name?") |
ask "Name?" into name |
| If/Else | if x > 5: |
when x greater than 5: or is x greater than 5? |
| For Loop | for i in items: |
for each i in items: |
| While | while x < 10: |
while x less than 10: |
| Function | def greet(name): |
define greet with name: |
| Return | return value |
give back value |
| Break | break |
break or end loop or stop |
| Continue | continue |
continue or next or skip |
๐จ Why Choose Whisper?
For Beginners
- No cryptic symbols: Read code like English
- Multiple ways: Choose syntax that feels natural to you
- Clear errors: Understand what went wrong
- Gentle learning curve: Start coding immediately
For Educators
- Teach concepts: Focus on logic, not syntax
- Engaging: Story-based programming captures imagination
- Versatile: Suitable for all age groups
- Creative: Build games, stories, and apps
For Fun Projects
- Text adventures: Built-in story object system
- Quick scripts: Natural syntax for rapid prototyping
- Creative coding: Express ideas conversationally
- Experimentation: Try ideas without syntax barriers
๐ฆ Installation & Usage
Requirements
- Python 3.7 or higher
Install
pip install whisper-lang
Run a Program
whisper myprogram.wsp
# Both .wsp and .whisper extensions are supported
VS Code Extension
Syntax highlighting available!
Install from VS Code:
- Open Extensions panel (
Ctrl+Shift+X) - Search "Whisper Language Support"
- Click Install
Or via command line:
code --install-extension ibrahimmustafaopu.whisper-lang-support
See DOCUMENTATION.md for manual installation instructions.
๐ Documentation
Complete documentation available in DOCUMENTATION.md
Includes:
- Full syntax reference
- All features explained
- Dozens of examples
- Best practices
- Common mistakes
- Quick reference card
๐ Learning Path
Lesson 1: Variables & Output
remember that name is "Alice"
let age be 25
whisper "Name: " + name
show "Age: " + age
Lesson 2: Input & Logic
ask "Your age?" into age
is age greater than 18?
yes:
tell me "Adult"
no:
tell me "Minor"
Lesson 3: Loops
do 5 times:
whisper "Hello!"
let count be 0
while count less than 5:
show count
increase count by 1
Lesson 4: Functions
define add with a, b:
let sum be a + b
give back sum
call add with 10, 20
show __last_result__
Lesson 5: Story Objects
there is a player with health 100, score 0
the player gains 10 score
the player loses 20 health
show player
๐ Example Programs
Todo List Manager
make tasks with []
let running be 1
while running is 1:
whisper "\n1. Add 2. Show 3. Remove 4. Exit"
ask "Choice:" into choice
when choice is 1:
ask "Task:" into task
add task to tasks
or when choice is 2:
for each task in tasks:
show "- " + task
or when choice is 3:
ask "Remove:" into task
remove task from tasks
or when choice is 4:
set running to 0
RPG Battle
there is a hero with health 100, attack 25
there is a monster with health 80, attack 15
while hero health > 0 and monster health > 0:
the monster loses hero attack
show "You attack! Monster: " + monster health
when monster health less than 1:
whisper "Victory!"
break
the hero loses monster attack
show "Monster attacks! You: " + hero health
Calculator
ask "First number:" into a
ask "Second number:" into b
let sum be a + b
let diff be a - b
let product be a * b
let quotient be a / b
show "Sum: " + sum
show "Difference: " + diff
show "Product: " + product
show "Quotient: " + quotient
๐ง Advanced Features
Math Functions
let x be sqrt(16) # Square root
let y be pow(2, 8) # Power
let z be abs(-10) # Absolute value
let a be round(3.7) # Rounding
let b be randint(1, 100) # Random integer
File Operations
# Write
write "Log entry: Started" to "log.txt"
# Read
read "config.txt" into config
show config
Error Handling
attempt:
read "missing.txt" into data
handle:
whisper "File not found: " + error
let data be "default"
List Operations
make numbers with [5, 2, 8, 1, 9]
add 3 to numbers
remove 8 from numbers
for each num in numbers:
when num greater than 5:
show num + " is big"
๐ค Contributing
Contributions are welcome! Feel free to:
- Report bugs
- Suggest features
- Submit pull requests
- Share your Whisper programs
๐ License
MIT License - see LICENSE file for details
๐ Links
๐ Links
- Website: https://whisper.ibrahimmustafaopu.com
- Documentation: https://whisper.ibrahimmustafaopu.com/documentation.html
- GitHub: https://github.com/ibrahim787898m/whisper-lang
- PyPI: https://pypi.org/project/whisper-lang/
- Issues: https://github.com/ibrahim787898m/whisper-lang/issues
๐ฌ Community
Share your Whisper programs! Tag them with #WhisperLang
๐ฆ Status
- โ Core language features complete
- โ Full documentation available
- โ VS Code syntax highlighting
- โ Error handling
- โ File I/O
- ๐ Coming soon: More built-in functions
- ๐ Coming soon: Package manager
- ๐ Coming soon: Standard library
๐ฏ Roadmap
๐ฏ Roadmap
Version 1.1 (Q2 2026) - Enhanced Features
- Dictionary/object support
- Date/time functions
- Advanced string methods
- JSON support
- HTTP requests
- Improved error messages
- More built-in functions
- Performance optimizations
Version 1.5 (Q3 2026) - Developer Tools
- Interactive REPL mode
- Package manager
- Testing framework
- More IDE extensions (Sublime, Atom, etc.)
- Online code playground
- Enhanced debugging tools
Version 2.0 (Q4 2026) - Advanced Capabilities
- Module system
- Classes/OOP
- Async operations
- GUI toolkit
- Web framework integration
- Database connectivity
- API support
- Multi-language support
- Community plugins system
โ FAQ
Q: Is Whisper suitable for production?
A: Whisper is great for learning, scripting, and fun projects. For production systems, consider Python, JavaScript, etc.
Q: Can I use Whisper in my project?
A: Yes! Whisper is MIT licensed and free to use.
Q: How do I get syntax highlighting?
A: See the VS Code extension setup in DOCUMENTATION.md
Q: Can I contribute?
A: Absolutely! Pull requests are welcome.
Q: Is there a standard library?
A: Currently building one. Basic functions included.
Q: Can Whisper do [X]?
A: Check DOCUMENTATION.md for full feature list.
๐ Acknowledgments
Thanks to all programming language pioneers who made coding more accessible!
๐ Contact
- Author: Ibrahim Mustafa Opu
- Email: ibrahimmustafa787898@gmail.com
- GitHub: github.com/ibrahim787898m
- Website: v2.ibrahimmustafaopu.com
Made with ๐ by Ibrahim Mustafa Opu
"Programming should feel like telling a story"
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file whisper_lang-1.0.0.tar.gz.
File metadata
- Download URL: whisper_lang-1.0.0.tar.gz
- Upload date:
- Size: 39.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ec4bce2ae67faf7a8bb74084c2f7e70c87d619309c5a8480a968cf5ba63e2f6b
|
|
| MD5 |
0430bcba341bc65c4cb9cc69778be479
|
|
| BLAKE2b-256 |
ec68033e7fa38aee5d217e585e1cf9ef9b722a7d1b52d48b6022542a07837e04
|
File details
Details for the file whisper_lang-1.0.0-py3-none-any.whl.
File metadata
- Download URL: whisper_lang-1.0.0-py3-none-any.whl
- Upload date:
- Size: 16.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fc35da6033c73d2c300df4d62e693708b40b4bdd27a8430378b42a05ba774d08
|
|
| MD5 |
9fdc2e36e78f6ce756a74614cec8c440
|
|
| BLAKE2b-256 |
cfe85213cae53e493e9c5d578e398989ade5a052b9a531c94f83e2ea50b6bd3f
|