sb0 changed the topic of #m-labs to: ARTIQ, Migen, MiSoC, Mixxeo & other M-Labs projects :: fka #milkymist :: Logs http://irclog.whitequark.org/m-labs
fengling has joined #m-labs
fengling has quit [Ping timeout: 240 seconds]
fengling has joined #m-labs
fengling has quit [Ping timeout: 240 seconds]
fengling has joined #m-labs
sb0 has joined #m-labs
sb0 has quit [Ping timeout: 272 seconds]
fengling_ has joined #m-labs
fengling has quit [Ping timeout: 240 seconds]
fengling_ has quit [Ping timeout: 240 seconds]
sb0 has joined #m-labs
fengling_ has joined #m-labs
FelixVi has quit [Remote host closed the connection]
fengling_ has quit [Ping timeout: 240 seconds]
mumptai has joined #m-labs
fengling_ has joined #m-labs
fengling_ has quit [Ping timeout: 240 seconds]
<whitequark>
sb0: okay, this numpy change results in a serious deterioration of error message quality
<whitequark>
like, either way I'm doing it, that happens
<sb0>
how so?
<whitequark>
specifically, what's taking so long is I implemented it the straightforward way, and they were bad, and now I did it the hard and more proper way, and they are also bad, in different ways
<whitequark>
straightforward way: alias int(width=32) to np.int32
<whitequark>
problem: implementation detail leaks into error messages, because initially all int literals are int(width='a)
<whitequark>
hard way: make literals initially untyped (i.e. just 'a) and then unify them with int32 or int64 later
<whitequark>
problem: when they have the type 'a, they can get unified with weirdest shit, like <instance TTLOut>, and then that will be propagated everywhere
<whitequark>
the underlying issue is that HM type system has no way of expressing "either int32 or int64"
fengling_ has joined #m-labs
<sb0>
can't the error messages be simply edited to print int(width=32) as np.int32?
<sb0>
or rather, formatted
<whitequark>
yes, that's the straightforward part
<sb0>
what sort of error message would be inappropriate with that?
<whitequark>
int(width='a) has no np. equivalent though.
<sb0>
when does itn print int(width='a)?
<sb0>
*it
<whitequark>
every time you have an integer literal whose bit width is not yet known
<sb0>
print it "np.int?"
<whitequark>
which is the case for the majority of errors, as they happen before monomorphization
<whitequark>
oh.
<whitequark>
... oh.
<whitequark>
yeah, that works.
<sb0>
"width='a" is certainly confusing to users anyway
<whitequark>
well, there's list(elt='a)
<whitequark>
I guess that is not much better after all...
<whitequark>
ok. I will finish that branch and push it this evening
<sb0>
"'a" certainly doesn't mean much to users. it's a minor detail, but I'd suggest "list(elt=?)" here
sb0 has quit [Read error: Connection reset by peer]
sb0 has joined #m-labs
<cr1901_modern>
rjo: Just to confirm I understand correctly; the register that's used to latch data to be sent out in the artiq SPI core is simultaneously used to clock in new data (presumably as a resource optimization)?
mumptai has quit [Remote host closed the connection]
sb0 has quit [Quit: Leaving]
<rjo>
cr1901_modern: yes. afaik this is typically done like that in most bit-serial protocols.
<cr1901_modern>
rjo: Fair enough. I imagine it works for 99% of the cases (except for maybe a theoretical device which receives LSB first and sends MSB first or vice-versa)
fengling_ has quit [Ping timeout: 240 seconds]
fengling_ has joined #m-labs
fengling_ has quit [Ping timeout: 240 seconds]
FabM has quit [Quit: ChatZilla 0.9.92 [Firefox 45.2.0/20160607223741]]
rel has quit [Remote host closed the connection]
fengling_ has joined #m-labs
FabM has joined #m-labs
fengling_ has quit [Ping timeout: 240 seconds]
fengling_ has joined #m-labs
fengling_ has quit [Ping timeout: 240 seconds]
fengling_ has joined #m-labs
fengling_ has quit [Ping timeout: 240 seconds]
mumptai has joined #m-labs
fengling_ has joined #m-labs
fengling_ has quit [Ping timeout: 240 seconds]
fengling_ has joined #m-labs
fengling_ has quit [Ping timeout: 240 seconds]
fengling_ has joined #m-labs
fengling_ has quit [Ping timeout: 240 seconds]
sandeepkr has quit [Read error: Connection reset by peer]
sandeepkr has joined #m-labs
sandeepkr_ has joined #m-labs
sandeepkr has quit [Read error: Connection reset by peer]
sandeepkr__ has joined #m-labs
sandeepkr_ has quit [Ping timeout: 246 seconds]
fengling_ has joined #m-labs
fengling_ has quit [Ping timeout: 240 seconds]
fengling_ has joined #m-labs
fengling_ has quit [Ping timeout: 240 seconds]
fengling_ has joined #m-labs
fengling_ has quit [Ping timeout: 240 seconds]
gric has quit [Ping timeout: 240 seconds]
mumptai has quit [Remote host closed the connection]
fengling_ has joined #m-labs
fengling_ has quit [Ping timeout: 240 seconds]
fengling_ has joined #m-labs
fengling_ has quit [Ping timeout: 240 seconds]
sandeepkr_ has joined #m-labs
sandeepkr__ has quit [Read error: Connection reset by peer]