[Ответить в тред] Ответить в тред

Check this out!


<<
Назад | Вниз | Каталог | Обновить тред | Автообновление
141 | 5 | 50

FORTH /forth/ Аноним 01/04/18 Вск 22:46:28  1166564  
150px-Stack1.svg.png (0Кб, 150x75)
не сочтите за ретрофага, однако с удовольствием выслушаю, кто что слышал о данном языке?

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

Сам язык - мастхэв для ознакомления, вместе с Factor и Joy (и Cat).
Аноним 03/04/18 Втр 19:44:00  1167532
Почему он не взлетел?
Аноним 03/04/18 Втр 20:06:38  1167558
>>1167532
Потому что dip dup r> roll3 rot swap -rot drop dup roll кровь кишки распидорасило.

На самом деле он взлетел, просто олдфаги не помнят, ньюфаги не знают.
Аноним 03/04/18 Втр 21:24:13  1167591
>>1166564 (OP)
Думаю, оно вполне может иметь смысл и применение в виде кастомного диалекта. Сама идея хорошая, но стандартный Forth какой-то местами недоделанный, как мне показалось.
Аноним 03/04/18 Втр 22:21:55  1167626
>>1167591
>Думаю, оно вполне может иметь смысл и применение в виде кастомного диалекта.
JVM — лучший диалект форта.
>>1167532
JVM влетела.
Аноним 03/04/18 Втр 22:40:38  1167637
>>1167626
Виртуальная машина не может быть диалектом языка, дурилка. Кроме того, дурилка, байткод жвм имеет к форту очень опосредованное отношение (т.е. по факту никакого).
Аноним 03/04/18 Втр 22:48:28  1167647
>>1167532
>Потому что dip dup r> roll3 rot swap -rot drop dup roll кровь кишки распидорасило.
А зачем так делать?
Аноним 03/04/18 Втр 22:48:46  1167648
>>1167647
>>1167558
Аноним 03/04/18 Втр 23:23:16  1167663
>>1167647
>>1167648
Ээ, чтобы писать программы. Я не совсем понял, в чем вопрос. Попробуй написать факториал и вычисление дискриминанта на форте.
Аноним 03/04/18 Втр 23:33:34  1167670
Форт позиционировался как язык для микроконтроллеров - высокоуровневая замена ассемблеру.

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

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

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

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

С появлением мощных ПК (для разработки), распространением RISC-процессоров и нормальных компиляторов C для них - оказался не нужен.

Аноним 03/04/18 Втр 23:54:48  1167680
>>1166564 (OP)
Вот тут можешь заценить живьём (инфо и интерпретатор на JS):
http://skilldrick.github.io/easyforth/

В конце даже игрушка есть.

Аноним 04/04/18 Срд 03:13:07  1167738
>>1167680
Спасибо, анон, джва года ждал. Я думал, что язык только про dup drop rot over swap
Аноним 04/04/18 Срд 16:53:24  1167963
>>1167738
Упарывайся лучше сразу Фактором.
Аноним 04/04/18 Срд 16:55:26  1167965
Кстати, у кого-нибудь есть Thinking Forth в нормальном формате? Оче годная книжка, но у меня только в txt валяется.
Аноним 04/04/18 Срд 17:41:28  1167975
>>1167963
Реквестирую Фактор-тред.
Аноним 04/04/18 Срд 18:50:48  1168002
>>1167965
http://libgen.io/book/index.php?md5=12C816D1342AA062289439FAAD119ADF на русском в pdf
http://thinking-forth.sourceforge.net/ на английском
Аноним 04/04/18 Срд 18:58:26  1168006
>>1167975
Го, я создал: >>1166564 (OP)
Аноним 05/04/18 Чтв 00:38:51  1168190
https://forthsalon.appspot.com
Аноним 05/04/18 Чтв 00:42:34  1168192
спасибо ответившим. теперь - Factor
Аноним 05/04/18 Чтв 00:57:08  1168201
>>1168192
Да сырой он. Fuel так и не смог поставить. Если будешь пробовать, отпишись, пожалуйста, хотел бы тоже поиграться.
Аноним 05/04/18 Чтв 01:25:20  1168208
>>1168190
посоны не открывайте там вирус

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

Пиздец.
Аноним 05/04/18 Чтв 02:35:39  1168221
>>1168208
Да, есть такой баг, сайт ломает звук в прыщах и маке, на винде последний раз норм работало. У тебя линукс, да?
Аноним 05/04/18 Чтв 09:23:37  1168277
>>1168006
Джва года ждал.
>>1168201
У меня Fuel не может запустить фактор (M-x run-factor). Приходится отдельно запускать listener, из него запускать факторный хост ("fuel" run), затем из емакса к нему подключаться (M-x connect-to-factor). Лисенер при этом приходится держать открытым всё время. Это у меня на винде. Хотя, по мне, listener как REPL намного лучше чем емаксовский Fuel. Поэтому словари с подсветкой пишу в емаксе, а запускаю и отлаживаю в лисенере.
другой анон
Аноним 05/04/18 Чтв 10:29:18  1168304
>>1168221
Я с Андроида захожу и какой-то треск идёт
Аноним 05/04/18 Чтв 17:57:55  1168517
>>1168002
Спасибо, анон, чего-то я прослоупочил.

>>1168201
>Да сырой он.
Проиграл маленько с такого эпитета. Сколько ему там лет? 15, 20?
Аноним 05/04/18 Чтв 18:14:35  1168529
>>1168517
>Сколько ему там лет?
Разработка началась в 2003. Первая версия ещё не вышла (последний стабильный релиз 0.97). Там просто Фуел кривой, автор его забросил давно. Последний коммит был в мае 2013.
Аноним 05/04/18 Чтв 20:50:50  1168641
>>1168277
На арче та же самая хрень была, поэтому дропнул, после гейзера и слайма просто не хотелось писать по-другому.
Аноним 05/04/18 Чтв 20:55:04  1168645
Я конечно дико извиняюсь за нескромный вопрос, но зачем на этом писать?

Ценность фактора же в расширении кругозора и постижении иных измерений. Для этого и блокнотика вполне хватит.
Аноним 05/04/18 Чтв 21:46:16  1168692
>>1168645
Ну форт хайку увлекательнее в таком случае. А мазохизм никакого отношения к расширению кругозора не имеет. Ну типизированный форт, окей, ознакомились и дропнули. А в блокноте можо на чем-нибудь более интересном писать, даже на том же хачкеле, где языковые расширения (гхц имею в виду) ну просто новый мир открывают и где действительно много интересных концепций постичь можно
Аноним 05/04/18 Чтв 22:20:19  1168714
>>1168692
Что? Ты хуйню какую-то сморозил, извини уж. Что увлекательнее чего? Фактор - это не типизированный форт, ты бы хоть вики его почитал. В блокноте на х-ле писать? Ты бы хоть гхц поставил да факториал написал для начала - как раз с х-лем нужно нормальное окружение, чтобы не было мазохизма. Фактор - единственный живой конкатенативный язык без (обязательной) байтоебли, с огромной библиотекой и кучей реального кода на нем. Х-ль - обычный аппликативный язык, ленивая типизированная лямбда, коих тысячи - от клина до идриса, от скалы до фшарпа. Никто не спорит, что много интересных концепций через него постичь можно, но это - мейнстрим, а не иные измерения.
Аноним 05/04/18 Чтв 22:51:02  1168755
>>1168714
Я трогал фактор. И не знаю, где ты кучу кода на нем нашел (кстати, ее наверное тоже в блокноте писали?), потому что экосистема так и осталась в плачевном состоянии, большинство либок не работают. На хацкеле нормально писалось в редакторе фарманагера, факториал был написан не один, и благодаря высокоуровневости окружение не особо нужно. Алсо во-первых все языки, что ты перечислил (про клин только не знаю), энергичны по умолчанию, во-вторых в скале также вызов по имени есть, в-третьих, такие вещи как ооп и гадт (не говоря уже о зависимых типах) как бы дают понять, что типизированной лямбдой не обойдешься. Ну и плюс кроме семантики вызова функций другие вещи существуют, семейства типов и те же гадт например. Да ты мне хотя бы внятную аналогию тайпклассов в других языках назови, а то сводишь все к лямбде своей. Я как бы и не говорил, что хаскель необычный язык какой-то, но на нем много интересных вещей поковырять можно. Просто не надо из меня какого-то дикаря делать, который услышал про ленивость или паттерн матчинг и с восторженным криком хвалит язык. Я о том, что для меня фан, а что нет.
Аноним 06/04/18 Птн 00:11:06  1168838
>>1168755
Кучу кода на нем написал Славик, для языка такого жанра у него очень богатая стдлиба. В чем Славон писал код я не знаю, но это не имеет отношения к треду (перечитай >>1168645).

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

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

>Да ты мне хотя бы внятную аналогию тайпклассов в других языках назови
Ээ? Трейты\тайпклассы\протоколы вроде во всех современных языках есть, не? кроме goвна, конечно

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

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

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

>Я о том, что для меня фан, а что нет.
Ну ладно, но только ты бы как-то почетче это артикулировал, а то при переводе с русского на русский этот мессадж как-то немного потерялся, вот. х-ль крута, питонджонс бох
Аноним 06/04/18 Птн 00:33:05  1168858
>>1168838
Про гадт я сказал в том контексте, что он к типизированной лямбде не сводится. А тайпклассы полноценные ни трейтами, ни модулями первого порядка не эмулировать. А насчет подавляющего большинства девелоперов - так для них метапрограммирование на шаблонах в крестах - какая-то марсианская хуйня (хотя она по сути таковой и является). Ну а в остальном мы вроде поняли друг друга. Кстати, золотце с его симтой знаешь?
Аноним 06/04/18 Птн 16:20:34  1169168
>>1168858
>Ну а в остальном мы вроде поняли друг друга.
Угу. :3

>Кстати, золотце с его симтой знаешь?
Это же вроде порашный шизик, который какие-то хуетени на дслях пилил, не? Ну, то есть краем уха слышал, но стараюсь избегать погружения в подобные материи. А что с ним? Что за симта?
Аноним 06/04/18 Птн 17:02:41  1169181
>>1169168
Да, именно он. Смесь лиспа и рефала, насколько я понял. Вспомнился что-то вот, когда обсуждали всякие языки.
Аноним 06/04/18 Птн 17:47:39  1169205
Что-то как-то мало материалов по Фактору. Есть какие-то курсы/статьи/видео? Желательно на русском. Как, вообще, его изучать?
Аноним 06/04/18 Птн 18:01:34  1169214
>>1169205
>Желательно на русском.
Туда ли ты зашел, мань?
Аноним 06/04/18 Птн 19:44:34  1169252
>>1169214
Хорошо. Не желательно на русском. Ну хоть что-нибудь.
Аноним 06/04/18 Птн 20:14:29  1169265
>>1169252
http://evincarofautumn.blogspot.ru/2012/02/why-concatenative-programming-matters.html
http://factorcode.org/
https://github.com/factor/factor
Аноним 08/04/18 Вск 12:50:28  1170053
А кто-нибудь может показать примеры реальных разаработок на Факторе?
Аноним 08/04/18 Вск 13:53:16  1170106
>>1170053
Туда ли ты зашел, мань?
Аноним 08/04/18 Вск 14:54:42  1170133
>>1168192
>теперь - Factor
Он изначально был экспериментальной площадкой, куча всего было сделано хуяк-хуяк. В результате Славик его не доделал, ушел делать свифт к яблочным гомосекам. Без него комьюнити сдохло. Ну а по сути фактор - динамическая дрисня. Уж лучше лисп какой-нибудь взять, чем со стеком колупаться.
Аноним 08/04/18 Вск 17:50:59  1170205
>>1170133
>Он изначально был экспериментальной площадкой
Ну так в этом вся суть(с)(тм) же, и это замечательно.

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

>Уж лучше лисп какой-нибудь взять
Дайте две! В смысле обе.
Аноним 08/04/18 Вск 17:56:33  1170207
>>1167663
>Попробуй написать факториал и вычисление дискриминанта на форте
И в чем сложность?
: fact 1 swap begin dup 0> while dup 1- >r r> repeat drop ;
: discr ( a b c -- d ) >r dup
swap r> 4 - ;
Аноним 08/04/18 Вск 17:59:48  1170209
>>1170207
Блядина звезды сожрала
Аноним 08/04/18 Вск 18:27:00  1170231
>>1170207
Перечитай цепочку целиком:

>>1167647
>>dip dup r> roll3 rot swap -rot drop dup roll
>А зачем так делать?

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

>>1170207
> swap begin dup 0> >r r>
> >r dup swap r>
Аноним 08/04/18 Вск 18:33:02  1170238
>>1170231
Похоже на код на Clojure, только скобок немножко поменьше.
Аноним 08/04/18 Вск 18:40:11  1170245
>>1170238
М? Вообще не похоже. При чем тут clojure?
Аноним 08/04/18 Вск 19:09:44  1170266
>>1170245
Это была шутка.
Аноним 08/04/18 Вск 19:52:59  1170285
>>1170231
Это дело опыта. Со временем такой код нормально будет восприниматься, как в любом языке. Обычно стараются стековую акробатику к нулю сводить, все разбивать на короткие однострочники. К тому же никто не запрещает использовать локальные переменные для пермутаций. С ними тот же дискриминант будет выглядеть гораздо понятнее:
: mul звездочка ;
: discr { a b c } b b mul 4 a c mul mul - ;
(с плавающей точкой, правда, будет уже не так красиво).
Аноним 08/04/18 Вск 20:10:12  1170302
>>1170266
Ну тогда уж "похоже на код на Haskell, только точек немного меньше", лол.

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

Ну и все-таки проблему наличия тыщи хитровыебанных комбинаторов это не отменяет.
Аноним 08/04/18 Вск 21:01:12  1170356
посмотрел Factor - может, идея и хорошая, но для реальных применений он непригоден.
Аноним 08/04/18 Вск 21:15:59  1170364
>>1170356
Почему?
Аноним 08/04/18 Вск 22:28:07  1170408
>>1170364
inb4: СЛОЖНА-НИПАНЯТНА НИ КАК ЖАВА ПЛОХА((
другой анон
Аноним 09/04/18 Пнд 11:37:14  1170638
Аноны-знатоки Фактора, напишите плз какой-нибудь вводный курс по Фактору на русском, или ещё лучше видеоурок. Для начинающего вообще ничего не понятно. Как в этом всём ориентироваться, за что браться?
Аноним 09/04/18 Пнд 14:05:21  1170709
Есть инфа, то форт в принтерах активно используется. В виде языка для внутреннего представления данных или типо того. Но это не точно.
Аноним 09/04/18 Пнд 14:14:03  1170711
>>1170709
Postscript - стековый язык, да
Аноним 09/04/18 Пнд 17:20:37  1170787
>>1170638
>на русском
>или ещё лучше видеоурок
Ты разделом ошибся, мань.
Аноним 10/04/18 Втр 22:21:50  1171433
http://compiler.su/pochemu-obrechyon-yazyk-fort.php

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

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

А хотя в клэйтронике он сможет полностью себя показать? Что по поводу реактивного программирования в форт вообще?
Аноним 13/04/18 Птн 22:19:58  1173219
Я просто оставлю это здесь:
http://www.nsl.com/k/ray/ray.k
Рэйтрейсер в 7 (семь) строчек. На K.
Аноним 18/04/18 Срд 16:03:29  1176035
Спасаю пост по сабжу из утопающего:
>>1169907
https://notehub.org/5ghyu
Аноним 29/04/18 Вск 14:33:57  1181545
Классический пост: http://evincarofautumn.blogspot.ru/2012/02/why-concatenative-programming-matters.html
Аноним 30/04/18 Пнд 18:56:45  1182160
Factor-господа, подскажите, как красиво без биндингов реализовать функцию типа:

foo x y = if bar? x then qux y else if bar? y then qux x else frob
Аноним 09/05/18 Срд 04:02:19  1186615
Помогите выбрать между общелиспом и фактором. Какие у кого достоинства/недостатки? Может, всё это - те же яица? Хочу интересный нескучный язык для себя.
Аноним 09/05/18 Срд 17:01:00  1186970
>>1186615
Оба, очевидно же.
Аноним 11/05/18 Птн 18:32:12  1188338
>>1186970
Слишком мого.
Аноним 11/05/18 Птн 18:33:03  1188339
>>1188338
fix. Слишком много для меня.
Аноним 11/05/18 Птн 20:11:47  1188385
>>1188338
>>1188339
Тогда прочитай why concatenative programming matters и http://www.kevinalbrecht.com/code/joy-mirror/forth-joy.html - для начала хватит, а там сам поймешь.
Аноним 12/05/18 Суб 04:10:09  1188582
Оба
Аноним 22/05/18 Втр 12:33:32  1194630
>>1188582
Что "оба"?
Аноним 23/05/18 Срд 18:33:11  1195615
>>1194630
dup
Аноним 29/05/18 Втр 19:24:25  1199012
>>1188339
В общем, я выбрал фактор. И теперь у меня вопрос. Я не понимаю систему стековых эффектов. Это такаой вид типизации? В частности мне не понятно, чем различаются dip и keep. Мне кажется, что стековый эффект dip какой-то глупый и должен быть как у keep. Да, вообще, стековые эффекты почти всех dataflow-комбинаторов какие-то некорректные. Помогите разобраться плз., спецы.
Аноним 29/05/18 Втр 20:03:00  1199034
>>1199012
Как в стековом эффекте выразить факт нетривиальной зависимости количества выходов слова от количества входов? Какой должен быть стековый эффект в случае, когда количество выходов (и/или входов) слова существенно зависит от конкретных его аргументов?
Аноним 29/05/18 Втр 20:47:44  1199066
>>1199012
>Я не понимаю систему стековых эффектов.
http://docs.factorcode.org/content/article-effects.html

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

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

>>1199034
Никак. Какой угодно.
Аноним 29/05/18 Втр 21:13:19  1199102
>>1199066
>http://docs.factorcode.org/...
Собственно документацию и читаю.

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

>Никак
Как же быть, если требуется?
>Какой угодно.
Как так? Например, не понятен стековый эффект spread. Там количество входов зависит от длины seq, но из эффекта этого не видно. Как такое выразить в стековом эффекте?
Аноним 29/05/18 Втр 21:14:14  1199105
>>1199066
>тайпскриптами
А что это?
Аноним 29/05/18 Втр 23:47:40  1199170
>>1199102
>Почему, тогда, стековый эффукт для dip не такой: ( ..a x quot: ( ..a -- ..b ) -- ..b x ) ?
Потому что каждый тип неявно row-полиморфен, вестимо. (..a x quot -- ..b x) и (x quot -- x) эквивалентны.

>Разве соответствие количеств входов и выходов здесь не сщественно?
Row-переменные ничего не говорят о количестве входов и выходов.

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

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

>>1199105
https://www.typescriptlang.org/
(или любые аналогичные "пришей хуй собаке"-надстройки)
Аноним 30/05/18 Срд 19:51:30  1199596
>>1199170
>Потому что каждый тип неявно row-полиморфен, вестимо. (..a x quot -- ..b x) и (x quot -- x) эквивалентны.
Вот это было мне неочевидно. Хотелось бы поподробней. Не понятны упоминаемые (в документации) особенности стековых эффектов комбинаторов. Как-то это связано с inline, вроде. Также непонятно как проходят стековые проверки. Кажется часть этих проверок динаическая. Насколько ни строгие? Постоянно ощущается некоторая граница между parse time и run time. Мне не показалось? Насколько это фундаментально для Фактора? Видимо, я недопонимаю из-за того, что раньше не имел дела с динамическими языками.
Аноним 31/05/18 Чтв 14:11:26  1199945
Я очень часто получаю ошибку "Cannot apply “call” to a run-time computed value". Я не понимаю, что я делаю не так.
Аноним 01/06/18 Птн 11:34:50  1200474
Зачем нужен механизм 'обёрток' - <wrapper> (\) , если есть возможность цитирования (quotations) ?
Механизм локальных переменных - это такой костыль?
Аноним 01/06/18 Птн 12:53:56  1200514
>>1199596
Кстати, parse time и compile-time одно и то же?
Аноним 01/06/18 Птн 19:44:49  1200846
го
Аноним 01/06/18 Птн 20:36:24  1200888
>>1200474
>локальных переменных
fix лексических переменных (lexical variables)
Аноним 02/06/18 Суб 04:37:14  1201204
>>1170209
А что такое >r и r>?

мимо-интересующийся
Аноним 02/06/18 Суб 05:06:32  1201209
>>1201204
Разобрался сам.
операции со стеком возврата
Аноним 02/06/18 Суб 15:56:24  1201477
>>1199596
А ты пейпер читал? 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. Плюс еще Ъ-макросы есть.

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

>>1200474
>Зачем нужен механизм 'обёрток' - <wrapper>
Даже не ебу, что это такое, лол. Придется пойти погуглить, йей. :3

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

>>1200514
Насколько я понимаю - нет. Если проводить аналогию с лишпами, то parsing words - это как reader macros (за исключением того, что перед ними сперва текст прогоняется через лексер). То есть в parse-time отдельные токены парсятся в значения, потом в compile-time эти значения невычисленными берутся и крутятся-вертятся туда-сюда, а потом в рантайме это уже все наконец вычисляется.
Аноним 02/06/18 Суб 16:05:35  1201479
>>1200474
Хм: http://docs.factorcode.org:8080/content/article-syntax-words.html
Аноним 11/06/18 Пнд 19:26:31  1207895
Как на счет операционной системы?
Аноним 11/06/18 Пнд 19:31:24  1207899
Что-то я не заметил, что в этом треде вы бы отозвались о форте как языке для создания других языков. Разве что книгу "Способ мышления ФОРТ" упомянули.
Аноним 11/06/18 Пнд 20:06:44  1207922
>>1207895
А что с этим?
Аноним 11/06/18 Пнд 20:07:57  1207925
>>1207922
Создать убмйцу линукса на форте.
Аноним 11/06/18 Пнд 20:32:33  1207949
>>1207925
А это кому-то надо? Если тебе интересно, можешь заняться.
Аноним 12/06/18 Втр 00:28:52  1208066
>>1207925
Большинство фортов - минималистичная велосипедная ОС. Суть форта - работа на голом железе без лишних абстракций.
Аноним 19/06/18 Втр 22:38:35  1213447
У меня тут пара вопросов.
В чём главное отличие Фактора от Форта?
В Факторе есть мультиметоды?
Аноним 19/06/18 Втр 23:15:20  1213456
>>1213447
>В чём главное отличие Фактора от Форта?
Проще сказать, в чем их сходство (конкатенативность, постфиксный синтаксис).

>В Факторе есть мультиметоды?
Да вроде есть: http://docs.factorcode.org/content/article-generic.html
Аноним 20/06/18 Срд 11:45:03  1213589
>>1213456
>Да вроде есть
Как понимать тогда это? http://docs.factorcode.org/content/vocab-multi-methods.html
Аноним 21/06/18 Чтв 01:38:13  1214299
Зачем retain stack в Факторе?
При Runtime code reloading останавливаются все потоки в образе (image) или нет? Какой там механизм, вообще?
Аноним 23/06/18 Суб 21:20:05  1215977
>>1214299
Анончик, ты выяснил ответы на свои вопросы? Расскажешь?
Аноним 06/07/18 Птн 06:37:26  1223377
>>1215977
Retain stack используется для временного храниния информации: dip ( x quot -- x ) переносит x из data stack в retain stack на время выполнения цитаты quot.
Аноним 06/07/18 Птн 06:42:00  1223380
>>1223377
Насколько я понимаю, retain stack важен, потому что dip - примитив и играет фундаментальную роль в конкатенативной семантике.
Аноним 06/07/18 Птн 06:53:59  1223381
>>1168277
Кстати, с 0.98 "Development release" FUEL хорошо работает.
Аноним 06/07/18 Птн 06:57:40  1223382
>>1167670
>Не подходит для гарвардской архитектуры (AVR).
Подходит, есть имплементации

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

Нишевый язык был популярен в своей нише. Лоследнее, где я его видел - это упоминания в https://en.wikipedia.org/wiki/Open_Firmware
Аноним 11/07/18 Срд 07:35:21  1225949
>>1213447
>В Факторе есть мультиметоды?
Запланировано на 0.99. Неизвестно, когда будет - 0.98 просрочили на 3 года.
Аноним 11/07/18 Срд 07:36:49  1225950
>>1225949
Отклеилось https://github.com/factor/factor/issues/935
Аноним 19/07/18 Чтв 16:26:01  1231121
Вопрос по Фактору. Как конструировать объекты mixin-классов, нопример deque?
Аноним 19/07/18 Чтв 20:55:54  1231259
падажи.jpeg (12Кб, 207x243)
Пилил на Factor'е важную мне программку, думаю заебись платформа епт! Компилируется в компактную программку, библиотечки нужные есть ну почти, пришлось запилить несколько биндов к dll и логику, да и идея заебись! Но не тут то было, не успел я написать и половину, эта хуита перестала компилироваться и стала вылетать с любыми опциями компилера, работало ток в интерпретации, писало баг компилятора, или просто вылетало в зависимости от опций то компилер то программа, пробовал переписывать, хуй знает что за проблема была, много кода, хуй пойми что изменять надо, я короче в рот его ебал, еще синтаксис хуйня полная, надо было запилить библиотеку с поддержкой нормального сишного какого нить, нахуй это стекоговнище нужно? Идеи интересные, а реализация хуйня полная, переписывать все надо нахуй!
Аноним 19/07/18 Чтв 20:58:18  1231261
>>1231259
>а реализация хуйня полная
Ну автор фактора потом в эппл ушел компилятор свифта делать, бгг. А чо у тебя там за уберпрога-то, гитхублаб есть? Ты пацанам из фактора написал, чо они ответили?
Аноним 19/07/18 Чтв 21:08:24  1231273
>>1231261
>Ну автор фактора потом в эппл ушел компилятор свифта делать
Да я знаю стори,много че прочитал, терь фанат фортоподобной хуйни.

>А чо у тебя там за уберпрога-то
Ды не суть уже, у меня подгорело и я забил нахуй, а что писать пацанам хз, я свой
код раскрывать нехочу, да и просто не нравится код внутренний, хуевая архитектура.
Не думаю что помогло бы чем то лол, потом наткнулся бы опять, тем более сталкивался
с багами среды самой много раз, то задача не отвечает, то гуи поплывет, и прочее.
Аноним 19/07/18 Чтв 21:11:04  1231275
>>1231273
>да и просто не нравится код внутренний, хуевая архитектура.
Эт я про фактор есличе
Аноним 19/07/18 Чтв 21:46:50  1231286
>>1231273
Ну его же поддерживают как я понимаю полтора инвалида уже давно, так что тащем-то неудивительно, что там много багов накопилось. пили свой конкатенативный язык
Аноним 20/07/18 Птн 03:27:44  1231400
>>1231273
>Да я знаю стори,много че прочитал
Расскажи стори.
Аноним 20/07/18 Птн 03:28:27  1231401
>>1231275
>>да и просто не нравится код внутренний, хуевая архитектура.
А что там с архитектурой?
Аноним 20/07/18 Птн 03:35:15  1231403
>>1231400
>>1231401
Отсоси потом проси, быдло! Ты тот обиженный растер? если нет то я попутал
Аноним 20/07/18 Птн 04:01:50  1231406
>>1231401
Нихуя не попутал, харкаю тебе в ебало чмоха, еще раз зайдешь сюда со своей ржавой парашей, отпизжу, а в архитектуре fail как минимум из за global state, да там достаточно блять посмотреть на доку про встраивание фактора в сишку. А про стори я проиграл, уже блять ослеп пидор.
Аноним 20/07/18 Птн 04:10:36  1231411
>>1231286
А я от думаю, но надо еще много вопросов решить, хотя вот идей у меня уже много набралось, не только по фортоподобным языкам, а вообще. Мб через года 2 начну, не хочу просто так пилить хуйню.
Аноним 20/07/18 Птн 18:06:09  1231809
>>1231406
>>1231403
Опять таблетки забыл принять, дядь?
Аноним 05/08/18 Вск 18:58:22  1241470
Вы там живы? Что-то новое появилось? Новый форт-фреймворк?
Аноним 05/08/18 Вск 19:26:37  1241487
>>1241470
>Новый форт-фреймворк?
Лол.
Аноним 10/08/18 Птн 08:57:35  1243991
forth.jpg (100Кб, 600x955)
>>1167670
>AVR
AVR Forth (Forth-like) compiler
Не пизды.

>>1208066
ПИкрилейтед.
Аноним 10/08/18 Птн 09:43:26  1244004
Ну и да, в наше время с появлением кешей-хуешей и увеличивающегося отставания скорости процессора от скорости оперативы считавшийся ранее достаточно быстрым шитый код стал тормозом почище чистого parse-text интерпретатора по причине перманентного пребывания в кеш-промахах.
Аноним 10/08/18 Птн 12:26:45  1244111
Форт это ведь средство для создания предметно-ориентированных языков? Почему вы не пытаетесь создать именно такое средство идеальное там с доказательствами всякими, а хотите создать универсальный форт тогда?
Аноним 10/08/18 Птн 15:54:18  1244284
>>1243991
>пикрелейтед
Лол, охуенно. Схоронил.
Аноним 11/08/18 Суб 06:39:01  1244579
>>1244004
Это не проблема форта, а проблема компиляторов. Например SP-Forth компилирует в "обычный код".

Аноним 27/08/18 Пнд 17:33:00  1253697
тред годный бампану
Аноним 23/09/18 Вск 10:34:09  1268651
>>1244111
Ы
Аноним 30/09/18 Вск 17:51:05  1272444
Бамп
Аноним 22/10/18 Пнд 16:50:16  1282744
Мужики, подкиньте идейку какую-нибудь. Курсач - фортоподобный язык написать. Но это-то ерунда, но препод хочет что бы курсач типа с реальностью был связан, что бы какую-нибудь +/- реальную проблему решал.
А я короче туплю, идей вообще никаких нет. Есть какая-нибудь задача, на которую этот ваш форт хорошо ляжет, да так чтоб студент на втором курсе запилить смог?
Аноним 22/10/18 Пнд 19:02:01  1282846
>>1282744
Что ты понимаешь под "реальностью"? Для идей по части компьютер сайенс посмотри на joy, можешь еще "комбинаторная логика в программировании" (Вольфенгаген, 2000) навернуть. Еще прикольная идея тут: "Push-forth: a Light-weight, Strongly-typed, Stack-based Genetic Programming Language", крошечный пейпер на 5 страниц. Ну и на фактор конечно посмотри, как пример чего-то более практичного. Я вообще не очень понимаю, что должно значить "какую-то реальную проблему решал" в применении к языкам программирования (ну, в биткоине контракты на фортоподобном языке емнип пишутся, например). И какой у вас уровень вузика тоже не знаю, так что хз, смотри сам.
Аноним 04/11/18 Вск 22:38:18  1289807
Там во фрибсд потихоньку на луа загрузчик переходят оставляя свободу выбора на форт.
Аноним 04/11/18 Вск 23:57:07  1289839
>>1166564 (OP)
Слышал в том-треде-от-ксеноцифала-на-sql.ru, что на нем легко его интерпретатор для нового железа. По мне неактуально совсем, архитектуры устоялись и подо все есть компилятор си, а подо что нету, легко запилить llvm-бэкенд.
Аноним 05/11/18 Пнд 04:09:46  1289912
>>1289839
Только вот Форт даёт хороший годный код, а Си - алголоподобная структурная лапша.
Аноним 05/11/18 Пнд 15:45:40  1290121
>>1289912
Так форт это подход всё таки или язык? Почему не сделали универсального форта для написания на нем последующих фортов под задачу?
Аноним 10/11/18 Суб 07:55:37  1292677
>>1289912
Что-то не особо на это похоже. Или я что-то не понимаю в форте.
Я делал самодельный стековый процессор по образцу J1 и простейший форт для него. Так в результате код на половину состоял из чего-то вроде ROT SWAP OVER. Как от такого избавиться, сохранив ту же производительность? Сам я не программист, если что.
Аноним 10/11/18 Суб 08:33:24  1292679
>>1292677
>чего-то вроде ROT SWAP OVER. Как от такого избавиться
Ты что? Это-ж самая годнота. Правда, чтобы это осознать, надо сначала неслабо так комбинаторную логику освоить.
Аноним 10/11/18 Суб 09:11:05  1292684
>>1292679
Хорошо, приведу тогда пример. В АЛУ процессора нет XOR, поэтому приходится делать как-то так.
: XOR 2DUP NOT AND -ROT SWAP NOT AND OR ;
И так со всем остальным. Это что, понятный с первого взгляда код?
Аноним 10/11/18 Суб 09:28:23  1292689
>>1292684
Во-первых, это - дело навыка.
Во-вторых, комбинировать комбинаторы можно сколь угодно понятно. Осваивай КЛ. Почитай рекомедации Чака Мура, там, о составлении словарей снизу-вверх.
Аноним 10/11/18 Суб 09:52:21  1292695
>>1292689
>Во-первых, это - дело навыка.
>Во-вторых, комбинировать комбинаторы можно сколь угодно понятно.
Тогда приведи свой код того же XOR-а. А то что-то не верится.
Аноним 10/11/18 Суб 10:19:17  1292702
xor.png (6Кб, 426x308)
>>1292695
Я не писал XOR на Форте. Но вот такое определение в аппликативной записи КЛ мне кажется довольно идиоматичным.
Можно его переписать в конкатенативной семантике. Но у меня нет сейчас на это времени. Можешь сам попробовать.
Аноним 10/11/18 Суб 15:22:56  1292862
>>1292702
Сколько непонятных слов...
Аноним 19/11/18 Пнд 23:39:48  1297912
Так что с типами? Форт бестиповый?
Аноним 20/11/18 Втр 13:46:29  1298152
>>1297912
ANS Forth бестиповый изначально, но можно добавить, на то он и форт.


Топ тредов
Избранное