Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Вт апр 16, 2024 16:06

...
Google Search
Forth-FAQ Spy Grafic

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 46 ]  На страницу Пред.  1, 2, 3, 4  След.
Автор Сообщение
 Заголовок сообщения:
СообщениеДобавлено: Пн сен 29, 2008 20:43 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
Mihail писал(а):
Чем она особенная?

СПФ делался под конкретную задачу. И задачей было не создание удобной реализации языка для всех, а реализация удобной версии под себя, чтобы начать делать проект.

_________________
Мне бы только мой крошечный вклад внести,
За короткую жизнь сплести
Хотя бы ниточку шёлка.
fleur


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср окт 01, 2008 11:08 
Не в сети

Зарегистрирован: Ср май 03, 2006 11:27
Сообщения: 1394
Откуда: St.Petersburg
Благодарил (а): 2 раз.
Поблагодарили: 11 раз.
mOleg писал(а):
И задачей было не создание удобной реализации языка для всех


Т.е. по твоему, СПФ для всех не удобен? Чем конкретно?

Я бы не отождествлял замыслы с результатом. Форт программы могут использоваться шире их
основного назначения и шире замыслов автора. К тому-же форт-система не монолит.

По поводу поиска в словаре вопрос неоднократно поднимался.
Давным давно я сделал вариант с хешированным поиском http://fpauk.narod.ru/hashspf4.rar
(хотя мен это не нужно).


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пт окт 03, 2008 17:24 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
Mihail писал(а):
Т.е. по твоему, СПФ для всех не удобен? Чем конкретно?

отсутствие нормальной документации,
отсутствие нормальных коментариев,
отсутсвие нормальных библиотек.
Но, ведь поднимался другой вопрос, не чем не удобен, а почему в нем нет ускорения поиска слов при трансляции.


Mihail писал(а):
Я бы не отождествлял замыслы с результатом. Форт программы могут использоваться шире их
основного назначения и шире замыслов автора. К тому-же форт-система не монолит.

да кто же спорит! можно, используется. Причем даже активнее, чем, например я ожидал (по крайней мере я ждал форт Ларионова под винду).

Mihail писал(а):
По поводу поиска в словаре вопрос неоднократно поднимался.
Давным давно я сделал вариант с хешированным поиском http://fpauk.narod.ru/hashspf4.rar
(хотя мен это не нужно).

ну, вот поднялся еще раз.
Если помнишь, где этот вопрос уже поднимался, дай ссылку туда ;) многие вопросы отпадут..

_________________
Мне бы только мой крошечный вклад внести,
За короткую жизнь сплести
Хотя бы ниточку шёлка.
fleur


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пн окт 06, 2008 12:20 
Не в сети

Зарегистрирован: Ср май 03, 2006 11:27
Сообщения: 1394
Откуда: St.Petersburg
Благодарил (а): 2 раз.
Поблагодарили: 11 раз.
mOleg писал(а):
Mihail писал(а):
Т.е. по твоему, СПФ для всех не удобен? Чем конкретно?

отсутствие нормальной документации,


Мне вполне достаточно исходников. Вообще документация не обязательно должна быть
нормальной. она должна быть понятной. Естественно понятным для всех ничего быть не
может. Тем кому что-то не понятно пусть задают вопросы.

mOleg писал(а):
отсутствие нормальных коментариев,


Т.е. вообще нет нормальных?
чего ненормального в
Код:
CODE 2DUP ( x1 x2 -- x1 x2 x1 x2 ) \ 94
\ Продублировать пару ячеек x1 x2.


mOleg писал(а):
отсутсвие нормальных библиотек.


чего ненормального в lib\include\double.f

mOleg писал(а):
Но, ведь поднимался другой вопрос, не чем не удобен, а почему в нем нет ускорения поиска слов при трансляции.


По моему, потому что не нужен. Иначе, использовался мой вариант.

mOleg писал(а):
Причем даже активнее, чем, например я ожидал (по крайней мере я ждал форт Ларионова под винду).


Помню что был. Как назывался забыл. Вообще какие проблемы?
Под SMAL32 есть дизфорт и дизассемблер. Передирай все что надо.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пн окт 06, 2008 12:42 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
Mihail писал(а):
Мне вполне достаточно исходников. Вообще документация не обязательно должна быть
нормальной. она должна быть понятной. Естественно понятным для всех ничего быть не
может. Тем кому что-то не понятно пусть задают вопросы.

Не совсем оно верно. Исходники не являются хорошей документацией = пользование такой документацией отнимает значительное время на изучение. Кроме того, в исходниках не содержится никакой информации, почему так сделано, а не иначе, что часто бывает очень важно.

Mihail писал(а):
Т.е. вообще нет нормальных?
чего ненормального в
Код:
CODE 2DUP ( x1 x2 -- x1 x2 x1 x2 ) \ 94
\ Продублировать пару ячеек x1 x2.

я ведь не сказал, что вообще нет. Есть, но не полно, например, что делает слово: EXTERN ( xt1 n -- xt2 )
и еще куча рядом с ним?

Mihail писал(а):
mOleg писал(а):отсутсвие нормальных библиотек.
чего ненормального в lib\include\double.f

ок,
Код:
\ 94 Double-Number words

: 2CONSTANT ( x1 x2 "<spaces>name" -- )
  CREATE  , ,  DOES> 2@
;
: 2VARIABLE ( "<spaces>name" -- )
  CREATE  0. , ,
;
: D.R ( d n -- )
  >R <# #S #>
  R> OVER - 0 MAX SPACES TYPE
;
: D0< ( d -- flag )
  0. D<
;
: DMAX ( d1 d2 -- d3 )
  2OVER 2OVER D< IF 2SWAP THEN 2DROP
;
: DMIN ( d1 d2 -- d3 )
  2OVER 2OVER D> IF 2SWAP THEN 2DROP
;
: M+ ( d1|ud1 n -- d2|ud2 )
  S>D D+
;

\ 94 Double-Number extension words

: 2ROT ( x1 x2 x3 x4 x5 x6 -- x3 x4 x5 x6 x1 x2 )
  2>R 2SWAP 2R> 2SWAP
;
: DU< ( ud1 ud2 -- flag )
  ROT 2DUP = IF 2DROP U< ELSE U> NIP NIP THEN
;


\ ===============================================

\ ANS extended precision maths
\ Robert Smith
\ (from COLDFORTH Version 0.8, GPL )

\ tnegate
\ Tri negate.
: TNEGATE   ( t1lo t1mid t1hi -- t2lo t2mid t2hi )
    INVERT >R
    INVERT >R
    INVERT 0 -1 -1 D+ S>D R> 0 D+
    R> +
;

\ ut*
\ Unsigned double by an unsigned integer to give a tri result.
: UT*   ( ulo uhi u -- utlo utmid uthi )
    SWAP >R DUP >R
    UM* 0 R> R> UM* D+
;

\ mt*
\ Double by a integer to give a tri result.
: MT*   ( lo hi n -- tlo tmid thi )
    DUP 0< IF
        ABS OVER 0< IF
            >R DABS R> UT*
        ELSE
            UT* TNEGATE
        THEN
    ELSE
        OVER 0<
        IF
            >R DABS R> UT* TNEGATE
        ELSE
            UT*
        THEN
    THEN
;
     
\ ut/
\ Divide a tri number by an integer.
: UT/   ( utlo utmid uthi n -- d1 )
    DUP >R UM/MOD -ROT R> UM/MOD
    NIP SWAP
;


\ ANS 8.6.1.1820 M*/
: M*/  ( d1 n1 +n2 -- d2 ) \ 94 DOUBLE
\ Multiply d1 by n1 producing the triple-cell intermediate result t.
\ Divide t by +n2 giving the double-cell quotient d2.
\ An ambiguous condition exists if +n2 is zero or negative,
\ or the quotient lies outside of the range of a double-precision
\ signed integer.
    >R MT* DUP 0< IF
        TNEGATE R> UT/ DNEGATE
    ELSE
        R> UT/
    THEN
;

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

Mihail писал(а):
mOleg писал(а):Но, ведь поднимался другой вопрос, не чем не удобен, а почему в нем нет ускорения поиска слов при трансляции.
По моему, потому что не нужен. Иначе, использовался мой вариант.

Ну, раз вопрос поднялся, то нужен стал. Но человек не нашел твой вариант. мне так кажется.


Mihail писал(а):
mOleg писал(а):Причем даже активнее, чем, например я ожидал (по крайней мере я ждал форт Ларионова под винду).
Помню что был. Как назывался забыл. Вообще какие проблемы?
Под SMAL32 есть дизфорт и дизассемблер. Передирай все что надо.

А смысл? Автор систему сделал закрытой. Открывать не захотел, а сейчас уже поздно.
Дизасембировать дело последнее, а главное, противозаконное, так как автор против этого.
janus он анонсировал, да так и не выложил 8(

_________________
Мне бы только мой крошечный вклад внести,
За короткую жизнь сплести
Хотя бы ниточку шёлка.
fleur


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пн окт 06, 2008 14:07 
Не в сети

Зарегистрирован: Ср май 03, 2006 11:27
Сообщения: 1394
Откуда: St.Petersburg
Благодарил (а): 2 раз.
Поблагодарили: 11 раз.
mOleg писал(а):
Исходники не являются хорошей документацией = пользование такой документацией отнимает значительное время на изучение.


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

mOleg писал(а):
Есть, но не полно, например, что делает слово: EXTERN ( xt1 n -- xt2 )
и еще куча рядом с ним?


Так и говори что не полно. Если тебе нужно слово EXTERN , это уже говорит о том,
что ты как минимум, знаешь что оно делает. Невозможно испытывать потребность в том,
о чем не имеешь представления. Оно применяется в словах WNDPROC: и TASK:
примеры их использования можно найти в библиотеках.

mOleg писал(а):
куча слов никак не пояснено.


Мне и так все понятно. Какие слова требуют пояснения?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пн окт 06, 2008 14:16 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
Mihail писал(а):
Мне и так все понятно. Какие слова требуют пояснения?

Михаил, для меня уже никакие. (собственно и сам СПФ уже не требуется)
Вопрос этот к новичкам.

Mihail писал(а):
Так и говори что не полно. Если тебе нужно слово EXTERN , это уже говорит о том,
что ты как минимум, знаешь что оно делает. Невозможно испытывать потребность в том,
о чем не имеешь представления. Оно применяется в словах WNDPROC: и TASK:
примеры их использования можно найти в библиотеках.

это отмазка, причем липовая.
Просто нет необходимой доки, и все. А дока от классических ЯП слабо помогает - нужно быть гуру, в частности в вопросах устройства ОС.
С другой стороны куча доки в СПФе лишняя. Копировать текст стандарта часто избыточно очень. Да и язык обламать об эти коментарии можно.
Вобщем, взять бы пример с доки по Smal32... (хотя и там не все, что хотелось бы задокументировано).

_________________
Мне бы только мой крошечный вклад внести,
За короткую жизнь сплести
Хотя бы ниточку шёлка.
fleur


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пн окт 06, 2008 17:04 
Не в сети

Зарегистрирован: Ср май 03, 2006 11:27
Сообщения: 1394
Откуда: St.Petersburg
Благодарил (а): 2 раз.
Поблагодарили: 11 раз.
mOleg писал(а):
это отмазка, причем липовая.
Просто нет необходимой доки, и все.


В твоем fork-е тоже нет, к этим-же самым словам.
К стати, с той-же ошибкой в коментарии

: WNDPROC: ( xt n / name --> ) 4 CELLS CALLBACK: ;

mOleg писал(а):
Вобщем, взять бы пример с доки по Smal32...


В Smal32 описана гораздо меньшая часть слов чем в СТФ.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пн окт 06, 2008 17:19 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
Mihail писал(а):
В твоем fork-е тоже нет к этим-же самым словам.
К стати, с той-же ошибкой в коментарии

гм, в какую версию ты смотришь?
сейчас этот код вообще в либе валяется .\lib\windows\defwords.f

\ ??
: WNDPROC: ( xt / name --> ) 4 CELLS CALLBACK: ;

Mihail писал(а):
В Smal32 описана гораздо меньшая часть слов чем в СТФ.

но зато, описано в основном человеческим языком, без всяких там "семантика исполнения" и прочих нечитаемых вещей.
Во-вторых, оформлено в виде удобной контекстной системы помощи.
И в-третьих, описано все, что нужно для нормальной работы, в том числе, например, формат словарной статьи, чего в СПФе нет.

_________________
Мне бы только мой крошечный вклад внести,
За короткую жизнь сплести
Хотя бы ниточку шёлка.
fleur


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пн окт 06, 2008 21:07 
Не в сети
Аватара пользователя

Зарегистрирован: Вт мар 20, 2007 23:39
Сообщения: 1261
Благодарил (а): 3 раз.
Поблагодарили: 19 раз.
mOleg писал(а):
но зато, описано в основном человеческим языком, без всяких там "семантика исполнения" и прочих нечитаемых вещей. Во-вторых, оформлено в виде удобной контекстной системы помощи.

Воот, это правильно, а то у меня язык в узел связывается от таких нечитаемых вещей :/

_________________
Cтоимость сопровождения программного обеспечения пропорциональна квадрату творческих способностей программиста.
Роберт Д. Блисc


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт окт 07, 2008 07:16 
Не в сети
Moderator
Moderator

Зарегистрирован: Ср май 10, 2006 15:37
Сообщения: 1132
Откуда: Chelyabinsk ( Ural)
Благодарил (а): 0 раз.
Поблагодарили: 9 раз.
Ранее обсуждение этого вопроса.

http://fforum.winglion.ru/viewtopic.php ... 2ec0f43f7a

P.S. Топик можно соединить с этим.
Может, что-то еще близкое этому осталось в топике прародителе http://fforum.winglion.ru/viewtopic.php ... 2ec0f43f7a


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт окт 07, 2008 13:52 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
ну, вот, искал я какую статью следующей переводить. И как раз попалась на глаза статья о хешировании в форте..

_________________
Мне бы только мой крошечный вклад внести,
За короткую жизнь сплести
Хотя бы ниточку шёлка.
fleur


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Чт окт 09, 2008 21:03 
Не в сети

Зарегистрирован: Пт июн 06, 2008 14:21
Сообщения: 128
Откуда: Карелия
Благодарил (а): 1 раз.
Поблагодарили: 4 раз.
Хотелось бы вернуться к названию топика, и спросить
влияет ли предложенные методы ускорения поиска слов на
ускорение скомпелированной и сохранненой по SAVE прогаммы,
или это касается только на время компиляции исходного текста.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Чт окт 09, 2008 21:47 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
F-MAP писал(а):
Хотелось бы вернуться к названию топика, и спросить влияет ли предложенные методы ускорения поиска слов на
ускорение скомпелированной и сохранненой по SAVE прогаммы, или это касается только на время компиляции исходного текста.

речь только о времени поиска в словаре, то есть времени трансляции текста, которая, понятно связана не только с поиском.
Ускорение выполнения, кстати, тоже возможно, так как возможно искать(теоретически) некие последовательности лексем, например OVER + SWAP и заменять на оптимизированный код (заранее).


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пт окт 10, 2008 09:59 
Не в сети

Зарегистрирован: Пн окт 15, 2007 17:24
Сообщения: 164
Откуда: Бийск
Благодарил (а): 0 раз.
Поблагодарили: 2 раз.
mOleg писал(а):
F-MAP писал(а):
Хотелось бы вернуться к названию топика, и спросить влияет ли предложенные методы ускорения поиска слов на
ускорение скомпелированной и сохранненой по SAVE прогаммы, или это касается только на время компиляции исходного текста.

речь только о времени поиска в словаре, то есть времени трансляции текста, которая, понятно связана не только с поиском.

Если только скомпилированная и сохраненная программа при своей работе не использует механизма поиска в словаре - что тоже бывает. И при наличии быстрого механизма поиска такие программы будут встречаться все чаще.

_________________
And so forth ...


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 46 ]  На страницу Пред.  1, 2, 3, 4  След.

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9


Вы не можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
phpBB сборка от FladeX // Русская поддержка phpBB