🦋 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.
melezhik . 04:36
tonyo melezhik: what exactly do you need resource wise? i can't get a static ip and my internet is very unreliable 04:37
if it's just one way to your servers and isn't mining bitcoins then it should maybe work (i live in the woods) 04:38
melezhik Just Linux VM with 16-32 gb ram and , yes static ip 05:04
Geth docker: 7c4b717825 | (Daniel Mita)++ | 5 files
Bump to 2023.08
10:09
docker: 9b9e5827fb | Altai-man++ (committed using GitHub Web editor) | 5 files
Merge pull request #56 from Raku/2023.08

Bump to 2023.08
NemokoschKiwi wafflus: so here we go 11:11
wafflus ok 11:12
NemokoschKiwi bisectable6: (say: "d", 5).say
bisectable6 NemokoschKiwi, Will bisect the whole range automagically because no endpoints were provided, hang tight
NemokoschKiwi, ¦6c (68 commits): «(d 5)␤»
NemokoschKiwi, Nothing to bisect!
NemokoschKiwi so apparently this has always been the same
wafflus ok /me confusedly wonders why Nemokosch as turned into a kiwi and is now talking 11:14
has
NemokoschKiwi the IRC bots don't work via discord 11:14
wafflus ah ok are you a bot? 11:15
NemokoschKiwi actually, the evalbot doesn't work either, but there is an evalbot for the discord side as well, using the glot.io API
no, the point isn't that I'm a bot, although that sounds like a fun perspective xD
I wanted to access an IRC bot 11:16
wafflus i didn't think you where but i thought you might have been one of the most sophisticated bots ever i wasn't 100% sure
NemokoschKiwi maybe in the close future 🕵️‍♂️
wafflus maybe they can take your brain out and put it into a robot body like robocop 2 11:17
NemokoschKiwi let me show you another example of bisecting, on something where I know there has been a regression
bisectable6: 'almafa' ~~ Real()
bisectable6 NemokoschKiwi, Will bisect the whole range automagically because no endpoints were provided, hang tight
wafflus k np you have been so nice and helpful 11:18
bisectable6 NemokoschKiwi, ¦6c (68 commits): «»
NemokoschKiwi, Nothing to bisect!
NemokoschKiwi um, am I stupid or something?
maybe this one also needs to produce output
bisectable6: say('almafa' ~~ Real()) 11:19
bisectable6 NemokoschKiwi, Will bisect the whole range automagically because no endpoints were provided, hang tight
NemokoschKiwi, Output on all releases: gist.github.com/7b1674fb362ea31da2...2e87358dfe
NemokoschKiwi, Bisecting by output (old=2020.10 new=2020.11) because on both starting points the exit code is 0
NemokoschKiwi, bisect log: gist.github.com/1d9b5d6c1ddeed40ac...649ed384a5 11:20
NemokoschKiwi, (2020-11-15) github.com/rakudo/rakudo/commit/f2...e8f9076d6e
NemokoschKiwi, ⚠ New output detected, please review the results manually
NemokoschKiwi, Output on all releases and bisected commits: gist.github.com/b786d8965262a868e0...8c3f5c1631
nemokosch okay, this was meant to illustrate how cool this bot is 11:21
wafflus it's verry cool though probally a bit ahead in my understanding :)
nemokosch it's just, if you really run out of options why something doesn't work, or works differently 11:22
then you can check if there has been a change
wafflus nice
nemokosch here for example I'm positive that the current behavior of something ~~ Type() is borked 11:23
wafflus so its a actuall bug in raku itself?
nemokosch well, in Rakudo at least 😛 11:24
wafflus look at broken glass all around
sorry
nemokosch for say: "d", 5 I wouldn't be sure but at the very least it's unexpected by everything I know 11:25
wafflus what if you did printf 11:27
:
sorry my bad anways thanks for your help 11:29
kjp m: $*OUT.say: "d', 5 11:35
camelia ===SORRY!=== Error while compiling <tmp>
Unable to parse expression in double quotes; couldn't find final '"' (corresponding starter was at line 1)
at <tmp>:1
------> $*OUT.say: "d', 5⏏<EOL>
expecting any of:
argum…
kjp bah!
m: S*OUT.say: "d", 5
camelia ===SORRY!===
Unrecognized regex metacharacter , (must be quoted to match literally)
at <tmp>:1
------> S*OUT.say: "d"⏏, 5
Couldn't find terminator *
at <tmp>:1
------> S*OUT.say: "d",⏏ 5
expecting any of:
kjp $*OUT.say: "d", 5
evalable6 d5
kjp What I am getting out is that : only introduces arhuments to methods, and a bare say is a function, and not a method. 11:36
nemokosch interesting
well, we did trace down what happened for say: "d", 5
say: became a label
the question is: should it be allowed to become a label there?
kjp Interesting question, but allowing a colon there to introduce arguments o a function would at least be very confusing. 11:38
Being a syntax error would be more useful.
nemokosch oh right, what I originally mistook it for was say "d": 5 11:39
that would be the equivalent of "d".say(5)
but for labels, all I can find is that they are meant to denote loops 11:40
we have a bare expression here, not a loop
kjp True, but I'm not au fait with things at that level. I can't remember the last time I used a label in any language other than assembler (and that's over 20 years ago). 11:41
nemokosch who are you, if I may? What is your relation to Raku? I can see you have been around for a couple of years at least, and I used to think you were the IRC account of the late Kaiepi 11:42
kjp Nope; just a retired sysadmin who used a lot of perl over the years and has been interested in and writing some raku for the last decade or so. 11:43
I just checked -- one git repo going back to November 2013, so a decade is about right. 11:44
nemokosch that's solid 😄
kjp solid maybel; whether it's sane or not given some of the things I write is another matter. 11:45
nemokosch what may be insane about it? The task? The density of the code? The reliance on metamodel features? 11:47
kjp The types of things; with other languages probably being a lot more suitable. 11:50
nemokosch well, everything can be a lesson, either for you or for the design/implementation of the language 12:27
kjp But have I learnt those lessons? 12:28
Anyway -- it's bedtime, so see you tomorrow.
nemokosch the only person who can know the answer to that question is you 😛
good night
melezhik say I a have a private attribute in my class named $!foo, how can I reference to it by symbolic link, when the name of attribute is taken from another variable? 13:07
m: class Foo { has !$foo; method bar () { my $name = "foo";  say $!$name }  } 13:08
camelia ===SORRY!=== Error while compiling <tmp>
Malformed has
at <tmp>:1
------> class Foo { has⏏ !$foo; method bar () { my $name = "foo"
melezhik m: class Foo { has !$foo; method bar () { my $name = "foo";  say $!$name }  } }
camelia ===SORRY!=== Error while compiling <tmp>
Malformed has
at <tmp>:1
------> class Foo { has⏏ !$foo; method bar () { my $name = "foo"
melezhik m: class Foo { has !$foo; method bar () {  }   }
camelia ===SORRY!=== Error while compiling <tmp>
Malformed has
at <tmp>:1
------> class Foo { has⏏ !$foo; method bar () {  }   }
ab5tract melezhik: you've got the twigil mixed up 13:09
melezhik m: class Foo { has $!foo; method bar () {  }   }
camelia ( no output )
melezhik m: class Foo { has $!foo; method bar () {  my $name = "foo" }   }
camelia ( no output )
melezhik m: class Foo { has $!foo; method bar () {  my $name = "foo"; say $!{$name} }   } 13:10
camelia ===SORRY!=== Error while compiling <tmp>
Unsupported use of %! variable
at <tmp>:1
------> ar () {  my $name = "foo"; say $!{$name}⏏ }   }
melezhik m: class Foo { has $!foo; method bar () {  my $name = "foo"; say $!($name) }   }
camelia ( no output )
melezhik m: class Foo { has $!foo = "hello"; method bar () {  my $name = "foo"; say $!($name) }   }; Foo.new.bar().say
camelia Cannot find method 'is_dispatcher' on object of type BOOTCode
in method bar at <tmp> line 1
in block <unit> at <tmp> line 1
melezhik m: class Foo { has $!foo = "hello"; method bar () {  my $name = "foo"; say $!($name) }   }; Foo.new.bar() 13:11
camelia Cannot find method 'is_dispatcher' on object of type BOOTCode
in method bar at <tmp> line 1
in block <unit> at <tmp> line 1
melezhik m: class Foo { has $!foo = "hello"; method bar () {  my $name = "foo"; say $!($name) }   };  my $a = Foo.new()
camelia ( no output )
melezhik m: class Foo { has $!foo = "hello"; method bar () {  my $name = "foo"; say $!($name) }   };  my $a = Foo.new(); $a.bar();
camelia Cannot find method 'is_dispatcher' on object of type BOOTCode
in method bar at <tmp> line 1
in block <unit> at <tmp> line 1
melezhik m: class Foo { has $!foo = "hello"; method bar () {  my $name = "foo"; say "OK";  say $!($name) }   };  my $a = Foo.new(); $a.bar(); 13:12
camelia OK
Cannot find method 'is_dispatcher' on object of type BOOTCode
in method bar at <tmp> line 1
in block <unit> at <tmp> line 1
melezhik m: class Foo { has $!foo = "hello"; method bar () {  my $name = "foo"; say "OK";   }   };  my $a = Foo.new(); $a.bar();
camelia OK
melezhik m: class Foo { has $!foo = "hello"; method bar () {  my $name = "foo"; say "OK";  say $!foo   };  my $a = Foo.new(); $a.bar();
camelia ===SORRY!=== Error while compiling <tmp>
Missing block
at <tmp>:1
------> $!foo   };  my $a = Foo.new(); $a.bar();⏏<EOL>
melezhik m: class Foo { has $!foo = "hello"; method bar () {  my $name = "foo"; say "OK";  say $!foo;   };  my $a = Foo.new(); $a.bar(); 13:13
camelia ===SORRY!=== Error while compiling <tmp>
Missing block
at <tmp>:1
------> !foo;   };  my $a = Foo.new(); $a.bar();⏏<EOL>
melezhik m: class Foo { has $!foo = "hello"; method bar () {  my $name = "foo"; say "OK";  say "OK2";   };  my $a = Foo.new(); $a.bar();
camelia ===SORRY!=== Error while compiling <tmp>
Missing block
at <tmp>:1
------> OK2";   };  my $a = Foo.new(); $a.bar();⏏<EOL>
melezhik m: class Foo { has $!foo = "hello"; method bar () {  my $name = "foo"; say "OK";   }   };  my $a = Foo.new(); $a.bar();
camelia OK
melezhik m: class Foo { has $!foo = "hello"; method bar () {  my $name = "foo"; say "OK";   say $!foo; }   };  my $a = Foo.new(); $a.bar();
camelia OK
hello
melezhik m: class Foo { has $!foo = "hello"; method bar () {  my $name = "foo"; say "OK";   say $!foo; }   };  my $a = Foo.new(); $a.bar(); 13:14
camelia OK
hello
melezhik so basically instead of  say $!foo; inside bar method, reference to $!foo indirectly via $name, is it possible?
melezhik m: class Foo { has $!foo = "hello"; method bar () {  my $name = "foo"; say "OK";   say ::($!$name); }   };  my $a = Foo.new(); $a.bar(); 13:15
camelia ===SORRY!=== Error while compiling <tmp>
Unable to parse expression in indirect name; couldn't find final ')' (corresponding starter was at line 1)
at <tmp>:1
------>  my $name = "foo"; say "OK";   say ::($!⏏$name); }   };  my …
melezhik m: class Foo { has $!foo = "hello"; method bar () {  my $name = "$!foo"; say "OK";   say ::($name); }   };  my $a = Foo.new(); $a.bar(); 13:16
camelia OK
No such symbol 'hello'
in method bar at <tmp> line 1
in block <unit> at <tmp> line 1
melezhik m: class Foo { has $!foo = "hello"; method bar () {  my $name = "$!foo"; say "OK";   say Foo::($name); }   };  my $a = Foo.new(); $a.bar();
camelia ===SORRY!=== Error while compiling <tmp>
Combination of indirect name lookup and call not supported
at <tmp>:1
------> = "$!foo"; say "OK";   say Foo::($name)⏏; }   };  my $a = Foo.new(); $a.bar();
expecting any of:
ab5tract melezhik: you could create a new class and create an object as a private instance variable, then in that class have all the different variables defined as public variables. This would allow $!private."$foo"
melezhik m: class Foo { has $!foo = "hello"; method bar () {  my $name = "$!foo"; say "OK";   say MAIN::($name); }   };  my $a = Foo.new(); $a.bar(); 13:17
camelia ===SORRY!=== Error while compiling <tmp>
Combination of indirect name lookup and call not supported
at <tmp>:1
------> = "$!foo"; say "OK";   say MAIN::($name)⏏; }   };  my $a = Foo.new(); $a.bar();
expecting any of:
melezhik m: class Foo { has $!foo = "hello"; method bar () {  my $name = "$!foo"; say "OK";   say ::($name); }   };  my $a = Foo.new(); $a.bar();
camelia OK
No such symbol 'hello'
in method bar at <tmp> line 1
in block <unit> at <tmp> line 1
melezhik m: class Foo { has $!foo = "hello"; method bar () {  my $name = '$!foo'; say "OK";   say ::($name); }   };  my $a = Foo.new(); $a.bar(); 13:18
camelia OK
No such symbol '$!foo'
in method bar at <tmp> line 1
in block <unit> at <tmp> line 1
ab5tract m: class Foo { has $!foo = "hello"; method bar () { my $name = "$!foo"; say "OK"; say Foo::("$!foo"); } }; my $a = Foo.new(); $a.bar()
camelia ===SORRY!=== Error while compiling <tmp>
Combination of indirect name lookup and call not supported
at <tmp>:1
------> "$!foo"; say "OK"; say Foo::("$!foo")⏏; } }; my $a = Foo.new(); $a.bar()
expecting any of:
melezhik m: class Foo { has $!foo = "hello"; method bar () {  my $name = '$!foo'; say "OK";   say Foo::($name); }   };  my $a = Foo.new(); $a.bar();
camelia ===SORRY!=== Error while compiling <tmp>
Combination of indirect name lookup and call not supported
at <tmp>:1
------> = '$!foo'; say "OK";   say Foo::($name)⏏; }   };  my $a = Foo.new(); $a.bar();
expecting any of:
ab5tract jinx :) 13:19
melezhik m: class Foo { has $!foo = "hello"; method bar () {  my $name = '$foo'; say "OK";   say self!$name; }   };  my $a = Foo.new(); $a.bar(); 13:22
camelia ===SORRY!=== Error while compiling <tmp>
Cannot use this form of method call with a private method
at <tmp>:1
------> ame = '$foo'; say "OK";   say self!$name⏏; }   };  my $a = Foo.new(); $a.bar();
expecting any of:
ab5tract melezhik: this sounds a bit like an X-Y problem to me, to be honest. 13:23
melezhik m: class Foo { has $!foo = "hello"; method bar () {  my $name = '$foo'; say "OK";   say self!$name(); }   };  my $a = Foo.new(); $a.bar(); 13:24
camelia ===SORRY!=== Error while compiling <tmp>
Cannot use this form of method call with a private method
at <tmp>:1
------> e = '$foo'; say "OK";   say self!$name()⏏; }   };  my $a = Foo.new(); $a.bar();
tbrowder__ .ask El_Che what is the intended use of the path /opt/rakudo-pkg/share/perl6/bin 13:54
tellable6 tbrowder__, I'll pass your message to El_Che
tbrowder__ looks like El_Che is busy with providing the new release, very cool! 13:58
tbrowder__ .tell El_Che it looks to me like the current /etc/profile.d/rakudo-pkg.sh is pointing to the wrong path 14:38
tellable6 tbrowder__, I'll pass your message to El_Che
tbrowder__ i just updated to the latest release 14:39
antononcube @tbrowder Thanks for mentioning that -- I did not know moar-2023.08 is relaesed / available. 14:59
tbrowder__ i’m referring to El_Che’s rakudo-pkg release on Rakudo.org. not sure what moarvm version it has 15:21
tbrowder__ cat /opt/rakudo-pkg/bin/rakudo-pkg_path.sh yields: 15:37
RAKUDO_PATHS=/opt/rakudo-pkg/bin:/opt/rakudo-pkg/share/perl6/bin 15:41
the last path part does not exist under the current pkg installation from a clean start (no existing /opt/rakudo-pkg directory) 15:43
Xliff \o 16:27
tbrowder__ o/ 16:40
Xliff: do u use debian?
Xliff tbrowder: Actually, it's Ubuntu, which is Debian-based. What's up? 17:09
hythm76 calling `nqp::sha1` directly on a `Junction` doesn't work, but wrapping it in a sub works 17:12
m: use nqp; sub foo ( $j ) { nqp::sha1($j) }; my $j = <a b>.any; say foo($j); say nqp::sha1( $j );
camelia any(86F7E437FAA5A7FCE15D1DDCB9EAEAEA377667B8, E9D71F5EE7C92D6DC9E92FFDAD17B8BD49418F98)
This type cannot unbox to a native string: P6opaque, Junction
in block <unit> at <tmp> line 1
hythm76 `nqp:sha1(<ab>.any)` # should this work? 17:14
gfldex no
hythm76 why not
tbrowder__ i'm having trbl using El_Che's rakudo-pkg with two new debian systems. i'm trying to have root's zef modules usable by ordinary users unless they want to install their own. i think in theory that should work without a lot of effort, but getting the paths and pieces to work together has so far escaped my attempts.
Xliff Containers?
gfldex Because NQP isn't part of Raku. Also, NQP doesn't really know about Junctions, at least not on NQP-Ops. 17:15
Xliff tbrowder__: Hmmm.... even Ubuntu's paths are subtally different from stock Debian. Do you need another test system to run against?
gfldex: Don't you mean that the other way 'round? NQP is a part of Raku, but Raku is NOT a part of NQP? 17:16
gfldex No, NQP is not part of Raku. There are no tests that ask for NQP-Ops in Roast. 17:17
Xliff hythm76: You would need to use the part of the Junction class that stores the individual items.
gfldex: Yet you can "use nqp" and Raku won't work without it.
nemokosch Raku could work without NQP in theory
gfldex You can, because Rakudo is build with NQP. Other Raku implementation might not.
nemokosch it's rather Rakudo that is based on NQP 17:18
Xliff gfldex: True, but there is only one, right now.
gfldex If you `use nqp;` you are in impementation-detail-land where one can easily get lost.
Xliff And nemokosch has the righter interpretation of it.
hythm76 so what is the difference between calling `nqp::sha1($j), and calling it inside of a sub body `sub foo ( $j ) { nqp::sha1($j) };`?
Xliff gfldex: This is also understood. However it is the direction that will confuse most people. That's my only point.
nemokosch hythm76: I think the right question to ask is whether the call to foo distributes the junction or not 17:19
if it does then we have an answer
gfldex Indeed. Exposing nqp by Rakudo may have been a mistake.
Xliff hythm76: The internals of how Junction are passed to a sub is allowing that to work.
gfldex: No tears over spilled milk... 17:20
Xliff nemokosch: It does, and it is. 17:20
gfldex Junctions are a side-effect (so to speak) of MMD and there is no MMD on NQP-Ops.
nemokosch at the end of the day, we are all saying the same thing, then 17:21
Xliff Yep.
nemokosch moreover, if I have this right, if you did sub foo(Mu $j), suddenly that would also fail
gfldex Xliff: If you use anything that is not in Roast, it's going to be your tears, not mine. So I'm good if you spill some milk. :->
hythm76 nemokosch: yes sub foo(Mu $j) failed 17:22
nemokosch okay, so there is the answer, then: Junction is a "high-level" feature of the core, and it's the default type constraint Any that triggered the resolution of it 17:23
I don't think the runtime, or even NQP, knows anything about Junctions 17:24
Xliff gfldex: I'm not the one lamenting a decision that has had unintended benefits for Raku and the Community over it's last 8 years of existence over an issue that is largely academic.
gfdex: hythm76 asked a question, that was answered without mentioning NQP-Ops or Roast. 17:25
gfdex: Fortunately, I think we've arrived at an answer. Thanks for your input.
gfldex I'm pointing out facts. Nothing more, nothing less. If that offends you, there is /ignore for you. You don't have to ready anything I write. 17:26
nemokosch from my personal perspective, it's fortunate that Junction lives solely in the core because I know the core much more than NQP or the runtime 17:27
actually, anybody can understand the core reasonably well, all it takes is Raku knowledge and a little bit of NQP knowledge 17:28
this describes the dynamics of Rakudo development as well 17:30
there is a decent number of people who can contribute to the core
there have been some experienced users who could tackle something in the metamodel 17:31
hythm76 is it discouraged to use nqp in Raku code? and if one needs  `sha1` for example,  it is recommended to search for a module that provides sha1 functionality, instead of using nqp::sha1?
nemokosch and then NQP and the VMs are basically only a couple of dedicated individuals...
especially the VMs, of course
hythm76: this is kind of a controversial matter I think 17:33
it seems there was this vow or promise back in the day that "we won't use NQP simply for performance advantages"
but then it still happened, quite a lot of times, to modules like JSON::Fast
so at this point NQP is kind of the elephant in the room 17:34
hythm76 I see
gfldex hythm76: If you use nqp in your code and nqp needs changing, the core devs wont listen to your complaints. If you `use v6.d;`, we guarentee that you code will keep working for the next 100 years, so long you stay in the boundaries of tests for `v6.d`. NQP is not covered by those tests.
hythm76 Ok makes sense 17:35
nemokosch the same is true for the metamodel, strictly speaking
it's just the metamodel would be even more painful to give up on, than NQP is
gfldex That beeing written, nqp::sha1 is very unlikely to change in the next 10 years and it would be easy to fix in your code.
nemokosch if use nqp is the elephant in the room than metamethods are the blue whale in the room 😄 17:36
gfldex To provide a little context, Rakudo is using sha1 to provide identity to distribution/modules because we can't depends on os-level paths (because of Windows). 17:37
nemokosch this is why there is also a kind of tension between the people who draw the line at the Raku specs and the people who take Rakudo at face value, as the only thing we actually have and works
gfldex If you got lots of modules installed, there is a performance burden and maybe, just maybe somebody finds an algo that is much faster. That could be a reason to replace nqp::sha1. 17:38
nemokosch in case you are interested, not so long ago I opened a problem-solving issue about it, to at least preserve the problem: github.com/Raku/problem-solving/issues/381 17:39
hythm76 actually my use case for sha1 is very similar to how Rakudo uses is (caching distributions locally using their identity eg. `nqp:sha1(foo:ver<0.1>:auth<suthor>:api<>`), and it makes sense for me to use nqp::sha1 in this case, and thats is probably tthe only nqp sub I have used 17:45
ugexe m: say CompUnit::Repository::Distribution.new(Distribution::Hash.new(${:name<Foo>, :version<1.1>}, :prefix(IO::Path))).id 17:54
camelia 44E70226BEB02350F69BAEEC430E830E3019B63D
tonyo . 17:55
tbrowder__ Xliff: i may spin up a new Ubuntu VM for testing, but i really like Debian for its rolling releases. can Ubuntu do that now? 18:02
yes, paths on debian are too complicated imho 18:18
tea3po debian rolling releases? 18:27
tbrowder__ not sure if that's the right term. i used to support an ubuntu host and as i remember it was a giant pain to upgrade the major versions. not as much pain with debian. 18:57
ubuntu may be easier now.
haven't looked at it in about 12 yrs 18:58
tea3po debian testing is rolling-release, but it's not really a release. neither debian nor ubuntu are rolling release. rolling release distros don't have major versions. mint is a debian-derived rolling release distro. 19:26
Xliff tbrowder__: Sorry. I'm splitting my awareness between here and $dayJob.
What do you mean by "rolling release?" 19:27
tea3po both debian and ime ubuntu make upgrading easy, cuz the packages are so high quality.
Xliff Also, with respect to Ubuntu releases, since the latest rollover (xenial to bionic), upgrades have gotten easier.
tea3po there's a strict rule though, you /must/ read the release notes before upgrading. [and also, downgrades are difficult and unsupported] 19:28
Xliff tea3po: I guess I've been lucky, then. I rarely read the release notes. I just don't have the time. :/
tea3po you don't have to read everything but the important stuff will be obvious 19:29
Xliff I guess I will have to start, then. Thanks for the info.
tea3po you usually don't need to do anything to upgrade besides upgrade, but the thing is it's allowed for there to be "you must do/assure X before upgrading or your system WILL be broken" and they put those things in the release notes
Xliff tbrowder: You shouldn't have a problem upgrading 'bionic' to anything through 'mantic', although 'mantic' isn't officially released until sometime in October of this year. 19:30
tea3po this is also why you should not put names like "stable" in your sources.list
Xliff Yeah. That generally means that you do an 'update' and a 'dist-upgrade' before you change the release name in sources.list 19:31
So I did get that part. :)
tea3po dist-upgrade is not a lot different from upgrade
tea3po upgrade will still mix your system if you specify "stable" in sources.list and a new release comes up 19:32
s/up/out/
Xliff Ah, yeah.
tea3po it's poorly named 19:33
debian releases are infrequent enough that reading release notes isn't a huge burden 19:38
tbrowder__ i guess i'll stick with debian, 21:23
now if i could just solve the rakudo-pkg trbl 21:25
teatime are you packaging rakudo? 21:52
nemokosch El_Che is packaging rakudo 21:58