Детство программиста
Apr. 23rd, 2009 08:39 pmКогда я был маленький, мне очень нравилось, что бывают скобки (круглые), [квадратные] и {фигурные}. Откуда-то мне стало известно, что вложенные скобки, если их, скажем, три уровня, принято писать так: внутренние - круглые, затем - квадратные, и самые внешние - фигурные, чтобы сразу было видно, какая открывающая скобка соответствует какой закрывающей. Я был очень доволен, когда понял, как написать выражение, для которого "необходимы" все три вида скобок (ну и, естественно, как писать выражения, для которых необходим любой наперед заданный уровень вложенности).
Algol 68 Genie Mark 16 (released April 2009), copyright 2001-2009 J. Marcel van der Veer.
...
--brackets: consider [ .. ] and { .. } as equivalent to ( .. ).
Algol 68 Genie Mark 16 (released April 2009), copyright 2001-2009 J. Marcel van der Veer.
...
--brackets: consider [ .. ] and { .. } as equivalent to ( .. ).
When option brackets is specified, (...), [...] and {...} are equivalent to theА ЛИСПовцам - кошкин хвост!
parser and any pair can be used where Algol 68 requires open-symbols and close-symbols.
This allows for clearer coding when parenthesis are nested.
no subject
Date: 2009-04-24 06:16 am (UTC)no subject
Date: 2009-04-24 06:42 am (UTC)no subject
Date: 2009-04-24 06:21 am (UTC)no subject
Date: 2009-04-24 06:37 am (UTC)no subject
Date: 2009-04-24 06:48 am (UTC)no subject
Date: 2009-04-24 07:11 am (UTC)no subject
Date: 2009-04-24 07:39 am (UTC)no subject
Date: 2009-04-24 07:55 am (UTC)int func p int x b d, int a q
L
return p x b a d + 1 q * 2;
J
no subject
Date: 2009-04-24 07:02 am (UTC)no subject
Date: 2009-04-24 06:42 am (UTC)no subject
Date: 2009-04-24 06:44 am (UTC)no subject
Date: 2009-04-24 06:44 am (UTC)no subject
Date: 2009-04-24 07:07 am (UTC)MODE INTFN = PROC( INT )INT; MODE RECFF = PROC( RECFF, INT ) INT; MODE FFORM = PROC( INTFN, INT ) INT; PROC y = ( FFORM f, INT n ) INT: ( RECFF h = ( RECFF g, INT n ) INT: ( INTFN b = ( INT n ) INT: g( g, n ); f( b, n ) ); h( h, n ) );Вот что надо было вместо яваскрипта в браузерах реализовывать!
no subject
Date: 2009-04-24 05:02 pm (UTC)no subject
Date: 2009-04-24 07:23 am (UTC)В CL можно ридер подменить, что бы он скобки правильно обрабатывал.
no subject
Date: 2009-04-24 07:44 am (UTC)no subject
Date: 2009-04-24 08:07 am (UTC)no subject
Date: 2009-04-24 08:19 am (UTC)no subject
Date: 2009-04-24 03:28 pm (UTC)no subject
Date: 2009-04-24 08:34 am (UTC)no subject
Date: 2009-04-24 03:31 pm (UTC)no subject
Date: 2009-04-24 04:02 pm (UTC)no subject
Date: 2009-04-24 04:12 pm (UTC)no subject
Date: 2009-04-24 04:22 pm (UTC)no subject
Date: 2009-04-24 05:23 pm (UTC)no subject
Date: 2009-04-24 05:48 pm (UTC)Так, например, в C++ () и [] в принципе не взаимозаменяемы (operator() и operator[]), а <...> (или <<...>>) в качестве скобок не годятся:
a < b + c > - d двусмысленно.
(: уже не понятно, о чём спор :)
Date: 2009-04-24 10:02 pm (UTC)Re: (: уже не понятно, о чём спор :)
Date: 2009-04-24 10:15 pm (UTC)Re: (: уже не понятно, о чём спор :)
Date: 2009-04-24 10:24 pm (UTC)В Форте скобок как таковых, насколько я понимаю, вообще нет. Бэйсик вроде бы одним видом скобок обходится. Если считать SGML/XML языком, то в нём только один вид скобок <...>.
Re: (: уже не понятно, о чём спор :)
Date: 2009-04-24 10:31 pm (UTC)Как я мог забыть Бейсик! И Фортран!