ChanServ changed the topic of #zig to: zig programming language | https://ziglang.org | be excellent to each other | channel logs: https://irclog.whitequark.org/zig/
_whitelogger has joined #zig
[rg] has joined #zig
nephele_ has joined #zig
nephele has quit [Ping timeout: 260 seconds]
nephele_ is now known as nephele
<pixelherodev> Nice!
st4ll11 has joined #zig
xackus has quit [Ping timeout: 240 seconds]
<ronsor> 2.3k lines of code
cr1901_modern has quit [Ping timeout: 240 seconds]
<pixelherodev> ronsor: neat!
<pixelherodev> Personally, I'd appreciate raw links in the future (instead of html ones), but that doesn't detract from the actual kernel :)
<ronsor> I'm not sure how much I've abused `comptime` in making the wasm interpreter bindings
<pixelherodev> ronsor: does it build in under sixty seconds on reasonable hardware? :P
<ronsor> yes
<pixelherodev> Then it's within an acceptable amount lol
<ronsor> exactly 54 seconds actually
<ronsor> that includes userspace too tho
<ronsor> and the C dependencies
waleee-cl has quit [Quit: Connection closed for inactivity]
[rg] has quit [Quit: Konversation terminated!]
LER0ever has joined #zig
cole-h has joined #zig
tughi has joined #zig
marnix has joined #zig
tughi has quit [Quit: Leaving]
marnix has quit [Read error: Connection reset by peer]
marnix has joined #zig
frett27 has joined #zig
a_chou has joined #zig
a_chou has quit [Remote host closed the connection]
st4ll11 has quit [Quit: WeeChat 2.9]
frett27_ has joined #zig
frett27 has quit [Ping timeout: 240 seconds]
tsujp has quit [Ping timeout: 240 seconds]
tsujp has joined #zig
cr1901_modern has joined #zig
marnix has quit [Ping timeout: 240 seconds]
cole-h has quit [Ping timeout: 240 seconds]
LakeByTheWoods has quit [Ping timeout: 245 seconds]
<bgiannan> does any of you has some experience using Qt with Zig? I'm looking for a lib with some high level text display features and I'm not finding anything else.
<daurnimator> bgiannan: I don't know of anyone doing that off the top of my head. there would need to be some zig<>qt layer.
<daurnimator> Qt code isn't even normal C++: you have to use the special Qt compiler wrapper thing
wootehfoot has joined #zig
_Vi has joined #zig
drewr has quit [Ping timeout: 260 seconds]
drewr has joined #zig
<bgiannan> right, i know nothing about qt
<bgiannan> just saw QML
<bgiannan> seems like a whole lot to get into
<bgiannan> but don't know anything else than can display formatted text easily, or i'd have to go the low level route with Cairo or Skia
<daurnimator> what do you mean by "formatted text"
<daurnimator> (like, you have a string you want to render? or you have a pixel buffer?)
<daurnimator> and also... what do you mean by "display"... render to the screen? cross platfomly?
<daurnimator> and for the latter: I thought you were using SDL?
<daurnimator> or are you talking about font shaping? in which case you need e.g. harfbuzz
swills has quit [Ping timeout: 240 seconds]
swills has joined #zig
KoljaKube has joined #zig
wootehfoot has quit [Read error: Connection reset by peer]
wootehfoot has joined #zig
knebulae has quit [Read error: Connection reset by peer]
isolier has quit [Quit: Ping timeout (120 seconds)]
isolier has joined #zig
retropikzel has joined #zig
Stephanie has quit [Ping timeout: 265 seconds]
procnto has quit [Ping timeout: 265 seconds]
Nilium has quit [Ping timeout: 264 seconds]
pixelherodev has quit [Quit: ZNC 1.6.2 - http://znc.in]
isolier has quit [Ping timeout: 246 seconds]
procnto has joined #zig
swills has quit [Quit: No Ping reply in 180 seconds.]
Stephanie has joined #zig
ofelas has quit [Ping timeout: 240 seconds]
hanetzer has quit [Ping timeout: 260 seconds]
teqwve has quit [Ping timeout: 260 seconds]
tracernz has quit [Ping timeout: 244 seconds]
ovf has quit [Ping timeout: 244 seconds]
eddyb[legacy] has quit [Ping timeout: 244 seconds]
l1x has quit [Ping timeout: 244 seconds]
strmpnk has quit [Ping timeout: 244 seconds]
Nilium has joined #zig
swills has joined #zig
shakesoda has quit [Ping timeout: 244 seconds]
kushalp_ has quit [Ping timeout: 244 seconds]
utzig_ has quit [Ping timeout: 244 seconds]
JimRM has quit [Ping timeout: 244 seconds]
karrick has quit [Ping timeout: 244 seconds]
wjlroe has quit [Ping timeout: 244 seconds]
Cynthia has quit [Read error: Connection reset by peer]
rzezeski has quit [Read error: Connection reset by peer]
teqwve has joined #zig
nycex- has joined #zig
karrick has joined #zig
rzezeski has joined #zig
Cynthia has joined #zig
eddyb[legacy] has joined #zig
wjlroe has joined #zig
JimRM has joined #zig
nycex has quit [Ping timeout: 240 seconds]
shakesoda has joined #zig
ovf has joined #zig
procnto has quit [Ping timeout: 246 seconds]
tracernz has joined #zig
blueberrypie0 has joined #zig
isolier has joined #zig
ronsor has quit [Ping timeout: 256 seconds]
isolier has quit [Remote host closed the connection]
blueberrypie has quit [Ping timeout: 272 seconds]
blueberrypie0 is now known as blueberrypie
shakesoda has quit [Ping timeout: 240 seconds]
nycex- has quit [Remote host closed the connection]
nycex has joined #zig
shakesoda has joined #zig
ofelas has joined #zig
marnix has joined #zig
procnto has joined #zig
isolier has joined #zig
procnto has quit [Ping timeout: 240 seconds]
marnix has quit [Ping timeout: 244 seconds]
marnix has joined #zig
ronsor has joined #zig
strmpnk has joined #zig
isolier has quit [Client Quit]
cren has joined #zig
isolier has joined #zig
isolier has quit [Remote host closed the connection]
ronsor has quit [Ping timeout: 264 seconds]
procnto has joined #zig
l1x has joined #zig
ronsor has joined #zig
ronsor has quit [Ping timeout: 258 seconds]
ronsor has joined #zig
ronsor has quit [Ping timeout: 240 seconds]
Ristovski has quit [Remote host closed the connection]
[Ristovski] has joined #zig
[Ristovski] is now known as Ristovski
ronsor has joined #zig
chivay has joined #zig
ronsor has quit [Ping timeout: 240 seconds]
ronsor has joined #zig
wootehfoot has quit [Read error: Connection reset by peer]
strmpnk has quit [Ping timeout: 244 seconds]
procnto has quit [Read error: Connection reset by peer]
l1x has quit [Read error: Connection reset by peer]
jicksaw has quit [Ping timeout: 240 seconds]
strmpnk has joined #zig
procnto has joined #zig
l1x has joined #zig
ronsor has quit [Ping timeout: 264 seconds]
jicksaw has joined #zig
ronsor has joined #zig
strmpnk has quit [Read error: Connection reset by peer]
strmpnk has joined #zig
shakesoda has quit [Ping timeout: 256 seconds]
euantorano has quit [Ping timeout: 256 seconds]
euantorano has joined #zig
shakesoda has joined #zig
euantorano has quit [Ping timeout: 240 seconds]
strmpnk has quit [Read error: Connection reset by peer]
strmpnk has joined #zig
l1x has quit [Read error: Connection reset by peer]
shakesoda has quit [Read error: Connection reset by peer]
euantorano has joined #zig
shakesoda has joined #zig
procnto has quit [Ping timeout: 244 seconds]
l1x has joined #zig
procnto has joined #zig
xackus has joined #zig
procnto has quit [Read error: Connection reset by peer]
euantorano has quit [Read error: Connection reset by peer]
shakesoda has quit [Read error: Connection reset by peer]
retropikzel_ has joined #zig
<mkchan> so zig source files are implicitly structs with pub "global" variables and functions being the instantiated type's member variables and functions?
euantorano has joined #zig
procnto has joined #zig
shakesoda has joined #zig
frett27_ has quit [Ping timeout: 258 seconds]
<mkchan> in the stdlib i've only seen files used as namespaces although most of it seems to be because they are type-returning functions so i'm not sure if this style is used much
<alexnask[m]> example usage: src-self-hosted/link/Elf.zig
<mkchan> ah it's like an actual struct definition instead of pub variables, thanks for the clarification and example
cr1901_modern has quit [Quit: Leaving.]
strmpnk has quit [Read error: Connection reset by peer]
cr1901_modern has joined #zig
strmpnk has joined #zig
retropikzel_ has quit [Quit: Leaving]
retropikzel_ has joined #zig
retropikzel_ has quit [Quit: Leaving]
KoljaKube has quit [Ping timeout: 240 seconds]
marnix has quit [Read error: Connection reset by peer]
marnix has joined #zig
cr1901_modern has quit [Quit: Leaving.]
cr1901_modern has joined #zig
cren has quit [Ping timeout: 264 seconds]
klltkr has joined #zig
ofelas has quit [Ping timeout: 265 seconds]
ofelas has joined #zig
companion_cube has quit [Quit: WeeChat 2.3]
<ifreund> yeah there's nothing special about files, they're just like any other struct
<mkchan> so that means compilation kind works like a tree where leaves are the independent struct-files
frett27_ has joined #zig
companion_cube has joined #zig
<ifreund> in that there is a single root source file sure. There's no semantic difference between declaring a struct in-line or using @import() though
wootehfoot has joined #zig
rzezeski has quit [Quit: Connection closed for inactivity]
LER0ever has quit [Ping timeout: 258 seconds]
rzezeski has joined #zig
retropikzel has quit [Quit: Leaving]
retropikzel has joined #zig
xackus has quit [Ping timeout: 240 seconds]
Thalheim has joined #zig
wootehfoot has quit [Ping timeout: 256 seconds]
m6w6 has quit [Quit: https://m6w6.name]
m6w6 has joined #zig
cr1901_modern has quit [Ping timeout: 240 seconds]
cr1901_modern has joined #zig
<frett27_> hi, i would like to create a struct union, with additional fields depending on a common field, like discriminant records in Ada, or some object oriented in C ? i think this is possible in zig, but look for some idiomatic patterns for this
<frett27_> are there some examples ?
<frett27_> in std ? or other place ?
<fengb> Discriminated records = tagged unions
<frett27_> fengb, from my understanding, it change the whole structure,i wish to extend the fields if a field = something
<frett27_> Oh, i see .. , embed the tagged union into the struct ? does that make sense ?
<frett27_> like struct { commonfields: types, type: union(discriminent) { my additional fields } }
<fengb> Yeah, keep the shared data in the struct and separate values in the union
<fengb> This is for known types ahead of time, not extensible
<fengb> For an extensible type / interfaces, we’ve been using @fieldParentPtr like Allocator
<frett27_> fengb, thank's for your feedback, but in my case i really want to have a statically known structure and force the implementation of both. I don't have much sub types and in a system process.
<frett27_> for information, ada allow in this case some common fields -> https://perso.telecom-paristech.fr/pautet/Ada95/e_c20_p6.ada
<frett27_> i like zig (not spawning a troll :-))
<fengb> I don’t know ada >_>
waleee-cl has joined #zig
<ifreund> the other pattern you can use here is to put the common fields in a "base" struct and create specialized structs containing this base struct as a member
<ifreund> then pass the base struct around and acces the specialized version with @fieldParentPtr()
<ifreund> this is fairly commonly used in the self hosted compiler
<ifreund> I'll admit that I don't understand exactly what you're looking for though, I also don't know ada
<Nypsie[m]> ^ Can see this in action in std/zig/ast.zig
<alexnask[m]> Afaict that Ada example is defining a struct field dependng on a comptime value
<alexnask[m]> this is easy with a switch statement in zig if you want the field to have the same name, otherwise youd need some @Tyape(.Struct) trickery
Akuli has joined #zig
cren has joined #zig
_Vi has quit [Ping timeout: 272 seconds]
wootehfoot has joined #zig
metabulation has joined #zig
cole-h has joined #zig
adamkowalski has joined #zig
<klltkr> I'm looking to use the std lib JSON parser to parse into a union (of structs). The JSON in question has a field called "type" with different values (e.g. "number", "string") that I want to use to switch which particular union value gets created. It looks like what I want is a comptime struct field, e.g. `comptime @"type": []const u8 = "number",` in each struct that the union can contain. However, the parser gets upset here https://github.com/ziglang/zig
<klltkr> /blob/master/lib/std/json.zig#L1486 and https://github.com/ziglang/zig/blob/master/lib/std/json.zig#L1500 with `error: cannot assign to constant` which makes sense as I don't see it taking into consideration that the field would be const. I also can't see anything in the TypeInfo union that would allow some additional logic to skip comptime fields.
_Vi has joined #zig
<bgiannan> daurnimator, i want something that can handle work wrapping, margins, line heights, fonts etc. https://pango.gnome.org/ seems like what i want?
retropikzel has quit [Quit: Leaving]
<ifreund> pango provides that level of abstraction, should do what you want
ronsor has quit [Ping timeout: 244 seconds]
ronsor has joined #zig
cr1901_modern has quit [Quit: Leaving.]
cr1901_modern has joined #zig
Patrice_ has joined #zig
yunree has joined #zig
frett27_ has quit [Ping timeout: 240 seconds]
<Patrice_> ifreund, fengb , alexnask for your perspectives and help
<Patrice_> thank's
nephele has quit [Ping timeout: 260 seconds]
xackus has joined #zig
<Patrice_> klltkr, found an example (that helped me): https://github.com/aeronavery/zig-toml/blob/master/src/toml.zig
adamkowalski has quit [Quit: Lost terminal]
Patrice_ has quit [Quit: Leaving]
cole-h has quit [Quit: Goodbye]
<yunree> woowie
metabulation has quit [Quit: Leaving]
Aruseus has joined #zig
metabulation has joined #zig
Aruseus has quit [Client Quit]
xackus has quit [Ping timeout: 240 seconds]
cren has quit [Quit: Swirc IRC client]
st4ll1 has joined #zig
marnix has quit [Ping timeout: 240 seconds]
frett27 has joined #zig
xackus has joined #zig
frett27 has quit [Client Quit]
frett27 has joined #zig
cr1901_modern has quit [Ping timeout: 256 seconds]
_Vi has quit [Ping timeout: 240 seconds]
cr1901_modern has joined #zig
Akuli has quit [Quit: Leaving]
ur5us has joined #zig
metabulation has quit [Read error: Connection reset by peer]
wootehfoot has quit [Read error: Connection reset by peer]
tughi has joined #zig
traviss has joined #zig
frett27 has quit [Quit: Leaving]
<ifreund> so, looks like arch linux updated their glibc to 2.32.0 recently which causes an "Unrecognized glibc version" error with zig 0.6.0
<ifreund> any way to work around that? or are people trying to build river on arch out of luck without a zig update
<ifreund> I've tried native-native-gnu.2.31.0 as the target but that seems to cause linking error with the C libraries
<alexnask[m]> Yeah this has been an issue for a few days, building with musl may work
<ifreund> nah, translate-c chokes on musl's timespec
<alexnask[m]> Ah, unfortunate
<ifreund> maybe this is a good time to try another workaround for that though
<Sahnvour> ifreund: #6166
<ifreund> yeah, but I don't want river to require zig master
xackus has quit [Ping timeout: 240 seconds]
<andrewrk> ifreund, I'm in the middle of merging the glibc update, should be done soon
<andrewrk> ah just saw the bit about 0.6.0. OK, I see the problem. there is an issue open for this...
<andrewrk> apologies for this not making it into 0.6.0
<andrewrk> it would have avoided this issue
<ifreund> is using native-native-gnu.2.31.0 as the target expected to work on 0.6.0?
<ifreund> actually, even on my 2.30.0 system the native-native-gnu.2.30.0 target breaks things
<ifreund> that's kinda odd
<andrewrk> hmmm
rlr has joined #zig
<andrewrk> yeah I would expect native-native-gnu.2.31.0 to work on 0.6.0