Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • 13:47
    straight-shoota closed #12051
  • 13:47
    straight-shoota closed #12050
  • 12:17
    beta-ziliani edited #7318
  • May 15 08:43
    r00ster91 closed #7318
  • May 15 08:17
    r00ster91 closed #7690
  • May 14 17:01
    Blacksmoke16 labeled #11995
  • May 14 13:03
    webhive closed #12055
  • May 14 10:19
    straight-shoota milestoned #12051
  • May 14 10:00
    I3oris edited #12051
  • May 14 08:45
    oprypin review_requested #11977
  • May 13 23:29
    Blacksmoke16 unlabeled #12061
  • May 13 22:56
    Blacksmoke16 edited #12061
  • May 13 22:56
    Blacksmoke16 edited #12061
  • May 13 22:54
    Blacksmoke16 labeled #12061
  • May 13 22:54
    Blacksmoke16 labeled #12061
  • May 13 22:54
    Blacksmoke16 labeled #12061
  • May 13 22:54
    Blacksmoke16 opened #12061
  • May 13 20:14
    straight-shoota labeled #12060
  • May 13 20:14
    straight-shoota labeled #12060
  • May 13 20:14
    straight-shoota opened #12060
Emilia
@rymiel:rymiel.space
[m]
i just don't know the build system well enough to run only the specs i changed and i'm waiting for the CI to finish before i make a pull request because i already had a few dumb mistakes...
mfiano
@mjfiano:matrix.org
[m]
I wonder if non-dependent specs, could be run in parallel
George Dietrich
@Blacksmoke16
./bin/crystal spec spec/path/to/file/or/directory
1 reply
mfiano
@mjfiano:matrix.org
[m]
I will say its better than over in Nim. Just a few tests takes forever to compile, not to mention run, and outputs in tens of thousands of lines of C code iirc
Emilia
@rymiel:rymiel.space
[m]
omg it even tells me the command to run a failed spec for each failed spec... i'm just blind
George Dietrich
@Blacksmoke16
:sweat_smile:
mfiano
@mjfiano:matrix.org
[m]
Is there a decent way to call a method with arguments being the elements of a (small) StaticArray? I'm coming up with hacky stuff without diving into macros
George Dietrich
@Blacksmoke16
if you used a tuple you could *tuple
mfiano
@mjfiano:matrix.org
[m]
Sort of like splatting, but without a tuple or intermediary sequence
George Dietrich
@Blacksmoke16
arr[0], arr[1]
mfiano
@mjfiano:matrix.org
[m]
Yeah I thought I could do function application from the result of a functional map or something
Oh well
are tuples stack objects or are they collected?
George Dietrich
@Blacksmoke16
stack
ofc if you used a struct you could just pass the struct thru and use its getters
mfiano
@mjfiano:matrix.org
[m]
i would assume a tuple is fixed in length then
George Dietrich
@Blacksmoke16
yes
mfiano
@mjfiano:matrix.org
[m]
Ok good
mfiano
@mjfiano:matrix.org
[m]
What are the performance characteristics compared to a StaticArray?
George Dietrich
@Blacksmoke16
not sure, probably similar?
mfiano
@mjfiano:matrix.org
[m]
Yes, I am there. That page is nearly empty :)
George Dietrich
@Blacksmoke16
API docs have a bit more info
mfiano
@mjfiano:matrix.org
[m]
I see. Main difference I see is SA is a homogeneous container, which might be more contiguous/better for cache
From IRC (bridge bot)
@FromIRC
<straight-shoota> @mjfiano What exactly do you want to do?
mfiano
@mjfiano:matrix.org
[m]
straight-shoota: I'm pretty new, just experimenting mostly. But right now I have Vector (math) types in 2-4 dimensions, and currently using separate float ivars. Would like to back their storage in some container, so the method logic can map over them and reduce code by being generic for all 3 types.
mfiano
@mjfiano:matrix.org
[m]
Most operations are element-wise, so could reduce quite a bit of code by iterating over a generic container of some size to produce results for a given operation/vector type.
THat is the idea anyway. Not sure where to start yet :)
George Dietrich
@Blacksmoke16
fwiw its fairly easy to make a struct that is iterable
mfiano
@mjfiano:matrix.org
[m]
Interesting
George Dietrich
@Blacksmoke16
that you could use with .each or .mapetc
mfiano
@mjfiano:matrix.org
[m]
I need to learn that too then
So how does that work? Is it an abstract type where I have to implement some methods?
George Dietrich
@Blacksmoke16
its a module that you include in your type, an implement a method
2 methods*
1 that returns the size of your container, and another that gets the value at the given index
mfiano
@mjfiano:matrix.org
[m]
Oh does that page say which 2 methods?
George Dietrich
@Blacksmoke16
search for abstract
mfiano
@mjfiano:matrix.org
[m]
Oh that's very nice.
Thank you
George Dietrich
@Blacksmoke16
makes it super easy to do like arry.sort!
mfiano
@mjfiano:matrix.org
[m]
I am beginning to see how Crystal is very extensible with these mixin modules
mfiano
@mjfiano:matrix.org
[m]
It seems I have to study generic type parameters more because the compiler can't infer the type parameter and I'm not sure what to specify.
mfiano
@mjfiano:matrix.org
[m]
Heh, you're right. That is easy. I do have one complaint about the compiler here though.
George Dietrich
@Blacksmoke16
oh?
mfiano
@mjfiano:matrix.org
[m]
When i include Indexable(T), the compiler was smart enough to tell me I didn't implement unsafe_fetch. After I implemented that and tried using it, the compiler ended up overflowing the stack due to recursing infinitely. It wasn't until I implemented size that it worked. It makes me wonder why it just blew the stack instead of complaining that I didn't implement size.
George Dietrich
@Blacksmoke16
hm