Curl is an open-source programming language built on Python technology
Project description
Curl Programming Language
Curl is an open-source programming language built on Python technology, designed to be simple and expressive. Every statement uses a keyword{...}\ style, and blocks are opened with - and closed with --\.
Requirements
- Python 3.7+
- Node.js (optional — only needed for
otherCoding{"JavaScript", ...}blocks)
Installation
From PyPI (recommended):
pip install curl-programming-lang
To upgrade:
pip install --upgrade curl-programming-lang
From source:
git clone https://github.com/gautamritvik/Curl-Programming.git
cd Curl-Programming
pip install -e .
Running the Curl terminal
curlang
Running a Curl program
curlang [YOUR-FILE].curl
Syntax Reference
Print — pcType
Outputs text to the console. Supports string concatenation with +.
pcType{"Hello, World!"}\
pcType{"Hello, " + var{name} + "!"}\
Input — pcAsk
Prompts the user for input. The result is accessed anywhere with input{ans}.
pcAsk{"What is your name?">>}\
pcType{"You said: " + input{ans}}\
Variables — var
Assign a value with var{name, value}\. Reference it later with var{name}.
var{name, "Ritvik"}\
pcType{var{name}}\
Variables can hold strings, numbers, or lists.
Lists — list
Create a list with items separated by ;. Typically assigned to a variable.
var{colors, list{"red"; "green"; "blue"}}\
pcType{var{colors}}\
Functions — createFunc / func
Define a function with createFunc{name}- and close it with --\. Call it with func{name}\.
createFunc{greet}-
pcType{"Hello from greet!"}\
--\
func{greet}\
Conditionals — if / elif / else
Simple if:
if{var{score} >= 90, then}-
pcType{"Grade: A"}\
--\
If / else:
if{var{score} >= 90, then}-
pcType{"Grade: A"}\
else:
pcType{"Grade: B or below"}\
--\
If / elif / else:
if{var{score} >= 90, then}-
pcType{"Grade: A"}\
elif{var{score} >= 80, then}-
pcType{"Grade: B"}\
else:
pcType{"Grade: C or below"}\
--\
For
if+elifchains without anelse, close with--\--\.
Supported comparison operators: == != < > <= >=
Embedded code blocks — otherCoding
Run a block of code written in another language. The closing }\ must be on its own line.
otherCoding{"Python",
x = 10
print("x =", x)
}\
Supported languages:
| Language | Status |
|---|---|
| Python | Fully supported |
| JavaScript / Node.js | Supported (requires Node.js) |
| Java, C, C++ | Not supported at runtime |
Import — import
Import a Python package and give it a nickname.
import{"math", m}\
AI — pcAI
(Stub — reserved for future AI integration.)
pcAI{".on", "You are a helpful assistant", "profanityControl"}\
Symbols
| Symbol | Meaning |
|---|---|
\ |
End of a statement |
- |
Start of a block |
--\ |
End of a block |
{} |
Argument container |
"" |
String / text data |
; |
Separator inside lists |
, |
Separator between parameters |
== |
Equals |
!= |
Not equals |
= |
Assignment |
+ |
Concatenation / addition |
Example program
var{name, "Ritvik"}\
pcType{"Hello, " + var{name} + "!"}\
var{score, 95}\
if{var{score} >= 90, then}-
pcType{"You got an A!"}\
else:
pcType{"Keep trying!"}\
--\
createFunc{sayBye}-
pcType{"Goodbye, " + var{name} + "!"}\
--\
func{sayBye}\
License
This project is licensed under the Apache License 2.0 (OSI-approved). See the full license at: https://github.com/gautamritvik/Curl-Programming/blob/main/LICENSE
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 curl_programming_lang-1.2.0.tar.gz.
File metadata
- Download URL: curl_programming_lang-1.2.0.tar.gz
- Upload date:
- Size: 14.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e5f3eb318c6278afef35a92f2700f53cab6b234dfc4a3ec818f1d3c2b1b4eb2f
|
|
| MD5 |
22002fec796a9a603f2bff4fd32961a1
|
|
| BLAKE2b-256 |
aeb4c653caae125f1562a1f222ac49d626cfa092bcc455a04e2953e5eb9900eb
|
Provenance
The following attestation bundles were made for curl_programming_lang-1.2.0.tar.gz:
Publisher:
publish.yml on gautamritvik/Curl-Programming
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
curl_programming_lang-1.2.0.tar.gz -
Subject digest:
e5f3eb318c6278afef35a92f2700f53cab6b234dfc4a3ec818f1d3c2b1b4eb2f - Sigstore transparency entry: 1767782837
- Sigstore integration time:
-
Permalink:
gautamritvik/Curl-Programming@238b6d74221773c8078fa600544fe98464b7b5b6 -
Branch / Tag:
refs/tags/v1.2.0 - Owner: https://github.com/gautamritvik
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@238b6d74221773c8078fa600544fe98464b7b5b6 -
Trigger Event:
push
-
Statement type:
File details
Details for the file curl_programming_lang-1.2.0-py3-none-any.whl.
File metadata
- Download URL: curl_programming_lang-1.2.0-py3-none-any.whl
- Upload date:
- Size: 15.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
539f47b44568a21c30cef2dc2b72037d9b31e85c04c7256e5aa42c54d41ed564
|
|
| MD5 |
8b517eae0aed5aeca55cf577869ff8be
|
|
| BLAKE2b-256 |
f607f3b2949988ce02210c14f26f3a0a7ec0cad9e602a7fe9424e5fa926b31cb
|
Provenance
The following attestation bundles were made for curl_programming_lang-1.2.0-py3-none-any.whl:
Publisher:
publish.yml on gautamritvik/Curl-Programming
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
curl_programming_lang-1.2.0-py3-none-any.whl -
Subject digest:
539f47b44568a21c30cef2dc2b72037d9b31e85c04c7256e5aa42c54d41ed564 - Sigstore transparency entry: 1767782918
- Sigstore integration time:
-
Permalink:
gautamritvik/Curl-Programming@238b6d74221773c8078fa600544fe98464b7b5b6 -
Branch / Tag:
refs/tags/v1.2.0 - Owner: https://github.com/gautamritvik
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@238b6d74221773c8078fa600544fe98464b7b5b6 -
Trigger Event:
push
-
Statement type: