🌙 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"
Metadata
Release files for whisper-lang 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| whisper_lang-1.0.0.tar.gz | 39.6 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| whisper_lang-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 55.7 kB
Release files / whisper_lang-1.0.0.tar.gz
| Download URL | whisper_lang-1.0.0.tar.gz |
|---|---|
| Size | 39.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ec4bce2ae67faf7a8bb74084c2f7e70c87d619309c5a8480a968cf5ba63e2f6b
|
|
BLAKE2b-256 checksum How to use checksums |
ec68033e7fa38aee5d217e585e1cf9ef9b722a7d1b52d48b6022542a07837e04
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.5
|
Release files / whisper_lang-1.0.0-py3-none-any.whl
| Download URL | whisper_lang-1.0.0-py3-none-any.whl |
|---|---|
| Size | 16.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
fc35da6033c73d2c300df4d62e693708b40b4bdd27a8430378b42a05ba774d08
|
|
BLAKE2b-256 checksum How to use checksums |
cfe85213cae53e493e9c5d578e398989ade5a052b9a531c94f83e2ea50b6bd3f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.5
|
Security for whisper-lang 1.0.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.