↓
 ↑
Регистрация
Имя/email

Пароль

 
Войти при помощи
Временно не работает,
как войти читайте здесь!
Ластро
23 апреля 2017
Aa Aa
#haskell #приколыНашегоГородка
     Этот код написан математиком, почему я так решил? Да потому, что почти все нормальные программисты при написании кода придерживаются ASCI, разве что в комментариях иногда могут быть фразы на родном языке :) а здесь мы видим такие символы как "∀", "π", "σ", "τ", "α", "β", "φ", "⇒", "→", "∷", "∘", "⊕"...
     Вот зачем? По поводу кодировки-то ладно, utf8 - стандарт для хаскельного файла, но это же банально неудобно набирать с клавиатуры!
23 апреля 2017
20 комментариев из 30
если что, то вот
https://github.com/roelvandijk/base-unicode-symbols

Мне не очень нравится дефолтный ∘, потому что я не любитель писать g . f $ ..., я кажется уже говорил, что больше люблю сказать что-нибудь типа (&) x f = f x и писать x & f & g & h
Или даже так: x ∘ f ∘ g ∘ h
А ещё вместо
h . g . f <$> x
предпочитаю
x \\\\ f \\\\ g \\\\ h
где (\\\\) x f = f <&> x
Ластро
Это всё хорошо, но есть один нюанс. Наш код, потом, скорее всего, будет читать кто-то ещё, а это намекает, что нужно придерживаться общепринятого стиля.
Я обычно свой код никуда не выкладываю:)
С пониманием через полгода проблем нет, потому что это нотация из Wolfram Mathematica, которой пользуюсь очень часто.
Масса обозначений и операторов тянутся из тёмного прошлого и они далеко не всегда удобны.
Вообще нужно будет попробовать использовать тут линзы, точнее их синтаксис.
Но вообще это довольно старая война, как лучше писать композицию - влево или вправо.
В хаскеле вот победило вправо, и это меня расстраивает.
Ластро
Mikie, а вот не нужно. Есть же такие функции как (>>=) и (>>) :)
Вот странно. Для обычных функций победило вправо, а для стрелок Клейсли влево. И после этого я должен верить рассказам евангелистов хаскеля о его крутом дизайне?:)
Я конечно могу всё заворачивать в Id, но это будет многословно и очень некрасиво.
Чёрт. Я перепутал право и лево.
Ластро
Стрелки Клейсли были побеждены do-нотацией :) Да и есть же ещё =<< и << :)
Ластро
Mikie, бывает.
Не побеждены, а обёрнуты. То есть их побеждать как бы и не надо.
Совершенно естественно писать цепочку преобразований слева направо. Это тяжёлое наследие математики, где нужно писать g(f(x)), но если там это можно понять, то если мы говорим о программировании, это выглядит как вывих мозга, который ничего нового или полезного нам на самом деле не дает. "Тут так принято."
=<< и << - Это вообще хтоническое зло!

Но, как я уже сказал, это старая война и ты правильно делаешь, что не ведешься на мои вбросы:)
Ластро
Mikie, я просто в ней не участвую :) и даже не наблюдаю :)
¯\\(ツ)/¯
Суслика видишь? А он есть!

Мне кажется, нужно не бояться неуниверсальности. Когда ты контрибутишь куда-то, это одно. А когда ты строишь свою вселенную, свой язык, нужно максимально забить на несовместимость. Это же для души. И пока ты понимаешь свои построения, всё хорошо.
Ластро
Mikie
Но я-то по возможности стараюсь оставлять совместимость! Просто потому, что пользуюсь созданной другими инфраструктурой.
Ну ок, это ты. Я так не делаю, потому что если я подключаю чужие библиотеки, я не обязан оперировать ровно теми же функциями и типами, что экспортируют модули. Я могу строить своё. И обычно строю, каким бы чуждым оно кому-нибудь не показалось. Обычно это затрагивает и стиль кода, да. Мне пока не сложно говорить на двух языках: общем и своём. (может это потому, что я мало говорю на первом:)

Если вернуться к сабжу, то можно отметить, что использование юникодовых мнемоник сохраняет и совместимость, и читабельность. В конце-концов, всегда можно регекспами пройтись по исходникам:)
А может (хотя и так маловероятно, эх) там были технические возможности, а?
Емаксеры и вимеры смотрят с недоумением.
Ластро
Marlagram, однако, разные бывают извращения.
Всё есть лисп. И немножко перл. Остальное - извращения.
У тебя странные представление о программистах и математиках.

Между тем, вроде как на Agda более менее весь код так выглядит. И для этого, понятное дело, есть плагин под Емакс, делающий набор с клавиатуры таки удобным. Я сам не пользовался, но вроде там что-то в духе того, что пишешь ты какое-нибудь "\alpha", и оно заменяется на альфу.
ПОИСК
ФАНФИКОВ











Закрыть
Закрыть
Закрыть