IRC channel logs

2026-04-15.log

back to list of logs

<Noisytoot>jcowan: big endian matters! s390 isn't the only big endian architecture
<dsmith>Sadly, most BE machines seem to be vanishing.
<dsmith>ACTION misses the 68K
<dsmith>Is AIX on ppc BE ?
<apteryx>cbaines: I was trying to understanding some environment problem w.r.t. nar-herder dev, see: https://codeberg.org/guix/nar-herder/issues/12
<apteryx>in case you are around/have some ideas
<apteryx>given that 'guix shell --pure -D nar-herder' gives a working environment, I thought updating the inputs used in guix-dev.scm could help, but it's seems to be something else, as the following diff doesn't pmprove things https://paste.guixotic.coop/magit-diff_nar-herder-1-1761.html
<jcowan>dsmith: Not any more.
<jcowan>Noisytoot: The last m68k chips were made in 1994.
<dsmith>jcowan, There was coldfire. "mostly" 68K
<Noisytoot>jcowan: ppc64, aarch64_be
<Noisytoot>aarch64 is bi-endian and ppc64 is sometimes bi-endian (but sometimes big-endian-only) though
<Noisytoot>POWER7 and earlier and the PowerPC CPUs in PowerPC macs (as well as the playstation 3 and xbox 360) are big-endian-only
<jcowan>Oddly, not listed at https://gcc.gnu.org/backends.html, which is supposed to show all supported architectures and their quirks
<Noisytoot>dsmith: yes, and linux can be either (and big endian has better hardware compatibility, so some distros (like adelie linux) only support BE)
<ieure>jcowan, dsmith, Noisytoot, There was also DragonBall after Coldfire, those are m68k cores as well. Used in the first few generations of Palm devices.
<ieure>I believe they were manufactured into at least the early 2000s.
<dsmith>Oh yeah. Where I worked 7-8 years ago we were still using coldfire in products. But Ugh! No mmu! No .so's No fork
<mwette>but 68k was a good design for its time, yea?
<dsmith>It had plenty of registers, but not too many. You could keep them all in your head. (Talking asm programming)
<ieure>mwette, 68k was excellent for its time; remember it launched in 1979.
<ieure>I've heard m68k programmers refer to it as "God's Own Assembly Language."
<dsmith>Oh, it was glorious
<dsmith>An then there was the hateful x86 with those nasty segment registers!
<ieure>It was in the Atari ST, the Macintosh, the Amiga, Sun-2 and -3 systems, many arcade games, and many, many more major systems.
<mwette>SunOS was one of the best. We had machines w/ uptimes > 1 year.
<apteryx>cbaines: that PR should fixes the issue I saw earlier, it updates the local guile-knots package https://codeberg.org/guix/nar-herder/pulls/14
<apteryx>what's the syntax for an infinite value in guile?
<apteryx>is it what is returned by (inf) ?
<lloda>+inf.0
<lloda>or -inf.0
<mooseball>is it possible to splice a variable into a match pattern? quasiquoting in a pattern just binds pattern variables.
<mwette>mooseball: you can use the ?-form: (match '(foo baz) ((foo (? (lambda (x) (eq? x 'baz)))) #t)) => #t
<mwette>where the 'baz in the lambda could be your variable
<mwette>i.e., (match '(foo baz) ((foo (? (lambda (x) (eq? x myvar)))) #t)
<mooseball>mwette: thanks a lot
<mwette>yw
<rlb>Now have string->utfN and utfN->string fixed up in utf8 (better arg validation, avoids extra allocation, handles bad sequences correctly, properly detects/uses BOM, etc.).
<cow_2001>is there a prettier print than (@ (ice-9 pretty-print) pretty-print)? when i print a record filled with records filled with records, the records all show up on one line
<rlb>I also added support for endianness-mandatory?. For now I've tentatively included scm_to_utfN_string_2() flavors to add the mandatory argument since we need new functions for that.
<rlb>(new C functions)
<rlb>I'm planning to go back and look at test coverage a bit more for various things in the series, though I'm not promising anything comprehensive, just at least broader than what we had.
<rlb>I suppose ideally, I should pull those changes (broader test coverage) forward into main so both eventual branches will benefit, but we'll see.
<dsmith>rlb, Truly a heroic effort!