Skip to main content

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.

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"

Project details


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.

Supported by

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