@scala_ru

Страница 558 из 1499
Dmitry
10.03.2017
16:11:51
Спасибо… Но вот я как-то тоже не нашел нормальных вариантов.

Daniel
10.03.2017
16:20:28
(1 :: 2 :: Nil) equiv (2 :: 3 :: Nil)

или нужен именно знаковый результат?

Denis
10.03.2017
16:25:01
Блин, играюсь тут с хаскелем, и боюсь продолжать. То что в скале боле 100 строчек занимает, тут 30, а вывод типов просто космический

Google
Denis
10.03.2017
16:25:31
более 100 намного причем

Diemust
10.03.2017
16:27:16
джава 300 строчек - скала 100 строчек - хаскель 30 строк

.
10.03.2017
16:28:01
Perl - одна, но длинная

Grigory
10.03.2017
16:28:10
в хаскеле тож можно одной длинной думаю

Alexey
10.03.2017
16:28:44
Так хаскель "портит" людей. Увлечешься, потом будешь смотреть на все остальное как на говно.

Grigory
10.03.2017
16:28:46
на пхп в 1 символ уложиться получится кстате.

Daniel
10.03.2017
16:29:33
имхо, хаскель сам далеко не прелесть дебильные отступы и горы let/where

Denis
10.03.2017
16:29:48
как он круто выводит type constraints это скале и не снилось

.
10.03.2017
16:29:50
Мощность алфавита у пхп чудовищная. Оттуда можно и не вернуться.

Alex
10.03.2017
16:29:57
вывод типов это роскошь

в идрисе например его тоже нет

Aldar
10.03.2017
16:30:10
https://www.willamette.edu/~fruehr/haskell/evolution.html

Alex
10.03.2017
16:30:30
поиграться норм, но в "практических" системах типов его не будет :)

Google
Denis
10.03.2017
16:31:57
в идрисе например его тоже нет
это понятно, да я и не прочь писать их, тут не надо бороться с арностью типов например и все эти ProductK, FunctionK прочие *K

Alex
10.03.2017
16:32:30
а шо, сабиновское каррирование в типах не помогает?

SI-какеготам

Denis
10.03.2017
16:33:13
я про forall f. m f -> f a

Alexey
10.03.2017
16:33:15
в идрисе например его тоже нет
это немного вырвано из контекста. его там нет в случаях, когда он невозможен. в хаскеле без зависимых типов он всегда возможен. а скале иногда просто очевидные типы не выводятся.

Alex
10.03.2017
16:33:37
ну я про общий случай

Denis
10.03.2017
16:33:46
в скале это trait Foo[M[_[_]], A] { def apply[F[_]](mf: M[F]): F[A] }

адуха

Alexey
10.03.2017
16:34:05
в скале это trait Foo[M[_[_]], A] { def apply[F[_]](mf: M[F]): F[A] }
да, к тому же это ещё далеко не то же самое

Denis
10.03.2017
16:34:44
согласен

хотя,

почему?

Alex
10.03.2017
16:38:08
практические системы типов это какие?
с сабтайпингом, роу полиморфизмом или еще там чем

которые обворачивают существующий мейнстримный адок

Alexey
10.03.2017
16:40:13
почему?
хз, может и то же. я не вчитался. по моему опыту в скале когда пишешь [_[_]] — жди беды.

Denis
10.03.2017
16:40:37
да не, это же просто type kind указывается

типа (* -> *) -> *

Alexey
10.03.2017
16:41:05
с сабтайпингом, роу полиморфизмом или еще там чем
не холивора ради, из любопытсва, чем сабтайпинг так необходим? и что такое "роу" полиморфизм?

Alex
10.03.2017
16:42:40
https://brianmckenna.org/blog/row_polymorphism_isnt_subtyping

Google
Denis
10.03.2017
16:43:09
Alexey
10.03.2017
16:43:26
да не, это же просто type kind указывается
ну проблема в том, что к этим параметрам потом нельзя никак ссылаться, нужно писать type members, чтобы потом проекции были. без этого нельзя никакой нормальный implicit type inference делать, потому что все эти параметры, как бы сказать, "ephemeral" и будут забыты

Denis
10.03.2017
16:43:53
так они и не нужны тут

Я абстрагируюсь от содержимого и говорю что мне нужен конструктор типов

это нормальная практика в скале

Alexey
10.03.2017
16:46:33
в смысле? зачем вообще нужны такие классы типов, если не для того чтобы их инстанциировать (тьфу, совсем русскую терминологию забыл)

Alex
10.03.2017
16:48:01
нужно всё это добро для интеропа с существующим мясом типа жс, жабы и прочего

Alexey
10.03.2017
16:49:33
возможно ?

Denis
10.03.2017
16:50:54
Вот пример использования Foo trait Foo[M[_[_]], A] { def apply[F[_]](mf: M[F]): F[A] } trait Bar[F[_]] { def bar: F[Int] } new Foo[Bar, Int] { override def apply[F[_]](mf: Bar[F]): F[Int] = mf.bar }

тайпклассы тут не причем

Denis
10.03.2017
16:51:52
это боль с функциями у которых type kinds больше чем скала может переварить

Oleg
10.03.2017
16:52:44
почему?
Не совсем то же самое, потому что нет композиции

Denis
10.03.2017
16:53:42
Не совсем то же самое, потому что нет композиции
эх, ухожу. Но если напишешь поподробнее, прочитаю потом с удовольствием

Oleg
10.03.2017
16:56:58
эх, ухожу. Но если напишешь поподробнее, прочитаю потом с удовольствием
Ну фактически ты с помощью эта-редукции этот интерфейс в полиморфную функцию не превратишь, т.к. в скале не. полиморфных функции, и какой-нибудь andThen для всех возможных интерфейсов тоже не напишет.

Denis
10.03.2017
16:59:26
А ну да это понятно, спасибо

Nikolay
10.03.2017
21:45:35
https://github.com/scalaz/faq/blob/master/conduct.md обновили. вообще здраво звучит теперь

Viktor
11.03.2017
04:48:45
а к slick dao не прилагается типовой какой-нибудь?

Artem
11.03.2017
04:54:37
а зачем оно там нужно

Google
Artem
11.03.2017
04:54:41
там же коллекции

Viktor
11.03.2017
05:48:25
ну CRUD руками делать это ж моветон :D

Alexey
11.03.2017
06:36:38
Есть active slick

The mirror
11.03.2017
06:54:00
Ееее, на курсере открылся курс по спарку и скале

наконец-то

Admin
ERROR: S client not available

The mirror
11.03.2017
06:54:10
Ща как упорюсь

Viktor
11.03.2017
06:54:24
гггг

Alexander
11.03.2017
08:40:52
так уже две недели как открылся почти

The mirror
11.03.2017
09:24:43
мне только сегодня пришло письмо об открытии

Sergey
11.03.2017
09:27:21
а курс по алгоритмам 2 был открыт, но его закрыли, а я был на середине недели (

Alexander
11.03.2017
09:32:56
мне только сегодня пришло письмо об открытии
Странно. вроде с 27 го... могу ошибаться. времени не было заняться)

The mirror
11.03.2017
09:33:24
да, там было письмо, я вспомнил, но он тогда не открылся

курс сыроват кстати

Daniel
11.03.2017
10:18:48
судя по плану, типичный вводный

Alexander
12.03.2017
13:36:43
курс сыроват кстати
А ещё она слишком быстро языком треплет =((( но пройти всё равно надо бы

Nick
12.03.2017
21:11:19
Тишинааа

KrivdaTheTriewe
12.03.2017
21:23:42
Тишинааа
как лучше запараметризировать тип для конкретного значения?

Anton
12.03.2017
21:24:35
разверни мысль )

KrivdaTheTriewe
12.03.2017
21:27:42
template<int Index, typename Tpl> class CalcInterleaveByteOffsetImpl { static size_t CalcInterleaveByteOffset(const Tpl &t) { // This is OK it calls the wrapper function // You could also do // size_t prevOffset = CalcInterleaveByteOffsetImpl<Index - 1, Tpl>::CalcInterleaveByteOffset(t); size_t prevOffset = ::CalcInterleaveByteOffset<Index - 1?t); return prevOffset + sizeof(Tpl); } }; template<typename Tpl> class CalcInterleaveByteOffsetImpl<0, Tpl> { static size_t CalcInterleaveByteOffset(const Tpl &t) { return 0; } };

Google
KrivdaTheTriewe
12.03.2017
21:27:59
такую штуку как в плюсах провернуть

Viktor
13.03.2017
05:01:03
хм пытаюсь подружить slick, active-slick и postgres

и все бы ничего но обычный findById не срабатывает потому что почему-то в запросе нет Id

а case class есстественно начинается с Option[Id] = None

кто-то еще с таким боролся?

Юрий
13.03.2017
05:22:42
это стандартная проблема

гугли что-то типа slick id gen

.
13.03.2017
05:57:32
и все бы ничего но обычный findById не срабатывает потому что почему-то в запросе нет Id
А метод id класса таблицы выглядит вот так? def id : Rep[Int] = column[Int] ( "ID", O.PrimaryKey, O.AutoInc, O.Length(19))

.
13.03.2017
06:30:08
Так. А ProvenShape? id указан как id.?

Viktor
13.03.2017
06:30:42
угу

id.?, some_string

etc

.
13.03.2017
06:31:03
ага

Viktor
13.03.2017
06:31:07
по типам все собирается это ошибка именно в runtime возникает

Страница 558 из 1499