Форум программистов, компьютерный форум, киберфорум
nezabudka
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
Заберите себе весь мир, оставте мне один компьютер.

Почему в Хаскеле нет переменных

Запись от nezabudka размещена 23.03.2019 в 20:51
Показов 1854 Комментарии 6

Конечно все не так однозначно как я себе накрутила и поэтому
сразу покаюсь. Это мое личное мнение прохожего, немного сумбурное,
не отражающее реального положения вещей и оно имеет место быть только по причине
моего хорошего настроения которым я с радостью попытаюсь поделиться.
Прошу быть снисходительными так как всецело нахожусь в данный момент
под влиянием просмотренных монологов известного юмориста Трушкина.
В Хаскеле по сути все является функцией. (Это я уже пошла набрасывать, не Трушкин)
Есть функция
Haskell Скопировано
1
peremennaya = 666 :: Int
которая не принимает ни одного значения и возвращает константу.
Называют такую функцию исходя из контекста "значение", "определение", "аргумент",
"параметр" или называют "именем". Это не опечатка у такой функции есть имя - "имя"
по крайней мере в англоязычном сегменте.
Давайте взглянем на другие имеющиеся функции
Что это?
Haskell Скопировано
1
on :: (b -> b -> c) -> (a -> b) -> a -> a -> c
Это функция, она еще имеет название комбинатор
Название емкое? Несомненно! Чем занимается? Прочел название
и к бабушке уже ходить не надо.
Вот это что?
Haskell Скопировано
1
(+) :: Num a => a -> a -> a
Это функция имеющая название оператор
Название отражает суть? Не подкопаешься!
Вот это что? Все видите?
Haskell Скопировано
1
(,) :: a -> b -> (a, b)
это тоже функция принимающая 2 аргумента и имеющая название конструктор.
Услышав это нужно бежать в справочную? Обойдемся названием!
Все функции могут еще как то дополнительно характеризоваться неся в своем
втором имени дополнительную смысловую составляющую, кроме нашей виновницы, однако.
Попытки ее обобщенно и едино-осмысленно окрестить вызывают приливные бури
среди православной, и не только, части сообщества. Все как мне кажется из за поверхностной схожести
с переменными из императивных языков но при том имеющих глубинные различия.
Если бы все разом забыли определение слова переменная из императивных языков,
то имя "переменная" для таких функций в Хаскеле было бы на мой взгляд емким и лаконичным.
Но не судьба, Хаскель пришел вторым и довольствуется оставшимся.
На этом месте давно набили изрядную болячку которую опытные адепты обходят стороной,
не тревожа приливы, и изощряются в употреблении всех перечисленных имен.
Или когда пытаются быть хорошо понятыми в среде новичков, то есть таких как я,
используют слова "переменная", "константа" и т.д. с небольшой тележкой пояснений
к употреблению не стандартных псевдонимов и сразу просят за совершенное индульгенции.
Я так же намереваюсь покаяться за свое нубское понимание сущности
интеллектуальных вещей тем самым хочу расслабить легко возбудимых,
осознавая что впереди у всех у нас еще один замечательный выходной день!
Размещено в Без категории
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Всего комментариев 6
Комментарии
  1. Старый комментарий
    Советую почитать про лямбда-исчисление. Не в смысле менторства или упрека, а думаю вам может хорошо зайти и показаться интересным, как раз в продолжение темы вашего поста. Для начала простое нетипизированное, альфа-конверсия/бета-редукция, нормальная форма, аппликативный/нормальный порядок редукции и прочие интересные волшебные слова и понятия. Хоть у Романа Душкина в "Программирование на языке Хаскелл", хоть еще где.
    Запись от _Ivana размещена 23.03.2019 в 23:29 _Ivana вне форума
  2. Старый комментарий
    Аватар для nezabudka
    _Ivana. Спасибо, весь Эверест еще впереди.
    Запись от nezabudka размещена 23.03.2019 в 23:54 nezabudka вне форума
  3. Старый комментарий
    Заберите себе весь мир, оставьте мне один компьютер. = ?
    ...
    Мир я забрал. Теперь пришёл за компьютером...
    Запись от wer1 размещена 24.03.2019 в 07:09 wer1 вне форума
  4. Старый комментарий
    Аватар для nezabudka
    Мир я забрал...
    В этом деле главное курсовые процедуры Спасибо, что заглянули на огонёк.
    Запись от nezabudka размещена 24.03.2019 в 13:34 nezabudka вне форума
  5. Старый комментарий
    ...
    Запись от wer1 размещена 24.03.2019 в 15:50 wer1 вне форума
  6. Старый комментарий
    Аватар для nezabudka
    НТЧ. Пожалуйста если есть вопросы касающиеся темы,
    чтобы было интересно и остальным, всегда рада обсудить их здесь.
    Если о другом можете воспользоваться сообщениями в личку.

    Вижу вам понравилась измененная под IT тему цитата "Джузеппе Верди"
    использованная мною в качестве описания моего блога -
    "Можете забрать себе весь мир, но оставьте мне Италию".
    Предложения по оформлению и стилю блога я также с удовольствием
    рассмотрю. Не засоряйте тему не относящимися к ней на прямую
    комментариями. Вы извините что приходится напоминать про очевидные
    вещи. Просто у меня первый раз такое на форуме. Всего вам хорошего.
    Запись от nezabudka размещена 24.03.2019 в 17:19 nezabudka вне форума
 
Новые блоги и статьи
Линейное решение не линейной задачи.
Hrethgir 10.04.2025
В рамках предстоящих вычислений пришлось (да, я тоже знаю про корень числа, и про степеня, и прочие теоремы, но. . . ) найти способ нахождения отношения двух углов. . . .
Запуск контейнеров Docker на ARM64
Mr. Docker 09.04.2025
Появление таких решений, как Apple M1/ M2, AWS Graviton, Ampere Altra и Raspberry Pi, сделало использование ARM-систем обыденностью для многих разработчиков и DevOps-инженеров. При этом Docker,. . .
Vue SFC компонент на PHP с Fusion
Jason-Webb 09.04.2025
PHP на сервере и JavaScript на клиенте — классическое сочетание, которое, несмотря на свою эффективность, создает определенный когнитивный диссонанс при разработке. В этом контексте появляются. . .
TypeScript vs JavaScript: Отличия и когда что использовать
Reangularity 09.04.2025
JavaScript появился в 1995 году как творение Брендана Эйха и быстро стал основой интерактивности в вебе. За свою историю он прошел путь от простого языка для манипуляций с DOM до полноценной. . .
Подключение Kafka к Elasticsearch
Codd 09.04.2025
Apache Kafka и Elasticsearch — две мощные технологии, которые при совместном использовании создают эффективную платформу для обработки и анализа данных в реальном времени. Kafka, выступая в роли. . .
Реализации таймеров в Unity
GameUnited 09.04.2025
Время — важный ресурс любой игры. Разработка качественных игровых механик невозможна без грамотного управления временем, а таймеры выступают ключевым инструментом этого управления. Представьте себе. . .
Функции высшего порядка в JavaScript
run.dev 09.04.2025
Функции высшего порядка представляют собой один из фундаментальных камней функционального программирования в JavaScript. По сути, это функции, которые либо принимают другие функции в качестве. . .
Flutter: Оптимизация производительности сложных UI
mobDevWorks 09.04.2025
Когда речь идет о сложных интерфейсах, Flutter сталкивается с несколькими фундаментальными проблемами производительности. Одна из них — избыточная перерисовка (repainting), когда даже небольшие. . .
Замыкания в Python
py-thonny 09.04.2025
Что такое замыкание? В простейшем определении, замыкание - это функция, которая запоминает и хранит доступ к переменным из охватывающей её области видимости, даже когда эта функция вызывается за. . .
Реализация Event-Driven архитектуры с RabbitMQ и Kafka в Nest.js
ArchitectMsa 09.04.2025
В монолитных системах сервисы обычно общаются напрямую через HTTP-запросы. Простой подход, удобный для начала разработки — но что происходит, когда система растёт? Синхронное взаимодействие быстро. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
Выделить код Копировать код Сохранить код Нормальный размер Увеличенный размер