From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.5-pre1 (2020-06-20) on ip-172-31-74-118.ec2.internal X-Spam-Level: X-Spam-Status: No, score=-1.9 required=3.0 tests=BAYES_00,FREEMAIL_FROM autolearn=ham autolearn_force=no version=3.4.5-pre1 X-Received: by 2002:ac8:7b9d:: with SMTP id p29mr66009329qtu.75.1609671220675; Sun, 03 Jan 2021 02:53:40 -0800 (PST) X-Received: by 2002:a25:3891:: with SMTP id f139mr98607355yba.465.1609671220419; Sun, 03 Jan 2021 02:53:40 -0800 (PST) Path: eternal-september.org!reader02.eternal-september.org!news.gegeweb.eu!gegeweb.org!usenet-fr.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Sun, 3 Jan 2021 02:53:40 -0800 (PST) In-Reply-To: <3adb0116-ade7-4942-aac1-dd20e8c89ee7n@googlegroups.com> Complaints-To: groups-abuse@google.com Injection-Info: google-groups.googlegroups.com; posting-host=2a02:1206:4564:fe50:483f:bef1:ab5b:9779; posting-account=gRqrnQkAAAAC_02ynnhqGk1VRQlve6ZG NNTP-Posting-Host: 2a02:1206:4564:fe50:483f:bef1:ab5b:9779 References: <3645df90-9981-4e5b-8e3d-6a428c3dfb08n@googlegroups.com> <3adb0116-ade7-4942-aac1-dd20e8c89ee7n@googlegroups.com> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <3caa8613-173d-4809-b078-fbd0824c5152n@googlegroups.com> Subject: Re: Ann: HAC v.0.085 From: Gautier write-only address Injection-Date: Sun, 03 Jan 2021 10:53:40 +0000 Content-Type: text/plain; charset="UTF-8" Xref: reader02.eternal-september.org comp.lang.ada:61018 List-Id: > It did function at my first attempt on my raspberry pi :-) Gr8 ! > Maybe too early to ask, but is there an overview of what is implemented and not implemented? Not too early at all! Here is an excerpt of doc/hac.txt which summarizes the current subset supported: - You can define your own data types: enumerations, records, arrays (and every combination of records and arrays). - Only constrained types are supported (unconstrained types are Ada-only types and not in the "Pascal subset" anyway). - The "String" type (unconstrained) is implemented in a very limited way. So far you can only define fixed-sized constants, variables, types, record fields with it, like: Digitz : constant String (1..10) := "0123456789"; ... output them with Put, Put_Line, do comparisons and concatenations with expressions of the VString variable-length string type. For general string manipulation, the most practical way with the current versions of HAC is to use the VString's. - There are no pointers (access types) and nor heap allocation, but you will be surprised how far you can go without pointers! - Subprograms names cannot be overloaded, although some *predefined* subprograms, including operators, of the Standard or the HAC_Pack package, are overloaded many times, like "Put", "Get", "+", "&", ... - Programmable modularity (packages or subprograms that you can "with") is not yet implemented. - Generics are not yet implemented. - Tasks are implemented, but not working yet. - Small parts of the standard Ada library are available through the HAC_Pack package. You can see the currently available items in the specification, src/hac_pack.ads . To get a "tangible" idea, you can look at the examples in the "exm" directory (run ../hac gallery.adb for a show), and the "exm/aoc/2020" directory. There is also stuff in "test", but programs there are not meaningful. > Detail: all procedures need "with hac_pack; use hac_pack;" ? So far, yes. When modularity is implemented it will change...