Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Seed7 as inspiration for Ada202X

126 views
Skip to first unread message

Dan'l Miller

unread,
May 15, 2014, 9:30:41 AM5/15/14
to
http://seed7.sourceforge.net/faq.htm
As seen in Seed7's FAQ and reference webpages, Seed7 has a variant of some of the bold fresh features that were mentioned by various posters in the recent Ada202X-wishlist thread here on comp.lang.ada. For example, Seed7 has:
1) types as truly first-class citizens (as objects with stage-n+1 reflection of properties of types generated in stage-n) that can blossom in the next stage of:
2) multistage programming that not only rejects modern C++'s misguided poor-man's emulation of functional programming, but also fundamentally integrates/imbues the concept of a generic/template throughout the rest of the language, which blurs the line between:
3) stage-n interpreter within the stage-n+1 compiler as a compile-time source-code-generator-like presentation of source code to the n+1 stage that not only rejects C's, C++'s, and gnatprep's misguided preprocessor, but Seed7's breadth of compile-time variant selection/generation seems to go so far as to eclipse such Ada's narrower-vision patchwork of discriminants and child-package substitution for tailoring source-code to compile in multiple variant targets or for multiple variant problemspaces.
4) extensible syntax for creating domain-specific problem-space-specific "little languages" (à la OCaml & its p4), as well as a multistage progression of compiler-frontends because:
5) all statements are effectively user-defined syntax (with some basic usual branching constructs provided as a sort of standard library);
6) multiple dispatch.

The worst complaint that I have with Seed7 is that it is not a proper superset of Ada, especially regarding the lack of low-level bit & bit-string declarations and the apparent lack of ability to declare constraints on subtypes.

Yannick Duchêne (Hibou57)

unread,
Jun 22, 2014, 8:29:41 AM6/22/14
to
Funny, it uses a syntax where type name comes first then entity name. Ex.
`Natural: Width` instead of `Width: Natural`. That's counter intuitive, as
with most natural languages (at least English and french), the `:` sign
introduces explanations, details or a definition.

Le Thu, 15 May 2014 15:30:41 +0200, Dan'l Miller <opt...@verizon.net> a
écrit:
--
“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
0 new messages