Автор |
Сообщение |
|
|
Заголовок сообщения: |
Re: Форт для десктопа - 2020 |
|
|
Вообще сопроцессор внутри всегда работает с 80-битными числами. Это внутренний формат comp, который в целом можно выгрузить в память, но обычно так не делают. Форматы 32 и 64 бит появляются только в моменты загрузки на сопроцессор и записи в память и определяют внутренние правила преобразования. Если речь идет о преобразовании целого числа в число с плавающей точкой, то результатом все равно будет comp. Если использовать именно стек сопроцессора и не делать его эмуляцию в памяти, то смысла в преобразованиях нет - сопроцессор всегда считает одинаково, а загружает числа в соответствии с их разрядностью в памяти. При этом числа с плавающей точкой обычно явно выбираются в процессе анализа математики, потому что речь в первую очередь о динамическом диапазоне значений. Нет ничего необычного в 32-битной целочисленной системе, которая адресует 64-битные числа с плавающей точкой. На целочисленном стеке адреса, которые указывают на данные в памяти. Наоборот тоже можно.
Вообще сопроцессор внутри всегда работает с 80-битными числами. Это внутренний формат comp, который в целом можно выгрузить в память, но обычно так не делают. Форматы 32 и 64 бит появляются только в моменты загрузки на сопроцессор и записи в память и определяют внутренние правила преобразования. Если речь идет о преобразовании целого числа в число с плавающей точкой, то результатом все равно будет comp. Если использовать именно стек сопроцессора и не делать его эмуляцию в памяти, то смысла в преобразованиях нет - сопроцессор всегда считает одинаково, а загружает числа в соответствии с их разрядностью в памяти. При этом числа с плавающей точкой обычно явно выбираются в процессе анализа математики, потому что речь в первую очередь о динамическом диапазоне значений. Нет ничего необычного в 32-битной целочисленной системе, которая адресует 64-битные числа с плавающей точкой. На целочисленном стеке адреса, которые указывают на данные в памяти. Наоборот тоже можно.
|
|
|
|
Добавлено: Пт дек 11, 2020 21:42 |
|
|
|
|
|
Заголовок сообщения: |
Re: Форт для десктопа - 2020 |
|
|
Вам виднее конечно. С другой стороны я рассматривают больше вопрос портируемости.
Легче иметь на двух разрядностях одни и те же слова типа >F F> int>F F>int чем весь спектр редкоиспользуемых вида D>F FD> S>F S>F и пр.
Ну вот какой забор числа двойной длинны на стек с плав. точкой, если размер ячейки 8 байт?
А то как вычисляет сопроцессор, я не лезу. Вычисляет в 80-битном формате ну и отлично, а на стек данных пусть переносит в зависимости от основной разрядности
Вам виднее конечно. С другой стороны я рассматривают больше вопрос портируемости.
Легче иметь на двух разрядностях одни и те же слова типа >F F> int>F F>int чем весь спектр редкоиспользуемых вида D>F FD> S>F S>F и пр.
Ну вот какой забор числа двойной длинны на стек с плав. точкой, если размер ячейки 8 байт?
А то как вычисляет сопроцессор, я не лезу. Вычисляет в 80-битном формате ну и отлично, а на стек данных пусть переносит в зависимости от основной разрядности
|
|
|
|
Добавлено: Пт дек 11, 2020 16:09 |
|
|
|
|
|
Заголовок сообщения: |
Re: Форт для десктопа - 2020 |
|
|
Victor__v писал(а): Так на 32-битном интеле данные переносятся на стек плав. точки только в виде 32-битных чисел. А на 64-битном интеле, в свою очередь, будут приниматься только 64-битные числа. Думаю, это не совсем правильно, поскольку данные могут исходно представляться в определенном формате. Сопроцессор работает со всеми форматами, включая 80-битный, так что не давать ему какие-то числа немного странно. Опять же, динамический диапазон значений определяется задачей, у 32- и 64-битных чисел очень уж разный "машинный ноль", поэтому 32 бита могут в определенных численных алгоритмах просто не подойти.
[quote="Victor__v"]Так на 32-битном интеле данные переносятся на стек плав. точки только в виде 32-битных чисел. А на 64-битном интеле, в свою очередь, будут приниматься только 64-битные числа.[/quote] Думаю, это не совсем правильно, поскольку данные могут исходно представляться в определенном формате. Сопроцессор работает со всеми форматами, включая 80-битный, так что не давать ему какие-то числа немного странно. Опять же, динамический диапазон значений определяется задачей, у 32- и 64-битных чисел очень уж разный "машинный ноль", поэтому 32 бита могут в определенных численных алгоритмах просто не подойти.
|
|
|
|
Добавлено: Чт дек 10, 2020 18:12 |
|
|
|
|
|
Заголовок сообщения: |
Re: Форт для десктопа - 2020 |
|
|
Hishnik писал(а): (а с плавающей точкой еще F@ SF@). Помню в целях портируемости, хе-хе, решил отказаться от слов которые работают, со стеком плав. точки в зависимости от разрядности. Чтобы не было гемора с переносом кода Так на 32-битном интеле данные переносятся на стек плав. точки только в виде 32-битных чисел. А на 64-битном интеле, в свою очередь, будут приниматься только 64-битные числа. Зато слов меньше переписывать
[quote="Hishnik"](а с плавающей точкой еще F@ SF@).[/quote]
Помню в целях портируемости, хе-хе, решил отказаться от слов которые работают, со стеком плав. точки в зависимости от разрядности. Чтобы не было гемора с переносом кода Так на 32-битном интеле данные переносятся на стек плав. точки только в виде 32-битных чисел. А на 64-битном интеле, в свою очередь, будут приниматься только 64-битные числа.
Зато слов меньше переписывать :)
|
|
|
|
Добавлено: Чт дек 10, 2020 16:57 |
|
|
|
|
|
Заголовок сообщения: |
Re: Форт для десктопа - 2020 |
|
|
Victor__v писал(а): Вот думаю сейчас ради интереса Получилось 45 простых примитивов и 3 компилирующих слова ( RET, COMPILE, LIT, )
Итого 49 вполне терпимо, как по мне. Где-то да. В одном из форт-процессоров удалось уложиться в 32 опкода, с добавлением структур управления (которые так или иначе сводились к условным переходам, т.е. на нескольких командах процессора "выращивались" слова Форта) получалось как раз около 40-50 слов. Можно добавить вспомогательные слова, и варианты базовых, например, от @ "отпочковывается" целый набор C@ W@ D@ Q@ (а с плавающей точкой еще F@ SF@).
[quote="Victor__v"]Вот думаю сейчас ради интереса Получилось 45 простых примитивов и 3 компилирующих слова ( RET, COMPILE, LIT, )
Итого 49 вполне терпимо, как по мне.[/quote] Где-то да. В одном из форт-процессоров удалось уложиться в 32 опкода, с добавлением структур управления (которые так или иначе сводились к условным переходам, т.е. на нескольких командах процессора "выращивались" слова Форта) получалось как раз около 40-50 слов. Можно добавить вспомогательные слова, и варианты базовых, например, от @ "отпочковывается" целый набор C@ W@ D@ Q@ (а с плавающей точкой еще F@ SF@).
|
|
|
|
Добавлено: Пт дек 04, 2020 12:51 |
|
|
|
|
|
Заголовок сообщения: |
Re: Форт для десктопа - 2020 |
|
|
Ну кросплатформенность можно обеспечить переписью примитивов под каждую архитектуру) Желательно конечно, чтобы этих примитивов было как можно меньше.
Вот думаю сейчас ради интереса Получилось 45 простых примитивов и 3 компилирующих слова ( RET, COMPILE, LIT, )
Итого 49 вполне терпимо, как по мне.
И еще остается реализация доступа ко внешним функциям.
Ну кросплатформенность можно обеспечить переписью примитивов под каждую архитектуру) Желательно конечно, чтобы этих примитивов было как можно меньше.
Вот думаю сейчас ради интереса Получилось 45 простых примитивов и 3 компилирующих слова ( RET, COMPILE, LIT, )
Итого 49 вполне терпимо, как по мне.
И еще остается реализация доступа ко внешним функциям.
|
|
|
|
Добавлено: Чт ноя 26, 2020 13:43 |
|
|
|
|
|
Заголовок сообщения: |
Re: Форт для десктопа - 2020 |
|
|
Да, вариант Форт-машины, управляющей порядком запуска библиотечных функций вполне неплох.
Начавшийся в 90-е годы спад Форта привел к попыткам "играть по старым правилам", откуда и возникали призывы писать очень производительные или очень надежные реализации. Дескать, сейчас напишем, все восхитятся и сразу бросятся учить Форт, забросив остальные языки. Сейчас можно видеть, что попытки сделать "самый-самый" язык программирования изначально провальны. Собственно, и "священные войны" по этому поводу существенно снизили свой накал. Сейчас многие программисты вполне разумно скажут, что разные языки нужны для разных задач. Главное, понимать, что именно требуется и как можно применить освоенные инструменты.
Вариант Форта как скриптового языка для ПК весьма привлекателен. Tcl очень сильно тяготеет к такому сценарию, Питон часто используется для управления библиотечными функциями (и аргументация часто бывает именно та, что Питон знают многие, а специализированные языки - нет, поэтому вот обертка на Питоне над специализированным языком). У Форта в этой области видны довольно приятные перспективы, особенно если не искать подходящий Форт, а разрабатывать свой проект таким образом, чтобы написать наиболее критичные части кода на специализированном языке, а чтобы постоянно все это не пересобирать - управлять этим с помощью собственной Форт-машины.
Да, вариант Форт-машины, управляющей порядком запуска библиотечных функций вполне неплох.
Начавшийся в 90-е годы спад Форта привел к попыткам "играть по старым правилам", откуда и возникали призывы писать очень производительные или очень надежные реализации. Дескать, сейчас напишем, все восхитятся и сразу бросятся учить Форт, забросив остальные языки. Сейчас можно видеть, что попытки сделать "самый-самый" язык программирования изначально провальны. Собственно, и "священные войны" по этому поводу существенно снизили свой накал. Сейчас многие программисты вполне разумно скажут, что разные языки нужны для разных задач. Главное, понимать, что именно требуется и как можно применить освоенные инструменты.
Вариант Форта как скриптового языка для ПК весьма привлекателен. Tcl очень сильно тяготеет к такому сценарию, Питон часто используется для управления библиотечными функциями (и аргументация часто бывает именно та, что Питон знают многие, а специализированные языки - нет, поэтому вот обертка на Питоне над специализированным языком). У Форта в этой области видны довольно приятные перспективы, особенно если не искать подходящий Форт, а разрабатывать свой проект таким образом, чтобы написать наиболее критичные части кода на специализированном языке, а чтобы постоянно все это не пересобирать - управлять этим с помощью собственной Форт-машины.
|
|
|
|
Добавлено: Чт ноя 26, 2020 04:26 |
|
|
|
|
|
Заголовок сообщения: |
Re: Форт для десктопа - 2020 |
|
|
Так по моему сейчас вполне распространен варианты запуска вроде шитого кода.. там ява, питон... Производительность компов позволяет.. да и телефоны/планшеты тоже следом идут. А возможность выпустить под несколько платформ (например управляющую каким либо оборудованием программу) расширяет применяемость. А многие расчеты сейчас делают внешние библиотеки.. и управляющее по к ним отношения имеет довольно слабое.
Так по моему сейчас вполне распространен варианты запуска вроде шитого кода.. там ява, питон... Производительность компов позволяет.. да и телефоны/планшеты тоже следом идут. А возможность выпустить под несколько платформ (например управляющую каким либо оборудованием программу) расширяет применяемость. А многие расчеты сейчас делают внешние библиотеки.. и управляющее по к ним отношения имеет довольно слабое.
|
|
|
|
Добавлено: Вт ноя 24, 2020 21:03 |
|
|
|
|
|
Заголовок сообщения: |
Re: Форт для десктопа - 2020 |
|
|
zma писал(а): Не совсем понял. Можно же зафиксировать структуру слов и стиль использования для конкретного проекта/приложения/предметной области. Или имелось ввиду что-то другое? Список слов Форта, которые в целом понятны всем и не вызывают возражений - где-то 40-50 слов. Возможно, чуть больше, если взять еще версии для чисел с плавающей точкой, двойной длины и т.п. По сути, там DUP DROP OVER SWAP ROT @ ! + - AND (и прочая математика) CREATE DOES> VARIABLE CONSTANT IF ELSE THEN DO I LOOP WHILE REPEAT BEGIN UNTIL - вот примерно подобного уровня. Но дальше уже начинается интереснее, потому что разные реализации по-разному относятся к интерфейсам. Где-то консоль, где-то воспроизводится GUI, начинаются ОС-зависимые вещи. Наконец, видеть вылезающее окно со строками копирайта и приглашением ввести слова для интерпретации файла (интереснее, если обязательно руками в консоль) - это годится только ввести 2 2 + и убедиться, что получилось 4. Поэтому глобальных стратегии на переносимый код видится две. Или долго думать над слоем абстрагирования от платформы и тщательно проверять, что все одинаково работает под Windows/Linux (Android? IOS?), или наоборот, резко уменьшить размер и функциональность переносимого ядра и отдать реализацию GUI и прочих интерфейсов инструментам реализации верхнего уровня, оставляя Форту внутреннюю машину.
[quote="zma"]Не совсем понял. Можно же зафиксировать структуру слов и стиль использования для конкретного проекта/приложения/предметной области. Или имелось ввиду что-то другое?[/quote] Список слов Форта, которые в целом понятны всем и не вызывают возражений - где-то 40-50 слов. Возможно, чуть больше, если взять еще версии для чисел с плавающей точкой, двойной длины и т.п. По сути, там DUP DROP OVER SWAP ROT @ ! + - AND (и прочая математика) CREATE DOES> VARIABLE CONSTANT IF ELSE THEN DO I LOOP WHILE REPEAT BEGIN UNTIL - вот примерно подобного уровня. Но дальше уже начинается интереснее, потому что разные реализации по-разному относятся к интерфейсам. Где-то консоль, где-то воспроизводится GUI, начинаются ОС-зависимые вещи. Наконец, видеть вылезающее окно со строками копирайта и приглашением ввести слова для интерпретации файла (интереснее, если обязательно руками в консоль) - это годится только ввести 2 2 + и убедиться, что получилось 4.
Поэтому глобальных стратегии на переносимый код видится две. Или долго думать над слоем абстрагирования от платформы и тщательно проверять, что все одинаково работает под Windows/Linux (Android? IOS?), или наоборот, резко уменьшить размер и функциональность переносимого ядра и отдать реализацию GUI и прочих интерфейсов инструментам реализации верхнего уровня, оставляя Форту внутреннюю машину.
|
|
|
|
Добавлено: Вт ноя 24, 2020 14:58 |
|
|
|
|
|
Заголовок сообщения: |
Re: Форт для десктопа - 2020 |
|
|
Hishnik писал(а): Недостатком является достаточно размытая структура слов и множество стилей использования Форта. Не совсем понял. Можно же зафиксировать структуру слов и стиль использования для конкретного проекта/приложения/предметной области. Или имелось ввиду что-то другое?
[quote="Hishnik"]Недостатком является достаточно размытая структура слов и множество стилей использования Форта.[/quote] Не совсем понял. Можно же зафиксировать структуру слов и стиль использования для конкретного проекта/приложения/предметной области. Или имелось ввиду что-то другое?
|
|
|
|
Добавлено: Вт ноя 24, 2020 01:09 |
|
|
|
|
|
Заголовок сообщения: |
Re: Форт для десктопа - 2020 |
|
|
disatarial писал(а): вот, нужно что-то чтобы при переходе между разными системами, не приходилось сильно перетряхивать код Кроссплатформенность чего-то стоит. Существуют два подхода. 1. Форт сам по себе воспринимается как уровень абстрагирования. Недостатком является достаточно размытая структура слов и множество стилей использования Форта. 2. Шитый код в основе и язык высокого уровня для описания практически всех слов. Для переноса между платформами понадобится еще какой-то "общий знаменатель" для системных вызовов, интерфейса и пр., поэтому придется чем-то поступаться.
[quote="disatarial"]вот, нужно что-то чтобы при переходе между разными системами, не приходилось сильно перетряхивать код [/quote] Кроссплатформенность чего-то стоит. Существуют два подхода. 1. Форт сам по себе воспринимается как уровень абстрагирования. Недостатком является достаточно размытая структура слов и множество стилей использования Форта. 2. Шитый код в основе и язык высокого уровня для описания практически всех слов. Для переноса между платформами понадобится еще какой-то "общий знаменатель" для системных вызовов, интерфейса и пр., поэтому придется чем-то поступаться.
|
|
|
|
Добавлено: Пн ноя 23, 2020 01:14 |
|
|
|
|
|
Заголовок сообщения: |
Re: Форт для десктопа - 2020 |
|
|
forther писал(а): С переходом Эппл на свой собственный арм выбор форта для лаптопа или десктопа ещё больше сужается. вот, нужно что-то чтобы при переходе между разными системами, не приходилось сильно перетряхивать код
[quote="forther"]С переходом Эппл на свой собственный арм выбор форта для лаптопа или десктопа ещё больше сужается.[/quote] вот, нужно что-то чтобы при переходе между разными системами, не приходилось сильно перетряхивать код :)
|
|
|
|
Добавлено: Вс ноя 22, 2020 22:42 |
|
|
|
|
|
Заголовок сообщения: |
Re: Форт для десктопа - 2020 |
|
|
forther писал(а): С переходом Эппл на свой собственный арм выбор форта для лаптопа или десктопа ещё больше сужается. Главное, что выбор средств разработки не так сильно сужается.
[quote="forther"]С переходом Эппл на свой собственный арм выбор форта для лаптопа или десктопа ещё больше сужается.[/quote] Главное, что выбор средств разработки не так сильно сужается.
|
|
|
|
Добавлено: Чт ноя 12, 2020 18:13 |
|
|
|
|
|
Заголовок сообщения: |
Re: Форт для десктопа - 2020 |
|
|
С переходом Эппл на свой собственный арм выбор форта для лаптопа или десктопа ещё больше сужается.
С переходом Эппл на свой собственный арм выбор форта для лаптопа или десктопа ещё больше сужается.
|
|
|
|
Добавлено: Чт ноя 12, 2020 06:13 |
|
|
|
|
|
Заголовок сообщения: |
Re: Форт для десктопа - 2020 |
|
|
Хм, вроде во всех отечественных есть такой функционал Про заграницу не знаю)
Хм, вроде во всех отечественных есть такой функционал Про заграницу не знаю)
|
|
|
|
Добавлено: Вт окт 27, 2020 21:55 |
|
|
|
|