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 · code https://github.com/amaranth-lang · logs https://libera.irclog.whitequark.org/amaranth-lang · Matrix #amaranth-lang:matrix.org
peepsalot has joined #amaranth-lang
Degi_ has joined #amaranth-lang
Degi has quit [Ping timeout: 245 seconds]
Degi_ is now known as Degi
notgull has quit [Ping timeout: 245 seconds]
notgull has joined #amaranth-lang
jjsuperpower_ has joined #amaranth-lang
jjsuperpower has quit [Ping timeout: 245 seconds]
skipwich has quit [Remote host closed the connection]
skipwich has joined #amaranth-lang
<mcc111[m]> <mcc111[m]> "I guess I've already asked..." <- Update: No… no, this is something else? https://github.com/amaranth-lang/amaranth/issues/1006
<whitequark[cis]> yeah, I don't remember anyone asking for that specifically
<mcc111[m]> It seems like evaluating Cat expressions with constant constituents shouldn't be that hard…
<mcc111[m]> But I don't think (?) the internals of Cat are documented or part of any api contract, so I'd be a little afraid to do so in my end-user code
<whitequark[cis]> `Const.cast(Cat(0,0,1,0))` workd
<whitequark[cis]> s/workd/works/
<whitequark[cis]> it's even documented
<Wanda[cis]> I think rotate also requires Slice
<whitequark[cis]> yes. is that all?
<Wanda[cis]> for rotate? I think so
<Wanda[cis]> I hmmm
<whitequark[cis]> I think we can treat that as a minor change probably, without requiring an RFC
<Wanda[cis]> was wondering about Slice for const struct manipulation too, actually
<Wanda[cis]> since this lets you access fields
<whitequark[cis]> unsure. seems hard to imagine anyone objecting to Slice who is fine with Cat
<Wanda[cis]> but that's part of the large bitstruct redesign thing in Glasgow which I have not really figured out yet
<whitequark[cis]> yeah I think we can just discuss a PR
<Wanda[cis]> want me to cook one for Slice?
<mcc111[m]> It seems like if you say "no const expressions" that's a coherent position for the language to take but "expressions can contain const or cat but NOT slice" is very surprising. I think you can say adding slice is just filling out the existing language semantics.
<Wanda[cis]> the objection to having lots of stuff available in const eval is that it's likely to result in very poorly tested code paths
<whitequark[cis]> <Wanda[cis]> "want me to cook one for Slice?" <- yes
<whitequark[cis]> <mcc111[m]> "It seems like if you say "no..." <- originally, `Cat` was added so that you could make a compound value out of several enums
<whitequark[cis]> this is very common in instruction decoders for example
<whitequark[cis]> there was no concrete motivation for Slice so it wasn't added, but the RFC explictly said that the list can be expanded in the future
<mcc111[m]> oh, i see. well it's good this was specifically thought out then
<mcc111[m]> i was assuming Cat working was a coincidence
<whitequark[cis]> no
<whitequark[cis]> hm, where'd the notification bot go
_whitenotifier-3 has joined #amaranth-lang
<_whitenotifier-3> [amaranth-boards] mobilinkd opened issue #239: Tang Nano 9K Blinky - https://github.com/amaranth-lang/amaranth-boards/issues/239
<_whitenotifier-3> [amaranth] mcclure opened issue #1006: Signal reset cannot be set to a const expression - https://github.com/amaranth-lang/amaranth/issues/1006
<_whitenotifier-3> [amaranth] whitequark commented on issue #1006: Signal reset cannot be set to a const expression - https://github.com/amaranth-lang/amaranth/issues/1006#issuecomment-1872450102
<_whitenotifier-3> [amaranth] mobilinkd opened issue #1007: Tang Nano 9K Blinky - https://github.com/amaranth-lang/amaranth/issues/1007
<_whitenotifier-3> [amaranth] whitequark commented on issue #1007: Tang Nano 9K Blinky - https://github.com/amaranth-lang/amaranth/issues/1007#issuecomment-1872462007
<whitequark[cis]> heeere we go
zyp[m] has quit [Quit: Idle timeout reached: 172800s]
notgull has quit [Ping timeout: 245 seconds]
notgull has joined #amaranth-lang
<Wanda[cis]> oops
<Wanda[cis]> found a bug in the Cat handling code while I was at it
<Wanda[cis]> or two
<whitequark[cis]> oops
_whitenotifier has joined #amaranth-lang
<_whitenotifier> [amaranth] wanda-phi opened pull request #1008: hdl.ast: fix `Const.cast(Cat(...))` handling for signed numbers. - https://github.com/amaranth-lang/amaranth/pull/1008
<_whitenotifier-3> [amaranth] wanda-phi opened pull request #1009: hdl.ast: make `Slice` const-castable. - https://github.com/amaranth-lang/amaranth/pull/1009
<_whitenotifier-3> [amaranth] codecov[bot] commented on pull request #1008: hdl.ast: fix `Const.cast(Cat(...))` handling for signed numbers. - https://github.com/amaranth-lang/amaranth/pull/1008#issuecomment-1872507501
<_whitenotifier> [amaranth] codecov[bot] commented on pull request #1009: hdl.ast: make `Slice` const-castable. - https://github.com/amaranth-lang/amaranth/pull/1009#issuecomment-1872507703
<Wanda[cis]> ugh.
<Wanda[cis]> okay, codecov, you're technically right, but ... no
<Wanda[cis]> fine, I added a test for that
<whitequark[cis]> what was it about?
<Wanda[cis]> the `raise TypeError("<whatever> is not const-castable")` branch at the end was not covered, and this caused complaint about partial coverage on the `elif isinstance(obj, Slice):` line that I added at the end
<Wanda[cis]> since the entire PR was 3 lines long, this resulted in 66% test coverage and failed CI
<_whitenotifier-3> [amaranth] github-merge-queue[bot] created branch gh-readonly-queue/main/pr-1008-82d35fb93243aa8bdc50bf13be0f4cba472d037d - https://github.com/amaranth-lang/amaranth
<_whitenotifier-3> [amaranth] github-merge-queue[bot] created branch gh-readonly-queue/main/pr-1009-6780c838b2b07c93165d3e84221134c7b1463f07 - https://github.com/amaranth-lang/amaranth
<whitequark[cis]> that's a soft failure
<whitequark[cis]> does not affect mergeability
<whitequark[cis]> the UI is super confusing though
<_whitenotifier-3> [amaranth-lang/amaranth] wanda-phi 6780c83 - hdl.ast: fix `Const.cast(Cat(...))` handling for signed numbers.
<_whitenotifier> [amaranth-lang/amaranth] github-merge-queue[bot] pushed 1 commit to main [+0/-0/±2] https://github.com/amaranth-lang/amaranth/compare/82d35fb93243...6780c838b2b0
<_whitenotifier-3> [amaranth] whitequark closed pull request #1008: hdl.ast: fix `Const.cast(Cat(...))` handling for signed numbers. - https://github.com/amaranth-lang/amaranth/pull/1008
<_whitenotifier-3> [amaranth] github-merge-queue[bot] deleted branch gh-readonly-queue/main/pr-1008-82d35fb93243aa8bdc50bf13be0f4cba472d037d - https://github.com/amaranth-lang/amaranth
<_whitenotifier-3> [amaranth-lang/amaranth-lang.github.io] github-merge-queue[bot] 37525e4 - Deploying to main from @ amaranth-lang/amaranth@6780c838b2b07c93165d3e84221134c7b1463f07 🚀
<_whitenotifier> [amaranth-lang/amaranth-lang.github.io] whitequark pushed 1 commit to main [+0/-0/±33] https://github.com/amaranth-lang/amaranth-lang.github.io/compare/eaf4a91a7117...37525e475bba
<_whitenotifier-3> [amaranth-lang/amaranth] github-merge-queue[bot] pushed 1 commit to main [+0/-0/±4] https://github.com/amaranth-lang/amaranth/compare/6780c838b2b0...0849e1af0bbe
<_whitenotifier> [amaranth-lang/amaranth] wanda-phi 0849e1a - hdl.ast: make `Slice` const-castable.
<_whitenotifier> [amaranth] whitequark closed pull request #1009: hdl.ast: make `Slice` const-castable. - https://github.com/amaranth-lang/amaranth/pull/1009
<_whitenotifier-3> [amaranth] github-merge-queue[bot] deleted branch gh-readonly-queue/main/pr-1009-6780c838b2b07c93165d3e84221134c7b1463f07 - https://github.com/amaranth-lang/amaranth
<_whitenotifier> [amaranth] whitequark closed issue #1006: Slices resulting from `.rotate_{left,right}` are not considered constant-castable - https://github.com/amaranth-lang/amaranth/issues/1006
<_whitenotifier-3> [amaranth-lang/amaranth-lang.github.io] whitequark pushed 1 commit to main [+0/-0/±40] https://github.com/amaranth-lang/amaranth-lang.github.io/compare/37525e475bba...4178c4376a17
<_whitenotifier> [amaranth-lang/amaranth-lang.github.io] github-merge-queue[bot] 4178c43 - Deploying to main from @ amaranth-lang/amaranth@0849e1af0bbecc629b1331ee257c58bf931b241a 🚀
lofty has left #amaranth-lang [#amaranth-lang]
<Wanda[cis]> oh, right, backports
<Wanda[cis]> so what's the procedure for that, anyway?
<galibert[m]> Release every six months so you don’t have to care about them ?
notgull has quit [Ping timeout: 256 seconds]
notgull has joined #amaranth-lang
notgull has quit [Ping timeout: 256 seconds]
<_whitenotifier-3> [amaranth] mobilinkd commented on issue #1007: Tang Nano 9K Blinky - https://github.com/amaranth-lang/amaranth/issues/1007#issuecomment-1872552331
<_whitenotifier-3> [amaranth] mcclure commented on issue #1006: Slices resulting from `.rotate_{left,right}` are not considered constant-castable - https://github.com/amaranth-lang/amaranth/issues/1006#issuecomment-1872552969
SpaceCoaster has quit [Quit: Bye]
SpaceCoaster has joined #amaranth-lang
<whitequark[cis]> <Wanda[cis]> "so what's the procedure for that..." <- we don't have a specific one yet
<whitequark[cis]> I'm going to tag bugfix PRs which seem backportable and for now do nothing else
<whitequark[cis]> then we figure it out
<mcc111[m]> Can confirm Wanda's fix from lastnnight worked, thanks!
<mcc111[m]> Does the RFC need to be updated to indicate "minor" changes have been made to it? I dont know ur policies
vipqualitypost[m has quit [Quit: Idle timeout reached: 172800s]
notgull has joined #amaranth-lang
jjsuperpower has joined #amaranth-lang
<whitequark[cis]> we don't have a policy for that
<whitequark[cis]> I'd say n
<whitequark[cis]> s/n/no, we already have docs/
<_whitenotifier> [rfcs] whitequark commented on commit b345e8a36f6cd1714fd0fafea6a16ada3cdadf5b - https://github.com/amaranth-lang/rfcs/commit/b345e8a36f6cd1714fd0fafea6a16ada3cdadf5b#r135948625
<_whitenotifier> [amaranth] whitequark commented on issue #1007: Tang Nano 9K Blinky - https://github.com/amaranth-lang/amaranth/issues/1007#issuecomment-1872610069
<mcc111[m]> 👍
jjsuperpower__ has joined #amaranth-lang
jjsuperpower__ has quit [Client Quit]
jjsuperpower has quit [Ping timeout: 264 seconds]
jjsuperpower__ has joined #amaranth-lang
jjsuperpower_ has quit [Ping timeout: 252 seconds]
jjsuperpower has joined #amaranth-lang
<_whitenotifier-3> [rfcs] zyp commented on commit b345e8a36f6cd1714fd0fafea6a16ada3cdadf5b - https://github.com/amaranth-lang/rfcs/commit/b345e8a36f6cd1714fd0fafea6a16ada3cdadf5b#r135949217
jjsuperpower__ has quit [Ping timeout: 245 seconds]
jjsuperpower has quit [Ping timeout: 268 seconds]
FFY00 has joined #amaranth-lang
skipwich has quit [Remote host closed the connection]
skipwich has joined #amaranth-lang
jjsuperpower has joined #amaranth-lang
jjsuperpower_ has joined #amaranth-lang