comp.lang.ada
 help / color / mirror / Atom feed
* List of Negative Language rules?
@ 2012-08-05 14:39 Patrick
  2012-08-05 15:24 ` Bill Findlay
                   ` (4 more replies)
  0 siblings, 5 replies; 21+ messages in thread
From: Patrick @ 2012-08-05 14:39 UTC (permalink / raw)


This post is not a complaint and I hope it won't generate complaints about the language, it is a request for help in organizing language constructs.

Ada is a feature rich language but as we know it is neither trivial to learn or even more so,  trivial to write a compiler for.

One thing I am having a hard time with are all the negative rules. I am NOT complaining about any of these but some very simple examples:

Pre-Ada 2012 functions cannot take in parameters
Functions cannot return concurrent types
Tasks cannot return access parameters
etc

Again, I am not complaining, I am sure that all these sorts of rules have logical reasons(some of which I already know about) but my concern is how many there are. I am just about finished the Barnes Ada 2005 book. I didn't count but I betting there could be 100 of these sorts of rules though out the book.

Does anyone happen to know if there is a list of negative language rules? If not I could try to re-read the book and compile a list. I think it would make for a good cheat sheet to paste to the wall to avoid programming errors.



^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: List of Negative Language rules?
  2012-08-05 14:39 List of Negative Language rules? Patrick
@ 2012-08-05 15:24 ` Bill Findlay
  2012-08-05 15:43   ` Patrick
  2012-08-05 19:17   ` Niklas Holsti
  2012-08-05 16:02 ` Nasser M. Abbasi
                   ` (3 subsequent siblings)
  4 siblings, 2 replies; 21+ messages in thread
From: Bill Findlay @ 2012-08-05 15:24 UTC (permalink / raw)


On 05/08/2012 15:39, in article
e6963165-d99c-4b35-be88-b9f7aa8d5f4a@googlegroups.com, "Patrick"
<patrick@spellingbeewinnars.org> wrote:

> 
> Does anyone happen to know if there is a list of negative language rules? If
> not I could try to re-read the book and compile a list. I think it would make
> for a good cheat sheet to paste to the wall to avoid programming errors.

Trying to beat Dmitry to it: there is an infinity of negative rules.
You would need to use Hilbert paper. 8-)

More seriously: have you seen the Ada Rationale?


-- 
Bill Findlay
with blueyonder.co.uk;
use  surname & forename;





^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: List of Negative Language rules?
  2012-08-05 15:24 ` Bill Findlay
@ 2012-08-05 15:43   ` Patrick
  2012-08-05 19:17   ` Niklas Holsti
  1 sibling, 0 replies; 21+ messages in thread
From: Patrick @ 2012-08-05 15:43 UTC (permalink / raw)


Hi Bill

I had heard about it but never read it. I just found the Ada 2005 one at adaic.org. This will help a lot in terms of explaining the reasons but I, and likely other people new to the language, could use some sort of summary of these rules.

I can try to build a list but I don't want to duplicate work already done. I am hoping it's available somewhere.

Thanks



^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: List of Negative Language rules?
  2012-08-05 14:39 List of Negative Language rules? Patrick
  2012-08-05 15:24 ` Bill Findlay
@ 2012-08-05 16:02 ` Nasser M. Abbasi
  2012-08-05 16:14   ` Patrick
  2012-08-05 16:33 ` Yannick Duchêne (Hibou57)
                   ` (2 subsequent siblings)
  4 siblings, 1 reply; 21+ messages in thread
From: Nasser M. Abbasi @ 2012-08-05 16:02 UTC (permalink / raw)


On 8/5/2012 9:39 AM, Patrick wrote:

> Pre-Ada 2012 functions cannot take in parameters
> Functions cannot return concurrent types
> Tasks cannot return access parameters
> etc
>
>
> Does anyone happen to know if there is a list of negative language rules?


This question is not well defined really.

What you call a "negative rule", I can call a "property".

But if the word 'cannot' is what causes you to call it a
'negative' rule, then what would you call the same rule when
I change

      "Tasks cannot return access parameters"
to

      "Tasks are allowed to return non-access parameters"

Is it a "positive" rule now?

But if you really insist of your definition of negative rule,
I would download the .pdf file of the RM, and search for the words
"cannot" and "not allowed" and "forbidden" and so on. This should
find all such "negative" rules? I never heard of such a list before,
because I think it is not well defined what it means to be a negative
rule.

--Nasser




^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: List of Negative Language rules?
  2012-08-05 16:02 ` Nasser M. Abbasi
@ 2012-08-05 16:14   ` Patrick
  2012-08-06  2:56     ` Randy Brukardt
  0 siblings, 1 reply; 21+ messages in thread
From: Patrick @ 2012-08-05 16:14 UTC (permalink / raw)
  Cc: nma

I wrote back to Bill and it still has not posted, that was 40 minutes ago. .....

Not sure when this one will show up....

Thanks Nasser

I agree the term negative might not be right but I don't know what to call rules that are about what can't be done.

Thanks for your tip. I am now using pdfgrep on the RM to look for certain words



^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: List of Negative Language rules?
  2012-08-05 14:39 List of Negative Language rules? Patrick
  2012-08-05 15:24 ` Bill Findlay
  2012-08-05 16:02 ` Nasser M. Abbasi
@ 2012-08-05 16:33 ` Yannick Duchêne (Hibou57)
  2012-08-05 17:10   ` Patrick
  2012-08-05 18:07 ` Vasiliy Molostov
       [not found] ` <p6ft18dvj55o0h1j3af7ic08f2omoc1j20@invalid.netcom.com>
  4 siblings, 1 reply; 21+ messages in thread
From: Yannick Duchêne (Hibou57) @ 2012-08-05 16:33 UTC (permalink / raw)


Le Sun, 05 Aug 2012 16:39:42 +0200, Patrick  
<patrick@spellingbeewinnars.org> a écrit:

> This post is not a complaint and I hope it won't generate complaints  
> about the language, it is a request for help in organizing language  
> constructs.
>
> Ada is a feature rich language but as we know it is neither trivial to  
> learn or even more so,  trivial to write a compiler for.
>
> One thing I am having a hard time with are all the negative rules. I am  
> NOT complaining about any of these but some very simple examples:
>
> Pre-Ada 2012 functions cannot take in parameters

Or the other way: Post-Ada 2005 functions can get out parameters. That  
would be less an issue if they was a way to remind at call places, what  
the status of a parameter is. There use to be some proposals at  
comp.lang.ada, but none reached the formal proposal process. Prior to Ada  
2012, looking at a function invocation, you were rather sure parameters  
were not modified, except indirectly if you passed it a access to  
something, and this certainty existed only for functions, now it's gone  
and that's now less easy to trust what you see.

P.S. You've made a typo in your sentence. You probably wanted to say  
“Pre-Ada 2012 functions cannot take out parameters”

-- 
“Syntactic sugar causes cancer of the semi-colons.” [1]
“Structured Programming supports the law of the excluded muddle.” [1]
[1]: Epigrams on Programming — Alan J. — P. Yale University



^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: List of Negative Language rules?
  2012-08-05 16:33 ` Yannick Duchêne (Hibou57)
@ 2012-08-05 17:10   ` Patrick
  0 siblings, 0 replies; 21+ messages in thread
From: Patrick @ 2012-08-05 17:10 UTC (permalink / raw)



> P.S. You've made a typo in your sentence. You probably wanted to say  
> 
> “Pre-Ada 2012 functions cannot take out parameters”
> 
> 
Yup! That was a mistake thanks



^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: List of Negative Language rules?
  2012-08-05 14:39 List of Negative Language rules? Patrick
                   ` (2 preceding siblings ...)
  2012-08-05 16:33 ` Yannick Duchêne (Hibou57)
@ 2012-08-05 18:07 ` Vasiliy Molostov
       [not found] ` <p6ft18dvj55o0h1j3af7ic08f2omoc1j20@invalid.netcom.com>
  4 siblings, 0 replies; 21+ messages in thread
From: Vasiliy Molostov @ 2012-08-05 18:07 UTC (permalink / raw)


Patrick <patrick@spellingbeewinnars.org> писал(а) в своём письме Sun, 05  
Aug 2012 18:39:42 +0400:


> Does anyone happen to know if there is a list of negative language  
> rules? If not I could try to re-read the book and compile a list. I  
> think it would make for a good cheat sheet to paste to the wall to avoid  
> programming errors.

Rationale should be a good reading.

In general, a language element, being an universal atomic part of a mosaic  
composed of such elements, provides you with ability to picture possibly  
any application, but to follow such universality each one should conform  
to some ruling.

The thing here is similar to fractal seed definition. without such  
definition a diversity of resulting fractals will not grow. This means  
that you will restrict yourself in application design up to inability to  
express your desired application.

To enumerate seeds with incorrect fractal definition (your case) you  
should accept that their count can be close to equal to all possible  
diversity of resulting fractals minus those are the correct ones and are  
what you have decided as appropriate to you. I dont know which is  
appropriate to you, but suppose that Ada is appropriate too, and with Ada  
rules you can get mostly working (meaningful) error-free application.

With functions having out (or in out) parameters you will not be able to  
write expressions without side effects, since these will break elementary  
algebra ruling, for example the order of evaluation becomes inconsistent  
with what you have wrote, and this gives you (and possibly another reader)  
incorrect reading and ability to search these breaks forever, which is not  
you might want. Ada is aimed to prevent incorrect reading, e.g. a  
'readability' kind.

BTW, you can still use 'access' type parameters in functions instead  
(which is the same as 'in out').

ps. perhaps this is too abstruse, sorry for that.

-- 
Написано в почтовом клиенте браузера Opera: http://www.opera.com/mail/



^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: List of Negative Language rules?
  2012-08-05 15:24 ` Bill Findlay
  2012-08-05 15:43   ` Patrick
@ 2012-08-05 19:17   ` Niklas Holsti
  1 sibling, 0 replies; 21+ messages in thread
From: Niklas Holsti @ 2012-08-05 19:17 UTC (permalink / raw)


On 12-08-05 18:24 , Bill Findlay wrote:
> On 05/08/2012 15:39, in article
> e6963165-d99c-4b35-be88-b9f7aa8d5f4a@googlegroups.com, "Patrick"
> <patrick@spellingbeewinnars.org> wrote:
> 
>>
>> Does anyone happen to know if there is a list of negative language rules? If
>> not I could try to re-read the book and compile a list. I think it would make
>> for a good cheat sheet to paste to the wall to avoid programming errors.
> 
> Trying to beat Dmitry to it: there is an infinity of negative rules.
> You would need to use Hilbert paper. 8-)
> 
> More seriously: have you seen the Ada Rationale?

Also, if you happen to wonder /why/ a certain negative rule exists, the
"Annotated" version of the Ada RM often explains it. For example, the
rule forbidding access parameters for task entries is explained in
http://www.ada-auth.org/standards/12aarm/html/AA-9-5-2.html (paragraphs
13a-13e). Unfortunately, to understand the explanation one often needs
to have a bit of language-lawyer background knowledge.

There are two common reasons for "negative" rules: (1) The forbidden
thing does not really make sense, or (2) It would be too difficult or
impossible to implement it efficiently (at least in the current compilers).

-- 
Niklas Holsti
Tidorum Ltd
niklas holsti tidorum fi
      .      @       .



^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: List of Negative Language rules?
       [not found] ` <p6ft18dvj55o0h1j3af7ic08f2omoc1j20@invalid.netcom.com>
@ 2012-08-05 19:25   ` Niklas Holsti
  2012-08-05 23:35     ` Patrick
  0 siblings, 1 reply; 21+ messages in thread
From: Niklas Holsti @ 2012-08-05 19:25 UTC (permalink / raw)


On 12-08-05 21:42 , Dennis Lee Bieber wrote:
> On Sun, 5 Aug 2012 07:39:42 -0700 (PDT), Patrick
> <patrick@spellingbeewinnars.org> declaimed the following in
> comp.lang.ada:
> 
> 
>>
>> Pre-Ada 2012 functions cannot take in parameters
> 
> 	Prior to Ada 2012, functions ONLY took "IN" parameters, so
> designation of the parameter as of "IN" mode was redundant and unneeded.

But "in" mode could be specified explicitly, if desired, and some coding
style/rule guides required it.

> Ada 2012 opens functions up to having side-effects via the use of "IN
> OUT" parameters,

A function in Ada 2012 can also have pure "out" parameters.

> so one now has to designate the mode of the parameter.

What, "has to"? Specifing the mode is still optional, in Ada 2012 as
before, and "in" mode is the default. Even for functions. At least as I
read the RM.

-- 
Niklas Holsti
Tidorum Ltd
niklas holsti tidorum fi
      .      @       .



^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: List of Negative Language rules?
  2012-08-05 19:25   ` Niklas Holsti
@ 2012-08-05 23:35     ` Patrick
  2012-08-06  0:07       ` Vasiliy Molostov
  2012-08-06  2:51       ` Randy Brukardt
  0 siblings, 2 replies; 21+ messages in thread
From: Patrick @ 2012-08-05 23:35 UTC (permalink / raw)


Thanks to everyone for their posts. There does not seem to be such a document and I will need to create one. I did however get some great tips to make this easier. I converted the annotated reference manual to text, greped it with the -C option that allows lines before and after the match. I searched using "cannot, "should not" and "must not". I have the results in a document now and I am editing it.

I am also going through my Barnes Ada 2005 book with a high-lighter. Hopefully I can provide a document under a create commons license that will help me and other newbies sort out these rules.

Thanks



^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: List of Negative Language rules?
  2012-08-05 23:35     ` Patrick
@ 2012-08-06  0:07       ` Vasiliy Molostov
  2012-08-06  0:26         ` Patrick
  2012-08-06  2:51       ` Randy Brukardt
  1 sibling, 1 reply; 21+ messages in thread
From: Vasiliy Molostov @ 2012-08-06  0:07 UTC (permalink / raw)


Patrick <patrick@spellingbeewinnars.org> писал(а) в своём письме Mon, 06  
Aug 2012 03:35:18 +0400:

> Thanks to everyone for their posts. There does not seem to be such a  
> document and I will need to create one. I did however get some great  
> tips to make this easier. I converted the annotated reference manual to  
> text, greped it with the -C option that allows lines before and after  
> the match.

A good job. BTW, could you preliminarely post a some sort of percentage  
stats of what "should" and what "should not" items, so we can take into  
account how many these are?


-- 
Написано в почтовом клиенте браузера Opera: http://www.opera.com/mail/

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: List of Negative Language rules?
  2012-08-06  0:07       ` Vasiliy Molostov
@ 2012-08-06  0:26         ` Patrick
  2012-08-06  1:04           ` Vasiliy Molostov
  2012-08-06  2:57           ` Randy Brukardt
  0 siblings, 2 replies; 21+ messages in thread
From: Patrick @ 2012-08-06  0:26 UTC (permalink / raw)


Hi Vasiliy

It was easy to redo the grepping with the small c option "-c"


:cat Anotated_Reference_Manual_As_Text | grep -c  " cannot " 
279

:cat Anotated_Reference_Manual_As_Text | grep -c  " must not " 
3

:cat Anotated_Reference_Manual_As_Text | grep -c " should not " 
46



^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: List of Negative Language rules?
  2012-08-06  0:26         ` Patrick
@ 2012-08-06  1:04           ` Vasiliy Molostov
  2012-08-06  1:33             ` Patrick
  2012-08-06  2:57           ` Randy Brukardt
  1 sibling, 1 reply; 21+ messages in thread
From: Vasiliy Molostov @ 2012-08-06  1:04 UTC (permalink / raw)


Patrick <patrick@spellingbeewinnars.org> писал(а) в своём письме Mon, 06  
Aug 2012 04:26:35 +0400:

> Hi Vasiliy
>
> It was easy to redo the grepping with the small c option "-c"
>
>
> :cat Anotated_Reference_Manual_As_Text | grep -c  " cannot "
> 279
>
> :cat Anotated_Reference_Manual_As_Text | grep -c  " must not "
> 3
>
> :cat Anotated_Reference_Manual_As_Text | grep -c " should not "
> 46

well, awesome. But where is "should" (e.g. "positive rules") amount?

Some sources claim that Ada has more than 5000 rules which we can consider  
as "should". Can we consider them as should?

-- 
Написано в почтовом клиенте браузера Opera: http://www.opera.com/mail/



^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: List of Negative Language rules?
  2012-08-06  1:04           ` Vasiliy Molostov
@ 2012-08-06  1:33             ` Patrick
  0 siblings, 0 replies; 21+ messages in thread
From: Patrick @ 2012-08-06  1:33 UTC (permalink / raw)


5000 ! wow that's kin of scary. 

Grepping "should" alone gave a count of 833.

Much of the results from the first set are in rather formal English, it will take sometime to sort through it all but I am looking forward to having something to contribute back.



^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: List of Negative Language rules?
  2012-08-05 23:35     ` Patrick
  2012-08-06  0:07       ` Vasiliy Molostov
@ 2012-08-06  2:51       ` Randy Brukardt
  1 sibling, 0 replies; 21+ messages in thread
From: Randy Brukardt @ 2012-08-06  2:51 UTC (permalink / raw)


"Patrick" <patrick@spellingbeewinnars.org> wrote in message 
news:5b1caa0f-464a-4ff9-881e-202e4766f0df@googlegroups.com...
>... I converted the annotated reference manual to text, greped it with 
>the -C option
> that allows lines before and after the match....

You do know there is a downloadable text version of the RM, right? (The RM 
is available in PDF, HTML, plain text, and info - the first three can be 
found on AdaIC). No need to "convert" anything.

                            Randy.





^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: List of Negative Language rules?
  2012-08-05 16:14   ` Patrick
@ 2012-08-06  2:56     ` Randy Brukardt
  0 siblings, 0 replies; 21+ messages in thread
From: Randy Brukardt @ 2012-08-06  2:56 UTC (permalink / raw)


"Patrick" <patrick@spellingbeewinnars.org> wrote in message 
news:245a4369-4691-46b6-b6f5-b164d3dd0e99@googlegroups.com...
...
> I agree the term negative might not be right but I don't know what to call 
> rules that are about what can't be done.

You're probably interested in Legality Rules, which can be written 
positively or negatively. But they all end up about something that cannot be 
done.

> Thanks for your tip. I am now using pdfgrep on the RM to look for certain 
> words

That won't be very fruitful, for the reasons others noted.

BTW, the closest thing to a list of Legality Rules is the test objective 
spreadsheets for the ACATS. Every potential test objective for a B-Test is a 
rule about something that cannot be done. The test objectives spreadsheets 
were only created for a small part of the Standard, however. Based on that 
subtest, I'd say that there are several thousand such rules, so you're 
undertaking a large job (and one that is not the useful, simply because of 
the sheer size). You can download the ACATS 3.0 versions of the spreadsheets 
from Ada-auth.org.

                                                 Randy.





^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: List of Negative Language rules?
  2012-08-06  0:26         ` Patrick
  2012-08-06  1:04           ` Vasiliy Molostov
@ 2012-08-06  2:57           ` Randy Brukardt
  2012-08-06  3:21             ` Patrick
  1 sibling, 1 reply; 21+ messages in thread
From: Randy Brukardt @ 2012-08-06  2:57 UTC (permalink / raw)


"Patrick" <patrick@spellingbeewinnars.org> wrote in message 
news:1949c50a-553a-4d40-92f0-9a5c0663cd55@googlegroups.com...
> Hi Vasiliy
>
> It was easy to redo the grepping with the small c option "-c"
>
>
> :cat Anotated_Reference_Manual_As_Text | grep -c  " cannot "
> 279
>
> :cat Anotated_Reference_Manual_As_Text | grep -c  " must not "
> 3

"must not" is not allowed by ISO rules, so that wording can only appear in 
non-normative text (or by mistake, there are a few in Ada 2005, since 
corrected). The correct wording is "shall not", which you didn't look for.

> :cat Anotated_Reference_Manual_As_Text | grep -c " should not "
> 46

                                             Randy.





^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: List of Negative Language rules?
  2012-08-06  2:57           ` Randy Brukardt
@ 2012-08-06  3:21             ` Patrick
  2012-08-09 21:24               ` Randy Brukardt
  0 siblings, 1 reply; 21+ messages in thread
From: Patrick @ 2012-08-06  3:21 UTC (permalink / raw)


Thanks Randy

Yes, "shall not" added another 1000 lines to my file(it's 4K lines). Right now I am rereading Barnes and high-lighting what appear to be legality rules(Thanks for the term). Once I am done, I'll see if it's sensible to look through my grep created document, it worries me that you don't think it will be fruitful. I do trust your intelligence



^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: List of Negative Language rules?
  2012-08-06  3:21             ` Patrick
@ 2012-08-09 21:24               ` Randy Brukardt
  2012-08-09 22:00                 ` Patrick
  0 siblings, 1 reply; 21+ messages in thread
From: Randy Brukardt @ 2012-08-09 21:24 UTC (permalink / raw)


"Patrick" <patrick@spellingbeewinnars.org> wrote in message 
news:1a891f78-a75c-4597-9793-1296e693e07d@googlegroups.com...
>Thanks Randy
>
>Yes, "shall not" added another 1000 lines to my file(it's 4K lines). Right 
>now I am
> rereading Barnes and high-lighting what appear to be legality rules(Thanks 
> for the term).
> Once I am done, I'll see if it's sensible to look through my grep created 
> document, it
> worries me that you don't think it will be fruitful. I do trust your 
> intelligence

If you just want to find all of the Legality Rules in the Standard, just 
take every sentence of every paragraph under the heading "Legality Rules" in 
every clause of the Standard. You can then toss out the ones obviously not a 
rule (like some definitions). That's essentially what I was doing with the 
test objective documents; it took a lot of hours to build the handful I 
finished. (Of course, I was also tracking dynamic rules as well, and even 
bigger job.)

                                                   Randy.





^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: List of Negative Language rules?
  2012-08-09 21:24               ` Randy Brukardt
@ 2012-08-09 22:00                 ` Patrick
  0 siblings, 0 replies; 21+ messages in thread
From: Patrick @ 2012-08-09 22:00 UTC (permalink / raw)


Thanks Again Rany



^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2012-08-15  2:48 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-08-05 14:39 List of Negative Language rules? Patrick
2012-08-05 15:24 ` Bill Findlay
2012-08-05 15:43   ` Patrick
2012-08-05 19:17   ` Niklas Holsti
2012-08-05 16:02 ` Nasser M. Abbasi
2012-08-05 16:14   ` Patrick
2012-08-06  2:56     ` Randy Brukardt
2012-08-05 16:33 ` Yannick Duchêne (Hibou57)
2012-08-05 17:10   ` Patrick
2012-08-05 18:07 ` Vasiliy Molostov
     [not found] ` <p6ft18dvj55o0h1j3af7ic08f2omoc1j20@invalid.netcom.com>
2012-08-05 19:25   ` Niklas Holsti
2012-08-05 23:35     ` Patrick
2012-08-06  0:07       ` Vasiliy Molostov
2012-08-06  0:26         ` Patrick
2012-08-06  1:04           ` Vasiliy Molostov
2012-08-06  1:33             ` Patrick
2012-08-06  2:57           ` Randy Brukardt
2012-08-06  3:21             ` Patrick
2012-08-09 21:24               ` Randy Brukardt
2012-08-09 22:00                 ` Patrick
2012-08-06  2:51       ` Randy Brukardt

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox