Dmitry
Попробуй для начала написать тип у change
Dmitry
Тогда понятнее станет
Cheese
Если хотите то можете глянуть для чего мне https://github.com/Lazzlo2096/My-brainfuck-interpreter-in-Haskell/blob/master/main.hs
> -- Автовыведено -- кек, IO [()] - шо это ? sequence, в отличие от sequence_, собирает результаты каждого действия
Влад
> -- Автовыведено -- кек, IO [()] - шо это ? sequence, в отличие от sequence_, собирает результаты каждого действия
ааа, я подумал _ в конце это опечатка, а после того как кто то написал mapM_ я просто не придал этому значение
Cheese
> -- apply3TupleToFunc f (x,y,z) = f x y z -- Есть ли в Хаскеле такая стандартная функция? поищи по имени curry3, но ты уверен, что она тебе нужна?
Влад
> -- apply3TupleToFunc f (x,y,z) = f x y z -- Есть ли в Хаскеле такая стандартная функция? поищи по имени curry3, но ты уверен, что она тебе нужна?
Нет, это вопросы которые появлялись во время написания ктороые бы мне былобы просто интеренсно узнать
Cheese
подчёркивание на конце имени обычно (не всегда) означает «выбросить результат»
Зигохистоморфный
https://github.com/Lazzlo2096/My-brainfuck-interpreter-in-Haskell/blob/master/main.hs#L39 печаль
Влад
https://github.com/Lazzlo2096/My-brainfuck-interpreter-in-Haskell/blob/master/main.hs#L39 печаль
До этого сматри что я нагородил, этот типчик мне очень помог https://github.com/Lazzlo2096/My-brainfuck-interpreter-in-Haskell/blob/988ef00bd82ec2e9af76e03ca534d40c077ca40f/main.hs
Влад
всмысле?
Cheese
ты издеваешься?
объясни своё негодование
Влад
у меня был просто [] и pointer :: Integer, а теперь элегантный ([],[])
Зигохистоморфный
объясни своё негодование
не очень с языком у него
Влад
1) Русский избыточный 2) на вкус и цвет
Cheese
не очень с языком у него
истинный хаскелит сохраняет терпение, неграмотным школьникам тоже полезно изучать Хаскель
Влад
Да!
Зигохистоморфный
и если новичок, в другой чат же
Cheese
но не комменты на русском)
ну, это даже грамотным школьникам можно
Влад
Ля, я же не в продакшен это заливаю, это для меня коменты
Cheese
и если новичок, в другой чат же
а здесь только элитка?
Влад
и если новичок, в другой чат же
А есть такой? Есть ссылка?
Cheese
А есть такой? Есть ссылка?
https://ruhaskell.org/links.html
Влад
Я кстати искал Каналы в описанни этого канала, не нашёл
Alexander
ссылки на haskell_learn поставленной мной в описании этого канала никогда не будет
Alexander
я все ещё считаю идею разделения на learn и не learn пагубной
Dmitry
А отделение _blah -- норм?
Alexander
а на https://ruhaskell.org/ или https://ruhaskell.org/links.html?
это запинить могу, сейчас сделаю
Cheese
это запинить могу, сейчас сделаю
в описании было бы лучше. пины временные
Alexander
А отделение _blah -- норм?
ну контент blah тут не приветствовался
Alexander
не вижу у себя возможности редактировать описание
Alexander
Ссылки на полезные ресурсы: https://ruhaskell.org/links.html ; Информация о полезных ресурсах в закрепленных сообщениях.
Cheese
я все ещё считаю идею разделения на learn и не learn пагубной
у меня нет жёсткой позиции об этом разделении, но прогонять новичков отсюда определённо плохо // cc @xgrommx
Alexander
вообще тут админ не только я и убедить добавить ссылку можно и другого, удалять добавленное я не буду
Влад
Кажется, надо foldM использовать
Ок, спасибо, попробую посмотреть что с этим можно сделать
Alexander
sequence_ а не sequence
Alexander
второй возвращает результаты каждой команды, которые тебе не нужны, только память есть будет
Dmitry
вообще тут админ не только я и убедить добавить ссылку можно и другого, удалять добавленное я не буду
Если я (как пару дней назад предлагалось) напишу gist с haskell-каналами и всячиной, чтобы это запинили, это поможет?
Alexander
запинить только одну запись можно к сожалению
A64m
Не на базе generic-lens, но довольно хорошая. И вроде какая-то интеграция с линзами есть (но сам я пока не использовал) http://hackage.haskell.org/package/superrecord
как это поможет, если, к примеру, написал полиморфный для рекордов код на generic-lens и вдруг надо на месте рекорд сконструировать чтоб в обобщенную функцию передать?
Dmitry
Ну это и будет ссылка на gist
Alexander
бесконечную ленту лучше IntMap сделать
Alexander
или зиппером
Alexander
т.е. или IntMap или ([a], a, [a])
Alexander
первый элемент - все слева в обратном порядке, второй - текущий (и к. лента бесконечная и нельзя удалять), третий - правые в прямом порядке
Влад
т.е. или IntMap или ([a], a, [a])
Окей спасибо)) Посмотрю)
Зигохистоморфный
или просто взять Tape
Alexander
тогда операции сдвига указателя будут O(1)
Alexander
и хранить его не обязательно
Зигохистоморфный
в той же книге изучай хаскель во имя добра последняя глава как раз про это zippers
Alexander
Tape тоже можно судя по описанию
Влад
change term ... в 42-ой строчке лучше заменить на change Increment ... change Decrement ... и т.д.
А разьве с Гардами change term (zs, []) = ... change term ([], (x:xs)) = ... change term (zs, (x:xs)) | term==Increment =... | term==Decrement = .. Не читабельней? мне кажеться да
Зигохистоморфный
Tape тоже можно судя по описанию
это как раз основоположный механизм машины Тьюринга
Alexander
но оно такое, разбираться с проблемами в чужих либах на учебных задачах может быть сложно
Зигохистоморфный
Tape простой
Alexander
ну выше тоже самое, разве что списки вместо стрима
Alexander
с парой комбинаторов для создания
кана
кек
Alexander
по стилю много вопросов, попроще сначала hlint и stylish-haskell натравить
Alexander
мне у них дефолтны не нравятся и я почти ими не пользуюсь, но для начала можно
Dmitry
@qnikst https://gist.github.com/dmalkr/59b0b8d2ef253102eaaf3b4fb8f063fc
Dmitry
?
Dmitry
У меня к нему доступа нет? Или там через PR'ы можно?
Alexander
вы тут коллегиально решите, и я запиню
Alexander
PR
Dmitry
А где?
Cheese
А где?
в шапке каждой страницы ссылка на гитхаб
Dmitry
А, точно
Dmitry
Сейчас