ChanServ changed the topic of #zig to: zig programming language | ziglang.org | be excellent to each other | channel logs: https://irclog.whitequark.org/zig/
jzelinskie has joined #zig
<jzelinskie>
o/
davr0s has quit [Read error: Connection reset by peer]
hoppetosse has quit [Ping timeout: 240 seconds]
isd has quit [Ping timeout: 276 seconds]
noonien has quit [Quit: Connection closed for inactivity]
crimson_penguin has joined #zig
cenomla has quit [Quit: cenomla]
homelessrobot has joined #zig
jjido has joined #zig
andrewrk has quit [Ping timeout: 268 seconds]
andrewrk has joined #zig
return0xe has quit [Read error: Connection timed out]
return0xe has joined #zig
jfo has joined #zig
<jfo>
\o
hoppetosse has joined #zig
hoppetosse has quit [Ping timeout: 240 seconds]
jjido has quit [Ping timeout: 260 seconds]
jfo has quit [Ping timeout: 246 seconds]
davr0s has joined #zig
jfo has joined #zig
jfo has quit [Client Quit]
<MajorLag>
Anyone want to save me some time and explain/link to an explanation of what libicuuc is and why it is a dependency if I build Zig on Ubuntu Artful but not on Debian Jessie? Is it necessary in any way? because it adds about 30MB.
homelessrobot has quit [Ping timeout: 260 seconds]
dtz has quit [Ping timeout: 248 seconds]
dtz has joined #zig
jjido has joined #zig
davr0s has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
sand-witch has joined #zig
<sand-witch>
Hello! I just want to express my appreciation here for those working on this language. I'm incredibly impressed!
<sand-witch>
The quote is: I do have plenty of days where, like many older programmers, I think “Maybe C++ isn’t as much of a net positive as we assume...”.
<sand-witch>
I think Zig might get a lot of C and C++ programmers interested
<sand-witch>
I do have one question: Why can structs not be passed by value? I assume this is to get rid of the endless decisions on whether to pass by value or pointer, and what that even means depending on size of struct and calling convention?
<sand-witch>
Basically, passing by value vs pointer doesn't mean anything anyway, so we might as well force a const pointer?
<sand-witch>
The ABI then picks something efficient to do
sand-witch has quit [Remote host closed the connection]
sand-witch has joined #zig
sand-witch has quit [Remote host closed the connection]
sand-witch has joined #zig
sand-witch has quit [Remote host closed the connection]
sand-witch has joined #zig
jjido has quit [Remote host closed the connection]
return0xe has quit [Ping timeout: 260 seconds]
<andrewrk>
MajorLag, I don't know what libicuuc is for
<andrewrk>
it's not a direct dependency of zig
<andrewrk>
it's unfortunate how many dependencies llvm/clang are pulling in
<MajorLag>
andrewrk: it's apparently some unicode things. libxml2 can be compiled against that or iconv. Ubuntu 17.10 built libxml2 against libicuuc, Debian Jessie built against iconv.
<andrewrk>
oh wow
return0xe has joined #zig
<andrewrk>
this is unreasonably complicated
<andrewrk>
goodness, libxml2 is 200,000 lines of C
<andrewrk>
the entire zig compiler is 51,000
return0xe has quit [Remote host closed the connection]
<andrewrk>
maybe we could make an xml parser in zig exporting a C API and have LLD depend on that instead :)
return0e has joined #zig
return0e has quit [Ping timeout: 264 seconds]
davr0s has joined #zig
<sand-witch>
The compilers for Odin and Loci are a similar size to Zig. Kinda cool. Meanwhile over at Clang... (though not exactly a fair comparison)
return0e has joined #zig
MajorLag2 has joined #zig
MajorLag has quit [Ping timeout: 276 seconds]
<sand-witch>
oh Jai is also a similar size IIRC
<sand-witch>
By the way, It's quiet likely that sometime in the future once C++ modules are here, they'll introduce some kind of way to change how the language works on a per-module basis. This will do things like turn explicit on by default, that kind of thing. But my god, even then, the complexity isn't going to disappear from C++. You guys are saving me from an endless cycle of C++ induced depression.
<sand-witch>
So thanks andrewrk :)
<andrewrk>
sand-witch, are you working on some zig code?
return0e has quit [Remote host closed the connection]
<sand-witch>
No, I just like zig the most of all the recent languages arriving. I'm actually having some trouble compiling the compiler, but I'll work on that a bit later. The errors are stuff like "error: ‘HashString’ is not a member of ‘llvm’" --- It seems deps/lld is reading from my /usr/local/include/llvm which is very recent. I deleted it but then I get different errors. Will troubleshoot later.
<andrewrk>
ok, feel free to ask for help getting it working. is that ubuntu?
<sand-witch>
yes, 17.10 I think
<MajorLag2>
@andrewrk, that'd be nice, because I'm pretty sure I got it to build against musl and libc++ otherwise.
<MajorLag2>
sand-witch: did you use the llvm-6.0 ppa?
<andrewrk>
I've tested to make sure deps/lld picks up .h files from itself before system files
<sand-witch>
MajorLag2: I compiled from master recently
<andrewrk>
that's the problem
<andrewrk>
zig master branch is tracking llvm 6 exactly. llvm master branch can break compatibility with every commit
<sand-witch>
yeah but I deleted it so it'd use /usr/include but then I'm getting different errors. I'll figure it out :)
<sand-witch>
it meaning /usr/local/include/llvm
<sand-witch>
now it's probably a version that's too old
<MajorLag2>
For the record, I didn't have any trouble using the llvm-6.0 ppa, clang, and making sure libxml2-dev was available.
<sand-witch>
ok good to know!
<ltr_>
i think the best way to test drive zig is with docker
<MajorLag2>
I've potentially got an even easier way: I've built a self-contained AppDir of the zig compiler.
<MajorLag2>
it's a bit hefty at 130MB, but now that I've excised libicuuc that'll drop a good 30MB
<andrewrk>
MajorLag2, if you figure out how to automate that, we can put it in travis CI and provide it as an artifact
<MajorLag2>
I actually have automated it. If I add my build script to a cron job, it'll just go ahead and build a new tar.bz2 every time master updates
<MajorLag2>
and then it will upload it to my site and update the displayed build number and updated date too.
<andrewrk>
ah that's nifty. mind if I link to that from ziglang.org/download?
<MajorLag2>
Not at all, that was always the plan, I just wanted to do some more testing and trimming before I was going to bring it up.
<andrewrk>
cool
<MajorLag2>
Oh, I should add langref to it
Ichorio has joined #zig
<MajorLag2>
I'm not sure how compatible my build process is with travis ci, but that sounds like a goal. I'll look into it.
<andrewrk>
good idea. 57KB for up-to-date docs that work offline is a small price to pay
<MajorLag2>
compressed tarball is 28MB, uncompressed dir is ~98MB (without libicuuc, next version won't have it), so 57KB isn't even going to be noticed. Considering I include literally every library it needs, being only about 40MB larger than the Windows version isn't bad.
<andrewrk>
not bad at all. it could probably be smaller if we tried to statically link everything
<andrewrk>
that can be tricky
<MajorLag2>
Yeah, glibc is pretty actively hostile to the concept. that's why I was dabbling with musl/libc++. I got the embedded LLVM stuff built that way after some hacking, but ran into a lot of missing c++ std symbols so I took a break on it because I knew libxml2 would be trouble anyway.
<andrewrk>
MajorLag2, have I told you about the Grand Bootstrapping Plan?
<andrewrk>
I'm going to make an issue
<MajorLag2>
Maybe, was that the one with making a zig C abi?
<sand-witch>
I see so many commits @ LibreOffice that have to do with overflow. It just makes me think how awesome this language will be for big software projects.
SimonNa has joined #zig
<sand-witch>
Sorry for being the weirdo cheerleader here, but one last thing. I've always hated the concept of library wrappers and the fact that C++ people wrap C libraries instead of introducing a defer keyword has always blown my mind. The C++ culture is broken in my opinion, and this language can wake a lot of people up.
<andrewrk>
sand-witch, I look forward to seeing what you create
<sand-witch>
I do too :D
Ichorio_ has joined #zig
Ichorio has quit [Ping timeout: 248 seconds]
steveno_ has joined #zig
cenomla has quit [Quit: cenomla]
steveno_ has quit [Quit: Leaving]
jjido has joined #zig
sand-witch has quit [Remote host closed the connection]
sand-witch has joined #zig
Ichorio_ has quit [Quit: Leaving]
SimonNa has quit [Quit: Leaving]
sand-witch has quit [Remote host closed the connection]