<vegai>
Crystal might have a real good chance of drawing some of the people from the Rust community
<vegai>
some of the more famous ones there are ruby coders
andrewzah has joined #crystal-lang
andrewzah has quit [Quit: WeeChat 1.9]
andrewzah has joined #crystal-lang
andrewzah has quit [Client Quit]
andrewzah has joined #crystal-lang
crst has joined #crystal-lang
rohitpaulk has joined #crystal-lang
snsei has joined #crystal-lang
<crst>
Hi, why do I need llvm as a dependency? It bothers me because llvm is so big. Is there a way around this with brew?
<crst>
On centos it's just crystal, 19M, that's it
andrewzah has quit [Quit: WeeChat 1.9]
alex`` has joined #crystal-lang
<Yxhuvud>
if that is the case, then your centos already have llvm installed
<FromGitter>
<bew> @mverzilli I love that compiler compiler thing :p I've been thinking about that since a few month in fact, and I've set my next task to start a BNF (or something close) of the language.. that's the big research part I guess!
<FromGitter>
<elorest> Morning. Must be time for me to go to bed.
rohitpaulk has quit [Ping timeout: 248 seconds]
<Papierkorb_>
lol
claudiuinberlin has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
sp4rrow has quit [Quit: The Internet needs a break and I need a cookie]
claudiuinberlin has joined #crystal-lang
claudiuinberlin has quit [Client Quit]
snsei has quit [Remote host closed the connection]
claudiuinberlin has joined #crystal-lang
cigaran has joined #crystal-lang
cigaran has quit [Client Quit]
claudiuinberlin has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<crst>
Yxhuvud: does that mean llvm is necessary? Why is it just recommended in the official guides to install --with-llvm ?
rohitpaulk has joined #crystal-lang
<FromGitter>
<faustinoaq> crst & Yxhuvud: I think LLVM is always necessary because is the backend of Crystal. You don't need to install LLVM per se because Crystal already have all necessary to compile a program. However if you use compiler libraries you should install LLVM explicitly: ⏎ ⏎ > If you're planning to contribute to the language itself you might find useful to install LLVM as well [0] ⏎ ⏎ [0] -
<FromGitter>
<faustinoaq> Hi people a DSL to write Ruby extensions would be possible before 1.0? WDYT @asterite ?
<crst>
faustinoaq: and osx, doesn't it have it's own llvm already? I have xcode installed, too. the brew llvm ins 1GB.
<FromGitter>
<krypton97> Are C bindings compiled with -O3 flag?
<FromGitter>
<krypton97> On solus comes by default
<FromGitter>
<krypton97> llvm
andrewzah has joined #crystal-lang
Papierkorb_ has quit [Ping timeout: 240 seconds]
andrewzah has quit [Quit: WeeChat 1.9]
snsei has joined #crystal-lang
snsei has quit [Ping timeout: 246 seconds]
bmcginty has quit [Ping timeout: 248 seconds]
bmcginty has joined #crystal-lang
DTZUZO has quit [Ping timeout: 260 seconds]
Papierkorb_ has joined #crystal-lang
rohitpaulk has quit [Ping timeout: 255 seconds]
ShalokShalom_ has joined #crystal-lang
rohitpaulk has joined #crystal-lang
ShalokShalom has quit [Ping timeout: 248 seconds]
claudiuinberlin has joined #crystal-lang
ShalokShalom_ is now known as ShalokShalom
<FromGitter>
<ziprandom> @faustinoaq @mverzilli interesting discussion. I have this project called cltk, which is a lexer and parser generator.
<FromGitter>
<ziprandom> unfortunately the only way to persist the parser (not having to create the parsing tables on every initialization) was to use msgpack to serialize it.
<FromGitter>
<ziprandom> being able to create crystal ast nodes from macros would be awsome but is not on the roadmap (understandably though)
<FromGitter>
<ziprandom> https://github.com/sivadeilra/racc is a really interesting project for rust, which does create a compiled parser by directly rendering the constructed parser to rust ast.
claudiuinberlin has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
rohitpaulk has quit [Ping timeout: 248 seconds]
rohitpaulk has joined #crystal-lang
<FromGitter>
<bararchy> Is there a times_with_inedx or something similar ?
<FromGitter>
<bararchy> Oh, just `do |i|` gives the index
<FromGitter>
<bararchy> cool :)
rohitpaulk has quit [Ping timeout: 248 seconds]
claudiuinberlin has joined #crystal-lang
claudiuinberlin has quit [Client Quit]
andrewzah has joined #crystal-lang
<andrewzah>
hello
claudiuinberlin has joined #crystal-lang
andrewzah has quit [Ping timeout: 240 seconds]
<FromGitter>
<Freezerburn> So I'm trying to deploy a Crystal program as an SVN post hook... on a really old version of Ubuntu (11) which is a 32-bit machine (i686 is what gets reported from uname -a). I followed the cross compiling advice to come up with the command "crystal build --cross-compile --target 'i686-unknown-linux-gnu' src/mysource.cr" which gives me a long command for compiling on the destination machine. However, this
<FromGitter>
... command includes a dependency on libcrystal.a, which is not on the destination machine and I'm not planning on installing because it's an SVN server that I didn't build (so I don't want to just add stuff to it willy nilly). Is there any way to get around this? Should I be doing something different in the cross compile? etc.
claudiuinberlin has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<FromGitter>
<asterite> What is the result of File.read("/proc/stat").each_line.grep(/^cpu /).first ?
<FromGitter>
<asterite> Vincent: I believe cross compilation is broken right now bcause of libcrystal... you'll have to compile libcrystal on the target machine, check the Makefile (should be relatively simple)
<FromGitter>
<Freezerburn> @asterite libcrystal.a is just from sigfaults.c? Wow you weren't kidding about simple
claudiuinberlin has joined #crystal-lang
<FromGitter>
<Freezerburn> I'm not seeing where $(AR) is defined though for what looks like linking, and I don't see where it actually issues a compiler command to make the object file
<FromGitter>
<asterite> Yes, it's just that. Ideally we should write that in Crystal, though sigfault.h uses a lot of macros. But I'd really like that to happen because it would mean cross compilation will work again
<FromGitter>
<asterite> I might try to implement it myself if I have time...
<crystal-gh>
[crystal] asterite pushed 1 new commit to master: https://git.io/v5Kv0
<crystal-gh>
crystal/master cd4c132 TSUYUSATO Kitsune: Format: fix to place only a newline between call-comment-newline and def...
<FromGitter>
<Freezerburn> And now that I have libcrystal.a built, I find out there are a bunch of other libraries it depends upon that do not exist on the target system (pcre, gc at the least. probably don't have event, not sure about rt or dl)
<FromGitter>
<Freezerburn> (oddly pcreposix exists as a .so, but trying -lpcreposix still doesn't find it)
<FromGitter>
<Freezerburn> (well, technically a .so.3)
<FromGitter>
<Freezerburn> Papierkorb_ No non-suffix version exists in the lib directory, oddly enough
<FromGitter>
<Freezerburn> Actually, now that I actually looked at what libs are available: all the libs depended upon actually exist, but I don't see any non-prefix forms for some reason
<Papierkorb_>
Then that's broken
<Papierkorb_>
there should be a no-suffix .so symlink pointing at the .so with the "longest" version suffix
<FromGitter>
<Freezerburn> I guess I could probably create a new directory with the non-suffix forms and add that directory as a library folder during the compile, so that I don't mess with the system at all
rohitpaulk has joined #crystal-lang
<Papierkorb_>
e.g. on my system, there's libgc.so, libgc.so.1 and libgc.so.1.0.3 - The first two are symlinks to the last one
<FromGitter>
<Freezerburn> *shrug* The system works fine, though I don't know why it doesn't have them. This is in /usr/lib though, so maybe they're symlinked somewhere else without the suffix
<Papierkorb_>
Though for your case, only having a non-suffix symlinkn would be fine
<FromGitter>
<asterite> I think you should try to install Crystal on the target machine and compile there. It will be simpler 😄
snsei has quit [Ping timeout: 246 seconds]
<FromGitter>
<papilip> @asterite ok, can you send me a doc ?
<FromGitter>
<asterite> I was replying to Vincent :-P
<FromGitter>
<papilip> Sorry
<FromGitter>
<asterite> papilip: no response in which line?
<FromGitter>
<Freezerburn> @asterite You're not wrong! Though I just talked with some people, and it sounds like it's going to get rebuilt as a 64-bit machine so I should hopefully be able to just copy my 64-bit binary over when that's done
rohitpaulk has quit [Ping timeout: 240 seconds]
<FromGitter>
<papilip> @asterite at the last line crystal not work
rohitpaulk has joined #crystal-lang
claudiuinberlin has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
sz0 has joined #crystal-lang
<Groogy>
7exit
<Groogy>
gah xD oops
Groogy has quit [Quit: WeeChat 1.9]
claudiuinberlin has joined #crystal-lang
Groogy has joined #crystal-lang
claudiuinberlin has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
claudiuinberlin has joined #crystal-lang
claudiuinberlin has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
sp4rrow has quit [Quit: The Internet needs a break and I need a cookie]
<FromGitter>
<elorest> lol
<FromGitter>
<faustinoaq> > My advice is to make sure that you create a solid framework, not just a solid language. Ruby would not have been successful without Rails. A solid framework can change the destiny of a language. I am not familiar with Crystal, but I'll take a look. [0] ⏎ ⏎ Well, Kemal & Amber our warriors ⏎ ⏎ [0] - https://dev.to/lpasqualis/i-spent-30-years-coding-full-time
<FromGitter>
<kyku> however it complains about calling hash[keys.first] on an empty tuple :/
<oprypin>
kyku, could you directly explain what you're trying to do? no c++ and no ruby
<FromGitter>
<kyku> I'd like to implement a method, that given a possible nested hash, and a tuple of keys, will recursively iterated over the hash and the tuple and return the last key
<Papierkorb>
Or replace the `as(Hash)` with `as(Indexable)` to make it generic
<Papierkorb>
Should still work™
<oprypin>
Papierkorb, hash is not indexable.
<Papierkorb>
How boring. responds_to? to the rescue.
<FromGitter>
<kyku> @oprypin : well, in theory you don't have to give all nested hash keys: dig({1 => {2 => 3}}, 1) == {2 => 3}
<oprypin>
kyku, sure. just showin a neat trick and there was a probability that it's the wanted behavior
<FromGitter>
<kyku> is it possible to overload on an empty tuple?
<oprypin>
probably but im not sure what u mean
<FromGitter>
<kyku> one sec
<FromGitter>
<jwoertink> Out of curiosity, what is the core team's policy on the PR approvals with regards to if one member has approved a PR, and the PR has sat for several months?
snsei_ has joined #crystal-lang
<FromGitter>
<jwoertink> like, the ADHD in me wants to go through all those PRs and ping core members to ask for a second review, but the sanity in me says that would be a dick move lol. So obviously I'm not going to do that.
<FromGitter>
<jwoertink> I know it takes quite a bit of time to review a PR, but I think some of the older ones get forgot about because new shiny (and probably more important) PRs show up at the top
<FromGitter>
<jwoertink> hmm, actually, going through it I think some of the older ones were taken care of recently. Here's the oldest half-approved PR I saw https://github.com/crystal-lang/crystal/pull/4056
<oprypin>
yes, from what I see, they do get forgotten and there is no policy. it's gotten much better with RX14 though
<FromGitter>
<jwoertink> yeah, that's what I'm starting to notice
<FromGitter>
<jwoertink> ok, so maybe those aren't as bad anymore. Just the "Changes Requested" ones, but those are probably more on the PR submitter than anything
<RX14>
any PR that isn't in my github notifications list is pretty much off my adgenda simply due to time
<FromGitter>
<jwoertink> I feel ya there.
<RX14>
so i actually appreciate people going and pinging their own PRs if there's clearly nothing left to be done than a review
<RX14>
i don't have time to search out such PRs myself
<RX14>
probably not too many at once though
<FromGitter>
<jwoertink> right
<FromGitter>
<jwoertink> I'm digging this uptick in commits though!
<FromGitter>
<jwoertink> To me, it's like checking reddit and not seeing purple links :p
sz0 has joined #crystal-lang
<RX14>
heh, i don't read all of my frontpage at all
<FromGitter>
<faustinoaq> 👍
<RX14>
i read all of some subreddits tho i guess
<RX14>
mostly r/spacex but thats low traffic
<RX14>
i tend to just title skim
sp4rrow has quit [Quit: The Internet needs a break and I need a cookie]
<FromGitter>
<jwoertink> On an unrelated note.... Has HTTP Proxy support been added?
<FromGitter>
<jwoertink> doesn't look like
<oprypin>
jwoertink, it's easy to do it yourself if u really want
<FromGitter>
<jwoertink> oh?
<oprypin>
how would http proxy support look like to you?
<oprypin>
also, i'd like an example proxy just to check my theory
<Papierkorb>
How the user chooses to use something that doesn't get them killed shall be their decision
<FromGitter>
<jwoertink> In the case of a VPN, can you change out the IP address of it at random?
<Papierkorb>
which IP
<FromGitter>
<jwoertink> the IP that the website sees. Your client IP
<FromGitter>
<jwoertink> I guess you could just use multiple vpn connections
<RX14>
HTTP_PROXY is usually respected by default
<RX14>
curl does
<RX14>
so why not us
<Papierkorb>
In all cases I know of, yes. In theory, it could configure to masquerade as the real client ip.
<Papierkorb>
jwoertink, but that masquerading setup is not standard. But perfectly possible: That's how non-NAT-ing routers work afterall.
<FromGitter>
<jwoertink> Would http client proxy not be supported in crystal by default then? As in a simple config options just being passed..
<Papierkorb>
Well no, the client has to implement the protocol towards the proxy, and thus has to know about that it's supposed to use a proxy (and how)
<FromGitter>
<jwoertink> I should try out that example and see how that works
<Papierkorb>
jwoertink, a VPN generally refers to a software which creates a (virtual) network device. It can then tell the system which networks to route over this device, which may be "everything". This kind of "proxy" is transparent to most usual applications, and these will just work. A HTTP proxy is /not/ transparent to the application, it has to actively use it.
<Papierkorb>
jwoertink, Which can be a benefit: To use a HTTP proxy, you usually don't require administrative permissions ("root") on your system, unlike for VPN.
<FromGitter>
<jwoertink> Right. That makes sense.
<FromGitter>
<jwoertink> I'd rather not setup OpenVPN on my system because there's a 100% chance I'll mess it up
<FromGitter>
<jwoertink> :D
<FromGitter>
<jwoertink> probably 102% if we're being honest here
<Papierkorb>
Well, you'd need a server to connect to first. If you purchase an account to one of the billion vpn providers, they'll provide you with a configuration file
<FromGitter>
<jwoertink> I wonder if that's cheaper than the proxy IPs that I pay for....
<Papierkorb>
Well, I'd never pay for a pure proxy if I don't have a good reason for it.
<Papierkorb>
Cam
<Papierkorb>
Can't even do torrents over http proxies, what's the point?
<FromGitter>
<jwoertink> my site needs the proxies
<FromGitter>
<jwoertink> Thanks for all the info!
* FromGitter
* matrixbot just discovered icr and is loving it*
<Papierkorb>
oprypin: Do you happen to know if there's a bridge network from Tox or something to Matrix?