A programming language that doesn't scream at you. Phonetic shortcuts, forgiving syntax, zero indentation fascism.
Project description
hypnotIC
I see what you meant.
A programming language that doesn't scream at you. It understands.
* "Hello, world!"
Why hypnotIC?
Because code should understand you, not the other way around.
- No indentation fascism - Use
ICto close blocks, not whitespace - Phonetic shortcuts - Type how you think (
4= for,wyl= while,?= if) - Forgiving syntax - Warnings, not errors when possible
- Fun - Programming should be
fun, not frustrating
Installation
pip install hypnotic
Or just grab hypnotic.py and run it directly:
python hypnotic.py
Quick Start
Hello World
* "Hello, world!"
Variables
name = "Zach"
age = 25
active = t
Conditionals
? age > 21
* "welcome"
file age > 18
* "almost"
Ls
* "nope"
IC
Loops
4 i n 10
* i
IC
Functions
fun greet name
* "Hello, " + name
IC
greet "world"
FizzBuzz (because you were wondering)
4 i n 100
? i mold 15 iz 0
* "FizzBuzz"
file i mold 3 iz 0
* "Fizz"
file i mold 5 iz 0
* "Buzz"
Ls
* i
IC
IC
The Dictionary
| Normal | hypnotIC | Notes |
|---|---|---|
* |
splat it out | |
| input | PV |
5th grade humor |
| if | ? |
questioning |
| else | Ls |
sounds like "else" |
| elif | file |
elif backwards |
| for | 4 |
sounds like "for" |
| in | n |
sounds like "in" |
| while | wyl |
|
| function | fun |
it should be |
| return | re: |
like email reply |
| true | t |
|
| false | f |
|
| and | & |
|
| or | or / RHO |
normal / nerdy |
| not | - |
negation |
| == | iz |
sounds like "is" |
| != | aint |
ain't |
| break | x |
cross it out |
| continue | --> |
keep going |
| null | N^0 |
nothing to the zero |
| comment | fuck |
ignore this |
| end block | IC |
"I see" |
| array | rayz |
sounds like "arrays" |
| append | up |
push up |
| pop | !!! |
explosive |
| length | " |
inches |
| lambda | \ |
quick function |
| try | hard |
try hard |
| catch | C |
catch |
| import | -> |
pull it in |
| self | ego |
the object's ego |
Running hypnotIC
# Interactive REPL
hypnotic
# Run a file
hypnotic myprogram.ic
# One-liner
hypnotic -c "* \"Hello!\""
# Debug mode (see tokens and AST)
hypnotic -d myprogram.ic
File Extension
.ic - because IC what you did there.
Examples
See the examples/ directory for more programs:
showcase.ic- Tour of language featureshello.ic- The classic
Philosophy
- IC sees your intent - The parser tries to understand what you meant
- No indentation fascism - Use
ICto close blocks - Phonetic shortcuts - Type how you think
- Forgiving - Warnings, not errors when possible
- Fun - Programming should be
fun, not frustrating
Contributing
Found a bug? Want to add a feature? PRs welcome. See CONTRIBUTING.md for details.
License
MIT - Do whatever you want.
"Find what you love and let it kill you." — hypnotIC
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 hypnotic-0.1.2.tar.gz.
File metadata
- Download URL: hypnotic-0.1.2.tar.gz
- Upload date:
- Size: 12.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
12722d025345cef388b4fabf2d6678f2b2afe433675d6dd1eb8021738ecfd377
|
|
| MD5 |
80aead172a64403dc0a05f4d189e49e4
|
|
| BLAKE2b-256 |
a5c40488b313c79338338c660ac76579ea2a54fa4292e78822fe8801ee56c590
|
Provenance
The following attestation bundles were made for hypnotic-0.1.2.tar.gz:
Publisher:
publish.yml on zachseven/hypnotic
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
hypnotic-0.1.2.tar.gz -
Subject digest:
12722d025345cef388b4fabf2d6678f2b2afe433675d6dd1eb8021738ecfd377 - Sigstore transparency entry: 876524780
- Sigstore integration time:
-
Permalink:
zachseven/hypnotic@a84e1b950051fae72b569c4e865765dff0e0084b -
Branch / Tag:
refs/tags/v0.1.2 - Owner: https://github.com/zachseven
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@a84e1b950051fae72b569c4e865765dff0e0084b -
Trigger Event:
release
-
Statement type:
File details
Details for the file hypnotic-0.1.2-py3-none-any.whl.
File metadata
- Download URL: hypnotic-0.1.2-py3-none-any.whl
- Upload date:
- Size: 11.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
570ee1f2122f5bf42cc3ea01c55be62de7755d7df72b903b05c90d8137e3b45d
|
|
| MD5 |
a8d968d472c588ad3698481256f19559
|
|
| BLAKE2b-256 |
d15c1d35b28179246357c590d8770ba089f5fd82c92003e2474719fe35673fee
|
Provenance
The following attestation bundles were made for hypnotic-0.1.2-py3-none-any.whl:
Publisher:
publish.yml on zachseven/hypnotic
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
hypnotic-0.1.2-py3-none-any.whl -
Subject digest:
570ee1f2122f5bf42cc3ea01c55be62de7755d7df72b903b05c90d8137e3b45d - Sigstore transparency entry: 876524827
- Sigstore integration time:
-
Permalink:
zachseven/hypnotic@a84e1b950051fae72b569c4e865765dff0e0084b -
Branch / Tag:
refs/tags/v0.1.2 - Owner: https://github.com/zachseven
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@a84e1b950051fae72b569c4e865765dff0e0084b -
Trigger Event:
release
-
Statement type: