AsanaLang

πŸŽ“ ΠŸΡƒΡ‚ΡŒ ΡƒΡ‡Π΅Π½ΠΈΠΊΠ° (Tutorial)

Π”ΠΎΠ±Ρ€ΠΎ ΠΏΠΎΠΆΠ°Π»ΠΎΠ²Π°Ρ‚ΡŒ Π² вашС ΠΏΠ΅Ρ€Π²ΠΎΠ΅ руководство ΠΏΠΎ ASANALANG. ΠœΡ‹ ΠΏΡ€ΠΎΠΉΠ΄Π΅ΠΌ ΠΏΡƒΡ‚ΡŒ ΠΎΡ‚ установки инструмСнтов Π΄ΠΎ создания слоТной Π»ΠΎΠ³ΠΈΠΊΠΈ.

Π¨Π°Π³ 1: ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° окруТСния

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ написан Π½Π° F#, Π²Π°ΠΌ понадобится .NET SDK.

  1. Π‘ΠΊΠ»ΠΎΠ½ΠΈΡ€ΡƒΠΉΡ‚Π΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ: git clone [url]
  2. ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² ΠΏΠ°ΠΏΠΊΡƒ: cd AsanaLang
  3. ВосстановитС зависимости: dotnet restore

Π¨Π°Π³ 2: ΠŸΠ΅Ρ€Π²Π°Ρ ΠΌΠ°Π½Ρ‚Ρ€Π° (Hello World)

Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ» hello.asana ΠΈ Π²ΠΏΠΈΡˆΠΈΡ‚Π΅ Ρ‚ΡƒΠ΄Π°:

(om main ()
  (exhale (mantra "НамастС, ΠΌΠΈΡ€!")))

ЗапуститС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ: dotnet run -- hello.asana

Π¨Π°Π³ 3: ОбъявлСниС сущностСй (Nirvana)

Π’ AsanaLang ΠΌΡ‹ Π½Π΅ просто создаСм ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, ΠΌΡ‹ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΠΌ ΠΈΡ… ΠΊ ΡΠΎΡΡ‚ΠΎΡΠ½ΠΈΡŽ покоя Ρ‡Π΅Ρ€Π΅Π· nirvana:

(nirvana age 25)
(exhale age)

Π¨Π°Π³ 4: Π‘Π»ΠΎΠΆΠ½Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΡ‹ (Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ)

Для создания Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ asana (имСнованная функция) ΠΈΠ»ΠΈ mudra (анонимная).

(asana square (x) (* x x))
(exhale (square 5)) ;; Π’Ρ‹Π²Π΅Π΄Π΅Ρ‚ 25

Π¨Π°Π³ 5: ΠŸΡ€ΠΎΡΠ²Π΅Ρ‚Π»Π΅Π½ΠΈΠ΅ (РСкурсия)

Π§Ρ‚ΠΎΠ±Ρ‹ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΡΠ»ΠΎΠΆΠ½ΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ, Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΉΡ‚ΠΈ Ρ‡Π΅Ρ€Π΅Π· Ρ†ΠΈΠΊΠ» samsara. ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ°Π»Π° Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ examples.md, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, ΠΊΠ°ΠΊ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΠ΅Ρ€Π΅Ρ€ΠΎΠΆΠ΄Π°ΡŽΡ‚ΡΡ Π΄ΠΎ достиТСния Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°.