Skip to main content

๐ŸŒ™ Whisper Programming Language

A truly unique programming language with conversational, natural English syntax that makes coding feel like storytelling.

License: MIT Python Version PyPI version Downloads

๐ŸŒ Website

Official Website: https://whisper.ibrahimmustafaopu.com

โœจ What Makes Whisper Unique?

  • File Extensions: .wsp or .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 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:

  1. Open Extensions panel (Ctrl+Shift+X)
  2. Search "Whisper Language Support"
  3. 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

๐Ÿ’ฌ 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


Made with ๐ŸŒ™ by Ibrahim Mustafa Opu

"Programming should feel like telling a story"

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

whisper_lang-1.0.0.tar.gz (39.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

whisper_lang-1.0.0-py3-none-any.whl (16.1 kB view details)

Uploaded Python 3

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

Hashes for whisper_lang-1.0.0.tar.gz
Algorithm Hash digest
SHA256 ec4bce2ae67faf7a8bb74084c2f7e70c87d619309c5a8480a968cf5ba63e2f6b
MD5 0430bcba341bc65c4cb9cc69778be479
BLAKE2b-256 ec68033e7fa38aee5d217e585e1cf9ef9b722a7d1b52d48b6022542a07837e04

See more details on using hashes here.

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

Hashes for whisper_lang-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fc35da6033c73d2c300df4d62e693708b40b4bdd27a8430378b42a05ba774d08
MD5 9fdc2e36e78f6ce756a74614cec8c440
BLAKE2b-256 cfe85213cae53e493e9c5d578e398989ade5a052b9a531c94f83e2ea50b6bd3f

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page