notzmv has quit [Remote host closed the connection]
notzmv has joined #zig
tdeo has quit [Ping timeout: 258 seconds]
tdeo has joined #zig
cole-h has quit [Ping timeout: 252 seconds]
notzmv has quit [Ping timeout: 240 seconds]
frmdstryr has joined #zig
meinside has joined #zig
Bernstein has quit [Remote host closed the connection]
SimonNa has quit [Ping timeout: 240 seconds]
zenkuro has quit [Ping timeout: 252 seconds]
earnestly has quit [Ping timeout: 265 seconds]
notzmv has joined #zig
dyeplexer has joined #zig
klltkr has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
xackus_ has joined #zig
xackus__ has joined #zig
xackus has quit [Ping timeout: 246 seconds]
xackus_ has quit [Ping timeout: 265 seconds]
SimonNa has joined #zig
frmdstryr has quit [Ping timeout: 252 seconds]
<marler8997>
karchnu, yeah I created an abstraction around epoll and/or select. would be cool to see if I could modify it to use something from std lib
a_chou has joined #zig
a_chou has quit [Remote host closed the connection]
knebulae has quit [Read error: Connection reset by peer]
knebulae has joined #zig
<mikdusan>
>Starting on May 1st, users of sourcehut’s CI service will be required to be on a paid account, a change which will affect about half of all builds.sr.ht users.
[wtf] has quit [Ping timeout: 260 seconds]
mikdusan has quit [Quit: WeeChat 3.0.1]
<ifreund>
marler8997: we don't use sr.ht's instance, rather one hosted by lavatech, so I don't think that affects us at all
<ifreund>
yeah crypto sucks though
mikdusan has joined #zig
recalloc has quit [Ping timeout: 252 seconds]
[wtf] has joined #zig
recalloc has joined #zig
zenkuro has quit [Ping timeout: 252 seconds]
<karchnu>
marler8997: yes. From what I saw, std.event already has an abstraction around epoll/kqueue, it would be awesome to use this and have something like libevent by default in the language.
zenkuro has joined #zig
pretty_dumm_guy has joined #zig
Cuyi has quit [Quit: Connection closed]
teratorn_ has joined #zig
teratorn has quit [Ping timeout: 265 seconds]
[wtf] has quit [Quit: [wtf]]
[wtf]1 has joined #zig
aigoo has quit [Quit: Peace!]
[wtf]1 is now known as [wtf]
pretty_dumm_guy has quit [Read error: Connection reset by peer]
aigoo has joined #zig
leon-p has joined #zig
lonjil has quit [Quit: No Ping reply in 180 seconds.]
lonjil has joined #zig
notzmv has joined #zig
waleee-cl has joined #zig
klltkr has joined #zig
teratorn_ is now known as teratorn
noam has quit [Read error: Connection reset by peer]
noam has joined #zig
<kiedtl>
Interesting. Calling a struct-returning Zig function from C just returns junk; changing the Zig function to take an `out: *Struct` parameter mitigates the issue.
<ifreund>
jeregrine: I definitely appreciated his last blog post and the note at the end, that doesn't mean I need to agree with him on language design though :D
dyeplexer has quit [Remote host closed the connection]
<jeregrine>
fo shpo
<jeregrine>
he used to be more brash but I think running a business that needs to make money AS WELL is softening him
<kiedtl>
(Probably off-topic for this channel) I could be wrong, but that paragraph seemed to be apologising for some harshly-worded posts, not his personal toxicity.
<ifreund>
I'll judge him by his future actions not his words
zenkuro has joined #zig
<companion_cube>
kiedtl: "puts the ball in your court" is a lovely euphemism for "force you to reinvent the wheel"
<ifreund>
andrewrk: ergonomics are horrible though if you do that
<andrewrk>
yeah I agree with that, I think std lib linked lists need a once-over on ergo
<andrewrk>
they're some of the oldest code in std
marijnfs has joined #zig
<noam>
mq32: what bad inside job
<noam>
:P
<noam>
mq32: full disclosure: no attempt at an inside job was made
<mq32>
as said: bad inside job if not attempted :D
<noam>
xd
<noam>
ifreund: honestly, I'm likely going to be using Hare over Zig for the most part when both are at 1.0
<noam>
The fact that I'm cheating with my compiler and maybe possibly making my own person undocumented PL using my favorite parts of both Zig and Hare is irrelevant :P
<noam>
personal*
<noam>
Honestly, it's not a direct comparison - Zig, C, and Hare all have advantages over each other and disadvantages. I'll likely be using all three for years to come
<noam>
To paraphrase an intelligent quote: > you can use multiple languages
<mq32>
NO WAY
<noam>
I know, right?!
skuzzymiglet has joined #zig
<andrewrk>
if we can deliver on this compilation speed promise, nobody is going to want to use a different language ever again
<companion_cube>
that's a tall order :)
<mq32>
andrewrk: just be quicker than V
<mq32>
that's all we want
<V>
good luck
<mq32>
Wie?
<V>
normally
<andrewrk>
afaik stage1 is already quicker than V
<andrewrk>
it's a pretty low bar
<mq32>
whoot?
<V>
is vlang anything more than vaporware
<kiedtl>
Really?
<V>
like is it actually a thing now or
<kiedtl>
It is... sort of
<kiedtl>
Not good for anything much
<mq32>
kinda
<V>
I'm really not convinced it'll go anywhere, nothing made by amateur proglang devs ever does
* mq32
looks at andrewrk
<kiedtl>
lol
<fengb>
I mean, he's technically professional now that he's being paid
<fengb>
Kind of a low bar 🤔
<V>
I'd *like* to say that andrewrk seems to know what he's doing a bit better than the vlang people lmao
<ifreund>
definitely feels far more professional, we have a foundation after all
<companion_cube>
quite
<fengb>
(I mean being paid, not being a real expert)
<V>
like we actually have a new language here instead of "something that looks like the syntaxen of go and rust smooshed together"
<ifreund>
and *still* doesn't have it's memory management strategy figured out
<fengb>
But you can pass -autofree to the compiler and have it insert crashes for you :P
<kiedtl>
it's a weird mashup of GC and Rust's memory management engine
<noam>
andrewrk: also, I know you were joking, but fast compilation absolutely won't get me to use stage2 :P
<earnestly>
V: Python
<noam>
nah, python actually works
<noam>
amateurs can do a good job
<earnestly>
noam: That is the counterpoint
<noam>
Ah
<V>
con-artists are specialists, amateurs are generalists :p
<noam>
Thought you were equating V and Python
<noam>
Didn't realize you were talking to V, not about V
<noam>
;p
<V>
that's vlang tyvm
<earnestly>
Heh
<plumm>
lol
<noam>
It's the lang v
<mq32>
noam: why not using stage-2? it should run on plan9 with some adjustments to std :D
<earnestly>
For better or worse most languages that gain wide usage tend to come from single individuals who tend to be outside of language theoretic work
<g-w1>
you also need another non-elf linker
<mq32>
earnestly: luckily, we have some guys with some expertise in lang theory
<g-w1>
who?
<mq32>
spex for sure
<g-w1>
ah
<mq32>
i have learned a lot by designing some hobby langs before (LoLa being the one actually usable!)
<earnestly>
mq32: It's certainly useful to bolster the more pragmatic needs
<mq32>
and understanding design decisons in c++
<noam>
mq32: because I dislike it?
<mq32>
:(
<noam>
I can also port GCC, doesn't mean I want to use it
<mq32>
basing languages purely on theory is stupid though, it gets you non-practical languages
<g-w1>
^'
<noam>
That's like trying to get everyone to speak lojban
<mq32>
but backing practical features with proper semantic definitions gets you sane languages
<noam>
Does it have practical advantages? Sure
<noam>
Is anyone going to give a crap? Unlikely
<noam>
You can make the perfect language, but if nobody wants to use it, it doesn't matter
<noam>
Language is, of course, intrinsically *social*
<earnestly>
There's no need to elevate it beyond simple practical need
<mq32>
earnestly: say that to the haskell guys :D
<noam>
mq32: I'm working on zyg because I think it'll make for a better compiler, not just to "get it working"
<earnestly>
mq32: Hobbies can be fun :p
<noam>
I have no intent of using it to port stage2
<companion_cube>
earnestly: I wouldn't that the divide is that sharp
<mq32>
having a second zig impl is certainly not bad when 1.0 is there :)
<noam>
mq32: it's taking a lot of work because i'm a perfectionist :P
<companion_cube>
like even Java had academics contribute, and scala has certainly seen some usage
<noam>
i've thrown out more code than I've kept at this point, I think
<earnestly>
mq32: Here, realising that counting sort is O(n), they figured out a way to represent memory locations as sortable integers, and so gain O(n) sorting almost generally
<mq32>
noam: it's a lot of work without being a perfectionist as wel
<earnestly>
(roughly)
<noam>
mq32: not really?
<mq32>
it is ;)
<noam>
I could probably implement a half-assed design for zig in a month or two
<noam>
Crappy codegen, of course
<noam>
and it'd probably have bugs here and there
<mq32>
a "barely working" or "standard conform" one? ;)
<noam>
in between
<mq32>
so "barely working" :D
<noam>
a "standards conforming unless you try doing something I didn't think about" one :P
marijnfs has joined #zig
<noam>
mq32: Honestly, at this point I'm tempted to just go for "barely working" and then incrementally fix it :P
<earnestly>
noam: Take a note from Ada though and provide the standard for free, including a companion rationale document and and a compiler conformance test suite
<noam>
I mean I kinda *did*
<noam>
earnestly: for what?
<earnestly>
noam: zig
<g-w1>
thats the part of zig, not zyg?
<noam>
^
<noam>
I'm not doing that, that's not my job!
<noam>
:P
<earnestly>
noam: I mean a half-assed one
<noam>
... half-assed spec?
<earnestly>
And rationale, etc. :p
<noam>
XD
ur5us_ has joined #zig
ironhelix has joined #zig
<marijnfs>
how do you deal with async functions that can suspend several times in a loop?
<mq32>
marijnfs: the same as with the ones that suspend one time only:
<mq32>
have a strategy on how to resume
<g-w1>
you can actually use this pattern as a generator!
sord937 has quit [Quit: sord937]
aigoo has quit [Ping timeout: 276 seconds]
cole-h has quit [Quit: Goodbye]
cole-h has joined #zig
Akuli has quit [Quit: Leaving]
<g-w1>
wow, error on redundant comptime was trivial in stage2!
<mq32>
very cool!
<g-w1>
i hope it will be that way in stage1
<g-w1>
every time i fix something in stage1, i break something else
aigoo has joined #zig
jokoon has quit [Quit: Leaving]
<andrewrk>
g-w1, I'm guessing you just checked if (gz.force_comptime) emit_error(); ?
<g-w1>
yep, and fixed type expr not being comptime, pr is up
<andrewrk>
nice, yeah that logic should be sufficient :)
<g-w1>
not sure if there are any other cases, but its nice that we can just do it all in astgen :)
<andrewrk>
oh sick, LemonBoy made a hex float parser
<andrewrk>
I fucking love that lemon
<mq32>
That dude is so on fire, i feal the heat even from over the great ocean
<mq32>
Unifying this parser and the regular one (and perhaps rewrite it, #2207) is left as an exercise for the reader.
<g-w1>
thanks
mschwaig has quit [Ping timeout: 240 seconds]
mschwaig has joined #zig
<fengb>
Is LemonBoy open for donations?
v0idify has joined #zig
ur5us__ has joined #zig
v0idify has quit [Ping timeout: 240 seconds]
zenkuro has quit [Ping timeout: 265 seconds]
zenkuro has joined #zig
ur5us_ has quit [Remote host closed the connection]
<g-w1>
andrewrk: thanks for the prompt review
v0idify has joined #zig
<marijnfs>
mq32: how do you communicate when to stop resuming and await the result?
<g-w1>
you can have some *bool that you pass in, and if it is false, await it, otherwise resume it
<marijnfs>
g-w1: that's pretty practical
xackus has quit [Ping timeout: 240 seconds]
pretty_dumm_guy has quit [Quit: WeeChat 3.2-dev]
<g-w1>
> redundant comptime keyword in implicitly comptime scope
<g-w1>
andrewrk: i dont like implicitly word here as the user can make an explicit comptime scope with `comptime { }`
<andrewrk>
excellent point
<g-w1>
do you have any better idea of what to put (im bad with stuff like this)
<andrewrk>
how about "already"
<g-w1>
thanks :D
<andrewrk>
redundant comptime keyword in already comptime scope
<andrewrk>
it's worth thinking about because a tiny improvement in compile message wording could save hundreds of people hours of time :)
<g-w1>
agreed! ive been looking at elm recently, and they have really good compile errors with examples. in the (far) future, i think it would be good to include examples in compile errors for example: `redundant comptime keyword in already comptime scope\nexample: `comptime { var i: u32 = comptime func(); }``
<plumm>
rust does this to some extent too. I wonder if people (or newbies starting out) actually used rustc --explain
ifreund has quit [Ping timeout: 245 seconds]
ifreund has joined #zig
<g-w1>
i did, but i would have liked it if the examples were right there in the erorrs
aerona has joined #zig
<plumm>
g-w1 explain is different than an example but i see your point