move docs to docs/ folder, rewrite readme and contributing

This commit is contained in:
2026-05-16 11:35:35 -05:00
parent 439e555e50
commit 0ff6b2483e
6 changed files with 271 additions and 109 deletions

49
docs/postfix-syntax.md Normal file
View File

@@ -0,0 +1,49 @@
# Postfix Syntax
Some languages (like Tamil) are grammatically SOV — the condition comes before the keyword, not after. ForeignThon supports this with the `@@` operator.
## How it works
```python
# Standard prefix (works in every language)
si x > 0:
imprimir(x)
# Postfix with @@
x > 0 @@si:
imprimir(x)
```
Both produce identical Python: `if x > 0:`. The `@@` means "take whatever is to my left, put the keyword first".
## Rules
- `@@` only rewrites the line it appears on — nothing else changes
- Indentation rules are identical to normal Python
- Prefix and postfix can be mixed freely in the same file
- Works for any keyword in any language pack
## Examples
```python
# if / else
x > 0 @@si:
imprimir(x)
sino:
pasar
# while
contador < 10 @@mientras:
contador += 1
# inside a function — indentation unchanged
definir comprobar(x):
x > 0 @@si:
imprimir("positivo")
sino:
imprimir("negativo")
```
## Why @@
`@@` is not valid Python syntax so it never conflicts with existing code. Single `@` is used for decorators and matrix multiplication, so it was ruled out.