Автор Тема: [Oberon-07/11] Array of bytes / byte stream  (Прочитано 23812 раз)

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: [Oberon-07/11] Array of bytes / byte stream
« Ответ #60 : Декабрь 14, 2012, 03:57:48 pm »
Между прочим, мы отклонились от изначальной темы - ужель bytestream придется делать в виде пачки integer'ов или set'ов?
Я не отклонялся от темы. Я предлагал сделать тип данных Поток, который внутри реализуется через байт (и system), а наружу выставляет процедуры чтения интов, строк и т.д.
Это слишком тяжеловесно не гибко и компиляторозависимо.
По факту - в реализациях в SYSTEM'e нет байта. Кстати, псевдомодуля SYSTEM также может не быть - он опционален.
Y = λf.(λx.f (x x)) (λx.f (x x))

Geniepro

  • Hero Member
  • *****
  • Сообщений: 1955
  • Знайте- истина в том, что повторено трижды подряд!
    • Просмотр профиля
Re: [Oberon-07/11] Array of bytes / byte stream
« Ответ #61 : Декабрь 14, 2012, 04:01:29 pm »
Чего уж сразу в язык не ввести fft, dct и вейвлеты?
Во, взял на заметку! ))))
О чём это вы?
Ну как о чём? Надумаю делать свой ЯВУ -- забубеню туда "fft, dct и вейвлеты" (что бы это не значило)  ;D
to iterate is human, to recurse, divine

Салат «рекурсия»: помидоры, огурцы, салат…

igor

  • Sr. Member
  • ****
  • Сообщений: 438
    • Просмотр профиля
Re: [Oberon-07/11] Array of bytes / byte stream
« Ответ #62 : Декабрь 14, 2012, 04:10:54 pm »
Так что в нормальном ЯВУ (а не в ассемблере) должны быть языковые плавающая арифметика и умножение/деление целых чисел. Да даже комплексные числа -- почему бы и нет?
Категорически... СОГЛАСЕН!  :)

ilovb

  • Hero Member
  • *****
  • Сообщений: 2538
  • just another nazi test
    • Просмотр профиля
    • Oberon systems
Re: [Oberon-07/11] Array of bytes / byte stream
« Ответ #63 : Декабрь 14, 2012, 04:23:54 pm »
Между прочим, мы отклонились от изначальной темы - ужель bytestream придется делать в виде пачки integer'ов или set'ов?
Я не отклонялся от темы. Я предлагал сделать тип данных Поток, который внутри реализуется через байт (и system), а наружу выставляет процедуры чтения интов, строк и т.д.

Вполне кошерно по Вирту   :D

vlad

  • Hero Member
  • *****
  • Сообщений: 1391
    • Просмотр профиля
Re: [Oberon-07/11] Array of bytes / byte stream
« Ответ #64 : Декабрь 14, 2012, 04:40:42 pm »
Цитировать
Я не отклонялся от темы. Я предлагал сделать тип данных Поток, который внутри реализуется через байт (и system), а наружу выставляет процедуры чтения интов, строк и т.д.
Вполне кошерно по Вирту   :D
Не, даже с таким потоком все равно будет специфика платформы. Например, как будут читаться int'ы - как big-endian или little-endian? А размеры этих int'ов?

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: [Oberon-07/11] Array of bytes / byte stream
« Ответ #65 : Декабрь 14, 2012, 04:46:34 pm »
Цитировать
Я не отклонялся от темы. Я предлагал сделать тип данных Поток, который внутри реализуется через байт (и system), а наружу выставляет процедуры чтения интов, строк и т.д.
Вполне кошерно по Вирту   :D
Не, даже с таким потоком все равно будет специфика платформы. Например, как будут читаться int'ы - как big-endian или little-endian? А размеры этих int'ов?
Или как middle-endian :-) (да, есть и такое)
Y = λf.(λx.f (x x)) (λx.f (x x))

ilovb

  • Hero Member
  • *****
  • Сообщений: 2538
  • just another nazi test
    • Просмотр профиля
    • Oberon systems
Re: [Oberon-07/11] Array of bytes / byte stream
« Ответ #66 : Декабрь 14, 2012, 05:29:07 pm »
Не понял при чем тут это.
Читаем поток 10 байт - получаем 10 int'ов...  Как конкретно байт ляжет на int зависит от компилятора. SYSTEM - это ведь псевдомодуль (т.е. по сути часть компилятора)
Ну а компилятор то платформу должен "знать".

vlad

  • Hero Member
  • *****
  • Сообщений: 1391
    • Просмотр профиля
Re: [Oberon-07/11] Array of bytes / byte stream
« Ответ #67 : Декабрь 14, 2012, 05:49:00 pm »
Не понял при чем тут это.
Читаем поток 10 байт - получаем 10 int'ов...  Как конкретно байт ляжет на int зависит от компилятора. SYSTEM - это ведь псевдомодуль (т.е. по сути часть компилятора)
Ну а компилятор то платформу должен "знать".

Он должен знать формат исходного потока. Потому что если на одной платформе один компилятор положит (в файл) big-endian, а другой прочитает в little-endian, то исходный и прочитанный int'ы не совпадут. При этом даже если заспекать такой формат - часть платформ окажется в проигрыше по эффективности работы с таки потоком, потому что будет постянно перегонять в правильный endian.
« Последнее редактирование: Декабрь 14, 2012, 05:51:42 pm от vlad »

ilovb

  • Hero Member
  • *****
  • Сообщений: 2538
  • just another nazi test
    • Просмотр профиля
    • Oberon systems
Re: [Oberon-07/11] Array of bytes / byte stream
« Ответ #68 : Декабрь 14, 2012, 06:03:10 pm »
Хоть убейте, но я все равно не понимаю какое отношение это имеет к Оберону. На любом другом языке будет ровно то же самое.

vlad

  • Hero Member
  • *****
  • Сообщений: 1391
    • Просмотр профиля
Re: [Oberon-07/11] Array of bytes / byte stream
« Ответ #69 : Декабрь 14, 2012, 06:16:09 pm »
Хоть убейте, но я все равно не понимаю какое отношение это имеет к Оберону. На любом другом языке будет ровно то же самое.

Никакого. Общие размышления. Поток будет всяко лучше, чем отсутствие даже BYTE :)

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: [Oberon-07/11] Array of bytes / byte stream
« Ответ #70 : Сентябрь 02, 2013, 09:38:20 am »
В общем, у меня таки оформилось мнение, что подобную штуку следует делать через opaque-тип в стандартной либе. Непосредственно модуль реализующий этот opaque-тип может использовать (внутри себя) внеязыковые средства для пущей эффективности.
Y = λf.(λx.f (x x)) (λx.f (x x))