ChanServ changed the topic of #zig to: zig programming language | ziglang.org | be excellent to each other | channel logs: https://irclog.whitequark.org/zig/
dimenus has joined #zig
<dimenus>
andrewrk: automatically translating c headers is such a great feature of Zig
SimonN has joined #zig
SimonNa has quit [Ping timeout: 244 seconds]
dimenus has quit [Remote host closed the connection]
dimenus has joined #zig
dimenus has quit [Client Quit]
dimenus has joined #zig
adrusi_ has joined #zig
adrusi has quit [Ping timeout: 252 seconds]
<unique_id>
I might be wrong about this, but: for a long time I was unsure about OOP (not inheritance but simply writing methods). I wondered, would I write code differently in C? Are methods affecting the way I write code? Now I realize that it's simply a stylistic choice. What does affect the way you write code are private fields, operators, and the various c++ constructors. Together these things push you towards creating these 'perfect'
<unique_id>
mini APIs which you do not need. You make things into what they are not, you over complicate.
<unique_id>
C++ can not be saved from these things
<scientes>
* 3. Prevent C++ from infecting the rest of the project.
<scientes>
from src/zig_llvm.cpp
<unique_id>
haha
<unique_id>
Honestly I've wondered for such a long time what OOP was doing to my brain. I think I finally understand programming. I finally understand what is useful and what isn't, what distracts and what doesn't. I've been in anguish for years about this stuff.
<scientes>
i've got this heisenbug, when i'm in lldb its all good, but when i look at it with strace its totally wrong
<MajorLag>
uniqui_id, what you describe is what I'd refer to as sapir-whorf for programmers. The language you use to model the concepts affects the way you think about the concepts.
<unique_id>
interesting
<unique_id>
alright I've got to go, I have a flight tomorrow
<scientes>
> what distracts <<< still working on that
kristate has joined #zig
<kristate>
scientes: hey, fell asleep :) it was 3am
<scientes>
good morning
<scientes>
i took a nap too :)
davr0s has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<kristate>
actually, the sret stuff should be its own PR
<kristate>
and then we can depend on it from arm64
adrusi has quit [Ping timeout: 245 seconds]
adrusi has joined #zig
reductum has joined #zig
<scientes>
the way llvm handles attributes is really complicated since they switched from using a bitfield
<scientes>
i feel that the general support belongs in the zig complier but not stage1
<scientes>
as only sret is necessary for getting the language right: byval, inreg, returned are all optimizations
<scientes>
meh
<scientes>
i guess i'm diving it
<unique_id>
Sorry for the incoming text:
<unique_id>
I've never been more hyped for better C style languages like Zig and Jai. I tried to design "E++" for a few days. Seeing just how much C++ could be simplified. Honestly..no. Just no. Removing references is incredibly difficult, even if you introduce [*] pointers so * can be used with operator[]. Though JBlow found a way to have operator[] I think. I tried to design a syntax that would not bias towards unnamed constructors. So you
<unique_id>
could have "Vector(int) v !with_size(5);", since no-name constructors get confusing in many cases. And on, and on, and on. It's so difficult to fix C++. Better C > Better C++
<unique_id>
The thing I'm most hyped about is seeing actually good libraries made! All the C++ libraries are so bad!
<scientes>
llvm is a c++ library
<scientes>
but you mean things like boost
<unique_id>
I mean on the API side. Also the standard library. Howard Hinnant's Date stuff would be super useful, but it's made so bad by the C++ness of it IMO.
<scientes>
yeah its impossible to do binary compatibility for c++ libraries too, you ever look at the symbol table of a c++ library
<scientes>
?
<unique_id>
I have not
<scientes>
rust uses symbol mangling too
dimenus has quit [Read error: Connection reset by peer]
<kristate>
xvilka: yes, why do you think that is not available?
<xvilka>
I tried on different ISPs
<xvilka>
I think many people don't have means to use VPN/whatever
<kristate>
xvilka: hmm, it is hosted in seattle on amazon EC2
<xvilka>
would be awesome to work out of the box too
<kristate>
andrewrk: we are blocked in china
<xvilka>
Also for Patreon sponsoring - you might consider some middle grounds options - a jump from 5$ to $400 is very big, a few more intermediate options would be awesome
<unique_id>
adrusi: Thanks for zig.kak. I'm trying out kakoune for fun!
<unique_id>
oh though is also zig-kak from Vurich
<unique_id>
there*
wink_ has joined #zig
<wink_>
Is there a way to create a struct at compile time, something like http://bit.ly/2LK8Cql ?