Текущее состояние длин

Mar 07, 2016 17:09

Померил тут, похоже про магические хэши не надо рассказывать. Тут length' - текущая реализация из GHC, length0 - трех?летней давности:
{-# LANGUAGE MagicHash ( Read more... )

ghc, haskell, optimizations

Leave a comment

migmit March 8 2016, 08:23:28 UTC
Слушай, тут на ЛОРе обсуждают задачку, говорят, что из твоего курса (сам не проверял): https://www.linux.org.ru/forum/development/12415360

И бают, будто бы в ответе сказано, что corge не может привести к расходимости. Так оно вполне может, если только там тип явно не указан. Я, конечно, не вполне понимаю, что значит "корректный набор аргументов", но уж corge стопудово может быть чем угодно.

Reply

migmit March 8 2016, 08:24:39 UTC
А, пардон, я там недопонял. Говорят, ответ неизвестен. Прошу пардону.

Reply

deni_ok March 8 2016, 10:34:50 UTC
Ты имеешь в виду, что instance Num мы можем для стрелочного типа сделать?

Reply

migmit March 8 2016, 10:50:59 UTC
Ну да.

Reply

deni_ok March 8 2016, 11:15:01 UTC
Спасибо!

Reply

deni_ok March 8 2016, 10:39:25 UTC
Да, надо на Char поменять.

Reply

ext_2145935 March 9 2016, 11:03:09 UTC
Разведка докладывает, что поменяли на String (без указания типа), но с ним можно (если контекст в котором фунция задана можно менять и добавить OverloadedStrings):

{-# LANGUAGE OverloadedStrings #-}
instance Blah where
fromString = undefined

?

Reply

deni_ok March 9 2016, 11:25:01 UTC
Это уже вне рамок стандарта. Ясно, что расширения могут менять стандартное поведение достаточно сильно.

Reply

ext_2145935 March 9 2016, 11:37:10 UTC
(не очень серьёзно), а потом люди доучиваются, приходят в реальную жизнь и начинается, почему length (1,2) = 1 :)

Reply


Leave a comment

Up