ChanServ changed the topic of #zig to: zig programming language | ziglang.org | be excellent to each other | channel logs: https://irclog.whitequark.org/zig/
<GitHub187>
zig/master f885a1a Andrew Kelley: change async function call syntax...
steveno_ has joined #zig
cenomla has joined #zig
SimonNa has quit [Quit: Leaving]
davr0s has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
davr0s has joined #zig
davr0s has quit [Client Quit]
davr0s has joined #zig
davr0s has quit [Client Quit]
<MajorLag2>
f885a1a appdir should be up on zig.tgschultz.com now. I spent entirely too long tracking down a linker issue that turned out to be file corruption.
isd has joined #zig
steveno_ has quit [Ping timeout: 276 seconds]
steveno_ has joined #zig
steveno_ has quit [Remote host closed the connection]
<GitHub124>
zig/master 53588f4 Marc Tiehuis: Add missing pub specifier to atan2
tiehuis has quit [Quit: WeeChat 2.1]
isd has quit [Quit: Leaving.]
lqd has quit [*.net *.split]
lqd has joined #zig
sand-witch has joined #zig
davr0s has joined #zig
davr0s has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
davr0s has joined #zig
davr0s has quit [Client Quit]
davr0s has joined #zig
davr0s has quit [Client Quit]
noonien has joined #zig
zesterer has joined #zig
davr0s has joined #zig
noonien has quit [Ping timeout: 256 seconds]
noonien has joined #zig
steveno_ has joined #zig
SimonNa has joined #zig
_whitelogger has joined #zig
hobomatic has joined #zig
<MajorLag>
andrewrk, I'm digging The Grand Bootstrapping plan. Outside of a stable base system, and things like plugins, I generally feel that shared libraries have been a failed experiment in application development.
davr0s has quit [Ping timeout: 276 seconds]
davr0s has joined #zig
steveno_ has quit [Remote host closed the connection]
steveno_ has joined #zig
<andrewrk>
I tend to agree with you
<andrewrk>
or at least, I think that shared libraries perhaps had a place saving bytes on a small hard drive, but now that cost is worth it to have predictable software
<MajorLag>
I think the theory was sound, less memory, less disk, security updates without rebuilding every binary, it's just that in practice the negatives outweigh those by quite a lot in most cases.
<sand-witch>
Speaking of that..isn't the MIT license regularly interpreted as needing binary attribution?
<andrewrk>
no
<andrewrk>
it's very close to public domain
<sand-witch>
Reading the license..it's not clear to me. So I'm googling around and I haven't tallied the score but I'm seeing some people saying stuff like "The way I've seen MIT interpreted most often is that you have to distribute the license and attribution even for binary only distribution, or distribution in binary form as part of a larger work."
<sand-witch>
thats just a random hacker news commenter though
<sand-witch>
The MIT license says "The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software."
<andrewrk>
hm on reinspection I can see how it could be interpreted this way
<sand-witch>
The zlib license uses this wording instead: "This notice may not be removed or altered from any source distribution."
<sand-witch>
So it's a lot clearer for sure
<andrewrk>
if this is a serious issue I would be willing to switch licenses to a clearer one
<sand-witch>
Most people that don't care about this kind of stuff do pick MIT, so it's a trategy that the license isn't clearer
<andrewrk>
hm this seems like it's the same as MIT but just more clear
<sand-witch>
yeah
<sand-witch>
The boost license according to wikipedia: "It is a permissive license in the style of the BSD license and the MIT license, but without requiring attribution for redistribution in binary form."
<andrewrk>
ah ok so this is a real issue
<andrewrk>
it looks like LLVM uses University of Illinois license, which looks identical to BSD-3-clause
<andrewrk>
I will follow their lead and choose BSD-3-Clause
<andrewrk>
which requires redistributions in binary form to reproduce the copyright/license in the documentation and/or other materials provided with the distribution
<andrewrk>
zig links against LLVM,clang,LLD, so this is already required; zig is not introducing a new requirement
sand-witch has quit [Remote host closed the connection]
sand-witch has joined #zig
<hobomatic>
licensing of the compiler itself doesn't seem like it would be any issue at all, but the standard library is a different story
sand-witch has quit [Remote host closed the connection]
<andrewrk>
ah that's a good point
sand-witch has joined #zig
<andrewrk>
I don't want to require binary attribution for the standard library
<sand-witch>
Sigh. Network issues. Yeah I was thinking more about the standard library
<andrewrk>
however, some parts of it are ported from musl
<andrewrk>
which is MIT licensed
<andrewrk>
I'll say this: zig's license is intended to be the lowest common denominator (the most permissive) of all the code we depend on and/or port code from
<sand-witch>
Using exe.linkSystemLibrary("c") gives me "Unable to determine libc lib path." Am I linking libc correctly?
<MajorLag>
zig needs to know how to find wherever your system libraries are. I believe it was -DCMAKE_ZIG_LIBC_DIR and -DCMAKE_ZIG_LIBC_STATIC_DIR at compiler build to set the default paths. you can pass --libc-lib-dir and --libc-static-lib-dir to set it at compiler run time.
davr0s has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
steveno_ has quit [Remote host closed the connection]
<sand-witch>
Alright I got it to work. I was under the mistaken belief for a while that /lib vs symlinked to /usr/lib. Whoops.
zesterer has quit [Quit: zesterer]
zesterer has joined #zig
<andrewrk>
sand-witch, are you using ubuntu? I recommend the exact configure line from the readme
<andrewrk>
it will configure zig to find libc
<sand-witch>
okay good to know
<sand-witch>
Is there any way to test that a function I'm writing compiles, without using it?
<sand-witch>
I can write randoms stuff into functions as long as the syntax is correct
<andrewrk>
this is the same problem as generic functions, where you might have a compile error if you invoke it with a certain type, but not with others. I have a plan to solve this which I'm calling "multibuild"
<andrewrk>
it will perform a simultaneous build of all the targets and is then able to give errors for unused functions
<sand-witch>
Okay thanks. I personally find it hard to develop with a lazy mechanism like that. The code I write is never quickly used by main. But I really like the ability to test my code from 'test'.
<andrewrk>
noted. it's an open issue in the design
sand-witch has quit [Remote host closed the connection]
sand-witch has joined #zig
<sand-witch>
Well, I guess writing too much code before using it is a bit of a flaw of mine. But for new programmers the non-lazy behavior would definitely be less likely to frustrate them as they are learning the language.
<andrewrk>
it's an issue for IDE support too
sand-witch has quit [Remote host closed the connection]
<GitHub28>
zig/master 7a99d63 Andrew Kelley: ability to use async function pointers...
<andrewrk>
sand-witch, I'm pleased with how the `noreturn` type turned out
<andrewrk>
there's a shortcut for that: p.display = ??c.XOpenDisplay(null);
<andrewrk>
it is semantically equivalent to your code
<MajorLag>
andrewrk: new appdir build running. if this one goes without a hitch I think the build script is good enough to let cron take it from here and the appdir on my site will be at most a day behind master. I took a look at travis ci, and from what I can tell we just need to add an artifact that packes up the binary and libs and setup the publishing. I'm not sure which libxml2 trusty uses though, so we may have to deal