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.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,8de933d44255f226 X-Google-Attributes: gid103376,public From: dewar@cs.nyu.edu (Robert Dewar) Subject: Re: Q: unboxed values and polymorphism Date: 1996/06/22 Message-ID: #1/1 X-Deja-AN: 162280702 references: organization: Courant Institute of Mathematical Sciences newsgroups: comp.lang.ada Date: 1996-06-22T00:00:00+00:00 List-Id: Hannes says "Absolutely not. On the stack I have words and not records. I work at a low level because it is necessary. I really don't want to have a explicit bit. I don't want to wrap/unwrap my data. Otherwise I would choose the low bits as tag bits. This has nothing to do with C or Ada. It has to do with costs of type checks, tagging, untagging and arithmetic on tagged integers. If you keep telling people that this is evil they will never implement lisp, prolog, ... in Ada. -hannes" No one is saying it is evil, just that your low level approach sounds inappropriate. Write some EXACT low level code of the type you are suggesting, with the operations that go with it, and let's see what it looks like. The "costs of type checks etc. etc." that you refer to should be zero as far as I can see, but we really need exact code to proceed usefully in this discussion. You can perfectly well implement Lisp in Ada using an appropriate level abstraction without any unaccptable overhead!