From: Jacob Sparre Andersen <sparre@nbi.dk>
Subject: How to structure examples for Rosetta Code (Was: SPARK : third example for Roesetta - reviewers welcome)
Date: Tue, 17 Aug 2010 10:16:30 +0200
Date: 2010-08-17T10:16:30+02:00 [thread overview]
Message-ID: <871v9xlkm9.fsf_-_@hugsarin.sparre-andersen.dk> (raw)
In-Reply-To: op.vhjyi5kkxmjfy8@garhos
Yannick Duch�ne wrote:
> Peter C. Chapin wrote:
>> The nature of what it's trying to do is such that these extra
>> supporting files are sometimes necessary. My feeling is that you
>> should demonstrate reasonable SPARK style.
Agreed.
But Yannick is correct that it is a problem, if we need to include
compiler specific files in our examples.
I decided not to include a GNAT project file with my "Fork" example for
Ada, since that's a compiler specific file. But this means that new
users may find it difficult to get the example to work. Should I rather
include compiler specific files and instructions on how to compile the
program examples?
> 1) Why to present SPARK as an annotated subset of Ada if it is not the
> way it is to be used ? (either all these documents about it should be
> revised or this point reviewed... the latter being unlikely to occur I
> feel).
The problem is that the compiler you are using isn't intelligent enough
to compile your programs without some assistance. Whether that
assistance is a project file with compiler and linker flags, or hints on
how to prove some hypotheses.
> 2) If the user rule files are of a so big importance (Phil talked
> about tens of thousands of lines of Ada source with a single check
> annotation), so why to move them at the place where "builded" files
> belongs ? (just like if Ada package was to be put in the object/exe
> build directory). Is it the intended location of what is supposed to
> be a language source ?
User rules is a kind of compiler configuration. I generally keep
compiler configuration files as a part individual of projects (like
source text).
> 3) User rules are written in another other totally different
> language. So a third unavoidable language comes into the place. This
> is not tiny affair.
Just like GNAT project files.
> For the time, unless some news comes in the place, I will end with
> this conclusion: SPARK's not a language, that's Praxis's tool.
I would say that it is a programming language with only one existing
compiler. I am quite sure that Praxis would be happy (but also a bit
annoyed ;-) if the market was big enough that another company found it
worth creating a competing SPARK compiler.
If I decided to compete with Praxis, I would probably make the abilities
of the theorem prover an area where I would try to make a difference.
Another difference could be integration of the complete compiler tool
chain.
> By the way, if this is really a Praxis's tool as I suppose now, do I
> have to understand there will be always one single implementation of
> SPARK and a single provider in this area ?
I can't see anything but resources (i.e. commercial viability)
preventing the existence of a competing SPARK compiler. Since the
Praxis implementation of SPARK is distributed under the GNU GPL, you can
always start by forking that implementation.
Greetings,
Jacob
--
"It ain't rocket science!"
next prev parent reply other threads:[~2010-08-17 8:16 UTC|newest]
Thread overview: 61+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-08-15 6:17 SPARK : third example for Roesetta - reviewers welcome Yannick Duchêne (Hibou57)
2010-08-15 6:27 ` Yannick Duchêne (Hibou57)
2010-08-15 6:35 ` Jeffrey Carter
2010-08-15 6:39 ` Yannick Duchêne (Hibou57)
2010-08-15 18:42 ` Phil Thornley
2010-08-15 19:32 ` Yannick Duchêne (Hibou57)
2010-08-15 20:12 ` Phil Thornley
2010-08-16 10:08 ` Jacob Sparre Andersen
2010-08-15 19:57 ` Yannick Duchêne (Hibou57)
2010-08-15 20:07 ` Yannick Duchêne (Hibou57)
2010-08-15 20:57 ` Yannick Duchêne (Hibou57)
2010-08-15 22:19 ` Yannick Duchêne (Hibou57)
2010-08-16 5:51 ` Phil Thornley
2010-08-16 16:42 ` Yannick Duchêne (Hibou57)
2010-08-16 17:07 ` Mark Lorenzen
2010-08-15 22:09 ` Jeffrey Carter
2010-08-15 22:27 ` Yannick Duchêne (Hibou57)
2010-08-16 4:58 ` Phil Thornley
2010-08-16 7:50 ` Stephen Leake
2010-08-16 8:37 ` Phil Thornley
2010-08-16 16:55 ` Yannick Duchêne (Hibou57)
2010-08-16 20:40 ` Peter C. Chapin
2010-08-16 22:38 ` Yannick Duchêne (Hibou57)
2010-08-16 23:43 ` Peter C. Chapin
2010-08-17 9:15 ` Phil Thornley
2010-08-17 10:32 ` Peter C. Chapin
2010-08-17 19:53 ` Phil Thornley
2010-08-17 22:15 ` Dmitry A. Kazakov
2010-08-18 10:44 ` Phil Thornley
2010-08-18 16:33 ` Dmitry A. Kazakov
2010-08-19 6:19 ` Categories for SPARK on Rosetta Code (Was: SPARK : third example for Roesetta - reviewers welcome) Jacob Sparre Andersen
2010-08-20 8:40 ` Phil Thornley
2010-08-20 9:15 ` J-P. Rosen
2010-08-20 9:23 ` Dmitry A. Kazakov
2010-08-20 9:55 ` J-P. Rosen
2010-08-20 10:24 ` Dmitry A. Kazakov
2010-08-20 11:36 ` J-P. Rosen
2010-08-20 12:25 ` Dmitry A. Kazakov
2010-08-20 13:28 ` J-P. Rosen
2010-08-20 14:05 ` Dmitry A. Kazakov
2010-08-20 16:23 ` J-P. Rosen
2010-08-20 16:41 ` Dmitry A. Kazakov
2010-08-20 15:34 ` (see below)
2010-08-20 16:42 ` Dmitry A. Kazakov
2010-08-22 8:11 ` Categories for SPARK on Rosetta Code Jacob Sparre Andersen
2010-08-22 8:53 ` Dmitry A. Kazakov
2010-08-20 8:37 ` SPARK : third example for Roesetta - reviewers welcome Phil Thornley
2010-08-17 8:16 ` Jacob Sparre Andersen [this message]
2010-08-17 19:16 ` How to structure examples for Rosetta Code Simon Wright
2010-08-17 20:53 ` Peter C. Chapin
2010-08-17 21:24 ` Simon Wright
2010-08-17 2:07 ` SPARK : third example for Roesetta - reviewers welcome Stephen Leake
2010-08-16 4:41 ` Phil Thornley
2010-08-16 17:03 ` Yannick Duchêne (Hibou57)
2010-08-15 20:04 ` Jacob Sparre Andersen
2010-08-15 20:19 ` Yannick Duchêne (Hibou57)
2010-08-15 21:40 ` Jeffrey Carter
2010-08-15 22:13 ` Yannick Duchêne (Hibou57)
2010-08-16 4:29 ` Phil Thornley
2010-08-16 17:11 ` Phil Thornley
2010-08-20 9:06 ` Phil Thornley
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox