Flix :: новый язык программирования нада?
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 10.12.21 12:02
Оценка: 15 (3)
Я знаю у нас тут есть ценители разнообразия в мире языков программирования, так что не мог удержаться

Flix, не то что бы новый язык, коммиты в репозитории с 2015 года, но упоминание его я впервые увидел сегодня. Выглядит как Scala здорового человека, с вкраплениями Python, Go, Haskell... уже странно, да?

Из положительных моментов:
а) на JVM
б) есть зеленые потоки и CSP
в) ООП порезали к херам
г) есть хвостовая рекурсия, таки хоть кто-то победил JVM
д) развивает не хрен с горы, а Орхусский университет (впервые слышу про них, но то что университет — это хорошо)

Запуск зеленого потока и чтение/запись в канал:
/// A function that sends every element of a list
def send(c: Channel[Int32], l: List[Int32]): Unit & Impure =
    match l {
        case Nil     => ()
        case x :: xs => c <- x; send(c, xs)
    }

/// A function that receives n elements
/// and collects them into a list.
def recv(c: Channel[Int32], n: Int32): List[Int32] & Impure =
    match n {
        case 0 => Nil
        case _ => (<- c) :: recv(c, n - 1)
    }

/// Spawn a process for send and wait, and print the result.
def main(_args: Array[String]): Int32 & Impure = {
    let l = 1 :: 2 :: 3 :: Nil;
    let c = chan Int 100;
    spawn send(c, l);
    spawn recv(c, List.length(l));
    0 // exit code
}


Налитай пока горячее
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.