Forth
http://fforum.winglion.ru/

представление строк
http://fforum.winglion.ru/viewtopic.php?f=36&t=1850
Страница 5 из 5

Автор:  вопрос [ Сб янв 10, 2009 09:31 ]
Заголовок сообщения: 

Цитата:
Хм... В конце концов мы имеем только "программы" и "данные". "Данные" в свою очередь - это либо "числа", либо "строки". Тогда почему бы сразу жестко не зарезервировать всего несколько форматов для разных типов представления числа (бинарное, целое..), а все остальное автоматом засчитывать как строки? При этом количество различных форматов строк вообще не ограничивать, а воспринимать это их разнообразие по аналогии с множеством типов кодировок символов. (Как - не знаю...) Скажем, к примеру, через некое "поле кодировки": кодировка №001 - строка со счетчиком, кодировка №002 - ...

(Сорри за сумбур)

Вовсе не сумбур, пока челвоек "творчески кодит" в "своём форте" - стандарт на форматы строк кажется ему ограничением
Нет, ну разве я против? Я что, против свободы? Но чтобы понять, что стандарт на представление данных - это наоборот как раз свобода и есть - нужно просто взять и перенести программу, работающую со строками (или там массивами) на несколько разных систем, через 2 часа это станет понятно навсегда :)

Ну, правильно - количество форматов не ограничивать, но в представлении форматов - всяких данных, не только строк - поддерживаю Kamikaze - предусмотреть, что это не просто лежит в памяти, а имеет стандартные поля

Цитата:
через некое "поле кодировки": кодировка №001
или похоже :?

Автор:  вопрос [ Сб янв 10, 2009 09:55 ]
Заголовок сообщения: 

несколько простых соображений
    1. предусмотреть поведение - означает предусмотреть множество функций ... предположим,
    - постановку 0 в конце строки
    - или наоборот - изъяттие его оттуда,
    - конкатенацию строк с заменой нуля на пробел
    - конкатенацию строк с заменой нуля на другой символ
    - конкатенацию строк с заменой нуля на пару (много) символов
    - конкатенацию строк с сохранением нуля и установкой совсем другого символа в конце
    (это типа для компилятора быстрого минимум)
    - маркировка частей строки различными методами ...
    - конкатенация строк с сохранением возможности маркировки их частей и как если бы это была одна строка и как если бы много (для случаев, когда конец строки имеет синтаксическое значение)
    ...
    я только начал!
    2. как раз именно поведение предусмотреть труднее всего, т.к. даже если у нас есть стандартный набор функций, их необходимо комбинировать, а реализация поведения может иметь свои особенности
    3. особенности размножаются в соответствии с правилами комбинаторики (все знают о комбинаторном взрыве?)
    4. идеи и решения достаточного уровня сложности станут (будущее, т.к. идей и решений достаточного уровня сложности не существует) непереносимыми
    5. может потому и не существует :) ИМХО

:weep;

Автор:  in4 [ Сб янв 10, 2009 16:26 ]
Заголовок сообщения: 

Kamikaze писал(а):
"Данные" в свою очередь - это либо "числа", либо "строки". Тогда почему бы сразу жестко не зарезервировать всего несколько форматов для разных типов представления числа (бинарное, целое..), а все остальное автоматом засчитывать как строки?
in4 писал(а):
А никто не хочет сделать строки таким же элементом, как числа?

Я говорил не о внутреннем представлении, а о представлении в исходнике.
В Форте у нас есть слова и числа, которые обрабатываются по-разному.
Пытаемся найти слово - не нашли, проверяем, может оно - число.
А можно сделать проверку дальше - если не число, то может, строка?
Тогда не будет пробела перед строками и упростится (для визуального восприятия) работа с текстами на Форте и не на Форте.

Автор:  Kamikaze [ Сб янв 10, 2009 21:36 ]
Заголовок сообщения: 

in4 писал(а):
Пытаемся найти слово - не нашли, проверяем, может оно - число.
А можно сделать проверку дальше - если не число, то может, строка?

Так и я примерно о том же, но только с другим приоритетом разбора :
1. Это число?
2. Это слово?
3. Значит это строка
Причем в каком именно представлении определять не вручную программисту, а по зарезервированному новым стандартом "полю кодировки" - т.е. все прочие данные (не относящиеся к п.1 и п.2) сделать некими псевдословами с усеченной структурой словарной статьи.

Автор:  вопрос [ Сб янв 10, 2009 21:50 ]
Заголовок сообщения: 

Цитата:
2. Это слово?
3. Значит это строка
Причем в каком именно представлении

замечательно, хотя одна тонкость всё же остаётся - строка может включать слова, присутствующие в словаре форта ... и числа

Автор:  mOleg [ Сб янв 10, 2009 22:14 ]
Заголовок сообщения: 

мндя, а ведь разговору больше, чем дела :)
можно взять и любой тип строк себе сделать (просто внешней либой прикрутить, как, к примеру, это сделано в strN.f библиотечках СПФа...
Всегда хочеться иметь простую, быструю, удобную и маленькую всегда работающую абстракцию.
Но в реальности приходится чем-то жертвовать.
Ну, и кроме того, не стоит относиться к строкам, как к чему-то типизированному, мне кажется, а скоре как к контейнеру, поэтому я лично предпочитаю мастабируемый счетчик ( 3 вариант в форке ) с максимальной длиной до 2^28-1 байт, чего хватит даже на небольшой фильм ( в смысле не HDTV ).

Автор:  вопрос [ Сб янв 10, 2009 22:37 ]
Заголовок сообщения: 

Цитата:
можно взять и любой тип строк себе сделать (просто внешней либой прикрутить, как, к примеру, это сделано в strN.f библиотечках СПФа...
Всегда хочеться иметь простую, быструю, удобную и маленькую всегда работающую абстракцию.
себе - скольок угодно, но как другие будут пользоваться? именно в коллективной работе - никакой современный проект один человек не потянет.
Цитата:
мастабируемый счетчик ( 3 вариант в форке ) с максимальной длиной до 2^28-1 байт, чего хватит даже на небольшой фильм ( в смысле не HDTV ).
а как это? это не то, что не на всякой системе сразу безглючно собирается ( у меня не работало)

Автор:  mOleg [ Сб янв 10, 2009 22:44 ]
Заголовок сообщения: 

вопрос писал(а):
Цитата:мастабируемый счетчик ( 3 вариант в форке ) с максимальной длиной до 2^28-1 байт, чего хватит даже на небольшой фильм ( в смысле не HDTV ).а как это? это не то, что не на всякой системе сразу безглючно собирается ( у меня не работало)

не используйте C@ или B@ над счетчиком строки и будет счастье :)
не заработать могло по куче причин (надо разбираться).

Страница 5 из 5 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/