Size: a a a

2021 May 02

к

кана in Haskell
но я никак не могу понять где в решении задаются мины
источник

OS

Oleksandr Shyshko in Haskell
что делает "Field w h = field" в 19 строчке?
источник

DB

Danil Berestov in Haskell
Паттерн матчинг
источник

OS

Oleksandr Shyshko in Haskell
можно ещё так (быстрее читается):

type YX = (Int, Int)

neighbourMoves :: [YX]
neighbourMoves =
   [ (-1, -1), (-1, 0), (-1, 1)
   , (0, -1),           (0, 1)
   , (1, -1),   (1, 0), (1, 1)]
источник

OS

Oleksandr Shyshko in Haskell
этот код было тяжело читать:
(p >= 0) && (p < w * h) && (abs ((src `mod` w) - (p `mod` w)) <= 1) = Just p
источник

¯

¯\_(ツ)_/¯ in Haskell
мины никак не задаются. только путь. а всё, что не путь -- мина
источник

OS

Oleksandr Shyshko in Haskell
возможно имеет смысл запихнуть Graph внутрь Field и передавать вместе (данные+размер). Сам Field, во избежание двусмысленности с полем ввода (или частью чего-то), возможно имеет смысл переименовать в Board, World или, в крайнем случае, State
источник

OS

Oleksandr Shyshko in Haskell
длинные штуки с $ можно попробовать переписать с использованием (.)  или (&) (почти как ->> в Clojure):

reachableVs =
   filter (`notElem` path) $ filter (isPossible g path) $
       getNeighbours g $ head path

import Data.Function ((&))

reachableVs =
     head path
   & getNeighbours g
   & filter (isPossible g path)
   & filter (`notElem` path)

читается как: берём head, берем соседей, фильтруем, ещё раз фильтруем
источник

A

Aleksandr Khristenko in Haskell
Блин, а как вообще автодополнение в связке hls с VSCode работает?
Если следующий код:
import qualified Network.HTTP.Client as Client

fn = Client.

жмакаю на ctrl+space после точки, в полученном списке нет newManager
печатаю n, остается 3 позиции, среди них все еще нет newManager
печатаю ne, newManager появляется.
Это поведение как-то пофиксить можно? Это у всех так оно себя ведет или надо что-то донастроить?
источник

к

кана in Haskell
вообще не знал что есть автокомплит в хлс)
источник

к

кана in Haskell
пользуюсь им несколько месяцев
источник

к

кана in Haskell
ну то есть модули всякие дополняет, а функции не пробовал
источник

JS

Jerzy Syrowiecki in Haskell
это чат про язык. поведение конкретных прикладных программ лучше обсуждать с их разработчиками
источник

a

adam in Haskell
оправдываешь свою кличку
источник

A

Aleksandr Khristenko in Haskell
Т.е. с вопросами по stack/cabal ты тоже будешь отправлять к разработчикам да? Вопросы тулинга тут поднимать нельзя?
источник

a

adam in Haskell
вообще странное поведение конечно того что хлс не проиндексировал пакеты, возможно в никсе бы таких проблем не было
источник

JS

Jerzy Syrowiecki in Haskell
использование тулинга можно, но баги тулинга — это уже специфика
источник

A

Aleksandr Khristenko in Haskell
Ну т.е. если я столкнусь с (потенциально)багами в stack/cabal то тут их задавать нельзя, я тебя верно понял?
источник

MK

Maxim Koltsov in Haskell
не все админы разделяют эту позицию, если что
источник

a

adam in Haskell
да он просто занудствует, не обращай внимания
источник