Subject: Re: Conditions in Refal-5.
From: Arkady Klimov (arklimov@keldysh.ru)
Date: Mon Feb 09 2004 - 13:43:20 MSK
������, ������ ����.
----- Original Message -----
From: "Savtchenko Maxim" <savmaxru@gcnet.ru>
To: <refal@botik.ru>
Sent: Monday, February 09, 2004 2:11 AM
Subject: Re: Conditions in Refal-5.
| ���� ������� <�����_�����> :-)
|
| ����� ��, ����� �����. ������ ���� ���� ��������� ������� �� ���� ���� �������
| ������ �����, ������ ��� ���������� ��������� � ���������� �����������. ��������
| ����� �� ������.
|
| ----- Original Message -----
| From: "Arkady Klimov" <arklimov@keldysh.ru>
| To: <refal@botik.ru>
| Sent: Saturday, February 07, 2004 11:28 PM
| Subject: Re: Conditions in Refal-5.
|
|
| > ������, ������ ����,
| >
| > ����� ��� ������� ���������� �����, � ���� �� ���� ������� ��������.
| > ��� ������-6 �����-�� (����� 10 ��� �����) ���� ���� ���������� �������
| > ���������� �������� ���������� � ���������(!), � ������� �����������
| > ����, ��� ������ �� ����� ��������� "�������" � "���������" �� � �����
| > [result:pattern], �� � ����� [pattern,result], � ������� � �� � ������
| ��������
| > �������� ������� "��������", "action", ������������������ ������� �
| > �������� "�����������". (� ��, ���� �� ������ ������, ����������).
| > ��� ���� �� �������� ����� ����� ��������� ����� �������, ��� �� ��� ��
| > ����������� - ����� ���������, ��������
| >
| > F { s1 e2 : e3 s4 = <Print e2> = <Print e3> };
| >
| > F �������� ������ � �������� �� ��� �������, � ����� ��� ���������� �������
| > ������, ���� ������ ����������, ��� ������� ��� �� "��������� ��������".
|
| ��� ����� ��� ������� ��������� �������������. �� ��������, ��� "�������" �
| "���������" �� �������� ������������, � ������������� �� �� ����� ���������. ���
| ����������� ������� ��� �� ������� ���������, ���� �������� � ������ ������. �
| ��������� ������ ��� - ���� [pattern,result] (��� [result:pattern]), ���
| �������� �������� ���������� ����������� �������� ��� ������� "��������", �
| ������������ ����� ����������� ��������� "�������" � "����������" �������������
| ��� ������� ������ ���. � ���� ������ ��� ������ ���������� �����ݣ���� ������
| ������ ���������� �����������:
|
| F { s1 e2 [, s1 e2] : e3 s4 , <Print e2> [: e_] = <Print e3> };
|
| ����������� �������� �������� ���������� �� ������ ����� ������, "e_" -
| ��������� e-���������� (������, ���������, ������� �� � �����-������ ��������
| ������-5 ������� ��������� ���������� �������, ������ � ��� ��� ������������
| ����� ����������� ������������).
��� ����������� ���� � ������ ��������� ������, ������� � ����� ����
(� ����� - �����-6, �����-J): ������ ������ "�", "s", "t". ���� �� ���
� ��������� ������ ������-5, � �� ����, �� �����, ��� ���.
| ��������, ��� �����ݣ���� ������ ����� ����
| ��������� �� ������ �������������, ��� ������ �������� ���������: ����� ���
| ������ ������ ������� - ��������� ����� ���� ��������� ������ ������� �� ���;
| ����� ��� ������ ������ ���������� - ��������� ����� ���� ������� ��������� ��
| ����� ��������� e-����������. ������� ����� ������� ��� ���������, ���� �
| ������ ������ �������, ������ ������. ����� � �������: ������ ���������� �����
| �� ��� "s1 e2, s1 e2" �� ���ͣ�, ��� ������� ��������� ��������� ����� ������
| �������� ������ ����������, � ����� �������� ��� �� �������� ���������� ���
| ������ ���� �������������. �� ����� ������� ������� ��� �� �������, �� ���� �
| ������� ���� �������� ����������, �� �������� ��������� ����� �������������� ���
| ������ �� ���������. ��� ������� ���� �������� ������� �������� �� ���������
| �������� ���� ��������, ����� �� �������� ����������� �������� �������������
| �������� ������ ������ �������.
������� ������, ���� �������� ������������� ����������. �����, ���� �����������
���� ������� �� ����������� ���������� �������� ����������.
| ������ ��������� (�������������) ������
| ������������ ����� - ��� �������� ������ ������ ������ �����������. � �����
| ������� �� �������� ���������� �������� ������� "Print", � ������� ���� ��������
| ������. �����, �� ��� ������, ������ ������ ��� �������������� ����, � ������
| ������ ������ ����������� ������ �����, ���� � ������� �� ��� ��� ���������
| �������. ����� - �������� � �������������� ���� ����� ��������� �� ��� ��������
| �������� ��� ������� ��������.
��, ������ ����������-��������������. ���� � ������ ����� ������, �������� �������
"������������� �������� �������� [� ��������� - ���������� ��������� ����� -
����. ��] �������� ������������ ������ ���������������� �� ����� �����" (�.������).
� �� �������� ���������� �����-��������� ���������� ���������� ��� �������
������������������ ������������ �����, � �� �����-�������������, ��� Haskell,
��������. ��, ��� � ������ ���� ������-�������������� ������������ - ��� ����������
������������, ��� ����� ��� ��� ���������� ����, ����� ���� ������� ���������
��������� ������ ������� ����������. �� ����� ��������� (� �������������� - ��
����������) ����� ����� � �������� ����� �������� ����� � ���������.
�� ���� �� �����-�� ������ ��������� (����� ����� �������) ����� ��������
��� �� ����������. � ����� �����, ��� ����� �������� �� _� ����_, � �� � �����-��
�������������� ��������.
|
| > � ������ - ���� � ������� ����� ��������, ������� ������ � ������ ��������
| > ������-6. � ���������, �� ����� ��� � �������� ����� � �������, ����� ���
| > �� ���� ����������.
| >
| > ��������� ��� ����� ��������� ���������� (�� ��� �� ��� ����� �����
| > ����������) � ������ �� ������� ����� ������ ���, ��� �������������
| > �� ��� ������ �����. ����� �������� ����������� ��� ��, ��� �����������
| > ��������� � ��������� ����� �� ������ ����, �� ������������� ���������
| > ���������� ���, ��� � ��������� ��� �������� ��� ��������� �����������
| > ���� result:pattern, � � ���� ����� ����������� ���.
| >
| > ����� ����, �������� �������� ��� � � ��������� � � ���� ���������
| > ����������� �� ������� ��������������� ��������, ��������, ���� ���������
| > ������� (��� �������� �������������� � ��������� ����������), ����
| > ��������� �����, ���� ��������� ������ ��� ����.
| > � �������� ���� ��� �� ��� ���������: ���� ���������� ������������ ���������,
| > ������������ ������, ������ - ����� ������������ ����������, ������,
| > ���������� ��������� ������, ���� ������������ ������ ������.
| > ��������� � ������ ��� ��������, ������� � ��������� ������ ����� � �����
| > ������, �� � ���������� ��� ����� ������� ������������ ���������
| > ����-�� ����� ������ ��.
|
| ��� ��� ����� ������� �������, ���� ��� ���������� ����������� �����
| �����������. ������ � ������, ��� ��������� � ������Σ���� ���������� �ӣ-����
| ���������, ���ޣ� ������ [pattern,result], � �� [result:pattern]? ���� ���������
| �� �����-������� ������ (�����������, �����, ������, � �. �.) ��� �� ޣ����
| ����� (���� - �����, � �� �������� - ��) �� ����� �������� ��� �� ���������
| ����� ������. ��� ��� ����� ��� ����� (���� ������ � ��������� ���������
| ����������) � ��� ������ (����������). � ����� ������ ��� ������ �����������
| ������� �� ����� ������, � ����� �� ���������� �� ������ (�������� ���� ������
| ����� ���������� �� ��������, � ���� ����� � �����������). � ���� ��� ����
| �����, ����������� �������� ��������� ������� ������ ��� ���� �� ����� (��
| ������ ������ ����� ����� ����� ������������� ����������). ������, ����
| ��������� �� �����-��� ������ ("�������" � "����������") � ��� �� �������,
| ���������� �����, ��� ���������� ��������, ���������� ����� ������������������
| ���������� �������� ���� [pattern,result]. ��������� "�������" ����� ������
| ����������� ������� � �������� ���� ������. ��������� "���������" �� ������� ��
| �������� ���� ������, ����� ������ ����������� ������� � �������� ���������
| ��������� ���������� � �� ����� ����� ���������� ��������. ���� [result:pattern]
| ������ �� ����� ������� � �������� ����� ������. � ������ ���� [pattern,result]
| ��������� ���������� �����-��������. ��� ������������� �������� � �������: � ���
| ���� �������� ������ ���������� ����. �� ���� ������� ���? ����� �������, ��� ��
| ������� �� ���� � ����������, �� �ӣ-�� �������� �������, ��� �� ������� ��
| ���������� ������, ������ �� ������� �������� ���������� ����� ����, �� ����
| ������. � �ӣ ��� ������ ������ - ��������� ������ � ������ �� ���� �������.
| ����� ������ ��������� ������� ��������������� ������ ��������, ޣ��� ��������
| "�������������" ����������� � ������ �� "��������� ��������" ������������� �
| �����������.
|
| � �������� �ޣ��, �ӣ ��� �������� ���������� � ������� ����������, ��� ���
| ������� ����� ��������.
��������, ��� "����������", �� �� ������ ���� ���������� ������ ���������
� ������������ ���������. � ���-����� ������ �������� �� ������� � ������ ������.
���� � ���, ��� �������� ������ �������� ������� (����� 80-� - 90-�) ����
���������� �� ��, ����� ���� ����������� ���������������� � ������� � ���
����� � ��������������� ��� ��������, �� ������� ������� ��� ���������.
� ���� ��������� ������ ����� �����, �� �� ����� ������ ������� ���������
������: � ������ ��� � ��� (� ���) � ������ ���� �� ������ ����� ����������?
� ������ ��� ��� ����������� ��������� ������ ����� "������" ���
������������������? ��� �������� �����- � �����-����! ���������!
� �������� �� �������� � ��������� ��������� ������. ������, �����
����������� ���� � ����� ����� �����������, ��... ��������, ��� ��� ��� �������.
(� �� ������ �������� �� ��� �������� � �� ������� ��������������: ���� ���� -
��� �� ����� ��� ����� ��������� �������).
|
| > ����� ����, ��������� ���������� ��������, � � ��������� - "�����������",
| > ������ ���� ��������� ������ (����). ������ ��� ���� �����
| > �������, ��� ���� ��� ���������.
| > ������� ��������, ��� ���� ���������� ��������� ��������
| > ������� ��� ����������� �������� ������ � ���������: � ���� ���������,
| > ������ �������� (���������� ���������), ���� ��� �������� � �����
| > ���������� ��� ��� ������������ ����������, ����� �� ������������
| > � ���������� ���������� (�������, ��� � ��� ������ ���� ���������).
| > � �� � ����� ����������� ��� ��������:
| >
| > > �� ������ 0 - ��������� ����������� � A ���������� ��������� �� �������
| ����
| > > ������, � ��� �� ��������� � ���������� ������������� P � ������� �����
| > > ������.
| >
| > ����, � ��� ������������ ������� "���������� ��������� �� �������
| > ���� ������", �� ���� ��� �������� ��������������.
|
| ����� � ��� �� �����, �� ������� �� �� �������� ����������� ������� ����:
| "��� ����� ������ ���������� ��������� ��������� ���� ��������� ���� ���������
| ���������� � �� ����������."
��, �� ������ ��������:
> �� ������������ ����� <P, A>, ��� P -
> ���������-�������, � A - ����� ���������.
���� � - ���������, ����� ���� �����, �� "��������� ����������� � �" - ����
�� ����� ��� ���� ���������. ������ � � ������ �����, ��� �� ������ 0, ���
� �� ����� ������ - ���� ���� ���������.
����� ����, ������� ���� ��������� ��� � ���, ��� �� ����� ���� �����������
�������, ������� ���������� � ������ ���� � �������������� � ������������
������ ������: ������� _���� ������_. �������, ��� ��� _������� ���������_
(�� ���� ��������� ��� ����������), �������� ���� ���������� ����� ���������
_�����-������_.
� �������������� �� �������� ���������� �������� -
�������
|
| > ������, ����� ������� � ���, ��� ����� ������ �� � ����� �������
| > ������� � ���������� �� ���������, � ���������� ������ �������� �
| > ����������. ��� ���� ������������ �� ���������� ����� ��� � ��� �
| > ���������, ��� ���������, ��� � ��� - ��� ���� �����.
| > �������.
| >
| >
| >
| >
| >
| >
| >
| >
| >
| >
| >
| >
| >
| >
| > ----- Original Message -----
| > From: "Anton Orlov" <orlov@mccme.ru>
| > To: <refal@botik.ru>
| > Sent: Saturday, February 07, 2004 1:50 AM
| > Subject: Re: Conditions in Refal-5.
| >
| >
| > | ������ �����!
| > |
| > | On Fri, Feb 06, 2004 at 12:56:59 +0300, Savtchenko Maxim wrote:
| > | > Andrei Klimov <klimov@keldysh.ru> wrote:
| > | >
| > | > > � �� �������� (���� � ��������� �����, ��� �� ������ � ����),
| > | > > � ���� ������ ��������, ��� �������� ������ �� "�������������"
| > | > > ���������� ������ ���� ��������� �� ������ 80-� � 90-�
| > | > > ��� ���������� ������ ����, � ����� ����������� ������
| > | > > � ������-6 (������ ��� Refal-J -- ����� ��� ����).
| > | >
| > | > ������, �� �������� �������� �������� �������� �� �����:
| > | >
| > | > "... � ����� ������ ��������� �� ������������� ����� �� ���������� ��
| > | > ���������, � ������� ��� �� ����� �������� �������������."
| > | >
| > | > ������ ���������� � ���� ���� �������� �����������, ���������� ���� �����
| > | > ����� ������ ����-���� ��������� ��� � ������� ��������� �������� ��
| �����.
| > | > ��� ��������� ���� - �������� �� ���-������ ��������� �� ���������
| > | > ����������� ������� � ������ �������. ����������� ������ ����������� ��
| ���
| > | > "������������ ���� � ����� ������ � �������� �� ������, ���� �����������
| ���
| > | > �������", � ��� �� ������ ��������� � ���������������� ������� "�������
| > | > �����������".
| > |
| > | ��� �������, ��� ���������� �����-����������� ������� ��������
| > | ������� �� ��������� �����-��������� + ������ ����������
| > | ���������� � ��������� �����-���������.
| > |
| > | ���� � ��������� �������, ��������� ������� ���� ����������
| > | ����������� ������������ ��� ��������� �����5-�����������,
| > | ������� ���������� �� ������ ������� ������� �������� �����������
| > | �� [pattern, arg] � ������������� ������������������
| > | ��������������� ������� (����������) [arg : pattern]. ��� ���?
| > |
| > | �� ���� ��, �� ����, ����������� ������ ������� �� ���������, �
| > | ���������� �����������, ���� � ������������� ������ ������ � ����
| > | ���.
| > |
| > | ������ �� ��������� (�������������) ���������� ������ �ģ� ���
| > | �����, ��� ��� � ������� ������ ������������. ��� ��������� (���
| > | �����) ���� ������ ��� ������ ��� ���������� �����������
| > | ��������� (��), ���������� �������� ��� ����������� �����������
| > | �������� �� ���� ����������� ��������� ������.
| > |
| > | ��������� ������ �� ����� ���������� �� ������:
| > |
| http://skif.pereslavl.ru/skif/index.cgi?module=chap&action=getpage&data=refal\as
| -syntax.html
| > |
| > | ����� ��, ��������������� �����5-�����������, ��������
| > | ���:
| > |
| > | e.Sentence ::= /*Empty*/ | t.Action e.Sentence
| > | t.Action ::= t.Pattern | t.Result | t.Block
| > | t.Block ::= (BLOCK e.Branches)
| > | e.Branches ::= /*Empty*/ | t.Branch e.Branches
| > | t.Branch ::= (BRANCH e.Sentence)
| > |
| > | t.Result ����� -- ��� ������������ ���������. � ��� ��� �������
| > | expression.
| > |
| > | > ��������� � ���, ��� � ����� ������� ���������
| > | > ����������� ������ �����������, ������� � ����� ��������� ����� ��� �
| > | > ������������, �� ���, ������ � ������� ������ ������ �� ������� :-(. �����
| > | > �� ��� ��������.
| > |
| > | ��� �������������, ������ ��� ��������� ����� ����������� �������
| > | ������ ���������� ����� ��������� ������� �����5-�����������.
| > |
| > | � ������ �������, �������� ���� ����� �� ��������� ����������
| > | �����������, ������� �������� �� ������-5 ��� �� ��� ������.
| > |
| > | �������� (� ���������� ������ ����):
| > |
| > | F e1 =
| > | e1 : {
| > | (s2) = s2;
| > | s2 = s2;
| > | } : {
| > | 1 = "Refal is cool!";
| > | 2 = "Refal is very cool!";
| > | };
| > |
| > | ����� �������� ��� �� ������-5, ����� ������������ ����
| > | ��������������� �������, ���� ��� ����� ���������� �����.
| > |
| > | �����.
| >
|
|
This archive was generated by hypermail 2b25 : Mon Oct 25 2004 - 21:24:59 MSD