nyanotech has quit [Remote host closed the connection]
nyanotech has joined #amaranth-lang
buganini has joined #amaranth-lang
buganini has quit [Ping timeout: 276 seconds]
buganini has joined #amaranth-lang
balrog_ has quit [Quit: Bye]
balrog has joined #amaranth-lang
<cr1901>
Still merge from me after current details worked out, won't be present at meeting
<whitequark[cis]>
good evening everyone, it is time for our scheduled weekly Amaranth core language meeting
<whitequark[cis]>
who is attending?
<zyp[m]>
here
<jfng[m]>
o/
<whitequark[cis]>
Wanda: particularly interested in your input
<Wanda[cis]>
well then
<zyp[m]>
so a quick summary since last week; I rewrote the layout check to use Layout.cast(other.shape()), and that solves data.Const as well, i.e. no need to special case for it
<Wanda[cis]>
yup, I like this part
<Wanda[cis]>
the EnumView should get similar treatment though
<Wanda[cis]>
ie. accept anything that has the same shape, not just another EnumView
<jfng[m]>
> If Layout.cast() raises, reject the assignment
<jfng[m]>
should the kind of exception be specified ? i.e. if `.connect()` wants to provide its own error message
<Wanda[cis]>
mainly because, in the current definition, it would reject an assignment of a const (enum consts aren't EnumView)
<zyp[m]>
should we introduce EnumType.cast(), or just inline what it'd do?
<zyp[m]>
what type is an enum const exactly?
<Wanda[cis]>
it should be just a shape() comparison
<Wanda[cis]>
a const's type is the enum
<Wanda[cis]>
as in, the enum class itself
<Wanda[cis]>
(it's a metaclass in addition to being a ShapeCastable)
<zyp[m]>
anyway, my intention is to perform the same checks as the comparison operators do, I'm just a bit unsure how to word it correctly
<jfng[m]>
<jfng[m]> "> If Layout.cast() raises..." <- > <@jfng:matrix.org> > If Layout.cast() raises, reject the assignment
<jfng[m]>
> should the kind of exception be specified ? i.e. if `.connect()` wants to provide its own error message
<jfng[m]>
(for `Layout.cast()` that's a TypeError or RecursionError)
<whitequark[cis]>
we should do raise ConnectionError(...) from layout_err
<zyp[m]>
in 0.6, we'd suppress it and give a deprecation warning
<whitequark[cis]>
in the reference-level explanation, it might make more sense to explain it in terms of what's accepted, not what's rejected
<whitequark[cis]>
the current wording is kind of confusing
<zyp[m]>
I figured since the RFC proposes to reject things that were accepted before, listing the rejections makes it more clear what is changing, and then the documentation afterwards are written in terms of what's accepted
<whitequark[cis]>
I'm fine with it either way really
<whitequark[cis]>
anything else? we did have a point from Wanda on it increasing language (stdlib, I guess) complexity, which is true
<whitequark[cis]>
without necessarily structuring the complexity well
<whitequark[cis]>
I feel that at some point we'll have to rethink the existing ValueCastable/ShapeCastable system a bit, in a largely-backwards-compatible way, to make it more nicely structured, but I also don't feel like we're at that point yet
<Wanda[cis]>
I'm fine with this RFC as long as the enum thing is fixed to accept any ValueCastable with the same shape
<zyp[m]>
how do I word it?
<zyp[m]>
> If other is a `ValueCastable`, reject the assignment if `self.shape() != other.shape()`
<zyp[m]>
something like that?
<zyp[m]>
* how do I word it?
<zyp[m]>
something like that?
<zyp[m]>
> If other is a `ValueCastable`, reject the assignment if `self.shape() != other.shape()`
<whitequark[cis]>
Wanda?
<Wanda[cis]>
yeah looks good
<zyp[m]>
I'm happy with that change
<whitequark[cis]>
okay, please respond with your disposition for RFC #73: merge or close
<_whitenotifier-1>
[amaranth-lang/amaranth-lang.github.io] whitequark 8841c9a - Deploying to main from @ amaranth-lang/rfcs@2979ebfbefe6c9b64f48696b1d4d3ca2c402a91e 🚀
yuriks_ has joined #amaranth-lang
cyrozap_ has joined #amaranth-lang
Xesxen_ has joined #amaranth-lang
__DuBPiRaTe__ has joined #amaranth-lang
AledCuda[m] has quit [*.net *.split]
zyp[m] has quit [*.net *.split]
ldcd[m] has quit [*.net *.split]
Xesxen has quit [*.net *.split]
urja has quit [*.net *.split]
yuriks has quit [*.net *.split]
cyrozap has quit [*.net *.split]
yuriks_ is now known as yuriks
cyrozap_ is now known as cyrozap
__DuBPiRaTe__ has quit [Remote host closed the connection]
urja has joined #amaranth-lang
ldcd[m] has joined #amaranth-lang
zyp[m] has joined #amaranth-lang
AledCuda[m] has joined #amaranth-lang
vegard_e[m] has quit [Quit: Idle timeout reached: 172800s]
buganini has quit [Read error: Connection reset by peer]
buganini has joined #amaranth-lang
buganini has quit [Ping timeout: 260 seconds]
tpw_rules[m] has quit [Quit: Idle timeout reached: 172800s]