Fork me on GitHub
#clojure-russia
<
2017-01-13
>
artemyarulin09:01:32

https://github.com/LuxLang/lux

The language is mostly inspired by the following 3 languages:

Haskell (functional programming)
Clojure (syntax, overall look & feel)
ML (module system)
The compiler is even implemented in Clojure.
прям все как я хотел ❤️

ponimas09:01:19

ужасно - это очень мягко сказано

kronos_vano09:01:50

@ponimas let me: Ебаный пиздец!

seryh09:01:12

как можно было увидеть Clojure и сделать это

ponimas10:01:32

ну кто то скучал по фистингу

ponimas10:01:42

кложа слишком нежная

rkosenko10:01:11

кто-то увидел clojure после haskell-а, когда мозг уже был заражен.

artemyarulin10:01:42

ой да ладно, сам хаскель по себе очень даже красив в плане синтаксиса

artemyarulin10:01:56

но вот это да… эм, специфично 🙂

artemyarulin10:01:24

и вообще там уже 500 звезд на гитхабе - “сначала добейся”(с) 😄

rustam.gilaztdinov10:01:46

Сап, чат, подскажите, как правильно провернуть такое

{:id 1 :phone 2} ->> {:id 1 :field-name phone :field-value 2}

rustam.gilaztdinov10:01:20

Ключи заранее не известны, кроме id

andre10:01:52

@rustam.gilaztdinov а какие варианты?

andre10:01:01

всегда есть id и набор ключей разных?

misha10:01:39

fn, assoc, dissoc

andre10:01:24

@rustam.gilaztdinov

(into {} (for [x (seq {:id 1 :phone 2})]  (if (= :id (first x)) {:id (second x)} {:field-name (name (first x)) :field-value (second x)})))

rustam.gilaztdinov10:01:28

@andre спасибо! похоже, на то, что нужно, мысль понял

dottedmag11:01:42

Я недавно увидел язык, который почти строгое подмножество Clojure (строгие функции, неизменяемые данные – всё как надо) с синтаксисом, который вполне на уровне этого Lux: https://github.com/NixOS/nix/blob/master/corepkgs/buildenv.nix

dottedmag11:01:56

Для интереса я переписал один файлик на Clojure: https://gist.github.com/dottedmag/18a165e74915b34d482b611a313ac9c6

dottedmag11:01:51

^ тут скорее всего proc-derivation такой уродливый из-за какого-ограничения Nix, в настоящей Clojure этого бы не потребовалось.

andre11:01:15

@dottedmag видел твой твит про радужные скобочки, забыл спросить, это реально удобно?

misha11:01:43

что именно?

dottedmag11:01:10

@andre Да, помогает глазам цепляться за скобку, которая с другой стороны блока. У меня ещё текущий sexp выделяется жирным для той же цели.

andre11:01:53

я пробовал в курсиве , там очень контрастно и пестро, у меня не зашло на темном фоне, попробую еще раз

dottedmag11:01:21

@andre Работает именно из-за того, что скобки соседних уровней вложенности резко отличаются по цвету. Дефолтная тема, где они чуть-чуть варьировались, совершенно у меня не пошла.

dottedmag11:01:57

@andre И да, мне пришлось поиграть с цветами, чтобы скобки были и контрастными относительно фона, и контрастными друг относительно друга. Оказалось, что с тонким шрифтом этого достаточно сложно добиться (плюс моя лёгкая степень дальтонии не слишком помогает).

andre11:01:20

нашел где менять, попробую тоже использовать

andre11:01:31

то что они предлагают по дефолту вырви глаз конечно

dottedmag11:01:41

Тёмно-синяя скобка не видна.

dottedmag11:01:07

На тёмном фоне больше вариантов. На светлом много цветов сливается с серым.

misha11:01:40

если включить паринфер – остается 2 варианта: "не компилится" и "всё читаемо"

misha11:01:27

хотя вот жирненькая текущая форма - полезняк

andre11:01:56

интересно в курсиве так можно настроить?

dottedmag11:01:31

@misha В предыдущем посте написано как сделать. В емаксовом show-paren неприятная задержка между движением курсора и подсветкой.

misha11:01:47

@dottedmag я же курсив-пизант

dottedmag12:01:37

Кстати, курсив пользуется nREPL'ом и middleware из CIDER?

dottedmag12:01:07

А то я посмотрел на CIDER - это очень тоненькая обёртка вокруг кучи Clojure-кода в REPL-сессии.

dottedmag12:01:29

Т.е. почти вся функциональность совершенно не привязана к редактору.

leov12:01:29

гм. а можно странный вопрос - если я на сервер буду слать только PATCH реквесты или что угодно кроме гета и поста - могу я вырубить нахрен csrf защиту?

andre13:01:47

блин настроил цвета, реально круто

andre13:01:01

про текущую форму в курсиве ничего не нашел 😞

a.espolov14:01:29

@andre не пробовал цветовую схему для идеи на основе цветовой схемы из лайттабле?

a.espolov14:01:17

Если интересно

andre14:01:47

интересно, спасибо

a.espolov14:01:06

С fira-code вообще классненько для глаз

andre14:01:36

все забываю его поставить

a.espolov14:01:58

Рекомендую, хотя сам последнее время только на js пишу (

mike_ananev18:01:33

кому нужно пишите, экспортну настройки цвета из Idea

dottedmag18:01:29

Что-то я не увидел в FiraCode нужных лигатур для Clojure, кроме ->>

dottedmag18:01:48

А, ещё >= и <=

artemyarulin18:01:34

@mike1452 а зачем у тебя после when nil стоят в первой и последней функции? т.е. я понимаю чтоб не возвращать то что внутри when да, но просто такого никогда не видел

mike_ananev18:01:51

@artemyarulin nil возвращаю для порядка. последние функции в when могут возвращать мусор. чтобы те, кто будут пользовать не ломали голову над мусором я явно пишу nil,

rmuslimov19:01:47

со временем перешел на light тему, меньше яркости меньше болят глаза

misha19:01:57

тогда уж ! добавь, чтоб ясно было, что сайдэффекта ради

misha19:01:30

соларайз, вроде, подхаченый + flux, = теплее цвета, чем на скриншоте

dottedmag19:01:20

@rmuslimov Приятный шрифт, это какой?

dottedmag19:01:52

А, ну да.

artemyarulin20:01:24

все еще не понимаю чо они во Frege не пошли, там чем-то оно отличается?

kishanov20:01:34

чтобы ни с кем не договариваться и оставаться беневолент диктаторами?

artemyarulin20:01:37

а ну да, тогда ок

dottedmag20:01:00

Обязательно и Gitter, и Slack 😃

dottedmag20:01:09

"Copyright (c) 2017 TypeLead - Bangalore, India"

kishanov20:01:39

помните такой классный экспериментик был - http://www.dunaj.org/guide.html? тоже чето в кожуру не вошел, ибо не договорились. ох уж эти опенсурные языки 🙂

dottedmag20:01:19

На 1% улучшить язык каждый второй может, а вот чтобы существенно исправить – силёнок нет.

dottedmag20:01:37

Поэтому и не вошёл, так как исправлял минорные неудобства.

dottedmag20:01:42

В любом случае Clojure - это open source, но не open project.

mike_ananev20:01:14

@dottedmag просвещенный авторитаризм или велкодушный пожизненный диктатор - такая форма правления хорошо зарекомендовала себя в Linux, Python, Clojure

mike_ananev20:01:19

иначе все тонет в бюрократии

mike_ananev20:01:32

вон между Java 6 и 7 какой перерыв был

mike_ananev20:01:50

никто случаем в слаке не видел, когда Алекс Миллер обещал ежегодный репорт по статусу выдать?

artemyarulin20:01:41

не первый раз вижу что спрашивают про репорт - чисто из любопытства или там чо важное народ надеятся увидеть?

mike_ananev20:01:20

чисто из любопытства. мне хочется понять динамику развития комьюнити и экосистемы

mike_ananev20:01:05

скала выехала чисто на BigDat'e. так уж повелось что движки для бигдаты пишуться больше на скала

mike_ananev20:01:57

надо чтобы Clojure залезла в какую-нибудь набирающую тренд технологию

mike_ananev21:01:34

типа Интернет вещей (IoT), Blockchain и т.д.

artemyarulin21:01:54

да фиг знает, может нормальный/медленный рост лучше? Вон руби с рельсами выстрелили когда все подряд CRUD пилили и теперь чота руби уже фе

artemyarulin21:01:20

хотя признаюсь “Пастернака не читал, но мнение имею”(с) без понятий чо там с руби)

mike_ananev21:01:55

Scala к моменту возникновения тренда бигдаты 2008-2010 имела довольно солидный возраст. нужен был язык лучше java с функциональными возможностями. а CLojure только в 12-14 годах стал на слуху: набрал приличный комьюнити , появились книжки, либы, получил активный рост.

mike_ananev21:01:43

вот хорошо бы кто его теперь в новую тему протолкнул.

mike_ananev21:01:39

тогда будет взрывной рост.

mike_ananev21:01:53

а пока за 5 лет гугл трендс выдает стабильную константу

dragoncube21:01:52

в IoT clojure на jvm трудно

dragoncube21:01:08

очень долго стартует

dragoncube21:01:52

вот если был бы какой нибудь clojure hosted on go vm

dragoncube21:01:17

сейчас шансы у clojurescript на ноде такую нишу занять

dragoncube21:01:55

но например для робототехники он не очень подходит со своим одним потоком исполнения

dragoncube21:01:10

@andre кстати а у тебя планов переехать на другую либу для визуализации данных в re-frisk нету? а то frisk очень не эффективно пространство использует, а поменять это без форка там судя по всему нельзя