Re: [PATCH] Disallow empty "or" type specifier

2023-09-26 Thread felix . winkelmann
> Hi all, > > the attached patch makes the `(or)` type specifier invalid, as opposed > to being simplified to `*`. > This is more consistent with the mathematical interpretation of an empty > (sum) type being the bottom type having no inhabitants. > This is very explicit in OCaml, for example,

Re: [PATCH] Disallow empty "or" type specifier

2023-09-26 Thread felix . winkelmann
> It certainly shouldn't be *, nor should it be an error... technically an > empty union should be a null set, which would correspond to either a > non-extant type or to no return/value at all... Well, the problem is: there is no non-extant type, no "bottom": we simply use the Scheme type

Re: [PATCH] Disallow empty "or" type specifier

2023-09-26 Thread Peter Bex
On Tue, Sep 26, 2023 at 12:33:43PM +0300, elf wrote: > It certainly shouldn't be *, nor should it be an error... technically an > empty union should be a null set, which would correspond to either a > non-extant type or to no return/value at all... We've discussed this on IRC. Such a null type

Re: [PATCH] Disallow empty "or" type specifier

2023-09-26 Thread elf
It certainly shouldn't be *, nor should it be an error... technically an empty union should be a null set, which would correspond to either a non-extant type or to no return/value at all... -elf On 26 September 2023 12:02:56 GMT+03:00, Pietro Cerutti wrote: >Hi all, > >the attached patch

[PATCH] Disallow empty "or" type specifier

2023-09-26 Thread Pietro Cerutti
Hi all, the attached patch makes the `(or)` type specifier invalid, as opposed to being simplified to `*`. This is more consistent with the mathematical interpretation of an empty (sum) type being the bottom type having no inhabitants. This is very explicit in OCaml, for example, where the