Рубрика «forth» - 4

«И плохой генератор ПСЧ на что-нибудь годится»

Полумесяц с ретортой
Полумесяц с ретортой
В процессе работы над одной задачей возник неожиданный побочный эффект. Визуализация хорошего генератора псевдослучайных чисел представляет собой шум иили путаницу. Заведомо плохой никто не хочет применять даже для тестов. Мне было все равно, примененный очень простой генератор меня вполне удовлетворял и при аккуратном обращении с ним выдавал приемлемый результат. И вдруг будто-то кто-то уверенным росчерком стал выдавать изящные абстрактные рисунки.
Всего 22 точки соединены кривыми Безье и такой забавный результат. Загогулины можно бесконечно генерировать и за ними, как за облаками, не надоедает наблюдать. Можно придумать интересную игру — разгадать, что же выдала на сей раз нам случайность, какая в ней есть закономерность и придумать ей название.
Но у этих кривых есть и более практическое значение. Генератор представляет собой произведение младшей и старшей части части счетчика тиков процессора, от которого взят беззнаковый остаток. Если генерировать числа достаточно редко, случайность получается терпимой. Здесь числа генерируются часто, случайность плохая, что и видно по формам загогулин. Несмотря на потенциальное количество 200 в 22 степени разных загогулин, чаще всего повторяются определенные элементы.
Предположительно, степень «лохматости» фигуры, зависит от нагрузки на систему в те микросекунды, когда генерировались числа. Диагональная линия, ака «путешественник» говорит о почти линейной зависимости случайных числе от времени и малой нагрузке на систему. «Скалярия» — о большей случайности, а значит достаточно высокой нагрузке…
Для тех, кто захочет развлечься лиловыми загогулинами, ниже приведен код и несколько ярких представителей.
Читать полностью »

Во второй части попробуем написать минимального POP3 клиента. Он будет уметь подключаться к серверу, логиниться в почтовый ящик, узнавать сколько там писем и скачивать последнее. Для иллюстрации этого будет достаточно.
Читать полностью »

Пришло время рассказать о еще одной стороне применения замечательного языка Форт.
Этим циклом статей я покажу, как с его помощью можно создавать крошечные клиент-серверные приложения. Каждое из которых можно использовать как исследовательский и обучающий инструмент.
Для развлечения нам понадобится Windows вплоть до семерки и пакет SP-Forth. Андрей Черезов декларировал возможность запуска его форт-системы под Линуксом, но я это не проверял.

Для начала попробуем создать простейшую серверную программку, которая будет отдавать присоединившемуся клиенту ну… скажем текущую дату и время на сервере.

Читать полностью »

Речь у нас пойдёт о поэзии. Минимализм языка программирования Forth и красота образов демосцены подтолкнули программиста Бреда Нельсона к идее Forth Haiku. Подражая японским хайку, Бред писал свои первые программы из трёх строк, состояли они из пяти, семи, и снова пяти слов. Но в отличии от традиционного японского жанра, поэзия на языке Forth порождала картины не в воображении читателя, а зримо, на экране компьютера. Эта затея могла бы остаться причудой одинокого фаната компьютерного ретро (Forth прочно ассоциируется со старыми добрыми семидесятыми), если бы Бред не воплотил её на самой что ни на есть современной платформе (WebGL) и не сделал бы онлайн-редактор общедоступным.

Вот пример кода Forth Haiku и изображения, которое этот код создаёт: «Light Drop» by Brad Nelson.

: iii x y z*
Sin ; x 5 * x y
- iii exp y iii

Light Drop by BradN

Впереди нас ждут немало удивительных (в том числе и «живых») картин, но сперва — немного теории.
Читать полностью »

image

Порой возникает желание размять свой погрязший в объектно-ориентированном программировании мозг чем-то новеньким и необычным. Конечно, на помощь в этой ситуации может прийти любой функциональный язык программирования, например, Haskell, Erlang, Lisp или OCaml. Но сейчас даже ими уже вряд ли кого-то можно удивить. Нет, хочется чего-то совершенно другого. В такой ситуации на помощь к нам спешит Forth — стековый язык программирования.

Читать полностью »

В этой статье я расскажу, как самому написать процессор на VHDL. Кода будет не очень много (я, по крайней мере, надеюсь на это). Полный код выложен на гитхабе, и там же, можно посмотреть несколько итераций написания.

Процессор попадает под класс soft-процессоров.

Читать полностью »

concatenative
Функциональное программирование снова в моде. В зависимости от того, предпочитаете ли вы классику или хардкор, страдаете от навязанных промышленных стандартов или вы просто хипстер, вашим любимым предпочтением может быть Scala, Haskell, F# или даже старый добрый Lisp. Такие сочетания слов, как функция высшего порядка, отсутствие побочных эффектов, и даже монады, ласкают слух всех «неокрепших юных умов», будь-то ребят из JetBrains или студента, впервые увидевшего SICP.

Но существует и другое программирование, в буквальном смысле даже ещё более функциональное, в основе своей имеющее скорее неЧитать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js