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

...
Google Search
Forth-FAQ Spy Grafic

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




Ответить
Имя пользователя:
Заголовок:
Текст сообщения:
Введите текст вашего сообщения. Длина сообщения в символах не более: 60000

Размер шрифта:
Цвет шрифта
Настройки:
BBCode ВКЛЮЧЕН
[img] ВЫКЛЮЧЕН
[flash] ВЫКЛЮЧЕН
[url] ВКЛЮЧЕН
Смайлики ВЫКЛЮЧЕНЫ
Отключить в этом сообщении BBCode
Не преобразовывать адреса URL в ссылки
Вопрос
Теперь гостю придется вводить здесь пароль. Не от своей учетной записи, а ПАРОЛЬ ДЛЯ ГОСТЯ, получить который можно после регистрации на форуме через ЛС.:
Этот вопрос предназначен для выявления и предотвращения автоматических регистраций.
   

Обзор темы - A challenger appears !
Автор Сообщение
  Заголовок сообщения:  Re: A challenger appears !  Ответить с цитатой
Цитата:
тогда вообще зачем публиковать что-либо?

А я разве не говорила, что мазохистка ? (C) ??

Цитата:
мне это не понятно, расшифруйте, пожалуйста, что имеется ввиду.

Если ты вдумчиво почитаешь исходные тексты StasisVM и прилагающегося к ней компилятора, то скорее всего сможешь заметить, что по большей части они состоят из макрокоманд и константных выражений. Никто, конечно, не утверждает что без них совсем никак (когда-то и в машинных кодах писали), но все-таки программисты тоже люди и об этом надо помнить. Если разработчику не давать, скажем, пользоваться 256-ричными числами, он просто заменит их строковыми переменными.

Цитата:
спасибо (не плохо было бы ссылочку продублировать в сообщении, чтобы не приходилось выискивать предлагаемое тоже, как правило хорошего тона.)

ОК, доставлено.

Цитата:
я то же и написал

Кто-то спорит ?

Цитата:
эхехех, что дает эта лаконичность? Ведь по хорошему после каждой переменной должно быть ее описание!
да и переменных в стековых языках много быть не должно!

Дело вкуса. В любом случае я за свободный выбор подходящего стиля.
Сообщение Добавлено: Ср июл 14, 2010 20:14
  Заголовок сообщения:  Re: A challenger appears !  Ответить с цитатой
Chrono Syndrome писал(а):
Не спорю, только на кой мне это уважение ? Вот что я с ним буду делать ?

тогда вообще зачем публиковать что-либо? Пилите "в стол" для себя ;)
Речь именно о том, что ваши разработки никому не будут интересны, если вы будете так относиться к их потенциальным читателям.

Chrono Syndrome писал(а):
Да оно бы и фиг с ней, не страдай за компанию возможности оптимизации кода.

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

Chrono Syndrome писал(а):
Дабы оценить мои последние подвижку по исправлению сложившейся ситуации можешь перекачать архив – там уже и константы появились (на правах альфа-теста).

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

Chrono Syndrome писал(а):
Нет, ну если уж очень хочется, то можно и по-старинке:

я то же и написал ;)

Chrono Syndrome писал(а):
...Но лично я, будучи избалованной лаконичным синтаксисом PB? от такой записи стараюсь абстрагироваться в пользу сокращений.

эхехех, что дает эта лаконичность? Ведь по хорошему после каждой переменной должно быть ее описание!
да и переменных в стековых языках много быть не должно!
Сообщение Добавлено: Вт июл 13, 2010 14:33
  Заголовок сообщения:  Re: A challenger appears !  Ответить с цитатой
Так, я снова выхожу на связь. Продолжаем:
Цитата:
тут простая штука: нужно уважать читателя, иначе читатель не будет уважать писателя

Не спорю, только на кой мне это уважение ? Вот что я с ним буду делать ? По хозяйству не применишь, денег не выручишь, досуг не скрасишь… Никакой практической пользы, в общем. О документации, впрочем, такого не скажешь, а потому она будет. Ну, когда-нибудь.

Цитата:
почему же, вполне бывают (даже у Форта есть такие версии), только от этого страдает гибкость, за которую мы так его любим

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

Цитата:
получили избыток синтаксиса, имхо, было бы значительно проще не писать def[ и не делать сложный разбор (ну более сложный, чем привычный):
string OpCode \ например так

Нет, ну если уж очень хочется, то можно и по-старинке:
Код:
String: Code
String: Input
Char: OpCode
...Но лично я, будучи избалованной лаконичным синтаксисом PB, от такой записи стараюсь абстрагироваться в пользу сокращений.

Цитата:
Интересно, и какими же видятся "реальные применения" анонсированных проектов?

Хм… Ну, SF я уже применила, Staq изначально pзадумывался как «МутноСкрипт», ну а касательно планов на Refer – спрошу у автора, как соблаговолит объявиться.
Сообщение Добавлено: Вт июл 13, 2010 10:35
  Заголовок сообщения:  Re: A challenger appears !  Ответить с цитатой
Интересно, и какими же видятся "реальные применения" анонсированных проектов?
Сообщение Добавлено: Пн июл 12, 2010 00:09
  Заголовок сообщения:  Re: A challenger appears !  Ответить с цитатой
Chrono Syndrome писал(а):
Ничего страшного – мне тоже так кажется. Увы, одного этого осознания для появления документации оказалось таки недостаточно.

тут простая штука: нужно уважать читателя, иначе читатель не будет уважать писателя :)

Chrono Syndrome писал(а):
...Да вот казалось мне одно время, что бывают постфиксные языки без интерпретатора. Глупо, правда ?

почему же, вполне бывают (даже у Форта есть такие версии), только от этого страдает гибкость, за которую мы так его любим ;)

Chrono Syndrome писал(а):
Цитата: def[ Code:s Input:s OpCode:c ]defчто тут делается-то?Тут определяются 3 переменные: две строковые (Code, Input) и одна символьная (OpCode).

и получили избыток синтаксиса, имхо, было бы значительно проще не писать def[ и не делать сложный разбор (ну более сложный, чем привычный):
string OpCode \ например так ;)
Сообщение Добавлено: Чт июл 08, 2010 17:55
  Заголовок сообщения:  Re: A challenger appears !  Ответить с цитатой
Цитата:
мне кажется (ничего, если я чуточку повредничаю?), что документации очень сильно не хватает, особенно, если столько много нововведений.

Ничего страшного – мне тоже так кажется. Увы, одного этого осознания для появления документации оказалось таки недостаточно.

Цитата:
почему:
: BufferSize 30000 ;
а не:
30000 constant BuffSize
и дальше 4 строчки зачем так?

...Да вот казалось мне одно время, что бывают постфиксные языки без интерпретатора. Глупо, правда ? Сейчас-то я все осознала и присмерела, так что ситуацию вполне можно бы исправить – вот только на это нужно время, которого лично у меня не было и нет. Посему пока так, а там посмотрим.

Цитата:
def[ Code:s Input:s OpCode:c ]def

что тут делается-то?

Тут определяются 3 переменные: две строковые (Code, Input) и одна символьная (OpCode).
Сообщение Добавлено: Чт июл 08, 2010 13:04
  Заголовок сообщения:  Re: A challenger appears !  Ответить с цитатой
Chrono Syndrome писал(а):
ой, что это такое: voidСинтаксическая структура, определяющая все переменные у находящихся внутри слов как статические.

мне кажется (ничего, если я чуточку повредничаю?), что документации очень сильно не хватает, особенно, если столько много нововведений.

Chrono Syndrome писал(а):
...Так и живем ведь.

ну, не я писал (увы мне увы, просто браинфак ну никак мне ни с какой стороны не интересен)
тем не менее, этот код значительно понятнее содержимого BF.sf

вот, для меня куча загадок, например:
почему:

: BufferSize 30000 ;

а не:
30000 constant BuffSize
и дальше 4 строчки зачем так?

следующее:
def[ Code:s Input:s OpCode:c ]def

что тут делается-то? и для чего?

и такие вопросы в каждой строчке ;)
Сообщение Добавлено: Вт июл 06, 2010 19:55
  Заголовок сообщения:  Re: A challenger appears !  Ответить с цитатой
Цитата:
ой, что это такое: void

Синтаксическая структура, определяющая все переменные у находящихся внутри слов как статические.

Код:
: char>                                ( t p m -- t p m c)
   >r >r dup tib =                      \ save pointers, if start buffer
   if refill drop then                  \ then refill the buffer
   dup c@ dup 0=                        \ get character, if end of string
   if EOL + nip tib swap                \ return LF and signal end of
buffer
   else swap char+ swap                 \ else increment pointer
   then r> r> rot                       \ restore pointers and rotate char
;

...Так и живем ведь.
Сообщение Добавлено: Вт июл 06, 2010 19:44
  Заголовок сообщения:  Re: A challenger appears !  Ответить с цитатой
Chrono Syndrome писал(а):
Хм... Ну вот конкретно у меня, скажем, имеет смысл обратить особое внимание на идущий в комплекте интерпретатор BrainFuck’а (BF.sf).

ой, что это такое: void[ ?
мндяя, похоже меня это не тронет за душу.
впрочем, где-то я видел написанный на форте BF: (правда не знаю, на сколько он соответствует спецификации)

Цитата:
\ 4tH BrainFuck interpreter - Copyright 2004 J.L. Bezemer
\ You can redistribute this file and/or modify it under
\ the terms of the GNU General Public License

include lib/lookup.4th
\ BF memory
30000 constant #BFMemory
#BFMemory string BFmemory
\ BF source
8192 constant #BFSource
#BFSource string BFSource

10 constant EOL \ end of line character
variable level \ level for jumps
defer next \ jump program counter instruction
\ get character from TIB
: char> ( t p m -- t p m c)
>r >r dup tib = \ save pointers, if start buffer
if refill drop then \ then refill the buffer
dup c@ dup 0= \ get character, if end of string
if EOL + nip tib swap \ return LF and signal end of
buffer
else swap char+ swap \ else increment pointer
then r> r> rot \ restore pointers and rotate char
;

: p@ over c@ ; \ fetch program instruction
: m@ dup c@ ; \ fetch memory contents
: m! over c! ; \ store memory contents
: m++ char+ ; \ increment memory pointer
: m-- char- ; \ decrement memory pointer
: p++ swap char+ swap ; \ increment program pointer
: p-- swap char- swap ; \ decrement program pointer
: >m char> m! ; \ store input at memory pointer
: m> m@ emit ; \ emit content at memory pointer
: m@++ m@ 1+ m! ; \ increment contents at mem pointer
: m@-- m@ 1- m! ; \ decrement contents at mem pointer

: level-- = if -1 level +! then ; \ increment level if equal
: level++ = if 1 level +! then ; \ decrement level if equal
\ jump to location
: jump ( p m c1 c2 xt -- p' m)
is next ( p m c1 c2)
>r rot swap ( m p c1)
begin ( m p c1)
p@ dup r@ level-- ( m p c1 p@)
over level++ ( m p c1)
level @ ( m p c1 n)
while ( m p c1)
next ( m p' c1)
repeat ( m p' c1)
r> drop drop swap ( p' m)
;
\ BF jump instructions
: <p [char] ] [char] [ ['] p-- jump p-- ;
: ?p> m@ 0= if [char] [ [char] ] ['] p++ jump then ;
\ BF operators table
create BFop
char > , ' m++ ,
char < , ' m-- ,
char + , ' m@++ ,
char - , ' m@-- ,
char . , ' m> ,
char , , ' >m ,
char [ , ' ?p> ,
char ] , ' <p ,
NULL ,
\ open a file from argument n
: (open) ( m n -- h)
args over over >r >r rot open dup 0= ( h f)
if ( h)
stdout use \ force use of stdout
." Cannot open " \ write message
r> r> type cr abort \ write filename
else ( h)
dup use r> r> drop drop \ use file, clear return stack
then ( h)
;
\ read BF source
: ReadBF ( --)
argn 2 < \ if no filename issued
abort" Usage: bf sourcefile" \ issue error message
input 1 (open) \ open the input file
BFSource #BFSource \ setup source buffer
over over erase accept \ read sourcefile
#BFSource = abort" File too large" \ check size
close \ close file
;
\ initialize interpreter
: InitBF ( -- a1 a2 a3)
0 level ! \ reset level
BFMemory #BFMemory erase \ clear memory
tib BFSource BFMemory \ setup parameters
;
\ run interpreter
: ExecBF ( a1 a2 a3 --)
p@ \ get operator
begin \ begin
BFop 2 1 lookup \ find operator
if execute else drop then \ if found execute else drop
p++ p@ dup 0= \ increment program counter
until \ until end-of-code marker
drop drop drop drop \ drop pointers
;

: BF ReadBF InitBF ExecBF ;

BF
Сообщение Добавлено: Вт июл 06, 2010 19:33
  Заголовок сообщения:  Re: A challenger appears !  Ответить с цитатой
Цитата:
Речь следует вести о начатых перспективных и брошенных проектах

«Брошенный проект» - понятие очень растяжимое. Так, работу над тем же [D]-Jongg’ом я в свое время забросила из-за несовместимости с драйверам NVid’ии. Потом мне неожиданно объяснили, как обойти тот глюк, после чего проект был-таки доведен до релиза. Надежда – она всегда есть, просто порой слишком призрачна...
Сообщение Добавлено: Вт июл 06, 2010 13:42
  Заголовок сообщения:  Re: A challenger appears !  Ответить с цитатой
Chrono Syndrome писал(а):
Так а indie-проекты, они же бывают либо перспективными, либо законченными – среднего тут не дано.

Речь следует вести о начатых перспективных и брошенных проектах
Сообщение Добавлено: Вт июл 06, 2010 12:03
  Заголовок сообщения:  Re: A challenger appears !  Ответить с цитатой
Цитата:
А по-русски можно выражаться? Без использования иноСРАНЫХ слов.

Перекатись в укрытие.

вопрос писал(а):
Собственно, ничего нового :D
" На данном этапе предполагается, что всю необходимую документацию вы способны самостоятельно извлечь из исходных тексто"
" Ни один из них так и не был дописан до конца" :D

читаем это http://fforum.winglion.ru/viewtopic.php?f=33&t=2293

Так а indie-проекты, они же бывают либо перспективными, либо законченными – среднего тут не дано. На, коли уж речь зашла об играх, сравни на досуге: Flow и [D]-Jongg. И таких примеров - тысячи.

Цитата:
что же там прорывного, почему на него стоит обратить внимание, а не, например, на SPF

Хм... Ну вот конкретно у меня, скажем, имеет смысл обратить особое внимание на идущий в комплекте интерпретатор BrainFuck’а (BF.sf). Попробуй его как-нибудь, смеху ради, переписать на том же SPF – сравним потом.
Сообщение Добавлено: Вт июл 06, 2010 11:43
  Заголовок сообщения:  Re: A challenger appears !  Ответить с цитатой
Chrono Syndrome писал(а):
Цитата: Ссылки не впечатлилиХм... А их содержимое ?

увы 8(
впрочем, возможно не достаточно описания того, что же в представленных ээ, вобщем, что же там прорывного, почему на него стоит обратить внимание, а не, например, на SPF (я не вредничаю, сразу признаюсь, просто сейчас нет времени закапываться в тонкости чужих реализаций).
Сообщение Добавлено: Пн июл 05, 2010 20:11
  Заголовок сообщения:  Re: A challenger appears !  Ответить с цитатой
Гость писал(а):
А по-русски можно выражаться?

увы, не всегда есть в Русском языке адекватные понятия, впрочем, термин очень распространен, можно заглянуть как минимум в [url=http://ru.wikipedia.org/wiki/Конкатенация]википедию[/url].

Гость писал(а):
Без использования иноСРАНЫХ слов.

постарайтесь пожалуйста в дальнейшем быть корректнее в выражениях.
Сообщение Добавлено: Пн июл 05, 2010 20:00
  Заголовок сообщения:  Re: A challenger appears !  Ответить с цитатой
Собственно, ничего нового :D
" На данном этапе предполагается, что всю необходимую документацию вы способны самостоятельно извлечь из исходных тексто"
" Ни один из них так и не был дописан до конца" :D

читаем это viewtopic.php?f=33&t=2293
Сообщение Добавлено: Пн июл 05, 2010 11:23

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


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