Этого треда уже нет.
Это копия, сохраненная 18 декабря 2018 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
150px-Stack1.svg.png150x75
FORTH /forth/ 1166564 В конец треда | Веб
не сочтите за ретрофага, однако с удовольствием выслушаю, кто что слышал о данном языке?

Какова его актуальность сейчас?
2 1166581
>>166564 (OP)
Актуальность, увы, невысока - за исключением, быть может, каких специфических внутренних вещей, когда у тебя есть какая-то охуевшая йоба, под которую нет никаких компиляторов, и тебе нужно БЫСТРО, РЕШИТЕЛЬНО запилить под нее что-то высокоуровневое.

Сам язык - мастхэв для ознакомления, вместе с Factor и Joy (и Cat).
3 1167532
Почему он не взлетел?
4 1167558
>>167532
Потому что dip dup r> roll3 rot swap -rot drop dup roll кровь кишки распидорасило.

На самом деле он взлетел, просто олдфаги не помнят, ньюфаги не знают.
5 1167591
>>166564 (OP)
Думаю, оно вполне может иметь смысл и применение в виде кастомного диалекта. Сама идея хорошая, но стандартный Forth какой-то местами недоделанный, как мне показалось.
6 1167626
>>167591

>Думаю, оно вполне может иметь смысл и применение в виде кастомного диалекта.


JVM — лучший диалект форта.
>>167532
JVM влетела.
sage 7 1167637
>>167626
Виртуальная машина не может быть диалектом языка, дурилка. Кроме того, дурилка, байткод жвм имеет к форту очень опосредованное отношение (т.е. по факту никакого).
8 1167647
>>167532

>Потому что dip dup r> roll3 rot swap -rot drop dup roll кровь кишки распидорасило.


А зачем так делать?
10 1167663
>>167647
>>167648
Ээ, чтобы писать программы. Я не совсем понял, в чем вопрос. Попробуй написать факториал и вычисление дискриминанта на форте.
11 1167670
Форт позиционировался как язык для микроконтроллеров - высокоуровневая замена ассемблеру.

Одна из фишек - простая кросс-компиляция.
Можно было с минимальными затратами разрабатывать на одном процессоре и деплоить на другом.

Вполне взлетел.
Были даже аппаратные реализации - форт-процессоры, и даже довольно много.

В первой половине нулевых - был ещё вполне активен.

Не подходит для гарвардской архитектуры (AVR).

С появлением мощных ПК (для разработки), распространением RISC-процессоров и нормальных компиляторов C для них - оказался не нужен.
12 1167680
>>166564 (OP)
Вот тут можешь заценить живьём (инфо и интерпретатор на JS):
http://skilldrick.github.io/easyforth/

В конце даже игрушка есть.
13 1167738
>>167680
Спасибо, анон, джва года ждал. Я думал, что язык только про dup drop rot over swap
14 1167963
>>167738
Упарывайся лучше сразу Фактором.
15 1167965
Кстати, у кого-нибудь есть Thinking Forth в нормальном формате? Оче годная книжка, но у меня только в txt валяется.
16 1167975
>>167963
Реквестирую Фактор-тред.
18 1168006
>>167975
Го, я создал: >>166564 (OP)
20 1168192
спасибо ответившим. теперь - Factor
21 1168201
>>168192
Да сырой он. Fuel так и не смог поставить. Если будешь пробовать, отпишись, пожалуйста, хотел бы тоже поиграться.
22 1168208
>>168190
посоны не открывайте там вирус

Серьезно, при открытии страницы у меня ебаный шум из наушников (я чуть не оглох), причем mute на странице не работает.

Пиздец.
23 1168221
>>168208
Да, есть такой баг, сайт ломает звук в прыщах и маке, на винде последний раз норм работало. У тебя линукс, да?
24 1168277
>>168006
Джва года ждал.
>>168201
У меня Fuel не может запустить фактор (M-x run-factor). Приходится отдельно запускать listener, из него запускать факторный хост ("fuel" run), затем из емакса к нему подключаться (M-x connect-to-factor). Лисенер при этом приходится держать открытым всё время. Это у меня на винде. Хотя, по мне, listener как REPL намного лучше чем емаксовский Fuel. Поэтому словари с подсветкой пишу в емаксе, а запускаю и отлаживаю в лисенере.
другой анон
25 1168304
>>168221
Я с Андроида захожу и какой-то треск идёт
26 1168517
>>168002
Спасибо, анон, чего-то я прослоупочил.

>>168201

>Да сырой он.


Проиграл маленько с такого эпитета. Сколько ему там лет? 15, 20?
27 1168529
>>168517

>Сколько ему там лет?


Разработка началась в 2003. Первая версия ещё не вышла (последний стабильный релиз 0.97). Там просто Фуел кривой, автор его забросил давно. Последний коммит был в мае 2013.
28 1168641
>>168277
На арче та же самая хрень была, поэтому дропнул, после гейзера и слайма просто не хотелось писать по-другому.
29 1168645
Я конечно дико извиняюсь за нескромный вопрос, но зачем на этом писать?

Ценность фактора же в расширении кругозора и постижении иных измерений. Для этого и блокнотика вполне хватит.
30 1168692
>>168645
Ну форт хайку увлекательнее в таком случае. А мазохизм никакого отношения к расширению кругозора не имеет. Ну типизированный форт, окей, ознакомились и дропнули. А в блокноте можо на чем-нибудь более интересном писать, даже на том же хачкеле, где языковые расширения (гхц имею в виду) ну просто новый мир открывают и где действительно много интересных концепций постичь можно
31 1168714
>>168692
Что? Ты хуйню какую-то сморозил, извини уж. Что увлекательнее чего? Фактор - это не типизированный форт, ты бы хоть вики его почитал. В блокноте на х-ле писать? Ты бы хоть гхц поставил да факториал написал для начала - как раз с х-лем нужно нормальное окружение, чтобы не было мазохизма. Фактор - единственный живой конкатенативный язык без (обязательной) байтоебли, с огромной библиотекой и кучей реального кода на нем. Х-ль - обычный аппликативный язык, ленивая типизированная лямбда, коих тысячи - от клина до идриса, от скалы до фшарпа. Никто не спорит, что много интересных концепций через него постичь можно, но это - мейнстрим, а не иные измерения.
32 1168755
>>168714
Я трогал фактор. И не знаю, где ты кучу кода на нем нашел (кстати, ее наверное тоже в блокноте писали?), потому что экосистема так и осталась в плачевном состоянии, большинство либок не работают. На хацкеле нормально писалось в редакторе фарманагера, факториал был написан не один, и благодаря высокоуровневости окружение не особо нужно. Алсо во-первых все языки, что ты перечислил (про клин только не знаю), энергичны по умолчанию, во-вторых в скале также вызов по имени есть, в-третьих, такие вещи как ооп и гадт (не говоря уже о зависимых типах) как бы дают понять, что типизированной лямбдой не обойдешься. Ну и плюс кроме семантики вызова функций другие вещи существуют, семейства типов и те же гадт например. Да ты мне хотя бы внятную аналогию тайпклассов в других языках назови, а то сводишь все к лямбде своей. Я как бы и не говорил, что хаскель необычный язык какой-то, но на нем много интересных вещей поковырять можно. Просто не надо из меня какого-то дикаря делать, который услышал про ленивость или паттерн матчинг и с восторженным криком хвалит язык. Я о том, что для меня фан, а что нет.
33 1168838
>>168755
Кучу кода на нем написал Славик, для языка такого жанра у него очень богатая стдлиба. В чем Славон писал код я не знаю, но это не имеет отношения к треду (перечитай >>168645).

>На хацкеле нормально писалось в редакторе фарманагера


Ну вот это и называется мазохизм. Отступы вручную пробелами отбивал, ага? Впрочем, для факториалов пойдет, да (о чем я изначально и говорил).

>энергичны по умолчанию


Ой блядь, ну идрис поддерживает ленивость, ленивые коллекции вообще везде есть, в той же кложе.

>Да ты мне хотя бы внятную аналогию тайпклассов в других языках назови


Ээ? Трейты\тайпклассы\протоколы вроде во всех современных языках есть, не? кроме goвна, конечно

>Я как бы и не говорил, что хаскель необычный язык какой-то, но на нем много интересных вещей поковырять можно


Ну ты ведь сказал, как бы контраргментируя мой пост, что коль уж в блокноте ради постижения тонких материй писать, то нахуй ваши фортофакторы, а вот {-#LANGUAGE GADTs - ого-го, всем пизды даст!

Мой поинт был в том, что выше обсуждалась настройка окружения для фактора, вот я и недоумевал - зачем? Вы ж не собираетесь реальный софт на нем писать (или собираетесь)? Основная его ценность - в том, что это неаппликативный язык, на котором достаточно много чего написано (по сравнению с joy или j/k, например), и можно реально посмотреть, как на какой-то марсианской (с точки зрения подавляющего большинства девелоперов) хуйне пишут реальный, рабочий код (а не просто факториалы). И тут ты такой со своим х-лем: чо, зачем, к чему, при чем тут вообще это - хуй пойми. Вот я и выразил свое недоумение по этому поводу.

>Просто не надо из меня какого-то дикаря делать, который услышал про ленивость или паттерн матчинг и с восторженным криком хвалит язык.


Ну ладно, окей. :3

>Я о том, что для меня фан, а что нет.


Ну ладно, но только ты бы как-то почетче это артикулировал, а то при переводе с русского на русский этот мессадж как-то немного потерялся, вот. х-ль крута, питонджонс бох
34 1168858
>>168838
Про гадт я сказал в том контексте, что он к типизированной лямбде не сводится. А тайпклассы полноценные ни трейтами, ни модулями первого порядка не эмулировать. А насчет подавляющего большинства девелоперов - так для них метапрограммирование на шаблонах в крестах - какая-то марсианская хуйня (хотя она по сути таковой и является). Ну а в остальном мы вроде поняли друг друга. Кстати, золотце с его симтой знаешь?
35 1169168
>>168858

>Ну а в остальном мы вроде поняли друг друга.


Угу. :3

>Кстати, золотце с его симтой знаешь?


Это же вроде порашный шизик, который какие-то хуетени на дслях пилил, не? Ну, то есть краем уха слышал, но стараюсь избегать погружения в подобные материи. А что с ним? Что за симта?
36 1169181
>>169168
Да, именно он. Смесь лиспа и рефала, насколько я понял. Вспомнился что-то вот, когда обсуждали всякие языки.
37 1169205
Что-то как-то мало материалов по Фактору. Есть какие-то курсы/статьи/видео? Желательно на русском. Как, вообще, его изучать?
38 1169214
>>169205

>Желательно на русском.


Туда ли ты зашел, мань?
39 1169252
>>169214
Хорошо. Не желательно на русском. Ну хоть что-нибудь.
41 1170053
А кто-нибудь может показать примеры реальных разаработок на Факторе?
42 1170106
>>170053
Туда ли ты зашел, мань?
43 1170133
>>168192

>теперь - Factor


Он изначально был экспериментальной площадкой, куча всего было сделано хуяк-хуяк. В результате Славик его не доделал, ушел делать свифт к яблочным гомосекам. Без него комьюнити сдохло. Ну а по сути фактор - динамическая дрисня. Уж лучше лисп какой-нибудь взять, чем со стеком колупаться.
44 1170205
>>170133

>Он изначально был экспериментальной площадкой


Ну так в этом вся суть(с)(тм) же, и это замечательно.

>динамическая дрисня


Ну так в этом вся суть(с)(тм) же, и это замечательно.

>Уж лучше лисп какой-нибудь взять


Дайте две! В смысле обе.
45 1170207
>>167663

>Попробуй написать факториал и вычисление дискриминанта на форте


И в чем сложность?
: fact 1 swap begin dup 0> while dup 1- >r r> repeat drop ;
: discr ( a b c -- d ) >r dup
swap r> 4 - ;
Снимок экрана от 2018-04-08 17-58-19.png4 Кб, 545x103
46 1170209
>>170207
Блядина звезды сожрала
47 1170231
>>170207
Перечитай цепочку целиком:

>>167647

>>dip dup r> roll3 rot swap -rot drop dup roll


>А зачем так делать?



>>167663

>чтобы писать программы.



>>170207

> swap begin dup 0> >r r>


> >r dup swap r>

48 1170238
>>170231
Похоже на код на Clojure, только скобок немножко поменьше.
49 1170245
>>170238
М? Вообще не похоже. При чем тут clojure?
50 1170266
>>170245
Это была шутка.
51 1170285
>>170231
Это дело опыта. Со временем такой код нормально будет восприниматься, как в любом языке. Обычно стараются стековую акробатику к нулю сводить, все разбивать на короткие однострочники. К тому же никто не запрещает использовать локальные переменные для пермутаций. С ними тот же дискриминант будет выглядеть гораздо понятнее:
: mul звездочка ;
: discr { a b c } b b mul 4 a c mul mul - ;
(с плавающей точкой, правда, будет уже не так красиво).
52 1170302
>>170266
Ну тогда уж "похоже на код на Haskell, только точек немного меньше", лол.

>>170285
Анон, я-то это знаю. Я отвечал тому анону, который спрашивал, почему "не взлетело". Большинству программеров трудно воспринимать такие штуки, надо переучиваться.

Ну и все-таки проблему наличия тыщи хитровыебанных комбинаторов это не отменяет.
53 1170356
посмотрел Factor - может, идея и хорошая, но для реальных применений он непригоден.
54 1170364
>>170356
Почему?
55 1170408
>>170364
inb4: СЛОЖНА-НИПАНЯТНА НИ КАК ЖАВА ПЛОХА((
другой анон
56 1170638
Аноны-знатоки Фактора, напишите плз какой-нибудь вводный курс по Фактору на русском, или ещё лучше видеоурок. Для начинающего вообще ничего не понятно. Как в этом всём ориентироваться, за что браться?
57 1170709
Есть инфа, то форт в принтерах активно используется. В виде языка для внутреннего представления данных или типо того. Но это не точно.
58 1170711
>>170709
Postscript - стековый язык, да
59 1170787
>>170638

>на русском


>или ещё лучше видеоурок


Ты разделом ошибся, мань.
60 1171433
http://compiler.su/pochemu-obrechyon-yazyk-fort.php

>Последний из них — это волна мобильных устройств, где были востребованы свойства именно Форта: компактность, «автономность» и «независимость» от ОС (и потенциальная способность заменить собою эту ОС).



http://sergey-frt.narod.ru/frt_sci.html forth на j2me даже есть, с кучей возможностей

А хотя в клэйтронике он сможет полностью себя показать? Что по поводу реактивного программирования в форт вообще?
61 1173219
Я просто оставлю это здесь:
http://www.nsl.com/k/ray/ray.k
Рэйтрейсер в 7 (семь) строчек. На K.
62 1176035
Спасаю пост по сабжу из утопающего:

>>1169907


https://notehub.org/5ghyu
64 1182160
Factor-господа, подскажите, как красиво без биндингов реализовать функцию типа:

foo x y = if bar? x then qux y else if bar? y then qux x else frob
65 1186615
Помогите выбрать между общелиспом и фактором. Какие у кого достоинства/недостатки? Может, всё это - те же яица? Хочу интересный нескучный язык для себя.
66 1186970
>>186615
Оба, очевидно же.
67 1188338
>>186970
Слишком мого.
68 1188339
>>188338
fix. Слишком много для меня.
69 1188385
>>188338
>>188339
Тогда прочитай why concatenative programming matters и http://www.kevinalbrecht.com/code/joy-mirror/forth-joy.html - для начала хватит, а там сам поймешь.
70 1188582
Оба
71 1194630
>>188582
Что "оба"?
72 1195615
73 1199012
>>188339
В общем, я выбрал фактор. И теперь у меня вопрос. Я не понимаю систему стековых эффектов. Это такаой вид типизации? В частности мне не понятно, чем различаются dip и keep. Мне кажется, что стековый эффект dip какой-то глупый и должен быть как у keep. Да, вообще, стековые эффекты почти всех dataflow-комбинаторов какие-то некорректные. Помогите разобраться плз., спецы.
74 1199034
>>199012
Как в стековом эффекте выразить факт нетривиальной зависимости количества выходов слова от количества входов? Какой должен быть стековый эффект в случае, когда количество выходов (и/или входов) слова существенно зависит от конкретных его аргументов?
75 1199066
>>199012

>Я не понимаю систему стековых эффектов.


http://docs.factorcode.org/content/article-effects.html

>Это такаой вид типизации?


Не совсем, скорее это документация, которая частично чекается. Если со всякими тайпскриптами работал - нечто отдаленно похожее.

>чем различаются dip и keep


http://docs.factorcode.org/content/word-dip,kernel.html
http://docs.factorcode.org/content/word-keep,kernel.html
Перевести? dip удаляет верхний элемент х со стека, вызывает quot, а потом кладет элемент х обратно на вершину стека. keep копирует текущий верхний элемент х, потом вызывает quot с текущим стеком (включая верхний элемент), а потом добавляет х на вершину результирующего стека. Собственно, ( ..a x quot: ( ..a x -- ..b ) -- ..b x ).

>>199034
Никак. Какой угодно.
76 1199102
>>199066

>http://docs.factorcode.org/...


Собственно документацию и читаю.

Почему, тогда, стековый эффукт для dip не такой: ( ..a x quot: ( ..a -- ..b ) -- ..b x ) ? Разве соответствие количеств входов и выходов здесь не сщественно? Там, ведь, количество входов зависит от стекового эффекта quot. Для сравнения:
[ / ] dip
[ 2 / ] dip

>Никак


Как же быть, если требуется?

>Какой угодно.


Как так? Например, не понятен стековый эффект spread. Там количество входов зависит от длины seq, но из эффекта этого не видно. Как такое выразить в стековом эффекте?
77 1199105
>>199066

>тайпскриптами


А что это?
78 1199170
>>199102

>Почему, тогда, стековый эффукт для dip не такой: ( ..a x quot: ( ..a -- ..b ) -- ..b x ) ?


Потому что каждый тип неявно row-полиморфен, вестимо. (..a x quot -- ..b x) и (x quot -- x) эквивалентны.

>Разве соответствие количеств входов и выходов здесь не сщественно?


Row-переменные ничего не говорят о количестве входов и выходов.

>Как же быть, если требуется?


Factor - динамически типизированный язык, так что я не вижу, в чем проблема. Берешь и делаешь.

>Как такое выразить в стековом эффекте?


Как угодно, см. предыдущий пост. Можешь комментарий написать. Можешь не писать.

>>199105
https://www.typescriptlang.org/
(или любые аналогичные "пришей хуй собаке"-надстройки)
79 1199596
>>199170

>Потому что каждый тип неявно row-полиморфен, вестимо. (..a x quot -- ..b x) и (x quot -- x) эквивалентны.


Вот это было мне неочевидно. Хотелось бы поподробней. Не понятны упоминаемые (в документации) особенности стековых эффектов комбинаторов. Как-то это связано с inline, вроде. Также непонятно как проходят стековые проверки. Кажется часть этих проверок динаическая. Насколько ни строгие? Постоянно ощущается некоторая граница между parse time и run time. Мне не показалось? Насколько это фундаментально для Фактора? Видимо, я недопонимаю из-за того, что раньше не имел дела с динамическими языками.
80 1199945
Я очень часто получаю ошибку "Cannot apply “call” to a run-time computed value". Я не понимаю, что я делаю не так.
81 1200474
Зачем нужен механизм 'обёрток' - <wrapper> (\) , если есть возможность цитирования (quotations) ?
Механизм локальных переменных - это такой костыль?
82 1200514
>>199596
Кстати, parse time и compile-time одно и то же?
83 1200846
го
84 1200888
>>200474

>локальных переменных


fix лексических переменных (lexical variables)
85 1201204
>>170209
А что такое >r и r>?

мимо-интересующийся
sage 86 1201209
>>201204
Разобрался сам.
операции со стеком возврата
87 1201477
>>199596
А ты пейпер читал? http://factorcode.org/slava/dls.pdf - вот этот, там вроде про это есть. Если что, я не пишу на факторе, так что не ожидай от меня подробных и корректных объяснений.

>как проходят стековые проверки


Он считает количество входов и выходов и сравнивает их с задекларированным.

>Как-то это связано с inline, вроде


Вот как раз когда он не может посчитать входы и выходы (то есть когда у тебя row polymorphic функция), он пытается заинлайнить такой вызов, чтобы избавиться от роу-полиморфизма, ведь большинство rp-комбинаторов используются для control flow, а значит соответствующие quotation'ы будут compile-time константами (точнее даже литералами). Ну по крайней мере я это как-то так себе представляю.

>Кажется часть этих проверок динаическая.


...а когда у тебя row-polymorphic функция с нелитеральными аргументами, то приходится проверять стэк эффекты в рантайме.

>граница между parse time и run time


Тут я не совсем понял, что ты имеешь в виду. У него там весь синтаксис реализован в качестве библиотеки, через parsing words. Ну то есть они как раз выполняются в parse time. Плюс еще Ъ-макросы есть.

>>199945
Тебе нужно использовать форму call(--) с указанием стак эффекта, если я правильно понимаю.

>>200474

>Зачем нужен механизм 'обёрток' - <wrapper>


Даже не ебу, что это такое, лол. Придется пойти погуглить, йей. :3

>Механизм локальных переменных - это такой костыль?


Ну просто иногда использовать именованные переменные удобнее, чем пердолиться в комбинаторы. Я бы не назвал это "костылем" - просто еще одна возможность. Имхо, конкатенативщина без опциональных именованных аргументов ненужна.

>>200514
Насколько я понимаю - нет. Если проводить аналогию с лишпами, то parsing words - это как reader macros (за исключением того, что перед ними сперва текст прогоняется через лексер). То есть в parse-time отдельные токены парсятся в значения, потом в compile-time эти значения невычисленными берутся и крутятся-вертятся туда-сюда, а потом в рантайме это уже все наконец вычисляется.
87 1201477
>>199596
А ты пейпер читал? http://factorcode.org/slava/dls.pdf - вот этот, там вроде про это есть. Если что, я не пишу на факторе, так что не ожидай от меня подробных и корректных объяснений.

>как проходят стековые проверки


Он считает количество входов и выходов и сравнивает их с задекларированным.

>Как-то это связано с inline, вроде


Вот как раз когда он не может посчитать входы и выходы (то есть когда у тебя row polymorphic функция), он пытается заинлайнить такой вызов, чтобы избавиться от роу-полиморфизма, ведь большинство rp-комбинаторов используются для control flow, а значит соответствующие quotation'ы будут compile-time константами (точнее даже литералами). Ну по крайней мере я это как-то так себе представляю.

>Кажется часть этих проверок динаическая.


...а когда у тебя row-polymorphic функция с нелитеральными аргументами, то приходится проверять стэк эффекты в рантайме.

>граница между parse time и run time


Тут я не совсем понял, что ты имеешь в виду. У него там весь синтаксис реализован в качестве библиотеки, через parsing words. Ну то есть они как раз выполняются в parse time. Плюс еще Ъ-макросы есть.

>>199945
Тебе нужно использовать форму call(--) с указанием стак эффекта, если я правильно понимаю.

>>200474

>Зачем нужен механизм 'обёрток' - <wrapper>


Даже не ебу, что это такое, лол. Придется пойти погуглить, йей. :3

>Механизм локальных переменных - это такой костыль?


Ну просто иногда использовать именованные переменные удобнее, чем пердолиться в комбинаторы. Я бы не назвал это "костылем" - просто еще одна возможность. Имхо, конкатенативщина без опциональных именованных аргументов ненужна.

>>200514
Насколько я понимаю - нет. Если проводить аналогию с лишпами, то parsing words - это как reader macros (за исключением того, что перед ними сперва текст прогоняется через лексер). То есть в parse-time отдельные токены парсятся в значения, потом в compile-time эти значения невычисленными берутся и крутятся-вертятся туда-сюда, а потом в рантайме это уже все наконец вычисляется.
89 1207895
Как на счет операционной системы?
90 1207899
Что-то я не заметил, что в этом треде вы бы отозвались о форте как языке для создания других языков. Разве что книгу "Способ мышления ФОРТ" упомянули.
91 1207922
>>207895
А что с этим?
92 1207925
>>207922
Создать убмйцу линукса на форте.
93 1207949
>>207925
А это кому-то надо? Если тебе интересно, можешь заняться.
94 1208066
>>207925
Большинство фортов - минималистичная велосипедная ОС. Суть форта - работа на голом железе без лишних абстракций.
95 1213447
У меня тут пара вопросов.
В чём главное отличие Фактора от Форта?
В Факторе есть мультиметоды?
96 1213456
>>213447

>В чём главное отличие Фактора от Форта?


Проще сказать, в чем их сходство (конкатенативность, постфиксный синтаксис).

>В Факторе есть мультиметоды?


Да вроде есть: http://docs.factorcode.org/content/article-generic.html
97 1213589
>>213456

>Да вроде есть


Как понимать тогда это? http://docs.factorcode.org/content/vocab-multi-methods.html
98 1214299
Зачем retain stack в Факторе?
При Runtime code reloading останавливаются все потоки в образе (image) или нет? Какой там механизм, вообще?
99 1215977
>>214299
Анончик, ты выяснил ответы на свои вопросы? Расскажешь?
100 1223377
>>215977
Retain stack используется для временного храниния информации: dip ( x quot -- x ) переносит x из data stack в retain stack на время выполнения цитаты quot.
101 1223380
>>223377
Насколько я понимаю, retain stack важен, потому что dip - примитив и играет фундаментальную роль в конкатенативной семантике.
102 1223381
>>168277
Кстати, с 0.98 "Development release" FUEL хорошо работает.
103 1223382
>>167670

>Не подходит для гарвардской архитектуры (AVR).


Подходит, есть имплементации

>>167532

> Почему он не взлетел?



Нишевый язык был популярен в своей нише. Лоследнее, где я его видел - это упоминания в https://en.wikipedia.org/wiki/Open_Firmware
104 1225949
>>213447

>В Факторе есть мультиметоды?


Запланировано на 0.99. Неизвестно, когда будет - 0.98 просрочили на 3 года.
105 1225950
106 1231121
Вопрос по Фактору. Как конструировать объекты mixin-классов, нопример deque?
падажи.jpeg12 Кб, 207x243
107 1231259
Пилил на Factor'е важную мне программку, думаю заебись платформа епт! Компилируется в компактную программку, библиотечки нужные есть ну почти, пришлось запилить несколько биндов к dll и логику, да и идея заебись! Но не тут то было, не успел я написать и половину, эта хуита перестала компилироваться и стала вылетать с любыми опциями компилера, работало ток в интерпретации, писало баг компилятора, или просто вылетало в зависимости от опций то компилер то программа, пробовал переписывать, хуй знает что за проблема была, много кода, хуй пойми что изменять надо, я короче в рот его ебал, еще синтаксис хуйня полная, надо было запилить библиотеку с поддержкой нормального сишного какого нить, нахуй это стекоговнище нужно? Идеи интересные, а реализация хуйня полная, переписывать все надо нахуй!
108 1231261
>>231259

>а реализация хуйня полная


Ну автор фактора потом в эппл ушел компилятор свифта делать, бгг. А чо у тебя там за уберпрога-то, гитхублаб есть? Ты пацанам из фактора написал, чо они ответили?
109 1231273
>>231261

>Ну автор фактора потом в эппл ушел компилятор свифта делать


Да я знаю стори,много че прочитал, терь фанат фортоподобной хуйни.

>А чо у тебя там за уберпрога-то


Ды не суть уже, у меня подгорело и я забил нахуй, а что писать пацанам хз, я свой
код раскрывать нехочу, да и просто не нравится код внутренний, хуевая архитектура.
Не думаю что помогло бы чем то лол, потом наткнулся бы опять, тем более сталкивался
с багами среды самой много раз, то задача не отвечает, то гуи поплывет, и прочее.
110 1231275
>>231273

>да и просто не нравится код внутренний, хуевая архитектура.


Эт я про фактор есличе
111 1231286
>>231273
Ну его же поддерживают как я понимаю полтора инвалида уже давно, так что тащем-то неудивительно, что там много багов накопилось. пили свой конкатенативный язык
112 1231400
>>231273

>Да я знаю стори,много че прочитал


Расскажи стори.
113 1231401
>>231275

>>да и просто не нравится код внутренний, хуевая архитектура.


А что там с архитектурой?
114 1231403
>>231400
>>231401
Отсоси потом проси, быдло! Ты тот обиженный растер? если нет то я попутал
115 1231406
>>231401
Нихуя не попутал, харкаю тебе в ебало чмоха, еще раз зайдешь сюда со своей ржавой парашей, отпизжу, а в архитектуре fail как минимум из за global state, да там достаточно блять посмотреть на доку про встраивание фактора в сишку. А про стори я проиграл, уже блять ослеп пидор.
116 1231411
>>231286
А я от думаю, но надо еще много вопросов решить, хотя вот идей у меня уже много набралось, не только по фортоподобным языкам, а вообще. Мб через года 2 начну, не хочу просто так пилить хуйню.
117 1231809
>>231406
>>231403
Опять таблетки забыл принять, дядь?
118 1241470
Вы там живы? Что-то новое появилось? Новый форт-фреймворк?
119 1241487
>>241470

>Новый форт-фреймворк?


Лол.
forth.jpg100 Кб, 600x955
120 1243991
>>167670

>AVR


AVR Forth (Forth-like) compiler
Не пизды.

>>208066
ПИкрилейтед.
121 1244004
Ну и да, в наше время с появлением кешей-хуешей и увеличивающегося отставания скорости процессора от скорости оперативы считавшийся ранее достаточно быстрым шитый код стал тормозом почище чистого parse-text интерпретатора по причине перманентного пребывания в кеш-промахах.
122 1244111
Форт это ведь средство для создания предметно-ориентированных языков? Почему вы не пытаетесь создать именно такое средство идеальное там с доказательствами всякими, а хотите создать универсальный форт тогда?
123 1244284
>>243991

>пикрелейтед


Лол, охуенно. Схоронил.
124 1244579
>>244004
Это не проблема форта, а проблема компиляторов. Например SP-Forth компилирует в "обычный код".
125 1253697
тред годный бампану
126 1268651
127 1272444
Бамп
128 1282744
Мужики, подкиньте идейку какую-нибудь. Курсач - фортоподобный язык написать. Но это-то ерунда, но препод хочет что бы курсач типа с реальностью был связан, что бы какую-нибудь +/- реальную проблему решал.
А я короче туплю, идей вообще никаких нет. Есть какая-нибудь задача, на которую этот ваш форт хорошо ляжет, да так чтоб студент на втором курсе запилить смог?
129 1282846
>>282744
Что ты понимаешь под "реальностью"? Для идей по части компьютер сайенс посмотри на joy, можешь еще "комбинаторная логика в программировании" (Вольфенгаген, 2000) навернуть. Еще прикольная идея тут: "Push-forth: a Light-weight, Strongly-typed, Stack-based Genetic Programming Language", крошечный пейпер на 5 страниц. Ну и на фактор конечно посмотри, как пример чего-то более практичного. Я вообще не очень понимаю, что должно значить "какую-то реальную проблему решал" в применении к языкам программирования (ну, в биткоине контракты на фортоподобном языке емнип пишутся, например). И какой у вас уровень вузика тоже не знаю, так что хз, смотри сам.
130 1289807
Там во фрибсд потихоньку на луа загрузчик переходят оставляя свободу выбора на форт.
131 1289839
>>166564 (OP)
Слышал в том-треде-от-ксеноцифала-на-sql.ru, что на нем легко его интерпретатор для нового железа. По мне неактуально совсем, архитектуры устоялись и подо все есть компилятор си, а подо что нету, легко запилить llvm-бэкенд.
132 1289912
>>289839
Только вот Форт даёт хороший годный код, а Си - алголоподобная структурная лапша.
133 1290121
>>289912
Так форт это подход всё таки или язык? Почему не сделали универсального форта для написания на нем последующих фортов под задачу?
134 1292677
>>289912
Что-то не особо на это похоже. Или я что-то не понимаю в форте.
Я делал самодельный стековый процессор по образцу J1 и простейший форт для него. Так в результате код на половину состоял из чего-то вроде ROT SWAP OVER. Как от такого избавиться, сохранив ту же производительность? Сам я не программист, если что.
135 1292679
>>292677

>чего-то вроде ROT SWAP OVER. Как от такого избавиться


Ты что? Это-ж самая годнота. Правда, чтобы это осознать, надо сначала неслабо так комбинаторную логику освоить.
136 1292684
>>292679
Хорошо, приведу тогда пример. В АЛУ процессора нет XOR, поэтому приходится делать как-то так.
: XOR 2DUP NOT AND -ROT SWAP NOT AND OR ;
И так со всем остальным. Это что, понятный с первого взгляда код?
137 1292689
>>292684
Во-первых, это - дело навыка.
Во-вторых, комбинировать комбинаторы можно сколь угодно понятно. Осваивай КЛ. Почитай рекомедации Чака Мура, там, о составлении словарей снизу-вверх.
138 1292695
>>292689

>Во-первых, это - дело навыка.


>Во-вторых, комбинировать комбинаторы можно сколь угодно понятно.


Тогда приведи свой код того же XOR-а. А то что-то не верится.
xor.png6 Кб, 426x308
139 1292702
>>292695
Я не писал XOR на Форте. Но вот такое определение в аппликативной записи КЛ мне кажется довольно идиоматичным.
Можно его переписать в конкатенативной семантике. Но у меня нет сейчас на это времени. Можешь сам попробовать.
140 1292862
>>292702
Сколько непонятных слов...
141 1297912
Так что с типами? Форт бестиповый?
142 1298152
>>297912
ANS Forth бестиповый изначально, но можно добавить, на то он и форт.
Тред утонул или удален.
Это копия, сохраненная 18 декабря 2018 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
« /pr/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски