Skip to content

Latest commit

 

History

History
81 lines (73 loc) · 1.65 KB

README.md

File metadata and controls

81 lines (73 loc) · 1.65 KB

Проект "Пихта"


Пихта - компилируемый язык программирования

  1. Парадигмы
  • Объектно-Ориентированное Программирование
  • Императивный & Декларативный
  • Модульное программирование
  1. Типизация
  • Статическая
  • Слабая
  1. Синтаксис подобен Clojure
  2. Синтаксический сахар
  • Доступ к членам объекта/класса

(Java)

a.b.c = 12

(Пихта)

(set a/b/c 12)
  • Функции расширения

(Kotlin)

fun String.log() = println(this)
"Слава России!".log()

(Пихта)

(efn ^String log ^void []
  (println this))
(#log "Слава России!")
  • Макросы

(Lisp)

(def-macro baza () (print "Слава России!"))`
(baza)

(Пихта)

(def-macro baza []
  (println "Слава России!"))`
(baza)
  • Свёртка (форм/инструкций)

(Clojure)

(-> 1 (+ 1) (* 2))

(Пихта)

(-> 1 (+ 1) (* 2))
  • Форма cond

(Lisp) Я не нашёл примера который бы работал, извините. (Пихта)

(def [[i -1]])
(cycle (<= i 1)
  (cond [
    [(< i 0) (println "Меньше!")]
    [(= i 0) (println "Ноль!")]
    [(> i 0) (println "Больше!")]])
  (++ i))
  1. Целевые платформы
  • JVM
  • DotNet
  • JavaScript
  • Python
  • Rave
  • C++