Path: news.daimi.aau.dk!news.net.uni-c.dk!uninett.no!howland.erols.net!cs.utexas.edu!utnut!utcsri!not-for-mail Newsgroups: comp.lang.c,comp.lang.c++,comp.lang.forth,comp.lang.ada,comp.lang.fortran,comp.lang.lisp,comp.lang.prolog,comp.lang.modula2,comp.lang.smalltalk,comp.lang.scheme,comp.lang.eiffel,comp.lang.apl,comp.lang.rexx,comp.lang.clos,comp.lang.objective-c,comp.lang.vhdl,comp.lang.idl,comp.lang.tcl,comp.lang.verilog,comp.lang.logo,comp.lang.oberon,comp.lang.python,comp.lang.beta,comp.lang.cobol,comp.lang.clipper,comp.lang.awk,comp.lang.pl1,comp.lang.javascript,comp.lang.clarion From: jbrains@cs.utoronto.ca ("J. B. (Joe) Rainsberger") Subject: Q: Features of your programming language X-Nntp-Posting-Host: dvp.cs.toronto.edu Content-Type: text/plain; charset=us-ascii Message-ID: <357EC993.6B0E@cs.utoronto.ca> Content-Transfer-Encoding: 7bit Date: 10 Jun 98 17:59:49 GMT MIME-Version: 1.0 X-Mailer: Mozilla 3.01 (X11; I; SunOS 5.4 sun4m) Lines: 85 Xref: news.daimi.aau.dk comp.lang.c:316812 comp.lang.c++:333888 comp.lang.forth:48646 comp.lang.ada:78236 comp.lang.fortran:69898 comp.lang.lisp:42276 comp.lang.prolog:29265 comp.lang.modula2:27013 comp.lang.smalltalk:75388 comp.lang.scheme:34099 comp.lang.eiffel:37143 comp.lang.apl:24094 comp.lang.rexx:34221 comp.lang.clos:14453 comp.lang.objective-c:17838 comp.lang.vhdl:26177 comp.lang.idl:11407 comp.lang.tcl:93184 comp.lang.verilog:19208 comp.lang.logo:16525 comp.lang.oberon:19805 comp.lang.python:46599 comp.lang.beta:11613 comp.lang.cobol:47293 comp.lang.clipper:60132 comp.lang.awk:6857 comp.lang.pl1:3320 comp.lang.javascript:89493 comp.lang.clarion:55223 (I'm sorry for the big cross-post, folks, but I am trying to get as many replies as possible to what is a legitimate request for information. Don't judge me too harshly.) Hello, everyone. I am a Master's Degree student at the University of Toronto conducting research into certain features of computer programming languages. It would be nice to be able to say that I have experience with a large number of programming languages, but that is simply not true. For this reason, I could use your help. Please fill out the following small form and send it to me. I'm simply asking questions about how you would classify your programming language with respect to certain properties. I consider this to be more effective than looking into a reference manual, simply because I am more interested in what features of your programming language you are using than simply what is available. Also, there may be things about your language -- tips and tricks, if you will -- that I would not be able to discern from a reference manual. That all having been said, please take some time to fill this little form out. I appreciate your effort. ---------------------------------------------------------------------- PROGRAMMING LANGUAGE: (eg. Pascal, Watcom Basic, MSVC++ 5.0) Please select as many as are appropriate: My programming language offers: [ ] No means to declare variables/identifiers [ ] Means to declare identifiers without specifying their type [ ] Means to declare identifiers including their type, but limited to a set of basic, language-defined types [ ] Means to declare identifiers including their type with the option to define more complex types which are compile-time verifiable [ ] *Means to declare identifiers including their (possibly user-defined) type where some type issues require a prover [ ] *Means to declare identifiers including their (possibly user-defined) type where some type issues require a prover but proving is infeasible, but run-time checking is appropriate [ ] Means to assert the correctness of boolean expressions concerning the value of a single variable -- a failed assertion results in some kind of run-time message My programming language offers: [ ] Means to verify relationships among variables based on their types -- (includes expression and subprogram parameter type checking) [ ] Means to verify relationships among variables based on their values -- (includes mathematical and logical expressions) [ ] *Means to verify relationships among variables based on their semantics or some interpretation of their role -- (includes aggregate types like structures, records, unions and objects) Variables in my programming language may have: [ ] Global scope only [ ] Module-level scope or more general [ ] Subprogram scope or more general [ ] Block scope (as in C) or more general My programming language supports: [ ] Verification of single-state conditions -- (assertions) [ ] *Verification of preconditions/postconditions for subprograms [ ] *Verficiation of conditions over a region of a program -- (factored assertions) [ ] *Verification of conditions over the entire program Please provide examples of any or all of the above statements marked by an asterisk (*). Take as much space as you need to offer your examples or give references where I can find such examples. ---------------------------------------------------------------------- Thanks very much for your time. If you have any further questions, do not hesitate to ask them. Otherwise, please take the time to fill out this little form and e-mail it to jbrains@cs.toronto.edu. Have a nice day! -- J. B. (Joe) Rainsberger University of Toronto, Computer Science Department http://www.cs.utoronto.ca/~jbrains