tgoop.com/rust_code/938
Last Update:
ΠΠ»Π°Π²Π½ΠΎΠ΅:
π ΠΠ°ΡΠ»Π΅Π΄Π½ΠΈΠΊ Pyre
Pyrefly Π·Π°Π΄ΡΠΌΠ°Π½ ΠΊΠ°ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ Π²Π΅ΡΡΠΈΡ ΠΏΡΠΎΠ²Π΅ΡΡΠ»ΡΡΠΈΠΊΠ° ΡΠΈΠΏΠΎΠ² Pyre ΠΎΡ Meta, Π½ΠΎ Ρ ΡΠΏΠΎΡΠΎΠΌ Π½Π° ΡΠΊΠΎΡΠΎΡΡΡ, ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΡΡ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΡ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ Β«ΡΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎΒ» AST.
π Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ Π½Π° Rust
ΠΠΎΠ»ΡΡΠ°Ρ ΡΠ°ΡΡΡ ΠΊΠΎΠ΄Π° Π½Π°ΠΏΠΈΡΠ°Π½Π° Π½Π° Rust Π΄Π»Ρ Π»ΡΡΡΠ΅ΠΉ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΠΏΠ°ΠΌΡΡΠΈ ΠΈ ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠ½ΠΎΡΡΠΈ. Π’ΠΎΠ»ΡΠΊΠΎ ~1 % ΠΊΠΎΠ΄Π° Π² Python ΠΈ ~6 % Π² TypeScript (Π΄Π»Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΡΠ°ΠΉΡΠ° ΠΈ LSP).
βοΈ Π’ΡΠΈ ΡΡΠ°ΠΏΠ° ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ
Π‘Π±ΠΎΡ ΡΠΊΡΠΏΠΎΡΡΠ° ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ (ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅Ρ
import * ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎ)
ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π² Π½Π°Π±ΠΎΡ Β«Π±Π°ΠΉΠ½Π΄ΠΈΠ½Π³ΠΎΠ²Β» (definitions, uses, anon) Ρ ΡΡΡΡΠΎΠΌ ΠΏΠΎΡΠΎΠΊΠΎΠ²ΡΡ
ΡΠΈΠΏΠΎΠ²
Π Π΅ΡΠ΅Π½ΠΈΠ΅ ΡΡΠΈΡ
Π±Π°ΠΉΠ½Π΄ΠΈΠ½Π³ΠΎΠ² (flow-types, phi-ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΡΠΈ Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΡΡ
ΠΈ ΡΠ΅ΠΊΡΡΡΠΈΠΈ)
π‘ ΠΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΎΡΡΡ ΠΈ ΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΠΎΡΡΡ
ΠΠΎΠ΄ΡΠ»ΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄: ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠ΅Π»ΠΈΠΊΠΎΠΌ, Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎΠ³ΠΎ Π·Π°ΠΏΡΡΠΊΠ° ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΡΠΎΠ½ΠΊΠΎΠ·Π΅ΡΠ½ΠΈΡΡΡΠΌΠΈ DAG-Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°ΠΌΠΈ.
π οΈ ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ ΠΈ ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠ°
Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ Rust: cargo build, cargo test
ΠΠΎ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΡ
ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ
Meta: Π·Π°ΠΏΡΡΠΊ ΡΠ΅ΡΠ΅Π· Buck2 (buck2 run pyrefly -- check file.py)
ΠΠ»Ρ PyPI: ΡΠ±ΠΎΡΠΊΠ° ΠΊΠΎΠ»Π΅Ρ ΡΠ΅ΡΠ΅Π· Maturin (pip install maturin && maturin build)
π‘ IDE-ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ LSP
ΠΠΊΠ»ΡΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Language Server Protocol Π΄Π»Ρ Π°Π²ΡΠΎΠ΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄Π° ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΈ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΉ ΠΎΡΠ»Π°Π΄ΠΊΠΈ Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ°Ρ
.
π ΠΠ»Π°Π½Ρ
ΠΠΎΠ»Π½Π°Ρ Π·Π°ΠΌΠ΅Π½Π° Pyre ΠΊ ΠΊΠΎΠ½ΡΡ 2025 Π³ΠΎΠ΄Π° Ρ Π²ΡΠΏΡΡΠΊΠΎΠΌ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΡΡ
Π²Π΅ΡΡΠΈΠΉ Π½Π° PyPI ΠΊΠ°ΠΆΠ΄ΡΡ Π½Π΅Π΄Π΅Π»Ρ.
π ΠΠΈΡΠ΅Π½Π·ΠΈΡ
MIT β ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Π²ΠΊΠ»Π°Π΄ Π² ΠΏΡΠΎΠ΅ΠΊΡ ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΡΡΡΡΡ.
@rust_code