Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.arch.embedded > #26057

Re: Language feature selection

From Niklas Holsti <niklas.holsti@tidorum.invalid>
Newsgroups comp.arch.embedded
Subject Re: Language feature selection
Date 2017-03-13 23:17 +0200
Organization Tidorum Ltd
Message-ID <eioginF36ilU1@mid.individual.net> (permalink)
References (13 earlier) <RZQwA.66244$o87.47982@fx21.am4> <tp7bcctvqbgam21is1la7q0i0oc6ra6522@4ax.com> <rEkxA.80166$Iy2.46394@fx28.am4> <oa6ni5$f9j$1@gioia.aioe.org> <oa6uj0$fli$1@dont-email.me>

Show all headers | View raw


On 17-03-13 22:17 , Brian G. Lucas wrote:
> I have been reading this thread (which has wandered all over the place) because
> I'm interested in language design for embedded systems.  One nice thing about
> no longer being "gainfully employed" is that one has time to experiment.  I
> have developed my own programming language for implementing operating systems
> and drivers.  It is a front-end to LLVM and is pretty complete.
>
> <shameless-plug>
> Sources for the compiler (written in itself) at
>  https://github.com/bagel99/esl
> Sources for lots of drivers and network stuff at
>  https://github.com/bagel99/blocks-os
> </shameless-plug>

Hm. In the spirit of language ecumenics and comparison, I translate your 
example to Ada, below. I try to use your identifiers as such, although 
Ada convention would use Title_Style capitalisation.

> Here's how I approached the device driver question: at what hardware address is
> the device?  First defining the device register layout:
>
>     type UartRegs:
>     {   dr:
> 	{   data: _uint8;		// .00-07
> 	    fe:    boolean;		// .08
> 	    pe:    boolean;		// .09
> 	    be:    boolean;		// .10
> 	    oe:    boolean;		// .11
> 	}: packed, lsb, bits(32), in, out;
>      	lcrh:
> 	{   brk:   boolean;		// .00
> 	    par:   (NONE,ODD,_,EVEN);	// .01-02
> 	    stop:  (S1,S2);		// .03
> 	    fen:   boolean;		// .04
> 	    wlen:  (B5,B6,B7,B8);	// .05-06
> 	    sps:   boolean;		// .07
> 	}: packed, lsb, bits(32), out;
>     ...
>     };

    -- The "dr" register type:

    type dr_t is record
       data : interfaces.unsigned_8;
       fe   : boolean;
       pe   : boolean;
       be   : boolean;
       oe   : boolean;
    end record
       with volatile, size => 32, bit_order => system.low_order_first;
    --
    -- I would not usually make the _type_ volatile, because
    -- that could slow down operations on all variables of
    -- the type, even if they are not mapped to control
    -- registers. I would mark as volatile (or atomic) only
    -- the variables mapped to registers.

    -- Its structure on the bit level (I could also have said
    -- just "pack", but this is safer and more explicit):

    for dr_t use record
       data at 0 range 0 .. 7;
       fe   at 0 range 8 .. 8;
       pe   at 0 range 9 .. 9;
       be   at 0 range 10 .. 10;
       oe   at 0 range 11 .. 11;
    end record

    -- The "lchr" register type(s):

    type par_t is (NONE, ODD, EVEN);

    for par_t use (NONE => 0, ODD => 1, EVEN => 3);

    type stop_t is (S1, S2);
    -- Or it could be:
    --    type stop_t is range 1 .. 2;
    -- for compilers that support offset encoding.

    type wlen_t is (B5, B6, B7, B8);
    -- Or it could be:
    --    type wlen_t is range 5 .. 8;
    -- for compilers that support offset encoding.

    type lcrh_t is record
       brk  : boolean;
       par  : par_t;
       stop : stop_t;
       fen  : boolean;
       wlen : wlen_t;
       sps  : boolean;
    end record
       with volatile, size => 32, bit_order => system.low_order_first;

    for lchr_t use record
       brk  at 0 range 0 .. 0;
       par  at 0 range 1 .. 2;
       stop at 0 range 3 .. 3;
       fen  at 0 range 4 .. 4;
       wlen at 0 range 5 .. 6;
       sps  at 0 range 7 .. 7;
    end record;

    -- The combination:

    type UartRegs is record
       dr   : dr_t;
       lchr : lchr_t;
    end record
       with pack;
    -- The "pack" aspect corresponds to your "packed".
    -- Of course we could also give a bit-level lay-out
    -- specification for UartRegs, as above.

> Then define the hardware address one of three ways:
>
>     var uart0: UartRegs: external(0x4000_0000);
>     // uart0 address is 0x40000000

       uart0 : UartRegs
          with address => to_address (16#4000_0000#);

>     var uart1: UartRegs: external("UART1");
>     // linker supplies address constant UART1=xxx

       uart1 : UartRegs with link_name => "UART1";

>     const uart2: @UartRegs = 0x4000_2000;
>     // define a constant pointer to the device

       type UartRegs_ref is access all UartRegs;

       uart2 : constant UartRegs_ref :=
          to_pointer (to_address (16#4000_2000#));

       -- (I omitted some boilerplate here; the function
       -- "to_pointer" is a generic one, and must be
       -- instantiated for each necessary pointer type.)

> And assigning device bits without using masks:
>
>     uart0.lcrh = {.brk=false, .par=NONE, .stop=S1, .wlen=B8 };
>     // fields not specified take the zero value

       uart0.lchr := (
          brk => false, par => NONE, stop => S1, wlen => B8,
          others => false);
       -- All fields must be listed, or an "others" can be used.
       -- Bit of luck here that all the "others" fields are
       -- of the same type (boolean) which is required for the
       -- "others" to be legal.

In summary, the only semantic difference is that the Ada "volatile" 
aspect cannot be separated into "in" and "out" parts, as in your language.

Syntactically Ada needs more lines, because enumerations and sub-records 
must be defined as types. Does your language use "structural 
equivalence" for types? That is, if one register field is defined as the 
enumeration (A, B, C), and another register field is also defined as the 
enumeration (A, B, C), are these fields of the same type?

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

Back to comp.arch.embedded | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Language feature selection Don Y <blockedofcourse@foo.invalid> - 2017-03-05 16:03 -0700
  Re: Language feature selection Wouter van Ooijen <wouter@voti.nl> - 2017-03-06 08:04 +0100
    Re: Language feature selection Don Y <blockedofcourse@foo.invalid> - 2017-03-07 10:31 -0700
      Re: Language feature selection Wouter van Ooijen <wouter@voti.nl> - 2017-03-07 23:29 +0100
        Re: Language feature selection Don Y <blockedofcourse@foo.invalid> - 2017-03-08 02:49 -0700
          Re: Language feature selection David Brown <david.brown@hesbynett.no> - 2017-03-08 13:18 +0100
            Re: Language feature selection Wouter van Ooijen <wouter@voti.nl> - 2017-03-08 16:58 +0100
            Re: Language feature selection Don Y <blockedofcourse@foo.invalid> - 2017-03-08 10:35 -0700
              Re: Language feature selection David Brown <david.brown@hesbynett.no> - 2017-03-08 22:07 +0100
  Re: Language feature selection David Brown <david.brown@hesbynett.no> - 2017-03-06 08:40 +0100
    Re: Language feature selection David Brown <david.brown@hesbynett.no> - 2017-03-06 10:31 +0100
    Re: Language feature selection Don Y <blockedofcourse@foo.invalid> - 2017-03-06 08:47 -0700
      Re: Language feature selection David Brown <david.brown@hesbynett.no> - 2017-03-06 21:33 +0100
        Re: Language feature selection Don Y <blockedofcourse@foo.invalid> - 2017-03-06 13:44 -0700
          Re: Language feature selection David Brown <david.brown@hesbynett.no> - 2017-03-07 12:24 +0100
            Re: Language feature selection Don Y <blockedofcourse@foo.invalid> - 2017-03-07 09:34 -0700
              Re: Language feature selection David Brown <david.brown@hesbynett.no> - 2017-03-08 10:14 +0100
                Re: Language feature selection Don Y <blockedofcourse@foo.invalid> - 2017-03-08 10:37 -0700
                Re: Language feature selection David Brown <david.brown@hesbynett.no> - 2017-03-08 22:09 +0100
    Re: Language feature selection Tauno Voipio <tauno.voipio@notused.fi.invalid> - 2017-03-06 22:50 +0200
      Re: Language feature selection David Brown <david.brown@hesbynett.no> - 2017-03-07 12:31 +0100
    Re: Language feature selection rickman <gnuarm@gmail.com> - 2017-03-07 14:45 -0500
  Re: Language feature selection Tom Gardner <spamjunk@blueyonder.co.uk> - 2017-03-06 08:39 +0000
    Re: Language feature selection Don Y <blockedofcourse@foo.invalid> - 2017-03-06 08:39 -0700
      Re: Language feature selection Tom Gardner <spamjunk@blueyonder.co.uk> - 2017-03-06 17:27 +0000
        Re: Language feature selection Don Y <blockedofcourse@foo.invalid> - 2017-03-06 13:30 -0700
  Re: Language feature selection Dimiter_Popoff <dp@tgi-sci.com> - 2017-03-06 11:11 +0200
    Re: Language feature selection Don Y <blockedofcourse@foo.invalid> - 2017-03-06 13:38 -0700
      Re: Language feature selection Dimiter_Popoff <dp@tgi-sci.com> - 2017-03-07 12:18 +0200
        Re: Language feature selection Don Y <blockedofcourse@foo.invalid> - 2017-03-07 10:28 -0700
  Re: Language feature selection George Neuner <gneuner2@comcast.net> - 2017-03-06 13:33 -0500
    Re: Language feature selection Don Y <blockedofcourse@foo.invalid> - 2017-03-06 13:36 -0700
      Re: Language feature selection George Neuner <gneuner2@comcast.net> - 2017-03-06 22:15 -0500
        Re: Language feature selection George Neuner <gneuner2@comcast.net> - 2017-03-06 22:22 -0500
        Re: Language feature selection Don Y <blockedofcourse@foo.invalid> - 2017-03-07 00:27 -0700
          Re: Language feature selection George Neuner <gneuner2@comcast.net> - 2017-03-08 12:20 -0500
            Re: Language feature selection Don Y <blockedofcourse@foo.invalid> - 2017-03-08 11:23 -0700
              Re: Language feature selection George Neuner <gneuner2@comcast.net> - 2017-03-10 13:43 -0500
                Re: Language feature selection Don Y <blockedofcourse@foo.invalid> - 2017-03-10 16:49 -0700
                Re: Language feature selection George Neuner <gneuner2@comcast.net> - 2017-03-11 04:17 -0500
                Re: Language feature selection Don Y <blockedofcourse@foo.invalid> - 2017-03-11 12:33 -0700
                Re: Language feature selection George Neuner <gneuner2@comcast.net> - 2017-03-12 18:08 -0400
                Re: Language feature selection Don Y <blockedofcourse@foo.invalid> - 2017-03-12 17:25 -0700
                Re: Language feature selection George Neuner <gneuner2@comcast.net> - 2017-03-15 21:05 -0400
                Re: Language feature selection Don Y <blockedofcourse@foo.invalid> - 2017-03-16 17:23 -0700
                Re: Language feature selection George Neuner <gneuner2@comcast.net> - 2017-03-17 23:59 -0400
                Re: Language feature selection Don Y <blockedofcourse@foo.invalid> - 2017-03-17 23:25 -0700
                Re: Language feature selection Tauno Voipio <tauno.voipio@notused.fi.invalid> - 2017-03-18 12:05 +0200
                Re: Language feature selection Don Y <blockedofcourse@foo.invalid> - 2017-03-18 04:04 -0700
                Re: Language feature selection Don Y <blockedofcourse@foo.invalid> - 2017-03-18 04:39 -0700
                Re: Language feature selection Don Y <blockedofcourse@foo.invalid> - 2017-03-18 03:55 -0700
                Re: Language feature selection upsidedown@downunder.com - 2017-03-18 16:00 +0200
                Re: Language feature selection Les Cargill <lcargill99@comcast.com> - 2017-03-11 16:35 -0600
                Re: Language feature selection Don Y <blockedofcourse@foo.invalid> - 2017-03-11 15:39 -0700
  Re: Language feature selection Grant Edwards <invalid@invalid.invalid> - 2017-03-06 18:59 +0000
    Re: Language feature selection Don Y <blockedofcourse@foo.invalid> - 2017-03-06 12:36 -0700
  Re: Language feature selection Simon Clubley <clubley@remove_me.eisner.decus.org-Earth.UFP> - 2017-03-07 19:02 +0000
    Re: Language feature selection Grant Edwards <invalid@invalid.invalid> - 2017-03-07 19:18 +0000
      Re: Language feature selection Grant Edwards <invalid@invalid.invalid> - 2017-03-07 19:19 +0000
    Re: Language feature selection Don Y <blockedofcourse@foo.invalid> - 2017-03-07 12:38 -0700
  Re: Language feature selection Walter Banks <walter@bytecraft.com> - 2017-03-07 22:10 -0600
    Re: Language feature selection Paul Rubin <no.email@nospam.invalid> - 2017-03-07 20:35 -0800
      Re: Language feature selection Walter Banks <walter@bytecraft.com> - 2017-03-08 20:43 -0600
    Re: Language feature selection Don Y <blockedofcourse@foo.invalid> - 2017-03-07 23:48 -0700
      Re: Language feature selection Walter Banks <walter@bytecraft.com> - 2017-03-08 20:48 -0600
        Re: Language feature selection Don Y <blockedofcourse@foo.invalid> - 2017-03-08 21:15 -0700
        Re: Language feature selection Paul Rubin <no.email@nospam.invalid> - 2017-03-09 01:33 -0800
        Re: Language feature selection Grant Edwards <invalid@invalid.invalid> - 2017-03-09 14:47 +0000
          Re: Language feature selection David Brown <david.brown@hesbynett.no> - 2017-03-09 16:40 +0100
            Re: Language feature selection Grant Edwards <invalid@invalid.invalid> - 2017-03-09 16:15 +0000
              Re: Language feature selection David Brown <david.brown@hesbynett.no> - 2017-03-09 22:04 +0100
                Re: Language feature selection John Devereux <john@devereux.me.uk> - 2017-03-10 07:46 +0000
                Re: Language feature selection David Brown <david.brown@hesbynett.no> - 2017-03-10 13:21 +0100
              Re: Language feature selection Les Cargill <lcargill99@comcast.com> - 2017-03-09 17:57 -0600
                Re: Language feature selection Tauno Voipio <tauno.voipio@notused.fi.invalid> - 2017-03-10 11:16 +0200
        Re: Language feature selection Jacob Sparre Andersen <jacob@jacob-sparre.dk> - 2017-03-10 20:39 +0100
          Re: Language feature selection Paul Rubin <no.email@nospam.invalid> - 2017-03-10 13:32 -0800
            Re: Language feature selection Niklas Holsti <niklas.holsti@tidorum.invalid> - 2017-03-11 14:58 +0200
              Re: Language feature selection David Brown <david.brown@hesbynett.no> - 2017-03-13 13:02 +0100
    Re: Language feature selection David Brown <david.brown@hesbynett.no> - 2017-03-08 10:46 +0100
      Re: Language feature selection Walter Banks <walter@bytecraft.com> - 2017-03-08 20:33 -0600
        Re: Language feature selection David Brown <david.brown@hesbynett.no> - 2017-03-09 11:08 +0100
          Re: Language feature selection Britt <britt.snodgrass@gmail.com> - 2017-03-09 07:04 -0800
            Re: Language feature selection David Brown <david.brown@hesbynett.no> - 2017-03-09 16:36 +0100
              Re: Language feature selection Grant Edwards <invalid@invalid.invalid> - 2017-03-09 16:11 +0000
              Re: Language feature selection Walter Banks <walter@bytecraft.com> - 2017-03-09 12:06 -0600
              Re: Language feature selection Hans-Bernhard Bröker <HBBroeker@t-online.de> - 2017-03-09 19:26 +0100
                Re: Language feature selection David Brown <david.brown@hesbynett.no> - 2017-03-09 22:08 +0100
            Re: Language feature selection Simon Clubley <clubley@remove_me.eisner.decus.org-Earth.UFP> - 2017-03-09 19:04 +0000
              Re: Language feature selection Don Y <blockedofcourse@foo.invalid> - 2017-03-09 15:34 -0700
                Re: Language feature selection Don Y <blockedofcourse@foo.invalid> - 2017-03-09 15:40 -0700
                Re: Language feature selection Simon Clubley <clubley@remove_me.eisner.decus.org-Earth.UFP> - 2017-03-10 14:19 +0000
                Re: Language feature selection Don Y <blockedofcourse@foo.invalid> - 2017-03-10 11:10 -0700
                Re: Language feature selection Don Y <blockedofcourse@foo.invalid> - 2017-03-10 11:49 -0700
        Re: Language feature selection Les Cargill <lcargill99@comcast.com> - 2017-03-09 18:00 -0600
    Re: Language feature selection Les Cargill <lcargill99@comcast.com> - 2017-03-09 17:54 -0600
      Re: Language feature selection Walter Banks <walter@bytecraft.com> - 2017-03-09 18:54 -0600
        Re: Language feature selection Grant Edwards <invalid@invalid.invalid> - 2017-03-10 04:07 +0000
          Re: Language feature selection Walter Banks <walter@bytecraft.com> - 2017-03-10 08:07 -0600
        Re: Language feature selection David Brown <david.brown@hesbynett.no> - 2017-03-10 13:59 +0100
      Re: Language feature selection Tom Gardner <spamjunk@blueyonder.co.uk> - 2017-03-10 08:17 +0000
        Re: Language feature selection Don Y <blockedofcourse@foo.invalid> - 2017-03-10 11:24 -0700
          Re: Language feature selection Tom Gardner <spamjunk@blueyonder.co.uk> - 2017-03-10 19:09 +0000
            Re: Language feature selection Don Y <blockedofcourse@foo.invalid> - 2017-03-10 12:33 -0700
              Re: Language feature selection Tom Gardner <spamjunk@blueyonder.co.uk> - 2017-03-10 23:25 +0000
                Re: Language feature selection George Neuner <gneuner2@comcast.net> - 2017-03-10 20:22 -0500
                Re: Language feature selection Tom Gardner <spamjunk@blueyonder.co.uk> - 2017-03-11 01:32 +0000
                Re: Language feature selection Paul Rubin <no.email@nospam.invalid> - 2017-03-10 18:16 -0800
                Re: Language feature selection Tom Gardner <spamjunk@blueyonder.co.uk> - 2017-03-11 09:59 +0000
                Re: Language feature selection Paul Rubin <no.email@nospam.invalid> - 2017-03-11 02:23 -0800
                Re: Language feature selection Tom Gardner <spamjunk@blueyonder.co.uk> - 2017-03-11 11:13 +0000
                Re: Language feature selection George Neuner <gneuner2@comcast.net> - 2017-03-11 14:28 -0500
                Re: Language feature selection George Neuner <gneuner2@comcast.net> - 2017-03-11 17:20 -0500
                Re: Language feature selection George Neuner <gneuner2@comcast.net> - 2017-03-12 16:26 -0400
                Re: Language feature selection David Brown <david.brown@hesbynett.no> - 2017-03-12 21:46 +0100
                Re: Language feature selection Tom Gardner <spamjunk@blueyonder.co.uk> - 2017-03-12 23:15 +0000
                Re: Language feature selection Walter Banks <walter@bytecraft.com> - 2017-03-13 14:14 -0400
                Re: Language feature selection Tom Gardner <spamjunk@blueyonder.co.uk> - 2017-03-13 18:48 +0000
                Re: Language feature selection "Brian G. Lucas" <bagel99@gmail.com> - 2017-03-13 15:17 -0500
                Re: Language feature selection Niklas Holsti <niklas.holsti@tidorum.invalid> - 2017-03-13 23:17 +0200
                Re: Language feature selection "Brian G. Lucas" <bagel99@gmail.com> - 2017-03-13 17:27 -0500
                Re: Language feature selection Don Y <blockedofcourse@foo.invalid> - 2017-03-13 17:10 -0700
                Re: Language feature selection Niklas Holsti <niklas.holsti@tidorum.invalid> - 2017-03-14 10:11 +0200
                Re: Language feature selection "Brian G. Lucas" <bagel99@gmail.com> - 2017-03-14 12:23 -0500
                Re: Language feature selection David Brown <david.brown@hesbynett.no> - 2017-03-14 13:27 +0100
                Re: Language feature selection Walter Banks <walter@bytecraft.com> - 2017-03-14 13:30 -0400
                Re: Language feature selection David Brown <david.brown@hesbynett.no> - 2017-03-14 22:03 +0100
                Re: Language feature selection Walter Banks <walter@bytecraft.com> - 2017-03-14 17:24 -0400
                Re: Language feature selection Walter Banks <walter@bytecraft.com> - 2017-03-11 07:19 -0600
                Re: Language feature selection Tom Gardner <spamjunk@blueyonder.co.uk> - 2017-03-11 19:43 +0000
                Re: Language feature selection Walter Banks <walter@bytecraft.com> - 2017-03-12 09:28 -0600
                Re: Language feature selection George Neuner <gneuner2@comcast.net> - 2017-03-12 15:15 -0400
                Re: Language feature selection Tom Gardner <spamjunk@blueyonder.co.uk> - 2017-03-12 19:38 +0000
                Re: Language feature selection Paul Rubin <no.email@nospam.invalid> - 2017-03-10 18:08 -0800
                Re: Language feature selection George Neuner <gneuner2@comcast.net> - 2017-03-11 04:22 -0500
                Re: Language feature selection Tom Gardner <spamjunk@blueyonder.co.uk> - 2017-03-11 10:02 +0000
                Re: Language feature selection Paul Rubin <no.email@nospam.invalid> - 2017-03-11 02:22 -0800
                Re: Language feature selection Tom Gardner <spamjunk@blueyonder.co.uk> - 2017-03-11 11:07 +0000
          Re: Language feature selection Walter Banks <walter@bytecraft.com> - 2017-03-10 14:30 -0600
            Re: Language feature selection Paul Rubin <no.email@nospam.invalid> - 2017-03-10 13:37 -0800
              Re: Language feature selection Walter Banks <walter@bytecraft.com> - 2017-03-10 16:30 -0600
                Re: Language feature selection Paul Rubin <no.email@nospam.invalid> - 2017-03-10 18:14 -0800
                Re: Language feature selection Walter Banks <walter@bytecraft.com> - 2017-03-11 07:46 -0600
                Re: Language feature selection Don Y <blockedofcourse@foo.invalid> - 2017-03-11 12:53 -0700
                Re: Language feature selection Walter Banks <walter@bytecraft.com> - 2017-03-12 09:45 -0600
                Re: Language feature selection Don Y <blockedofcourse@foo.invalid> - 2017-03-12 11:56 -0700
                Re: Language feature selection Dimiter_Popoff <dp@tgi-sci.com> - 2017-03-12 21:05 +0200
                Re: Language feature selection Don Y <blockedofcourse@foo.invalid> - 2017-03-12 14:40 -0700
                Re: Language feature selection Dimiter_Popoff <dp@tgi-sci.com> - 2017-03-13 00:36 +0200
                Re: Language feature selection Don Y <blockedofcourse@foo.invalid> - 2017-03-12 17:00 -0700
                Re: Language feature selection Robert Wessel <robertwessel2@yahoo.com> - 2017-03-13 16:50 -0500
                Re: Language feature selection Don Y <blockedofcourse@foo.invalid> - 2017-03-13 17:08 -0700
                Re: Language feature selection Robert Wessel <robertwessel2@yahoo.com> - 2017-03-13 20:51 -0500
                Re: Language feature selection Don Y <blockedofcourse@foo.invalid> - 2017-03-13 20:31 -0700
                Re: Language feature selection Robert Wessel <robertwessel2@yahoo.com> - 2017-03-14 21:45 -0500
                Re: Language feature selection Don Y <blockedofcourse@foo.invalid> - 2017-03-14 21:16 -0700
                Re: Language feature selection Les Cargill <lcargill99@comcast.com> - 2017-03-11 16:40 -0600
            Re: Language feature selection Don Y <blockedofcourse@foo.invalid> - 2017-03-10 15:10 -0700
              Re: Language feature selection Walter Banks <walter@bytecraft.com> - 2017-03-10 16:42 -0600
                Re: Language feature selection Don Y <blockedofcourse@foo.invalid> - 2017-03-10 17:02 -0700
                Re: Language feature selection Tom Gardner <spamjunk@blueyonder.co.uk> - 2017-03-11 00:46 +0000
                Re: Language feature selection Don Y <blockedofcourse@foo.invalid> - 2017-03-11 13:05 -0700
                Re: Language feature selection Tom Gardner <spamjunk@blueyonder.co.uk> - 2017-03-11 21:58 +0000
                Re: Language feature selection Don Y <blockedofcourse@foo.invalid> - 2017-03-11 15:19 -0700
                Re: Language feature selection Tom Gardner <spamjunk@blueyonder.co.uk> - 2017-03-11 23:27 +0000
                Re: Language feature selection Walter Banks <walter@bytecraft.com> - 2017-03-10 20:14 -0600
                Re: Language feature selection Don Y <blockedofcourse@foo.invalid> - 2017-03-11 12:16 -0700
        Re: Language feature selection Hans-Bernhard Bröker <HBBroeker@t-online.de> - 2017-03-10 20:40 +0100
          Re: Language feature selection Wouter van Ooijen <wouter@voti.nl> - 2017-03-10 22:28 +0100
  Re: Language feature selection Jacob Sparre Andersen <jacob@jacob-sparre.dk> - 2017-03-10 20:03 +0100
    Re: Language feature selection Grant Edwards <invalid@invalid.invalid> - 2017-03-10 19:48 +0000
      Re: Language feature selection Jacob Sparre Andersen <jacob@jacob-sparre.dk> - 2017-03-13 21:25 +0100
    Re: Language feature selection Don Y <blockedofcourse@foo.invalid> - 2017-03-10 13:03 -0700
      Re: Language feature selection Jacob Sparre Andersen <jacob@jacob-sparre.dk> - 2017-03-13 21:40 +0100
        Re: Language feature selection Don Y <blockedofcourse@foo.invalid> - 2017-03-13 14:35 -0700
          Re: Language feature selection Tom Gardner <spamjunk@blueyonder.co.uk> - 2017-03-14 01:06 +0000
            Re: Language feature selection Paul Rubin <no.email@nospam.invalid> - 2017-03-13 19:23 -0700
              Re: Language feature selection Tom Gardner <spamjunk@blueyonder.co.uk> - 2017-03-14 08:48 +0000
                Re: Language feature selection Paul Rubin <no.email@nospam.invalid> - 2017-03-14 02:14 -0700
                Re: Language feature selection Tom Gardner <spamjunk@blueyonder.co.uk> - 2017-03-14 09:33 +0000
                Re: Language feature selection Don Y <blockedofcourse@foo.invalid> - 2017-03-14 09:21 -0700
                Re: Language feature selection Les Cargill <lcargill99@comcast.com> - 2017-03-17 06:01 -0500
                Re: Language feature selection Tom Gardner <spamjunk@blueyonder.co.uk> - 2017-03-17 11:39 +0000
                Re: Language feature selection Les Cargill <lcargill99@comcast.com> - 2017-03-17 07:16 -0500
                Re: Language feature selection Tom Gardner <spamjunk@blueyonder.co.uk> - 2017-03-17 13:49 +0000
                Re: Language feature selection Paul Rubin <no.email@nospam.invalid> - 2017-03-17 11:03 -0700
                Re: Language feature selection David Brown <david.brown@hesbynett.no> - 2017-03-17 19:21 +0100
                Re: Language feature selection Paul Rubin <no.email@nospam.invalid> - 2017-03-17 11:34 -0700
                Re: Language feature selection David Brown <david.brown@hesbynett.no> - 2017-03-17 20:26 +0100
                Re: Language feature selection Tom Gardner <spamjunk@blueyonder.co.uk> - 2017-03-17 20:07 +0000
                Re: Language feature selection Tom Gardner <spamjunk@blueyonder.co.uk> - 2017-03-17 20:29 +0000
                Re: Language feature selection Les Cargill <lcargill99@comcast.com> - 2017-03-17 19:19 -0500
                Re: Language feature selection Tom Gardner <spamjunk@blueyonder.co.uk> - 2017-03-18 08:18 +0000
            Re: Language feature selection Hans-Bernhard Bröker <HBBroeker@t-online.de> - 2017-03-14 21:20 +0100
  Re: Language feature selection jim.brakefield@ieee.org - 2017-03-10 18:46 -0800
    Re: Language feature selection Niklas Holsti <niklas.holsti@tidorum.invalid> - 2017-03-11 15:41 +0200
      Re: Language feature selection jim.brakefield@ieee.org - 2017-03-11 14:20 -0800
        Re: Language feature selection upsidedown@downunder.com - 2017-03-12 00:54 +0200
          Re: Language feature selection jim.brakefield@ieee.org - 2017-03-12 18:08 -0700
            Re: Language feature selection upsidedown@downunder.com - 2017-03-13 23:36 +0200
          Re: Language feature selection Robert Wessel <robertwessel2@yahoo.com> - 2017-03-13 17:03 -0500
    Re: Language feature selection Don Y <blockedofcourse@foo.invalid> - 2017-03-11 14:21 -0700

csiph-web