Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Пт июл 20, 2018 22:32

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 90 ]  На страницу Пред.  1, 2, 3, 4, 5, 6  След.
Автор Сообщение
 Заголовок сообщения: Re: Наработки от victor__v для СПФ
СообщениеДобавлено: Пт ноя 17, 2017 15:42 
Victor__v писал(а):
Для такой задачи подойдёт любой скриптовый язык. Только их ещё установить надо. А с форт-системами таких проблем нет практически.
Вы что-то путаете. В Linux ВСЕ скриптовые языки и ВСЕ средства для создания новых уже на борту! И если с FORTH нет проблем ПРАКТИЧЕСКИ, то со скриптами их ПРИНЦИПИАЛЬНО нет.

Victor__v писал(а):
У же всегда с собою библиотека для работы со строками. Во не было бы её у меня, было тяжелей.
Наоборот, проще. Библиотеки для FORTH - это тормоз.


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Наработки от victor__v для СПФ
СообщениеДобавлено: Пт ноя 17, 2017 15:52 
Не в сети

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 564
Благодарил (а): 0 раз.
Поблагодарили: 3 раз.
gudleifr писал(а):
Вы что-то путаете. В Linux ВСЕ скриптовые языки и ВСЕ средства для создания новых уже на борту! И если с FORTH нет проблем ПРАКТИЧЕСКИ, то со скриптами их ПРИНЦИПИАЛЬНО нет.

НЕ МОГУ НЕ СОГЛАСИТСЯ. ТОЛЬКО ОСЬ НА используемом КОМПЕ WINDOWS7!!!

Про аргумент, что у форт-системы библиотеки есмь тормоз, говорить ничего не буду. Это странный аргумент, на мой взгляд.

_________________
Цель: сделать 64-битную Нову под Винду


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Наработки от victor__v для СПФ
СообщениеДобавлено: Пт ноя 17, 2017 15:53 
Не в сети

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 564
Благодарил (а): 0 раз.
Поблагодарили: 3 раз.
Цитата:
Наоборот, проще

Напишите в пару слов поддержку конкатенации строк с автоосвобождением памяти и я Вам поверю

_________________
Цель: сделать 64-битную Нову под Винду


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Наработки от victor__v для СПФ
СообщениеДобавлено: Пт ноя 17, 2017 16:04 
Victor__v писал(а):
ТОЛЬКО ОСЬ НА используемом КОМПЕ WINDOWS7!!!
Дык, мы же обсуждали применимость FORTH под Linux. Наличие FORTH-ниши в Мастдае отрицают только микро-фортеры.

Victor__v писал(а):
Напишите в пару слов поддержку конкатенации строк с автоосвобождением памяти и я Вам поверю
Вы сами себе противоречите. Да, написать хорошую библиотеку, да еще на все случаи, трудно. Но это и свидетельствует о том, что для FORTH это лишняя обуза. Ведь в 95% случаев "конкатенация строк с автоосвобождением памяти" используется в программе только потому, что ничего более удобного под рукой нет.

Доходит до смешного. Как-то учился писать на perl и решил зафигачить интерпретатор trac. Думал, "маленькая машинка" регулярных выражений тут и пригодится. Ни фига, в итоге остались только простейшие операции, которые легко было написать и на C. Кстати, там обошлось и почти без конкатенации - хранить строку в виде дерева частей оказалось удобнее.


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Наработки от victor__v для СПФ
СообщениеДобавлено: Пт ноя 17, 2017 17:33 
Не в сети

Зарегистрирован: Пт янв 06, 2017 14:57
Сообщения: 344
Благодарил (а): 15 раз.
Поблагодарили: 1 раз.
gudleifr писал(а):
Victor__v писал(а):
ТОЛЬКО ОСЬ НА используемом КОМПЕ WINDOWS7!!!
Дык, мы же обсуждали применимость FORTH под Linux. Наличие FORTH-ниши в Мастдае отрицают только микро-фортеры.

Victor__v писал(а):
Напишите в пару слов поддержку конкатенации строк с автоосвобождением памяти и я Вам поверю
Вы сами себе противоречите. Да, написать хорошую библиотеку, да еще на все случаи, трудно. Но это и свидетельствует о том, что для FORTH это лишняя обуза. Ведь в 95% случаев "конкатенация строк с автоосвобождением памяти" используется в программе только потому, что ничего более удобного под рукой нет.

Доходит до смешного. Как-то учился писать на perl и решил зафигачить интерпретатор trac. Думал, "маленькая машинка" регулярных выражений тут и пригодится. Ни фига, в итоге остались только простейшие операции, которые легко было написать и на C. Кстати, там обошлось и почти без конкатенации - хранить строку в виде дерева частей оказалось удобнее.


Можно вопрос? Что значит "Мастдае" и как это "хранить строку в виде дерева частей"?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Наработки от victor__v для СПФ
СообщениеДобавлено: Пт ноя 17, 2017 17:40 
Не в сети

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 564
Благодарил (а): 0 раз.
Поблагодарили: 3 раз.
Цитата:
Что значит "Мастдае"

Это Операционная Система, которую способен спасть только дед Мазай :D

_________________
Цель: сделать 64-битную Нову под Винду


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Наработки от victor__v для СПФ
СообщениеДобавлено: Пт ноя 17, 2017 18:27 
_KROL писал(а):
Что значит "Мастдае"..?
Примерно в одно время с появлением Win95 была очень популярна стрелялка Дюк Нюкем. Типа Doom, но немного более 3D-честная и намного более пародийная и хулиганская. Так там вредные монстры на всяких заборах постоянно писали: "Дюк Нюкем маст дай!" - т.е. "должен умереть". Фраза запомнилась и стала единственным цензурным эпитетом по отношению к 95-му. А заодно, и всем его потомкам.

_KROL писал(а):
как это "хранить строку в виде дерева частей"?

Заменить string деревом (списком списков), состоящим из отдельных string (точнее, ссылок на части исходной строки и длин этих частей). Trac - язык, основанный на макроподстановках, поэтому там это было особенно удобно - можно было хранить в узлах не только куски строк, но и метки, и легко заменять строки на метки и наоборот.


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Наработки от victor__v для СПФ
СообщениеДобавлено: Пт ноя 17, 2017 19:57 
Не в сети

Зарегистрирован: Пт янв 06, 2017 14:57
Сообщения: 344
Благодарил (а): 15 раз.
Поблагодарили: 1 раз.
Да, я в Duke Nukem ещё как играл! Правда на счёт второго названия WIN95 не знал. Спасибо.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Наработки от victor__v для СПФ
СообщениеДобавлено: Сб ноя 18, 2017 01:41 
Не в сети
Аватара пользователя

Зарегистрирован: Ср фев 23, 2011 20:42
Сообщения: 519
Откуда: Карелия
Благодарил (а): 3 раз.
Поблагодарили: 22 раз.
Victor__v писал(а):
Напишите в пару слов поддержку конкатенации строк с автоосвобождением памяти и я Вам поверю

Делаем морду клином :lol:
Код:
\ Изначально держим за HERE свободный мегабайт памяти

: S+
  ( addr1 n1 addr2 n2 -- addr3 n3 )
  HERE >R
  TUCK HERE SWAP CMOVE ALLOT
  TUCK HERE SWAP CMOVE ALLOT
  R@ HERE R> -
;

: WORK
  HERE \ запомнили состояние динамической памяти
\ ...
  S" Stroka2" S" Stroka1" S+ TYPE \ работаем
  S" Stroka4" S" Stroka3" S+ TYPE \ - // -
\ ...
  DP ! \ освободили память
;

WORK
Я так постоянно пишу :lol:
_KROL писал(а):
Правда на счёт второго названия WIN95 не знал.
Любого Windows.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Наработки от victor__v для СПФ
СообщениеДобавлено: Сб ноя 18, 2017 05:31 
Не в сети
Аватара пользователя

Зарегистрирован: Ср фев 23, 2011 20:42
Сообщения: 519
Откуда: Карелия
Благодарил (а): 3 раз.
Поблагодарили: 22 раз.
P.S.
Если пренепременно нужно, чтобы сборка мусора происходила автоматически,
а не явным указанием "пометить кучу" и "откатить кучу", то можно вот так :
Код:
ONLY FORTH DEFINITIONS
VOCABULARY GARBAGE ALSO GARBAGE DEFINITIONS PREVIOUS
: : : POSTPONE HERE POSTPONE >R ;
: ; POSTPONE R> POSTPONE DP POSTPONE ! POSTPONE ; ; IMMEDIATE
: EXIT POSTPONE R> POSTPONE DP POSTPONE ! POSTPONE EXIT ; IMMEDIATE
DEFINITIONS

\ Изначально держим за HERE свободный мегабайт памяти

: S+
  ( addr1 n1 addr2 n2 -- addr3 n3 )
  HERE >R
  TUCK HERE SWAP CMOVE ALLOT
  TUCK HERE SWAP CMOVE ALLOT
  R@ HERE R> -
;

ALSO GARBAGE \ Включили автоматическую сборку мусора в определяемых словах

: WORK
  S" Stroka2" S" Stroka1" S+ TYPE CR \ работаем
  S" Stroka4" S" Stroka3" S+ TYPE CR \ - // -
;

PREVIOUS \ Выключили

WORK
Здесь на входе в слово WORK куча автоматически помечается, а на выходе автоматически откатывается. Т.е. имеется ввиду определение некоторых таких слов, которые кучей попользовались, а потом сами за собой убрали. Так-что родными средствами Форта такое делается непринужденно, на коленке и без каких-либо дополнительных библиотек.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Наработки от victor__v для СПФ
СообщениеДобавлено: Сб ноя 18, 2017 13:40 
Не в сети

Зарегистрирован: Пт янв 06, 2017 14:57
Сообщения: 344
Благодарил (а): 15 раз.
Поблагодарили: 1 раз.
Ethereal писал(а):
_KROL писал(а):
Правда на счёт второго названия WIN95 не знал.
Любого Windows.
Иными словами Windows рано или поздно перестанет существовать?:]


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Наработки от victor__v для СПФ
СообщениеДобавлено: Сб ноя 18, 2017 13:42 
Не в сети

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 564
Благодарил (а): 0 раз.
Поблагодарили: 3 раз.
Ethereal писал(а):
Делаем морду клином :lol:

Токмо проблемы с многопоточностью, и неявным и опасным переопределение слов.

Так, полный перебор всего что можно имеющее разделители
Код:
: SPLIT \ A U A1 U1 -- A U 0|A2 U2 A3 U3 -1
3 PICK >R DUP >R SEARCH
0= IF RDROP RDROP 0 EXIT THEN
OVER RP@ CELL+ @ - RP@ CELL+ @ SWAP
2SWAP
R@ - SWAP R@ + SWAP
RDROP RDROP
-1
;


: SPLIT-ITER: \ a u sa su -- iter: a1 u1
2>R
BEGIN
2R@ SPLIT
WHILE
2>R
RP@ 4 CELLS + @ EXECUTE
2R>
REPEAT
RDROP RDROP
R> EXECUTE \ для ясности, чтоб голову не ломать
;


\EOF
\ Библиотека для разбора CSV и подобных манипуляций
\ В реализации, есть идея присущая PRO и CONT
\ Как использовать
\ пример

: CSV-TEST
S" 1,2,3,4,5,6,7,8,9,10"
S" ,"
SPLIT-ITER:
TYPE CR
;

Соот-но, чтобы перебрать каждый элемент в CSV необходимо исп. два итератора
Если логика происходящего непонятна, то поясняю остаток кода после SPLIT-ITER: вызывается после каждого разделения. Своеобразный обратный вызов

_________________
Цель: сделать 64-битную Нову под Винду


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Наработки от victor__v для СПФ
СообщениеДобавлено: Сб ноя 18, 2017 13:52 
_KROL писал(а):
Иными словами Windows рано или поздно перестанет существовать?
Нет, просто программисты, начавшие программировать до Windows-кие времена его ненавидят. Ведь, они помнят времена, когда операционная система облегчала труд программистов, а не затрудняла настолько, что интерфейс с ней стал весить на порядок больше смысловой части программы. Просто, до появления Win95 Win-программирование было выпендрежем, имеющим крайне ограниченную область применения, а начиная с него программистам объяснили, что теперь все будет оконным. Причем, оконным не в стиле Xerox-Alto или X, а исключительно в стиле MS Office...

Victor__v писал(а):
Токмо проблемы с многопоточностью, и неявным и опасным переопределение слов.
Да, в 0,0...01% случаев она возникает. А в 0,0...009% случаев возникают проблемы у правильно работающих с многопоточностью библиотек...


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Наработки от victor__v для СПФ
СообщениеДобавлено: Сб ноя 18, 2017 15:10 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 6344
Благодарил (а): 14 раз.
Поблагодарили: 99 раз.
_KROL писал(а):
Иными словами Windows рано или поздно перестанет существовать?:]

Рано или поздно все перестает существовать. Вопрос в том, произойдет ли это в настолько обозримом будущем, чтобы Windows уже сейчас можно было игнорировать. А это явно не так. В нелюбви программистов к Windows кроются две "неправильные" причины. Во-первых, Windows имеет более широкое распространение по сравнению с Linux, и поэтому ошибки чаще проявляются для Windows просто статистически. Когда программист ошибается в алгоритме, эта ошибка вскроется при работе под любой ОС. Однако очень удобно приписать ее "глюкавой винде". Во-вторых, существует давний спор между открытым ПО и закрытыми проприетарными системами, такими как Windows. Если ОС имеет открытый код, создается иллюзия, что все можно поправить. Технически действительно можно, а как практически? Для исправления ошибки нужно как минимум разбираться в этой теме, и вопрос не в том, что где-то был X=1, а надо поправить на X=0. Однако противники Windows приводят в качестве аргумента именно то, что в Windows они зависят от программистов Microsoft, а с Linux можно все исправить и улучшить.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Наработки от victor__v для СПФ
СообщениеДобавлено: Сб ноя 18, 2017 15:28 
Hishnik писал(а):
В нелюбви программистов к Windows кроются две "неправильные" причины.
И 4 правильных:
1. Правильные (упомянутые выше) окошки облегчают создание оконных приложений, а не усложняют его. Ведь в МастДае надо не просто првильно расставлять и связывать оконные объекты, но и вручную отслеживать все: очередь событий, дешифрацию и адресацию сообщений, выделение и освобождение (часто многоступенчатые) ресурсов под объекты...
2. Невзирая на (1) система и сама по себе настолько сложна, что жрет любые ресурсы и безбожно тормозит на любой машине.
3. В отличие от правильных окошек с их концепцией "один процесс/инструмент - одно окно", в МастДае прижилась концепция "сложное приложение - одно, еще более сложное, окно".
4. (3) породило набор обязательных (жутко избычочных) фигулек, которые не только отнимают время на программирование, но и занимают львиную долю полезной площади экрана.


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

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


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

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


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

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