LINUX.ORG.RU

Typelevel Scala 2.12.1

 , , typelevel


1

4

Выпущена новая версия форка тулчейна языка программирования Scala от компании typelevel.

Авторы форка поддерживают бинарную совместимость с апстримом и гарантируют, что попадающие в релиз изменения будут синхронизированы с ближайшим релизом Lightbend Scala.

Основные изменения:

  • Ускорена компиляция индуктивных неявных преобразований (inductive implicits).
  • Добавлен полиморфизм родо́в (kind polymorphism).
  • Появилась возможность настраивать импорты по умолчанию.
  • Сигнатуры типов с двумя параметрами теперь по умолчанию печатаются в инфиксной нотации.
  • Списки, разделяемые запятой, теперь можно завершать конечной запятой (trailing comma).
  • Литералы теперь могут быть использованы в качестве идентификатора типа.
  • Улучшен вывод информации об ошибках экстракторов, защитных выражений (guards) и непокрытых трейтов (unsealed traits).

>>> Подробности

★★★★★

Проверено: maxcom ()
Последнее исправление: AP (всего исправлений: 7)

можно попробовать с помощью

sudo sh -c "curl -s https://raw.githubusercontent.com/typelevel/scala/typelevel-readme/try-typelevel-scala.sh | bash"
stevejobs ★★★★☆
()
Ответ на: комментарий от stevejobs

Стив дружыще ты жыв? Слава богу!

Стив они отдали рынок Андроиду.

anonymous
()

версия форка тулчейна

Ты-ж feofan (Θεοφανής — «богоявление»), негоже православный русский язык корёжить: «видоизменение ответвления средства сотворения» — лепо :)

quickquest ★★★★★
()
Ответ на: комментарий от Vudod

А теперь для сравнения представь старый код на Scala, в котором до фига используется implicits и scalaz

dave ★★★★★
()
Ответ на: комментарий от quickquest

Так имя-то греческое :) Да и исконно славянский вариант негож мне - дюже сложно будет сию грамоту уразуметь.

feofan ★★★★★
() автор топика
Ответ на: комментарий от dave

Зачем мне его представлять. Я на Скале не пишу и не писал никогда. Я пишу в основном на Питоне. Старый Питоновский код времён 2.4 работает в основном, хотя есть некоторые проблемы с явным использованием функций модуля string, которые потом засуныли в класс string, например.

Vudod ★★★★★
()
Ответ на: комментарий от Vudod

А, да я просто к тому, что на Scala довольно легко написать запутанный код, где без IDE уровня IntelliJ IDEA делать для нового человека просто нечего

dave ★★★★★
()
Ответ на: комментарий от dave

Возможно. Писал на Окамле. Там нужно иметь большую культуру, чтобы выражаться ясно. Скала ещё хуже в этом отношении, т.к. позволяет мешать не только процедурный и функциональный, но и классовый код.

Vudod ★★★★★
()
Ответ на: комментарий от feofan

Из того, что я видел сам, код на C# можно было более-менее понять, хотя, да, его тоже умудрялись отдельные личности писать кучеряво)

На Си++ видел код, написанный вообще без понимания того, как нужно писать красивый код. Это внешне выглядело ужасно. Но надо отдать должное, что тот код был по большей части работающим. Так что, Си++ отпадает, а тем более, и голый Си.

Но все же, написать запутанный код на Java сложнее, чем на Scala. Ты разве не согласен?

dave ★★★★★
()
Ответ на: комментарий от dave

Но все же, написать запутанный код на Java сложнее, чем на Scala. Ты разве не согласен?

Для меня это неочевидно. Там, где на скале будет короткий и ясный foldMap на яве может быть весьма кучерявый цикл. Ну и не будешь же ты отрицать, что к ява без ide адекватные люди на пушечный выстрел не подходят (возвращаясь к началу ветки)?

feofan ★★★★★
() автор топика
Ответ на: комментарий от feofan

Назови язык, на котором запутанный код написать невозможно. Ну или хотя бы сложно.

Из живых таковых не припоминается. А вот из того, что было в ходу раньше, вспоминаются Pascal (который еще до ObjectPascal и диалектов Delphi), Modula-2 и Eiffel. Но да, мейнстримом не были ни разу.

eao197 ★★★★★
()
Ответ на: комментарий от eao197

Pascal - таки был. Все 198Х (да и начало 199Х) были эпические бодания С vs Pascal. Не потому же что его (паскаля) нигде не было, а даже и наоборот.

anonymous
()
Ответ на: комментарий от anonymous

Ну да, наверное я это со зла. Borland изначально-то на продажах Turbo Pascal поднялась, значит спрос на Pascal был.

eao197 ★★★★★
()
Ответ на: комментарий от eao197

В паскале тоже можно наворотить. Взять, например, goto. Но в целом, пожалуй, соглашусь. Из современных к этому стремится, например, go. Но я склонен считать, что плохо можно написать на любом языке. А для того, чтобы писать хорошо, нужна культура и дисциплина.

feofan ★★★★★
() автор топика
Ответ на: комментарий от feofan

Но я склонен считать, что плохо можно написать на любом языке.

Программу на Фортране можно написать на любом языке программирования. Это уже давно доказано.

Другое дело, что в некоторых языках арсенал средств не такой широкий, чтобы, скажем, eDSL-строением заниматься.

eao197 ★★★★★
()
Ответ на: комментарий от eao197

Другое дело, что в некоторых языках арсенал средств не такой широкий, чтобы, скажем, eDSL-строением заниматься.

Далеко не всегда это плюс.

feofan ★★★★★
() автор топика
Ответ на: комментарий от quickquest

негоже православный русский язык корёжить: «видоизменение ответвления средства сотворения» — лепо :)

зачет :)

Rastafarra ★★★★
()
Ответ на: комментарий от AVL2

Не успели язык запилить как уже отфоркали...

Первый публичный релиз состоялся в 2004-ом. За тринадцать лет так и не успели запилить?

eao197 ★★★★★
()
Ответ на: комментарий от eao197

Первый публичный релиз состоялся в 2004-ом. За тринадцать лет так и не успели запилить?

Это дело небыстрое. Пока что ненужное не стало нужным.

AVL2 ★★★★★
()
Ответ на: комментарий от AVL2

Это дело небыстрое. Пока что ненужное не стало нужным.

Лет пять назад, имхо, это была единственная адекватная замена Java на JVM. Сейчас, после релизов Ceylon-а и Kotlin-а, нужность Scala действительно под вопросом.

Но то, что Scala не допилили, это мощно, поржал :)

eao197 ★★★★★
()

Не всех типов с двумя параметрами, а символических.

Map[A,B]
так и будет.

cdshines ★★★★★
()
Ответ на: комментарий от eao197

Ее нужность не встала под вопрос с выходом котлина, потому что последний - это better Java, а скала совсем о другом.

cdshines ★★★★★
()
Ответ на: комментарий от cdshines

Ее нужность не встала под вопрос с выходом котлина, потому что последний - это better Java, а скала совсем о другом.

Именно что о другом. Только в 2004-ом, когда Java была совсем убогой, Scala, как «совсем о другом» была нужна многим разработчикам, которым убогость Java была поперек горла. И на Scala переходили все, кому не нравилась Java (ну или не переходили полностью, но использовали время от времени). Теперь и сама Java чутка изменилась, и альтернативы для простых смертных появились, в виде Ceylon-а и Kotlin-а. А Scala так и осталась «совсем о другом», но нужна она поэтому сейчас гораздо меньшему количеству народа.

eao197 ★★★★★
()
Ответ на: комментарий от eao197

ммм... нет. я только что прямо пошел и посмотрел динамику на tiobe & pypl - там графики растут. когда закапывать, по-твоему?

cdshines ★★★★★
()
Ответ на: комментарий от cdshines

графики растут. когда закапывать, по-твоему?

Закапывать уже поздно оно лезет на свет, к счастью в адекватных командах ее не впускают, а где пускают - там это ценный симптом чтобы не соваться. Потому что потом не разгребешь этот код.

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от Deleted

да вроде разгребешь. я и сам подхватывал чужой код на скале, и свой разгребабельный писал - нормально все. Но да, я наблюдал эту проблему, что в какой-то точке чувак перестает воспринимать что-то, что не входит в уже накопленный опыт и включает «да это херня какая-то непонятная», а на самом деле нужно просто переступить за свое отрицание.

cdshines ★★★★★
()
Ответ на: комментарий от cdshines

когда закапывать, по-твоему?

Про закапывание речи-то и не было. Всякие OCaml-ы и F# существуют себе, никто их не закапывает. Тоже самое, имхо, ждет и Scala.

Речь о том, что для массового использования Scala не приспособлена.

eao197 ★★★★★
()
Ответ на: комментарий от Deleted

Так можно то же самое сказать про саму идею, хотя это объективно самая годная IDE. Ну и фильтровать ты не умеешь - если бы твоя ссылка была газетой, это была бы желтуха. Правильно так: https://youtrack.jetbrains.com/issues/SCL?q=Type: Bug State: Open. Для сравнения - по самой идее вот столько багов: https://youtrack.jetbrains.com/issues/IDEA?q=Type: Bug State: Open.

В общем непонятно, откуда аналитика и закопанцы. Причем мне кажется, это какая-то почти исключительно пост-снгшная штука - когда кому-то что-то не заходит, он не просто отказывается от предмета, а еще и считает своим долгом накинуть на вентилятор аналитики «почему Х не нужно». Всем добра!

cdshines ★★★★★
()
Ответ на: комментарий от eao197

Хз, я не знаю, чем ocaml, например, известен, а на скале пишут акку, лайтбенд-стек, кафку - вещи, которые широко используются. Имею в виду, что одним выходом свежего котлина скала не маргинализируется)

cdshines ★★★★★
()
Ответ на: комментарий от cdshines

Хз, я не знаю, чем ocaml, например, известен

Говорят, что широко известен в узких кругах. В Jane Street много чего околотрейдингового на OCaml-е сделано.

Но вообще такой подход к оценке востребованности не сильно хорош. Scala сложный язык, его сложность нужна не просто так, а для решения сложных проблем. Поэтому там, где от этой сложности языка есть преимущества, там Scala останется. А там, где эта сложность избыточна, от Scala будут отказываться. Просто мне думается, что процент сложных задач, для которых нужна Scala, относительно небольшой. В остальном вместо Scala проще будет использовать Java 8, Ceylon, Kotlin или даже Go.

eao197 ★★★★★
()
Ответ на: комментарий от cdshines

ты написал много слов, но мало смысла. смысл в том что поддержка скалы сложнее (возможно на порядки), из-за сложного синтаксиса -> закопать.

Теже ребята из жетбрейнсов сделали котлин, хотя скала была, не потому ли что скала говно? Или это NIH синдром?

Deleted
()
Ответ на: комментарий от Deleted

Они сами активно пишут на джаве. Видимо их не устраивают ни скала, ни джава. А конкретно про скалу я слышал, что есть проблемы с парсингом макросов, например scalaz, в идее. Аналогичные проблемы я наблюдал в ensime.

feofan ★★★★★
() автор топика
Ответ на: комментарий от Deleted

Теже ребята из жетбрейнсов сделали котлин, хотя скала была, не потому ли что скала говно?

То есть ты не знаешь, почему, я правильно понял?

tailgunner ★★★★★
()
Ответ на: комментарий от eao197

Этот вброс про миграцию на го уже все обсудили. Особенно доставило сравнение скоростей компиляции - учитывая, что на скале можно написать shapeless, а в го тайпчекер примерно изоморфен noop, - я не удивлен.

Ну, не хотелось бы скатываться в фанбойский срач, поэтому напомню, что я сказал, что не нашел статистики, которая подтверждает твои слова, а нашел обратную. Потом началась болтовня на тему «ну мне думается» :)

cdshines ★★★★★
()
Ответ на: комментарий от tailgunner

Потому что пацаны из джетбрейнс, в отличие от subwoofer, владеют искусством высказывать мнение, не называя все остальное говном:

The main goal of the Kotlin team is to create a pragmatic and productive programming language, rather than to advance the state of the art in programming language research. Taking this into account, if you are happy with Scala, you most likely do not need Kotlin.

Все правильно - я слышал отзывы, что котлин показывает очень хорошее время компиляции, очень гладкий интероп и прочие годные плюшки. Как я сказал в начале - котлин - это better java, а скала - это скала.

Олсо, непонятно, что вообще в треде про typelevel-форк делают «мало кому нужно, потому что сложно»-джависты.

cdshines ★★★★★
()
Ответ на: комментарий от cdshines

Я не вижу здесь мнения «Scala говно». Скорее я вижу признание «нужен язык лучше Явы, и мы хотим долю рынка».

Как я сказал в начале - котлин - это better java, а скала - это скала.

Есть и мнение, что именно Scala - это better java.

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

Я тоже его там не вижу, на это и намекал - перечислили факты и все.

Какое-то подмножество (примерно в районе вот этого: http://www.lihaoyi.com/post/StrategicScalaStylePracticalTypeSafety.html#scala...) - возможно, и есть better java, но можно писать и так, что получишь slower haskell)

cdshines ★★★★★
()
Ответ на: комментарий от cdshines

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

TIOBE в качестве аргумента в приличных компаниях приводить не принято.

Тема «ну мне думается» здесь была с самого начала. AVL2 вообще думается, что Scala, как язык еще не допилили. Мне думается, что допилили, но до такого состояния, в котором он сейчас мало кому нужен. А былая популярность осталась от времен, когда другой альтернативы для Java не было.

eao197 ★★★★★
()
Ответ на: комментарий от feofan

Они сами активно пишут на джаве. Видимо их не устраивают ни скала, ни джава.

вот тут я не понял где менять джаву на джаву

Deleted
()
Ответ на: комментарий от Deleted

Как менять скалу на котлин ты увидел, а джаву на котлин - не видишь. Ок.

feofan ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.