ChanServ changed the topic of #crystal-lang to: The Crystal programming language | http://crystal-lang.org | Crystal 0.29.0 | Fund Crystal's development: http://is.gd/X7PRtI | GH: https://github.com/crystal-lang/crystal | Docs: http://crystal-lang.org/docs/ | API: http://crystal-lang.org/api/ | Gitter: https://gitter.im/crystal-lang/crystal
DTZUZO has joined #crystal-lang
blassin2782 has joined #crystal-lang
blassin278 has quit [Ping timeout: 244 seconds]
DTZUZO has quit [Ping timeout: 248 seconds]
<FromGitter> <watzon> Finally finished with my Matrix (https://watzon.github.io/apatite/Apatite/LinearAlgebra/Matrix.html) class. It's API pretty much perfectly matches that of Ruby's .
<FromGitter> <watzon> Now I can get back to doing ML stuff, and hopefully this time without the memory leaks I was having before
laaron- has quit [Quit: ZNC 1.7.1 - https://znc.in]
laaron has joined #crystal-lang
_whitelogger has joined #crystal-lang
snsei__ has joined #crystal-lang
snsei__ has quit [Remote host closed the connection]
_whitelogger has joined #crystal-lang
snsei has joined #crystal-lang
<FromGitter> <girng> interesting
DTZUZO has joined #crystal-lang
<FromGitter> <girng> damn you wrote a lot of code
<FromGitter> <watzon> Yass
ht_ has joined #crystal-lang
ht_ has quit [Remote host closed the connection]
absolutejam1 has joined #crystal-lang
absolutejam1 has quit [Ping timeout: 244 seconds]
snsei has quit [Remote host closed the connection]
snsei has joined #crystal-lang
snsei has quit [Remote host closed the connection]
snsei has joined #crystal-lang
snsei has quit [Remote host closed the connection]
snsei has joined #crystal-lang
snsei has quit [Remote host closed the connection]
snsei has joined #crystal-lang
snsei has quit [Remote host closed the connection]
snsei has joined #crystal-lang
snsei has quit [Remote host closed the connection]
snsei has joined #crystal-lang
snsei has quit [Remote host closed the connection]
DTZUZO has quit [Ping timeout: 268 seconds]
snsei has joined #crystal-lang
snsei has quit [Remote host closed the connection]
snsei has joined #crystal-lang
snsei has quit [Remote host closed the connection]
snsei has joined #crystal-lang
snsei has quit [Remote host closed the connection]
<FromGitter> <watzon> What's the experimental overflow flag?
absolutejam1 has joined #crystal-lang
<FromGitter> <watzon> Never mind, found it
snsei has joined #crystal-lang
absolutejam1 has quit [Ping timeout: 268 seconds]
snsei has quit [Ping timeout: 250 seconds]
<FromGitter> <watzon> @lodestone don't know if you're around, but my friend on Telegram just found your overshare project lol
<FromGitter> <watzon> Seems pretty cool
absolutejam1 has joined #crystal-lang
sorcus has joined #crystal-lang
<FromGitter> <girng> slow day today for crystal eh
<FromGitter> <girng> we need to make crystal more popular
<FromGitter> <girng> what to do
absolutejam2 has joined #crystal-lang
absolutejam1 has quit [Ping timeout: 268 seconds]
<livcd> find a company that can pay 5-10 compiler devs ? :O
<FromGitter> <mwlang> @watzon I'm definitely happy to see you building out Matrix and these other ML libraries. At some point, I'm planning to start employing a lot of ML into automated trading and was originally planning to lean on python for a lot of this since it's well supported in that community.
<FromGitter> <mwlang> I'm not familiar with the Matrix class you're working on presently, but have played around some with Numo and Python's Numpy. In particular going through these exercises: https://github.com/ruby-numo/numo-narray/wiki/100-narray-exercises
DTZUZU has quit [Ping timeout: 258 seconds]
absolutejam2 has quit [Ping timeout: 245 seconds]
DTZUZU has joined #crystal-lang
absolutejam2 has joined #crystal-lang
<FromGitter> <girng> @livcd can't crystal get support from big companies, godot got a grant from firefox of $20,000
<FromGitter> <girng> not firefox, mozilla*
<FromGitter> <girng> rofl i said the browser xD
snsei has joined #crystal-lang
rohitpaulk has joined #crystal-lang
rohitpaulk has quit [Remote host closed the connection]
snsei has quit [Ping timeout: 276 seconds]
rohitpaulk has joined #crystal-lang
snsei has joined #crystal-lang
snsei has quit [Ping timeout: 276 seconds]
laaron has quit [Quit: ZNC 1.7.1 - https://znc.in]
laaron has joined #crystal-lang
absolutejam2 has quit [Ping timeout: 245 seconds]
DTZUZO has joined #crystal-lang
duane has quit [Ping timeout: 245 seconds]
rohitpaulk has quit [Ping timeout: 245 seconds]
Flipez has quit [Quit: The Lounge - https://thelounge.github.io]
Flipez has joined #crystal-lang
Flipez has quit [Client Quit]
Flipez has joined #crystal-lang
duane has joined #crystal-lang
snsei has joined #crystal-lang
<FromGitter> <mavu> @girng Why the rush? Just lean back and enjoy the ride.
rohitpaulk has joined #crystal-lang
snsei has quit [Ping timeout: 250 seconds]
rohitpaulk has quit [Ping timeout: 272 seconds]
DTZUZO has quit [Ping timeout: 272 seconds]
rohitpaulk has joined #crystal-lang
ht_ has joined #crystal-lang
lucasb has joined #crystal-lang
sz0 has joined #crystal-lang
rohitpaulk has quit [Remote host closed the connection]
<FromGitter> <bajro17> What is the easiest way to use pointers
<FromGitter> <Blacksmoke16> dont use pointers? :P
<FromGitter> <Blacksmoke16> or use a slice
<FromGitter> <bajro17> but pointers is good for performance
<FromGitter> <Blacksmoke16> but they're unsafe if you dont know what you're doing
snsei has joined #crystal-lang
<FromGitter> <Blacksmoke16> slice is a good middle ground
<FromGitter> <bajro17> is there anything like *ptr
<FromGitter> <bajro17> to use * or some other character to describe its pointer or I must use pointerof()?
<FromGitter> <bajro17> thank you I will check this now I want make something to show crystal is faster then golang :D
<FromGitter> <bajro17> until sunday we will see if its possible to I proof
<FromGitter> <j8r> @bajro17 it's not a good point to show that unsafe crystal is faster than safe golang
<FromGitter> <j8r> probably you can optimize without using pointers
<FromGitter> <j8r> the main point of using Crystal vs other compiled languages isn't really speed or memory IMO, they are all comparable
<FromGitter> <j8r> users cares more about the language features, and good enough speed/memory
<rkeene> That's why users use Tcl ;-)
<FromGitter> <j8r> *and static typing
<rkeene> You can statically type Tcl, if you want
<FromGitter> <j8r> Tcl isn't as efficient as other compiled languages
<FromGitter> <j8r> it wasn't designed to
<rkeene> If you AOT compile it it is
<rkeene> (AOT compiling isn't complete, and is a TREMENDOUS undertaking, 5 PhDs worth so far)
<FromGitter> <j8r> I know, the official PDF explicitly stated it was partially
<FromGitter> <j8r> because big challenges remains due to the dynamic nature of the language
<FromGitter> <j8r> (IIRC)
<rkeene> Tcl is more dynamic than JavaScript, and there aren't many JS AOT compilers either for the same reason
<rkeene> Yeah
<rkeene> But it works in the same way as Crystal, with type inference and code splitting for different types
<rkeene> There's probably some applicable techniques in there that could be used in Crystal as well
<FromGitter> <bajro17> You know until now for me is so hard to understand trie data
<FromGitter> <bajro17> this is why I want try implement it
absolutejam has quit [Quit: WeeChat 2.5]
snsei has quit [Ping timeout: 264 seconds]
flaviodesousa has quit [Quit: KVIrc 4.9.3 Aria http://www.kvirc.net/]
<FromGitter> <meltheadorable> i read somewhere that recursive aliases may be going away but i wasn’t quite able to figure out whether there was a good alternative to them at the moment — I’m trying to write a deserializer for a custom data format, and I noticed that JSON::Any and YAML::Any both still use recursive aliases under the hood — is there a clear alternative I should be moving towards or is that still being discussed?
<FromGitter> <j8r> there aren't using recursive aliases anymore @meltheadorable
<FromGitter> <meltheadorable> they seemed to be when i looked at the code yesterday, but maybe i was looking at the wrong place
<FromGitter> <j8r> You can use a similar pattern too
<FromGitter> <meltheadorable> oh gosh, i see why i made the mistake i did — whoops
<FromGitter> <meltheadorable> I forgot that a recursive alias would have had to use `Type` not `Any` in its definition, I confused myself
<FromGitter> <j8r> Is the data highly dynamic, or does the mapping known in advance?
<FromGitter> <meltheadorable> The actual data can be arbitrary byte strings, the format allows encoding display/type hints, but using them to infer anything would be complicated, because those hints aren’t, say, restricted to mime types or anything similar, but for the purposes of parsing it’s really just arbitrarily nested layers of arrays of byte strings or arrays with optional hints
<FromGitter> <meltheadorable> but because the nesting is arbitrary i need some way of specifying that its an array of more arrays or byte strings
<FromGitter> <meltheadorable> so a lot less complex than JSON or YAML in terms of the possible types, but still need the recursion because the structure is arbitrary
<FromGitter> <meltheadorable> i will also probably include some things to attempt to coerce the data to strings in various encodings because the primary use case is not actually arbitrary binary data but it can be so I can’t assume it’s strings either
absolutejam2 has joined #crystal-lang
<jokke> hi
<jokke> is there a crystal lib for writing to/reading from x clipboard?
<jokke> (without using xclip)
absolutejam3 has joined #crystal-lang
absolutejam2 has quit [Ping timeout: 246 seconds]
absolutejam3 has quit [Ping timeout: 244 seconds]
sz0 has quit [Quit: Connection closed for inactivity]
absolutejam3 has joined #crystal-lang
absolutejam3 has quit [Client Quit]
<FromGitter> <watzon> @mwlang I actually did take a lot of inspiration from numpy originally, but I messed up somewhere and had massive memory leaks. This new API is based completely on Ruby's Matrix class, but I fully plan on redoing all of the numpy methods that I had there originally.
<FromGitter> <watzon> I want it to be easy to adopt for people who are familiar with Ruby and Python
absolutejam has joined #crystal-lang
<rkeene> j8r, There's a Tcl conference in October that you should come to, the Quad Code guys are there
absolutejam has quit [Ping timeout: 245 seconds]
rohitpaulk has joined #crystal-lang
lucasb has quit [Quit: Connection closed for inactivity]
absolutejam has joined #crystal-lang
rohitpaulk has quit [Ping timeout: 244 seconds]
ht_ has quit [Quit: ht_]
<wmoxam> Are there any plans to support newer versions of LLVM going forward?
<wmoxam> Context: OpenBSD is moving to LLVM 8 in the next release and there are no back ports of older versions
<FromGitter> <j8r> @meltheadorable I see. Note that a class can have an ivar that has its type, but not a struct. Nevertheless, a struct T can have an ivar of SomeType(T). That's one reason why `Exception` is a class (because of @cause), but Any can be a struct (Hash(String, Any))
<FromGitter> <j8r> and Array(Any)
duane has quit [Ping timeout: 248 seconds]
<FromGitter> <girng> @mavu oh i am :P
<FromGitter> <girng> just thinking of ways to get the developers more $
<FromGitter> <girng> if i didn't live in this shithole of a state i'd already donate money but igave it to my mom for mortgage payments
absolutejam has quit [Ping timeout: 248 seconds]
<FromGitter> <Blacksmoke16> rip
sorcus has quit [Ping timeout: 250 seconds]
<FromGitter> <girng> although, if i can get this IT Technician job at a local library, i'd def be able to donate
<jokke> hey
<FromGitter> <girng> hey
<jokke> how would i write a shard which binds to a c library i've written as an extension?
<FromGitter> <meltheadorable> @j8r struggling to process the implications of that at the moment — i haven’t fully learned the language yet, so i’ve been playing it largely by ear trying to write this little parser
<jokke> it's actually a bit more complex than that. i have a rust library which exposes unmangled functions. i want to bind those from crystal
<jokke> basically what i'm wondering is how i deal with the linker flags
<jokke> and the built .so file