whitequark[cis] changed the topic of #amaranth-lang to: Amaranth hardware definition language · weekly meetings: Amaranth each Mon 1700 UTC, Amaranth SoC each Fri 1700 UTC · play https://amaranth-lang.org/play/ · code https://github.com/amaranth-lang · logs https://libera.irclog.whitequark.org/amaranth-lang · Matrix #amaranth-lang:matrix.org
buganini has quit [Ping timeout: 252 seconds]
buganini has joined #amaranth-lang
buganini has quit [Ping timeout: 265 seconds]
frgo has joined #amaranth-lang
frgo has quit [Ping timeout: 260 seconds]
jjsuperpower has joined #amaranth-lang
buganini has joined #amaranth-lang
buganini has quit [Ping timeout: 252 seconds]
synchromesh has quit [Quit: WeeChat 4.0.5]
buganini has joined #amaranth-lang
dyniec has quit [Quit: WeeChat 4.2.2]
buganini has quit [Read error: Connection reset by peer]
Degi has quit [Ping timeout: 246 seconds]
buganini has joined #amaranth-lang
Degi has joined #amaranth-lang
d_olex has quit [Ping timeout: 272 seconds]
Stary has quit [Quit: ZNC - http://znc.in]
Stary has joined #amaranth-lang
balrog has quit [Ping timeout: 255 seconds]
balrog_ has joined #amaranth-lang
buganini has quit [Ping timeout: 252 seconds]
buganini has joined #amaranth-lang
buganini has quit [Read error: Connection reset by peer]
frgo has joined #amaranth-lang
frgo has quit [Ping timeout: 248 seconds]
frgo has joined #amaranth-lang
buganini has joined #amaranth-lang
frgo has quit [Remote host closed the connection]
buganini has quit [Read error: Connection reset by peer]
frgo has joined #amaranth-lang
frgo has quit [Remote host closed the connection]
frgo has joined #amaranth-lang
frgo_ has joined #amaranth-lang
frgo has quit [Ping timeout: 265 seconds]
frgo_ has quit [Ping timeout: 248 seconds]
frgo has joined #amaranth-lang
frgo has quit [Ping timeout: 246 seconds]
frgo has joined #amaranth-lang
buganini has joined #amaranth-lang
buganini has quit [Read error: Connection reset by peer]
frgo has quit [Quit: Leaving...]
d_olex has joined #amaranth-lang
RobTaylor[m] has joined #amaranth-lang
<RobTaylor[m]> contributions encouraged!
<RobTaylor[m]> oh, has Apertus gone under? Looks like their website no longer exists :(
<jeanthomas> :/
<jeanthomas> I recall anuejn and rroohhh did things with nMigen related to Apertus
<jeanthomas> Can't find their repos
<anuejn> no we are very much alive
<anuejn> just website flakyness
<anuejn> thank you for spotting it :)
<anuejn> our amaranth code is in this monorepo: https://github.com/apertus-open-source-cinema/naps
<anuejn> the project is kinda active but we didnt get around adapting to the upstream streams yet
<whitequark[cis]> agenda for today continues to be RFC 73: https://github.com/amaranth-lang/rfcs/pull/73
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
<whitequark[cis]> mine is merge
<jfng[m]> merge
<whitequark[cis]> disposition on RFC 73: merge
<_whitenotifier-1> [rfcs] whitequark commented on pull request #73: Add RFC for stricter connections. - https://github.com/amaranth-lang/rfcs/pull/73#issuecomment-2353557025
<_whitenotifier-1> [amaranth] zyp opened issue #1511: Tracking issue for RFC 73: Stricter connections. - https://github.com/amaranth-lang/amaranth/issues/1511
<_whitenotifier-1> [rfcs] whitequark closed pull request #73: Add RFC for stricter connections. - https://github.com/amaranth-lang/rfcs/pull/73
<_whitenotifier-1> [amaranth-lang/rfcs] whitequark pushed 5 commits to main [+2/-0/±3] https://github.com/amaranth-lang/rfcs/compare/4352e0d663e3...2979ebfbefe6
<_whitenotifier-1> [amaranth-lang/rfcs] zyp b2c2204 - RFC #73: Stricter connections.
<_whitenotifier-1> [amaranth-lang/rfcs] zyp d195662 - RFC #73: Use `Layout.cast()` when checking for matching layouts.
<_whitenotifier-1> [amaranth-lang/rfcs] zyp d660bfc - RFC #73: Add checks to `lib.enum` too.
<_whitenotifier-1> [amaranth-lang/rfcs] ... and 2 more commits.
<_whitenotifier-1> [rfcs] whitequark commented on pull request #73: Add RFC for stricter connections. - https://github.com/amaranth-lang/rfcs/pull/73#issuecomment-2353575763
<_whitenotifier-1> [amaranth-lang/amaranth-lang.github.io] whitequark pushed 1 commit to main [+1/-0/±57] https://github.com/amaranth-lang/amaranth-lang.github.io/compare/67c0cb495ef4...8841c9ad346b
<_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]
buganini has joined #amaranth-lang
buganini has quit [Ping timeout: 252 seconds]
buganini has joined #amaranth-lang
buganini has quit [Ping timeout: 246 seconds]
buganini has joined #amaranth-lang
buganini has quit [Ping timeout: 260 seconds]