Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
promovicz
@promovicz
packagers hate "bring your own" versions of course. but we wouldn't be so bad because we don't require constant rebuilds like rust does. which for maintainers might mean a multiple-day wait for the ARM and risc-V machines.
Peter S. Housel
@housel
On my RISC-V machine a full LLVM rebuild took about three-quarters of a day
Peter S. Housel
@housel
I looked at a couple of official Docker language images and they don't create users to run things as, they just do things as root
Carl Gay
@cgay
My lack of thinking like a C programmer has struck again. "Each index MUST be in the range [0, "charcnt" - 1]; it designates the NUL-terminated string of octets starting at position "idx" in the time zone designations." I was not expecting a single run of non-zero characters to represent two strings, one of which is a suffix. :)
Jon Godbout
@Slids
Is there a way to get the bits representing a thing:
Take
let foo = 'c';
I want to see the bit representation for foo and compare it to the bit representation for as(<integer>,'c')
?
Peter S. Housel
@housel
Not within the standardized language; there are some implementation-specific primitives that can be used to do it
For that particular case, characters like 'c' have low-order tag bits of #b10, and integers have low-order tag bits of #b01
Carl Gay
@cgay
I like a lot of https://flix.dev/principles/ but I think not supporting binary literals is going a bit too far. (I could do without octal though.)
Jon Godbout
@Slids
thanks, always nice to be able to boil things down to the bits sometimes
promovicz
@promovicz
@Slids dylan is very object-oriented. it hides representation. you can use it like a scripting language in that sense. just let the compiler worry about it.
the advantage is that you can sort-of treat all things equal. everything is an object. everything is the instance of a class.
Jon Godbout
@Slids
I understand, but I want to know
(Even though it doesn't matter)

It's interesting the hacks I've made when I don't know how to do something. I was trying to convert the string

"123"

into the vector

[1, 2 ,3]

and didn't see the as operator...

promovicz
@promovicz
oh, sure. there are ways to figure out how things get represented by dumping IR. as far as objects go there are some docs if you want to know the details.
I'm not sure if there is a quick off-hand inspector specifically for that.
promovicz
@promovicz
AFAIK a <byte-character> like that is an immediate value of some sort. pretty baked in. you can expect that to be as fast as any other small integer.
and if you declare slots on it you will also get efficient slots.
Jon Godbout
@Slids
declare slots?
Peter S. Housel
@housel
That’s not usually the case with Open Dylan; most slots use the regular <object> tagged representation
promovicz
@promovicz
well, if you declare slots as <byte-character> or <integer> then these objects will not be boxed unless required.
Peter S. Housel
@housel
That’s true with Gwydion, but not Open Dylan
Carl Gay
@cgay
I thought that's what repeated slots were about. ?
Peter S. Housel
@housel
Objects can hold raw values, and repeated slots of raw values can be smaller than word-sized
promovicz @promovicz yields to housel because he will know these things better. my memory of those things is a bit fuzzy after to many language implementations I guess.
Carl Gay
@cgay
Greenwich = UCT = Universal = UTC = Zulu
Peter S. Housel
@housel
Well, actually… 😀
Carl Gay
@cgay
These are links that all point to the same zoneinfo file.
Jon Godbout
@Slids
what versions of Dylan are currently being maintained?
distributions not versions
promovicz
@promovicz
only opendylan gets serious maintenance.
before opendylan there used to be an effort around gwydion dylan, but that is considered obsolete now.
Carl Gay
@cgay
@promovicz what about the recent Marlais attention? :)
promovicz
@promovicz
I see that as an experiment for now. it also has some major rough edges left.
Carl Gay
@cgay
Unlike Open Dylan. /snicker
promovicz
@promovicz
hehe. true, but they are less fundamental.
I've been working on the build system today, and bignums.
I should really push this run. let's start rebasing.
Jon Godbout
@Slids
So https://github.com/Slids/advent-of-code-2021/blob/e5d4f4a949716f4f57ffe52305137bb246a4f995/day-13/day-13.dylan#L34 I create a fold-x fold-y local, but it should be simple to just have fold (seq, int) and then use curry to give map a function (setting the value of int to 0 or 1)
nvm, rtfm
Carl Gay
@cgay
Yes, you can do that.
(with rcurry in that case, of course)
Jon Godbout
@Slids
I know realize I can also remove the duplication and put the if statements inside the rcurry
Carl Gay
@cgay
mmmm, curry
dunno why I tweak it after I've solved the problem, the point is to solve the problem, no grade for code
Carl Gay
@cgay
Good, cuz I see more ways to tweak it. :-)
Jon Godbout
@Slids
you could do better by making a tree...
but that would require real thought,