🦋 Welcome to the MAIN() IRC channel of the Raku Programming Language (raku.org). Log available at irclogs.raku.org/raku/live.html . If you're a beginner, you can also check out the #raku-beginner channel!
Set by lizmat on 6 September 2022.
00:00 reportable6 left 00:02 reportable6 joined 00:18 wayland joined 00:43 wayland is now known as wayland76 01:43 linkable6 left, greppable6 left, sourceable6 left, committable6 left, bloatable6 left, tellable6 left, squashable6 left, shareable6 left, bisectable6 left, benchable6 left, evalable6 left, unicodable6 left, quotable6 left, coverable6 left, statisfiable6 left, notable6 left, reportable6 left, nativecallable6 left, releasable6 left, greppable6 joined, tellable6 joined, linkable6 joined, evalable6 joined 01:44 coverable6 joined, squashable6 joined, statisfiable6 joined, quotable6 joined, sourceable6 joined, releasable6 joined, reportable6 joined 01:45 nativecallable6 joined, committable6 joined, shareable6 joined, bloatable6 joined, benchable6 joined, notable6 joined 01:46 unicodable6 joined, bisectable6 joined 02:10 wayland76 left 02:12 wayland76 joined 02:54 modula left 03:56 bloatable6 left, tellable6 left, evalable6 left, sourceable6 left, reportable6 left, coverable6 left, quotable6 left, nativecallable6 left, committable6 left, benchable6 left, releasable6 left, linkable6 left, notable6 left, greppable6 left, bisectable6 left, unicodable6 left, squashable6 left, statisfiable6 left, shareable6 left 03:57 bloatable6 joined, coverable6 joined, reportable6 joined, evalable6 joined, benchable6 joined 03:58 committable6 joined, linkable6 joined, bisectable6 joined, notable6 joined, shareable6 joined, unicodable6 joined 03:59 quotable6 joined, tellable6 joined, nativecallable6 joined, sourceable6 joined, greppable6 joined, statisfiable6 joined, squashable6 joined, releasable6 joined 05:45 melezhik joined
melezhik @ugexe - available from rakudo.org ? 05:46
Don't see anything here for arm - rakudo.org/downloads/rakudo 05:48
05:50 melezhik left 06:00 reportable6 left 06:02 reportable6 joined
nemokosch What about rakubrew? 06:18
06:41 jpn joined 06:48 melezhik joined
melezhik Nemokosch: nope according this error - ci.sparrowhub.io/report/3622 06:49
nemokosch Tough luck. Well, rakudo-pkg? That's the last option known to me 06:50
melezhik I guess rakubrew relies on distros from rakudo.org which does not provide builds for ARM
rakudo-pkg does not work either , at least afik 06:51
06:52 dg left
melezhik This is why I have to bake it myself into SparrowCI workers , e.g - github.com/melezhik/SparrowCI/blob...ne.arm#L21 06:52
Like I said in the post - "So, meanwhile, one can test against a default (compiled from source) Rakudo version which is 2023.08" 06:53
So, at least SparrowCI users have this version to test against ) 06:54
When arm builds are available I will be happy to support them in SparrowCI 06:55
I mean arm Rakudo builds from official Rakudo.org repo
06:58 dg joined, melezhik left 07:04 tejr left 07:10 tejr joined 07:13 tejr left 07:14 melezhik joined 07:15 tejr joined 07:19 melezhik left
wayland76 Hi! I'd like to create a Supply that will be a file, then have various things tap the Supply, then actually trigger the opening of the file. I tried gist.github.com/wayland/a677bb7e3a...076648be69 and it prints out some raku objects between t1 and t2. What I wanted wazsz for it to print out the contents of the file before (or after) t3. 07:22
Anyone have any thoughts?
Or is the only way to do it to create a Supply on a Supplier, have things tap that, then open the file and feed it to the Supplier.emit function? 07:23
08:06 jpn left 08:22 teatwo joined, jpn joined 08:25 tea3po left 08:27 jpn left 08:39 jpn joined 08:57 jpn left, jpn joined 09:02 jpn left 09:08 jpn joined 09:11 cm left 09:12 cm joined 09:15 jpn left
ab5tract I didn't realize you could call .Supply on a file. It would make sense for it to "trigger" on open, but it doesn't seem to be implemented that way 09:34
I think the solution is as you described though. 09:36
09:50 cm left, cm joined 10:07 abraxxa-home joined 10:51 abraxxa-home left, abraxxa-home joined 11:05 jpn joined 11:12 jpn left, Sgeo left 11:45 abraxxa-home left 11:59 jpn joined 12:00 reportable6 left 12:01 reportable6 joined 12:04 jpn left 12:12 jpn joined 12:18 jpn left 13:11 wayland joined 13:12 wayland76 left 13:14 squashable6 left 13:15 squashable6 joined 14:15 coverable6 left, greppable6 left, committable6 left, statisfiable6 left, quotable6 left, nativecallable6 left, tellable6 left, benchable6 left, notable6 left, bisectable6 left, shareable6 left, sourceable6 left, evalable6 left, bloatable6 left, squashable6 left, unicodable6 left, linkable6 left, reportable6 left, releasable6 left 14:16 sourceable6 joined, committable6 joined, evalable6 joined, squashable6 joined, releasable6 joined, reportable6 joined 14:17 tellable6 joined, quotable6 joined, benchable6 joined, bisectable6 joined, linkable6 joined, shareable6 joined 14:18 greppable6 joined, unicodable6 joined, notable6 joined, nativecallable6 joined, statisfiable6 joined, bloatable6 joined, coverable6 joined 15:00 GreaseMonkey left, greaser|q joined 15:44 jpn joined 15:46 xinming left 15:49 xinming joined 15:50 jpn left 16:28 ab5tract left 16:42 jgaz left
coleman More list surprises (to me) 16:57
m: my @x = ("three"); <<one two>>.append(@x);
camelia Cannot call 'append' on an immutable 'List'
in block <unit> at <tmp> line 1
coleman m: my @x = ("three"); my @y = <<one two>>; @y.append(@x); 16:58
camelia ( no output )
coleman I guess I'm just expecting the << >> construct to be an expression that yields the same thing in both positions. 16:59
However, I am still unclear on how all the coercions work, and what's immutable.
lizmat m: my @x = ("three"); my @y = <<one two>>; dd @y; @y.append(@x); dd @y 17:00
camelia Array @y = ["one", "two"]
Array @y = ["one", "two", "three"]
lizmat append and push have different semantics 17:01
m: my @x = ("three"); my @y = <<one two>>; dd @y; @y.push(@x); dd @y
camelia Array @y = ["one", "two"]
Array @y = ["one", "two", ["three"]]
lizmat is that what you're being bitten by ?
coleman I want to use append a lot, because I am concatenating command line flags from lists of strings. 17:03
And assigning to an intermediate @y, like you show here, always works 17:04
but I often try to type something like this:
<<base command>>.append(@flags); 17:05
and <<base command>> is immutable
usually it's in a sub like: sub wrap-some-command(@flags) { @x = <some command>.append(@flags) } 17:07
lizmat (@x = <some command>).append(@flags)
should work then
but I guess the case for allowing List.append returning another List, is interesting... 17:08
17:18 squashable6 left 17:20 squashable6 joined 17:21 jpn joined 17:44 coleman left 17:45 coleman joined
nemokosch yeah well, Lists and append don't work well 17:50
I don't think that creating List.append with different semantics would be a good idea, either
lizmat what different semantics? 17:54
<a b c>.append(<d e f>) would return <a b c d e f> 17:55
18:00 reportable6 left 18:02 reportable6 joined
nemokosch instead of mutation? 18:05
18:11 jpn left
lizmat yes 18:11
I think in functional programming its pretty normal to have an operation on an immutable structure return another immutable structure 18:12
*it's
nemokosch I don't think it's a good idea to create an umbrella interface that sometimes mutates and sometimes doesn't mutate 18:13
in that case, all the mutation should rather go
gfldex lizmat: IMHO .append ist just find and so is &infix:<~>. `flat(<a b c>, @b)` is not to my liking. Maybe it is time to add &infix:<|,> to CORE and give it some proper optimisations treatment. 18:25
lizmat aka <a b c> |, <d e f> would give <a b c d e f> ?
gfldex In subscripts Raku is explicit by using SemiList to indicate LoL. Anywhere else, we don't do that.
aye
lizmat hmmmm 18:26
please make an issue for it in problem-solving, so the idea won't fall through the cracks 18:27
gfldex will do
18:35 andinus left
coleman Thank you all for taking the time to interpret my vague complaints about lists over the past couple of days 18:48
18:56 jpn joined
nemokosch I ended up defining &infix:<|,> a couple of times for myself, too 19:01
19:15 stanrifkin joined 19:46 jpn left 19:49 derpydoo joined 20:22 tea3po joined 20:25 teatwo left 20:31 jpn joined 20:54 jpn left, Sgeo joined 21:54 coverable6 left, squashable6 left, greppable6 left, statisfiable6 left, unicodable6 left, tellable6 left, releasable6 left, bloatable6 left, committable6 left, benchable6 left, linkable6 left, evalable6 left, shareable6 left, quotable6 left, nativecallable6 left, sourceable6 left, notable6 left, bisectable6 left, reportable6 left 21:55 evalable6 joined, greppable6 joined, tellable6 joined, shareable6 joined 21:56 squashable6 joined, bloatable6 joined, reportable6 joined, sourceable6 joined, statisfiable6 joined, unicodable6 joined 21:57 notable6 joined, releasable6 joined, benchable6 joined, coverable6 joined, quotable6 joined, linkable6 joined, bisectable6 joined, committable6 joined 21:58 nativecallable6 joined 22:58 unicodable6 left, evalable6 left, reportable6 left, coverable6 left, benchable6 left, bloatable6 left, statisfiable6 left, releasable6 left, nativecallable6 left, squashable6 left, committable6 left, notable6 left, linkable6 left, tellable6 left, sourceable6 left, bisectable6 left, quotable6 left, greppable6 left, unicodable6 joined, evalable6 joined, linkable6 joined, reportable6 joined 22:59 greppable6 joined, committable6 joined, nativecallable6 joined 23:00 coverable6 joined, notable6 joined, releasable6 joined, sourceable6 joined, quotable6 joined, bisectable6 joined, statisfiable6 joined, squashable6 joined 23:01 benchable6 joined, bloatable6 joined, tellable6 joined