From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=unavailable autolearn_force=no version=3.4.4 X-Received: by 10.50.50.237 with SMTP id f13mr9074295igo.5.1403571862404; Mon, 23 Jun 2014 18:04:22 -0700 (PDT) X-Received: by 10.182.29.38 with SMTP id g6mr60080obh.12.1403571862307; Mon, 23 Jun 2014 18:04:22 -0700 (PDT) Path: border2.nntp.dca.giganews.com!nntp.giganews.com!uq10no6547216igb.0!news-out.google.com!qf4ni15igc.0!nntp.google.com!uq10no6547205igb.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Mon, 23 Jun 2014 18:04:21 -0700 (PDT) In-Reply-To: Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=71.252.147.203; posting-account=zwxLlwoAAAChLBU7oraRzNDnqQYkYbpo NNTP-Posting-Host: 71.252.147.203 References: <255b51cd-b23f-4413-805a-9fea3c70d8b2@googlegroups.com> <5ebe316d-cd84-40fb-a983-9f953f205fef@googlegroups.com> <2100734262424129975.133931laguest-archeia.com@nntp.aioe.org> <5156oy7vhg99.17wu6q2ef45ke.dlg@40tude.net> <18et97c0c22vc$.y98lxxfblijn.dlg@40tude.net> <08f83f70-ccb1-45ec-8a4c-46e3442745b8@googlegroups.com> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <3121768b-1d29-4b5c-be9f-574a9c53504c@googlegroups.com> Subject: Re: Ada platforms and pricing, was: Re: a new language, designed for safety ! From: "Dan'l Miller" Injection-Date: Tue, 24 Jun 2014 01:04:22 +0000 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Xref: number.nntp.dca.giganews.com comp.lang.ada:187211 Date: 2014-06-23T18:04:21-07:00 List-Id: On Monday, June 23, 2014 4:52:16 PM UTC-5, Simon Wright wrote: > "Dmitry A. Kazakov" writes: >=20 > > Egh? Ada lacks nothing for programming FSM. It has: > > 1. gotos and labels > > 2. access to subprogram type > > 3. dispatching >=20 > > Ada has enumeration types so that states could be named. Ada has the ca= se > > statement checking all alternatives. Ada has ranges in case statement i= n > > order to specify subsets of states and subtypes to name such subsets. >=20 > > Thus either possible way of implementing FSM is fully, totally, and > > exhaustively supported in Ada. >=20 > You're describing the assembly language of state machines. Higher-level > constructs are needed. Simon, those were my (unexpressed) thoughts exactly upon reading Dmitry's d= escription of the contortions needed to represent FSMs in Ada, C, C++, and = so forth (ignoring the different contortions in Erlang and Boost.MSM and F#= /OCaml). Btw, here are the F#/OCaml and Erlang contortions that look quite= different than {Ada, C, C++}'s traditional implementation of FSMs as condi= tional branches cased over a set of enumerations: http://theburningmonk.co= m/2012/07/a-simple-finite-state-machine-in-erlang-and-f of which only the F= # variant *might* be argued to be a perhaps-more-intuitive improvement due = to syntactic compactness over a sophisticated richness of an asynchrony fea= ture-set. FSMs in Ada202X should be drastically more intuitive & direct th= an even the F# and Erlang representations.