Added upstream from http://ftp.icm.edu.pl/pub/loglan/
[loglan.git] / HTML / openpbms.htm~
1 <HTML>\r
2 <HEAD>\r
3 <TITLE>Open research problems</TITLE>\r
4 </HEAD>\r
5 \r
6 <BODY>\r
7 <H1><img src="loglanmm.gif"> Open problems and questions</H1>\r
8 <P>Loglan'82 is the <A HREF = "credits.html">result</A> of university \r
9 research.\r
10 We were not pretending to conquer the market. It happened however that the\r
11  language turned out to be \r
12 a good vehicle for teaching objects. Its features still make him\r
13 a good candidate language for those who wish to have a reliable\r
14 tool for programming quite complicated algorithms, data structures and \r
15 systems.\r
16 \r
17 <P>On the other hand we believe that it is necessary to study the \r
18 problems and questions which arise in the domain of object\r
19 programming.\r
20 We believe that the progress is done by profiting from the experience \r
21 and results obtained by others and by adding someones own results.\r
22 Therefore we propose to study the questions listed below.\r
23 To our knowledge they are still open. We shall be happy to hear any news\r
24  and comments\r
25 from you.\r
26 \r
27 <P><H2>List of open questions and problems</H2>\r
28 \r
29 <UL>\r
30  <li><P><STRONG>1.</STRONG><EM> Is it possible to have simultaneously in\r
31  one programming language:<BR>\r
32    <UL>\r
33      <li>nesting of modules,\r
34      <li> multiple inheritance? \r
35    </UL></EM>\r
36    <p> REMARKS.<BR>\r
37      a) One may doubt: do we need nesting of modules in the presence of\r
38         (multiple) inheritance? I believe that YES, we really need both \r
39 ways\r
40         of module's construction.<BR> \r
41      b) From the experience of Loglan'82 we know that <STRONG>nesting + \r
42 multilevel \r
43        inheritance + multikind inheritance + effective managemant of\r
44        objects </STRONG> is possible. Similar experience is witnessed by BETA\r
45        project.<BR>\r
46      c) It is possible to simulate multiple inheritance in Loglan'82\r
47        (to some extent).<BR>\r
48      d) Still, one may doubt whether a consistent semantics of a language\r
49         that admits both multiple inheritance and nesting exists. \r
50         Another question which is strongly related to this one arise: \r
51         can we do it efficiently?\r
52  <li><P> <STRONG>2.</STRONG> <EM>Is it possible to manage in a (quasi-) uniform way object of different \r
53       nature:\r
54       <UL>\r
55        <li> "usual" objects,\r
56        <li> persistent objects,\r
57        <li> process objects - they may be realised as network objects\r
58             or process-objects in a parallel computer?\r
59       </UL></EM>\r
60       \r
61       <p> REMARKS.<BR>\r
62          a) The experience of Loglan'82 witnesses that usual objects and process objects \r
63          may coexist.<BR>\r
64          b) We imagine that the system created by A. Kreczmar may be easily\r
65           cloned in order to manage persistent objects.<BR>\r
66          \r
67           \r
68  <li><P> <STRONG>3. </STRONG> <EM>Is it possible to use the mechanisms of \r
69 classes, inheritance etc. in order to \r
70          manage the libraries of predefined modules?</EM>\r
71        <P>REMARKS.<BR>\r
72            We imagine that it would be much better to use inheritance etc.\r
73            instead of #INCLUDE <file> mechanism. Why we should mix up these \r
74            notions so different: file and module?\r
75  <li> <P><STRONG>4. </STRONG><EM>Is it possible to conceive the virtual\r
76  Loglan computer (i.e.\r
77           its interpreter or if you prefer its running system) \r
78          as a confederation of processes?</EM>\r
79        <P>REMARKS.<BR>\r
80          In fact the present system of Loglan'82 is already a pair of processes\r
81          1° an interpreter of graphic commands and 2° the running system of Loglan'82\r
82             itself.\r
83 \r
84  <li><P> <STRONG>5. </STRONG> <EM>How to specify and implement a symbol\r
85  table for a language \r
86         (say Loglan'95) that admits both nesting and multi inheritance?</EM>\r
87          <p> REMARKS.<BR>\r
88           To tell the truth we know how to implement the sumbol table. It \r
89           seems very interesting to make and publish a specification of \r
90           this subsystem of the future Loglan'95 system as it contains \r
91           plenty of interesting features and brings a new and important variant \r
92           of the notion of dictionary data structure [cf.]\r
93  <li> <P><STRONG>6. </STRONG> <EM>Is it possible to use efficiently object \r
94         programming in a compiler\r
95         project?</EM>\r
96         <P>REMARKS. We wish to advocate two theses: that the recursive \r
97          descending analysis should\r
98          gain as much attention as the ascending one, that OO programming\r
99          has to play its proper r&ocirc;le in the automatic construction of parsers.\r
100          Moreover, we see the importance and multiple usage of trees of\r
101          abstract syntax of a program for various transformations of it.\r
102          \r
103  <li> <P><STRONG>7. </STRONG> <EM>Is it possible to construct an editor \r
104 which would aid the programmer \r
105        to develop a program within certain guidelines of "good" programming?</EM>\r
106        <P>Remarks. We believe that it is possible to give a new shape to\r
107           the "webbing" of programs as proposed by D. Knuth.\r
108 \r
109  <li><P> <STRONG>8. </STRONG><EM>Is it possible to conjuge the compiler\r
110  project for Loglan'95\r
111         together with a proof assistant project for Algorithmic Logic?</EM>\r
112        <P> REMARKS.\r
113        \r
114 \r
115 </UL>\r
116 As you see the list of questions is quite long. We would appreciate any\r
117  help.\r
118 We are looking for collaborators to work together on the problems listed \r
119 above.\r
120 There is plenty of work for everybody.\r
121 For example, we have a system of network objects=processes written by\r
122 Pawel Susicki. He could not debug the system. Would you?\r
123 <hr>\r
124 <a href="availlty.htm"><img src="prevpage.gif"> </a>\r
125 <a href="loghome.htm"><img src="homepage.gif"> </a>\r
126  <a href="credits.htm"><img src="nextpage.gif"></a>\r
127 \r
128 <HR>\r
129 <A HREF = "GMyAS.html">Andrzej Salwicki</A> Last update Fri 19 May 1995\r
130 </BODY>\r
131 </HTML>p