<FromGitter>
<anicholson> @bem I don't think that's possible already?
<FromGitter>
<anicholson> as in, I don't think `enum` is that flexible
<FromGitter>
<bew> You could have in the struct: `@gender : Gender | String`
<FromGitter>
<bew> Problem solved
<FromGitter>
<anicholson> I could
<FromGitter>
<anicholson> but `String` is not a Gender
<FromGitter>
<bew> Don't make it more difficult than this, to me it's overkill
<FromGitter>
<anicholson> you may well be right, @bew :) . I'm a bit frustrated by the lack of tagged types from ML-land, as they're so useful in domain modelling
<RX14>
You'll need the build tools to compile anything
<RX14>
Node is interpreted
<RX14>
It doesn't need any build tools
<RX14>
Crystal always needs build tools because its compiled
<RX14>
Of course we'll have build tools because the compiler would be useless without them
<FromGitter>
<faustinoaq> Ok 👍
<RX14>
Plus none of this is particularly relevent to the current problems on windows
<RX14>
Which is time and effort
<FromGitter>
<faustinoaq> RX14, do you know if someone is working on parallelism for crystal?
<RX14>
No
<RX14>
Nobody is
<RX14>
Same answer for the last two years
<FromGitter>
<faustinoaq> Well, Manas already did a lot of work on thread branch and crystal itself, maybe they are waiting something in crystal master, maybe windows support and stable api have high priority . There are many red tagged issues as well 😅
<livcd>
why not raise some money to hire someone fulltime to at least cover some areas ?
bijan_ is now known as bijan_awaaaay
faustinoaq has joined #crystal-lang
Papierkorb has joined #crystal-lang
Papierkorb has left #crystal-lang ["Konversation terminated!"]
<hightower3>
Hey, I have a hash which I serialize with .to_msgpack. how can I then convert the output of msgpack_unpacker.read into a usable hash? The output of read is Hash(Msgpack::Type, Msgpack::Type). Is there a way to do it without using a mapping() ?
<FromGitter>
<j8r> i don't think multi thread is a big issue, look at NodeJS
<hightower3>
Actually it works, I just can't call the generic read(), must use read_hash() or simila
<hightower3>
similar*
faustinoaq has quit [Quit: IRC client terminated!]
bijan_awaaaay is now known as bijan_
bijan_ is now known as bijan_awaaaay
rohitpaulk has quit [Ping timeout: 256 seconds]
bijan_awaaaay is now known as bijan_
alex`` has quit [Quit: WeeChat 2.0.1]
bijan_ has quit [Quit: System has gone to sleep. ZZZzzz…]
alex`` has joined #crystal-lang
yisel has joined #crystal-lang
duane has joined #crystal-lang
<yisel>
hola de q se trata el grupo
alex`` is now known as alexherbo2
alexherbo2 is now known as alex``
alex`` has quit [Quit: WeeChat 2.0.1]
yisel has quit [Read error: Connection reset by peer]
alex`` has joined #crystal-lang
alex`` is now known as alexherbo2
alexherbo2 is now known as alex``
Guest34371 has quit [Quit: WeeChat 1.7.1]
<ikanobori>
hablamos de crystal
<ikanobori>
pero este no es un canal espanol
<ikanobori>
oh he's gone anyways
qard has joined #crystal-lang
Kug3lis has quit [Remote host closed the connection]
flaviodesousa has quit [Ping timeout: 255 seconds]
moei has joined #crystal-lang
rohitpaulk has quit [Ping timeout: 248 seconds]
alex`` has quit [Quit: WeeChat 2.0.1]
alex`` has joined #crystal-lang
rohitpaulk has joined #crystal-lang
<FromGitter>
<lppedd> Hey guys, looking to try out Crystal. What could I do in a couple if hours? I'm an experienced Java developer looking for a nice a compiled language.
maattdd_ has quit [Ping timeout: 256 seconds]
<FromGitter>
<lppedd> Btw, I read about Cobol above. I know and worked a lot with RPG, which is quite similar and I think they are nice languages for their purposes. RPG is amazingly fast
codenoid has joined #crystal-lang
<codenoid>
hi
maattdd_ has joined #crystal-lang
maattdd_ has quit [Ping timeout: 256 seconds]
<FromGitter>
<lppedd> Which are the important features missing in Crystal as of now?
<FromGitter>
<bararchy> Full Windows support, multi-threading.
<FromGitter>
<bararchy> those are the burning issue
<FromGitter>
<bararchy> apart from that it's just a standard community growth and languge maturity
<FromGitter>
<bararchy> which will take time as is normal
<FromGitter>
<lppedd> @bararchy yeah I read somewhere above about multi-threading. Could you clarify "full Windows support"?
<RX14>
crystal doesn't support compiling for windows right now
<FromGitter>
<bararchy> have `crystal build` generate a native windows exe + full stdlib working on windows
<RX14>
the only way people use crystal on windows right now is using WSL or VMs
<watzon>
Is there a way to debug a macro by printing the generated code?
return0e_ has quit [Remote host closed the connection]
<RX14>
{% debug %}
<RX14>
at the end of the macro
<FromGitter>
<lppedd> I'm looking around for new languages. As a long time (full time since 4 years) Java developer it is becoming a little bit boring. ⏎ I switched to Kotlin but here in Italy you won't jobs for that, especially in finance. ⏎ As I'm also tired of VM languages, I began crawling the web and first thing I tried was Rust, which is like honestly, but the syntax is not really nice on the eye. I value code beauty a lot.
<FromGitter>
... Then I tried Nim, but it's a big no-no for me as it uses a C compiler to produce its outputs. ⏎ Crystal is the only one I found with an awesome syntax and that apparently doesn't require external dependencies. [https://gitter.im/crystal-lang/crystal?at=5a8dcba68f1c77ef3a39cb20]
<RX14>
why exactly do you want no external dependencies?
<RX14>
just interested
<FromGitter>
<lppedd> It's all about plug-and-play. I don't want to spend time over configuring / caring for dependencies. ⏎ Also, businesses share the same opinion, a developer should not spend more time on configuring than on coding. ⏎ I like the Rust + Cargo style, basically everything is managed "inside" the Rust project.
codenoid has quit [Quit: i sleep in my keyboard]
<FromGitter>
<paulosuzart> @lppedd same for node.js (specially with typescript where it shines). Everything dead simple inside the project
<FromGitter>
<lppedd> This is why every time I try to pick C/C++ in a serious manner I end up giving up. Although I like them
<FromGitter>
<paulosuzart> you can achieve pretty much the same behaviour with python using virtualenv and ruby using bundler
<FromGitter>
<lppedd> @paulosuzart Exactly, and that's why its becoming mainstream. I'm not a JavaScript guy, but as a web developer a like the integration between front and back-end
<FromGitter>
<paulosuzart> the good thing with crystal is that it produces a single executble like Golang, besides a clear syntax like ruby, but with types. I'm also a java guy (2004 to 2016). Now mostly work with typescript and python. wish crystal can continue this great path!
hightower2 has joined #crystal-lang
<FromGitter>
<lppedd> I'm not going to move from Java (or better, from the JVM) for Python or Ruby. What I like about Crystal is, like you wrote, the native binary output and the awesome syntax. ⏎ There are a lot of languages out there, but somehow after a bit of fiddling around I always find something I don't approve
<FromGitter>
<lppedd> Altough I know that Python is easier on the eye and less verbose. But the JVM optimization is freaking insane
<FromGitter>
<paulosuzart> sure think. I would get back to jvm to use Scala only. but Typescript does a dam good job for creating apps for startups and MVPs. zero waste of time and fast deliveries, as crystal will provide as soon it reaches higher versions.
<watzon>
Maybe there's an easier way to do this than what I'm trying to do. I want to wrap the `HTTP::Client` methods get, post, patch, head, and delete but after each call I want to be able to capture the result and modify it before it's returned. The only way I've been able to think of to do this is to either manually create each method, which I'd rather not do, or use a macro to generate them based off of `HTTP::Client`'s
<watzon>
methods
<watzon>
Is there an easier way to do that? Something like a middleware layer or `delegate through` would be nice
<FromGitter>
<straight-shoota> watzon, I don't think there is
<FromGitter>
<straight-shoota> middleware for `HTTP::Client` has been proposed but nothing going on
<watzon>
Crap. Ok then, the next question is what is the easiest way to take a method definition and create a wrapper method for it with the same arguments?
<FromGitter>
<faustinoaq> I'm bit sad today. I concluded most jobs I can find in my country are for SQL, PHP, JavaScript, VB, C# and Java, that's all 😟
bijan_awaaaay is now known as bijan_
<codenoid>
yeah
<codenoid>
and my new job is handling Node JS server :3
<codenoid>
F async by default
<FromGitter>
<faustinoaq> I'm working with C# and VB for a webpage 😓
<codenoid>
omg
ome has joined #crystal-lang
<codenoid>
let's pray together for crystal in every company
<FromGitter>
<faustinoaq> And using .Net even in the front-end http://ext.net/ 😝
<codenoid>
amen
qard has joined #crystal-lang
<FromGitter>
<faustinoaq> I have been working 4 days on that webpage and still figthing with it. How I wish to use amber, I would finish that work in one day 😄
<FromGitter>
<faustinoaq> > let's pray together for crystal in every company ⏎ ⏎ I think is possible but we would need "enterprise" support for IDEs like Visual Studio or Intellij Idea
<codenoid>
yeah, for simple webpage, i prefer to use micro framework, like flask or kemal
<codenoid>
simple *web
<FromGitter>
<faustinoaq> Well, I have been using amber in some college projects and is pretty nice, amber scaffolding is great, you can get a basic app with database under a minute.
rohitpaulk has quit [Ping timeout: 256 seconds]
<FromGitter>
<chris-baynes> Hi, have just discovered Crystal and am a big fan! Started playing with macros and found an interesting problem... if I declare a method which has a parameter called `def` , how can I use that variable without the compiler complaining about defining a def in def?
maattdd_ has joined #crystal-lang
codenoid has quit [Ping timeout: 256 seconds]
codenoid has joined #crystal-lang
maattdd_ has quit [Ping timeout: 248 seconds]
<FromGitter>
<anicholson> That sounds like a syntax error, @chris-baynes
<FromGitter>
<chris-baynes> I wanted to expand the `record` macro with a copy method. Unfortunately there's a record defined in std types.cr (DefWithMetadata) that uses `def` as a parameter name