pugscode.org/ planetsix.perl.org/ | nopaste: sial.org/pbot/perl6 | evalbot: perl6: say 3; (or rakudo:, pugs:, elf:, etc) | irclog: irc.pugscode.org/ | ~315 days 'til Xmas
Set by mncharity on 8 February 2009.
pugs_svn r25250 | particle++ | [S19] correct wording about STDIN; TimToady++ 00:06
00:13 Muixirt left 00:28 kate21de left 00:31 shinobi_cl joined, shinobi_cl left, jan__ left 00:36 Tene joined 00:39 icwiener left 00:47 Tene_ left 00:52 ayrnieu_ joined, ayrnieu left, ayrnieu_ is now known as ayrnieu 00:54 shinobi_cl_ joined 00:57 vpace joined 00:58 aindilis joined 01:13 ayrnieu left 01:14 ayrnieu joined 01:21 gravity left 01:25 gravity joined 01:33 jdv79 left 01:44 vpace left
meppl good night 01:52
01:52 wknight8111 left 01:53 meppl left 01:58 jferrero left 02:00 drbean joined
pugs_svn r25251 | hinrik++ | [util/perl6.vim] really fix the nesting of formatting codes 02:16
02:16 lambdabot joined 02:19 Chillance left 02:50 revdiablo joined
pugs_svn r25252 | hinrik++ | [util/perl6.vim] highlight the range operator in character classes 02:54
diakopter std: Fribble..8 02:55
p6eval std 25252: OUTPUT«Undeclared name:␤ Fribble used at 1 ␤00:02 32m␤» 02:56
diakopter std: 8..e()
p6eval std 25252: OUTPUT«Undeclared routine:␤ e used at 1 ␤00:02 32m␤»
diakopter std: 8..e
p6eval std 25252: OUTPUT«00:02 32m␤»
diakopter std: 8..7 02:57
p6eval std 25252: OUTPUT«00:02 32m␤»
02:58 karlw joined
karlw Has anyone gotten Pugs working on OS X 10.5.6? 03:01
revdiablo Does anyone still use pugs?
diakopter revdiablo: Pugs gets frequent releases to Hackage/cabal 03:02
karlw I get compile errors.
revdiablo Ah, I only hear about Rakudo anymore these days
diakopter karlw: with the latest ghc, it should work as described in svn.pugscode.org/pugs/INSTALL 03:03
latest ghc=6.10.1
03:25 gravity left 03:36 shinobi_cl_ left 03:48 ayrnieu left 03:49 ayrnieu joined 04:02 jamtech joined 04:09 jamtech left 04:31 alester joined 04:37 justatheory left 05:10 masak joined
masak rakudo: $*OUT := (class {}).new; say "OH HAI" 05:33
p6eval rakudo 6aaec3: OUTPUT«src/pmc_freeze.c:1390: failed assertion '!must_have_seen'␤Backtrace - Obtained 19 stack frames (max trace depth is 32).␤ (unknown)␤ Parrot_confess␤ (unknown)␤ (unknown)␤ (unknown)␤ (unknown)␤ Parrot_thaw␤
..PackFile_Co...
masak huh. good thing I didn't rebuild Rakudo locally. 05:34
05:38 vpace joined
masak hm, Rakudo works over on #parrot. 06:01
rakudo: $*OUT := (class {}).new; say "OH HAI"
p6eval rakudo 6aaec3: OUTPUT«src/pmc_freeze.c:1390: failed assertion '!must_have_seen'␤Backtrace - Obtained 19 stack frames (max trace depth is 32).␤ (unknown)␤ Parrot_confess␤ (unknown)␤ (unknown)␤ (unknown)␤ (unknown)␤ Parrot_thaw␤
..PackFile_Co...
06:08 alester left
masak rakudo: say "alive at all?" 06:10
p6eval rakudo 6aaec3: OUTPUT«src/pmc_freeze.c:1390: failed assertion '!must_have_seen'␤Backtrace - Obtained 19 stack frames (max trace depth is 32).␤ (unknown)␤ Parrot_confess␤ (unknown)␤ (unknown)␤ (unknown)␤ (unknown)␤ Parrot_thaw␤
..PackFile_Co...
masak apparently not.
06:11 mberends left
masak rakudo: 5 06:13
p6eval rakudo 6aaec3: OUTPUT«src/pmc_freeze.c:1390: failed assertion '!must_have_seen'␤Backtrace - Obtained 19 stack frames (max trace depth is 32).␤ (unknown)␤ Parrot_confess␤ (unknown)␤ (unknown)␤ (unknown)␤ (unknown)␤ Parrot_thaw␤
..PackFile_Co...
moritz_ good morning 06:16
masak top of the morning to you, sir! 06:17
hm, still can't reproduce the above problem after a local rebuild of Parrot and Rakudo.
moritz_ I'll trigger a rebuild on the server 06:18
masak moritz_++
on a side note, if I rebind $*OUT, should 'say' still output to STDOUT?
moritz_ don't think so 06:19
masak submits rakudobug
moritz_ but I don't remember the exact relatioinship between $*DEFOUT and $*OUT
masak well, it's the spirit of the bug that counts, not the letter. :) 06:20
06:21 hercynium left
masak misses buubot 06:23
now I have to spack locally -- how primitive! :) 06:24
$*DEFOUT is mentioned in S16, and is aliased to $*OUT.
which I take to mean that if I rebind $*OUT, things should indeed stop working. 06:25
moritz_ /home/evalenv/parrot/parrot -o perl6.pbc perl6.pir
push_string() not implemented in class 'FixedStringArray'
make: *** [perl6.pbc] Error 1 06:26
masak oh my.
I'm not getting that over here.
06:27 vpace left, vpace joined
moritz_ could be a fallout of the string rename stuff 06:29
but I made a realclean - what else could I do?
06:29 hercynium joined
moritz_ wait, don't know if that also cleans rakudo's tree... 06:30
masak might not. 06:31
06:32 karlw left
moritz_ rakudo: say "back to life" 06:32
p6eval rakudo 577566: OUTPUT«back to life␤»
moritz_ that's it. 06:33
masak moritz_++
moritz_ ok, gotta run... bbl
masak :)
masak is reminded of xkcd.com/208/
06:36 hercynium left 06:38 justatheory joined 06:47 ashizawa joined 06:52 DemoFreak joined 06:55 justatheory left 07:02 jan_ joined 07:10 kate21de joined 07:14 kate21de left 07:18 mberends joined 07:29 zamolxes left 07:39 yves left 07:47 viklund joined 07:57 vpace left 08:20 szabgab joined 08:22 maerzhase joined 08:28 lisppaste3 left, dduncan joined 08:32 iblechbot joined, mberends left 08:36 dduncan left 08:47 maerzhase left 08:48 maerzhase joined 08:54 aindilis` joined 09:08 aindilis left, mberends joined 09:12 aindilis` left 09:44 Tene_ joined
mberends eek. parrot r36488 does not build on linux amd64. After a realclean, is it recommended to use Configure.pl and Makefile.PL? 09:54
09:56 Tene left
mberends s/and/or/ 09:58
moritz_ Makefile.PL calls Configure.pl 09:59
I use the latter
mberends thanks. r36486 builds ok, but r36488 not.
masak mberends: did you 'make clean' in the Rakudo dir? 10:03
mberends: oh, sorry, not a Rakudo problem. nvm.
mberends I think pmichaud's last pbc_to_exe optimization in parrot may currently work properly only on 32 bit systems. Pity it's flaky, because the speedup is immense. 10:07
masak aye. 10:10
hopefully it's salvageable. 10:11
10:11 ejs joined
pugs_svn r25253 | hinrik++ | [util/perl6.vim] only highlight R and X as operators when they actually are 10:15
10:20 pmurias joined 10:48 meppl joined 11:14 yves joined
szabgab is there already some Perl5 code out there that can tell me if a piece of code is perl 5 or perl 6? 11:26
given a .pm file, I'd like to be able to decide if it is perl 5 or perl 6 ? 11:27
mberends not afaik. but all Perl 6 code must start with 'use v6', 'class' or something else foreign to Perl 5
szabgab I know "some" of the requirements, and now I need to implement them so padre can at least guess if the file is perl 5 or perl 6 11:28
but I'd prefer to just use someone elses code :-) 11:29
11:30 kbaud1 left
mberends good idea, Don't Repeat Yourself. But this time you're probably on your own ;) 11:31
11:33 kbaud1 joined 11:35 DemoFreak left
literal "use v6" or "class" or "module" afaik 11:38
moritz_ aye
szabgab grammar ? 11:39
moritz_ don't think so
but might be a worthy addition
szabgab HTML::Template::Grammar (again this one :-) has only that 11:43
moritz_ currently there's no implementation that forces this policy 11:46
so people become sloppy
11:55 meppl left
szabgab actually it will be a lot more complex soon 11:59
11:59 ashizawa left
szabgab as you can change that lexically scoped, right ? 11:59
so any editor will have to understand that
moritz_ szabgab: I think we start worrying when somebody starts implementing it 12:01
masak moritz_: who are you calling sloppy? :P 12:14
moritz_ whistles innocently 12:15
masak @ask TimToady can 'grammar' and 'role' start a p6 file, just like 'class' can? 12:17
lambdabot Consider it noted.
masak szabgab: I just pushed a version of HTML::Template::Grammar that has 'use v6' in it. 12:18
szabgab moritz_, implementing what ? the editor ? 12:29
moritz_ szabgab: no, a compiler that can switich between perl 5 and 6
szabgab ok :-) 12:30
12:31 elmex left, elmex joined 12:37 kane_ joined 12:43 maerzhase left 12:46 ruoso joined 12:54 meppl joined
ruoso HellO! 13:06
13:08 pmurias_ joined
pmurias_ ruoso: hi 13:08
ruoso hi pmurias_
13:09 pmurias_ left 13:14 PantheraUncia joined
masak wants a compiler that can switch between Perl 5 and Perl 6 13:29
pmurias masak: you mean {use v5;print ${\"we are in perl5 land\n"}};say "in p6 land again"; 13:31
mberends it's easy: 1) finish Rakudo 2) add a switchy thing 3) profit!
masak mberends: right. :)
pmurias: yes, something like that. 13:32
pmurias: but, more specifically, Perl 6+CPAN.
er, that was visually non-obvious. I meant "Perl 6 + CPAN" :)
13:33 maerzhase joined
ruoso masak, smop+mildew is pretty much close to that ;) 13:50
masak ruoso: aye, so I gather. :) 13:51
13:52 maerzhase left
masak it would be fun to be able to run, say, Druid on smop+mildew. 13:52
ruoso masak, druid? 13:53
masak ruoso: github.com/masak/druid/
ruoso masak, ah... smop still doesn't have a regex engine implemented 13:54
masak I don't use regexes much in Druid. 13:55
lots of other string handling, though.
and classes/roles.
pmurias ruoso: &?ROUTINE.back is a Code? 13:59
ruoso yes 14:01
or not
14:01 PantheraUncia left
ruoso pmurias, I'm unsure 14:01
I think it's a mold frame 14:02
yes... it is a mold fram
14:02 riffraff joined
ruoso pmurias, but I guess a mold frame could be a code 14:04
pmurias, if it receive a postcircumfix:<( )>, it could resume itself
pmurias walk& 14:10
14:31 ludan joined 14:32 DemoFreak joined 14:35 Exodist joined
masak rakudo: my @a = "foo", "foot"; if @a[all(0,1)] ~~ /^ foo/ { say "OH MY!" } 14:41
p6eval rakudo 577566: No output (you need to produce output to STDOUT)
masak funny, I have that same version at home, and I get an error. 14:42
"get_integer() not implemented in class 'Junction'"
moritz_ masak: junctions don't yet autothread through array and hash indexes 14:44
masak ok. that explains the error.
what about the discrepancy?
moritz_ sh: line 1: 30775 Segmentation fault ./parrot languages/rakudo/perl6.pbc /tmp/UVbwS23oTx >> /tmp/oDR0HoQgob 2>&1 14:45
don't ask me.
masak :/
moritz_ I'll rebuild both parrot and rakudo
and now I do a 'make clean' in rakudo as well 14:46
rakudo: my @a = "foo", "foot"; if @a[all(0,1)] ~~ /^ foo/ { say "OH MY!" } 14:50
p6eval rakudo 577566: OUTPUT«get_integer() not implemented in class 'Junction'␤current instr.: 'parrot;Positional;postcircumfix:[ ]' pc 3275 (src/classes/Positional.pir:42)␤»
moritz_ better.
masak muchly so. 14:55
so does the fact that junctions are not handled in array and hash indices reside somewhere in the long list of new or open bug tickets on RT? :)
s/so/so,/ 14:56
moritz_ I don't know, I just know it's on rakudo.org somewhere
masak oh, what the heck. we can clean up duplicates later. 14:57
masak submits rakudobug
moritz_ rakudo: say 40000 / 2000 15:02
p6eval rakudo 577566: OUTPUT«sh: ./parrot: No such file or directory␤»
moritz_ curses
masak p6eval is insistently non-cooperative today, it seems. 15:03
moritz_ somehow that fits to my current image of parrot and rakudo :( 15:04
[particle]1 that's your fault for not contributing more! :P 15:05
moritz_ counts the moritz vs non-moritz commits in rakudo for the last few days 15:07
12 vs. 7, liberally counting :-) 15:08
masak moritz_++
even pitted against everybody else, moritz_ wins! :)
literal github.com/masak/druid/blob/d734723.../Player.pm 15:09
masak: why is there a _ after Druid::Game there?
just curious
masak literal: that's a Rakudobug.
I think I saw a patch for it yesterday. 15:10
but I don't think it has gone in yet.
literal what kind of bug?
moritz_ masak: I merged it
masak moritz_: oh! thanks!
literal: no longer a bug, then.
literal I mean, why would it require you to misspell the name? :P
moritz_ rakudo: BEGIN { class A::B }; class A {}; say "used to die at compile time";
p6eval rakudo 577566: OUTPUT«Class 'Perl6MultiSub' not found␤current instr.: 'parrot;Perl6Role;!add_variant' pc 2579 (src/classes/Role.pir:42)␤»
masak literal: but it used to be that you couldn't declare A::B first and then B in another scope. 15:11
moritz_ oh well.
rakudo: BEGIN { class A::B }; class B {}; say "used to die at compile time";
p6eval rakudo 577566: OUTPUT«Class 'Perl6MultiSub' not found␤current instr.: 'parrot;Perl6Role;!add_variant' pc 2579 (src/classes/Role.pir:42)␤»
masak moritz_: using Rakudo to prove that things no longer fail is a bad idea :P
you're saying you merged the fix?
in that case, what's wrong now? 15:12
moritz_ rakudo: BEGIN { class A::B {}; }; class B {}; say "used to die at compile time";
p6eval rakudo 577566: OUTPUT«Class 'Perl6MultiSub' not found␤current instr.: 'parrot;Perl6Role;!add_variant' pc 2579 (src/classes/Role.pir:42)␤»
moritz_ rakudo: BEGIN { class A::B {}; }; class B {}; say "works locally here"
p6eval rakudo 577566: OUTPUT«Class 'Perl6MultiSub' not found␤current instr.: 'parrot;Perl6Role;!add_variant' pc 2579 (src/classes/Role.pir:42)␤»
15:13 DataPusher left
moritz_ masak: is 'make spectest' clean on your machine? 15:13
masak checking. 15:14
moritz_ especially S12-class/basic.t
masak I just ran that separately. it passes.
moritz_ now look at the end of that file 15:15
masak looks
moritz_ it should test exactly the thing that fails with p6eval
masak heh.
15:16 alester joined
masak and wouldn't you know, what you ran through p6eval runs fine locally, too! 15:16
something is slightly askew in the state of Denmark. 15:17
moritz_ I'll kill that cat!
masak you talking to me, Willis?
15:18 Tene joined
moritz_ I was quoting "dinner for one", a very fine piece of comedy that Germans watch on New Year's Eve 15:18
masak moritz_: I know.
we have it too.
"Grevinnan och betjänten" 15:19
moritz_ that's very suprising - I thought it was nearly entirely unknown outside of Germany
masak I found out that Germany sends it regularly only a year or so ago -- before that I thought that it was specific for Sweden. 15:20
moritz_ heh 15:21
(quantum physics)-- # making simulations painfully hard 15:23
15:24 DataPusher joined
moritz_ the hilbert space explodes exponentially with number of particles, and even in my reduced case the runtime is O(n**6.3) or so 15:24
rakudo: 600**6.3
p6eval rakudo 577566: RESULT«3.1794564260066e+17»
moritz_ rakudo: 60**6.3 15:25
p6eval rakudo 577566: RESULT«159350297058.87»
15:27 maerzhase joined 15:29 Tene_ left 15:34 DemoFreak left 15:38 araujo left 15:45 IllvilJa left 15:49 eternaleye left
pmurias ruoso: shouldn't multis gather variants from where they were defined rather than from where they were called? 15:51
ruoso pmurias, unfortunally no... 15:52
maybe not unfortunally
but well
but maybe it simply doesn't make a difference 15:53
because
it will find the variable containing the multi
(at least the outermost definition of it)
and it will look for the innermost variants
(so we can allow scoped variants) 15:54
but the question is
how that relates to binding?
should binding a multi variant to this scope make the dispatching look for variants where that multi was defined? or where the multi is called
?
pmurias perl6: multi foo($a) {say "a"};my $bar = &foo;{multi foo(Int $a) {say "b"};$bar(1)} 15:56
p6eval rakudo 577566: OUTPUT«invoke() not implemented in class 'ResizablePMCArray'␤current instr.: '_block29' pc 256 (EVAL_17:110)␤» 15:57
..elf 25253: OUTPUT«/home/evalenv/pugs/misc/STD_red/match.rb:141:in `block in to_dump0': undefined method `to_dump0' for true:TrueClass (NoMethodError)␤ from /home/evalenv/pugs/misc/STD_red/match.rb:140:in `each'␤ from /home/evalenv/pugs/misc/STD_red/match.rb:140:in `map'␤ from
../home/evalenv/pugs/mi...
..pugs: OUTPUT«a␤»
pmurias pugs: multi foo($a) {say "a"};my $bar = &foo;{multi foo(Int $a) {say "b"};$bar(1);foo(2)}
p6eval pugs: OUTPUT«a␤b␤»
pmurias ruoso: according to Multi.pm it should be "a\na\n"
ruoso pmurias, let me parse your code 15:58
pugs: multi foo(Str $a) { say "a" }; { my multi foo(Int $a){ say "b" }; foo(1);foo("a"); }; foo(1);foo("a"); 16:00
p6eval pugs: OUTPUT«b␤b␤a␤a␤»
ruoso rakudo: multi foo(Str $a) { say "a" }; { my multi foo(Int $a){ say "b" }; foo(1);foo("a"); }; foo(1);foo("a"); 16:01
p6eval rakudo 577566: OUTPUT«sh: ./parrot: No such file or directory␤»
moritz_ it's short after the full hour, parrot rebuilds... meh
ruoso pugs: multi foo($a,$b) { say "a" }; { my multi foo($a){ say "b" }; foo(1,2);foo("a"); }; foo(1,2);foo("a");
p6eval pugs: OUTPUT«a␤b␤a␤*** No compatible multi variant found: "&foo"␤ at /tmp/A7OIClTjCF line 1, column 94-102␤»
ruoso right... now we're talking ;) 16:02
ok... now... how do I bind a multi variant...
pmurias pugs: multi foo($a) {say "a"};my $bar = &foo;{my multi foo(Int $a) {say "b"};$bar(1);foo(2)}
p6eval pugs: OUTPUT«a␤b␤»
16:03 IllvilJa joined
ruoso pugs: my $c; multi foo($a,$b) { say "a" }; { my multi foo($a){ say "b" }; $c := &foo }; { &foo := $c; foo(1,2);foo("a"); }; 16:03
p6eval pugs: OUTPUT«*** Cannot cast from VUndef to Pugs.AST.Types.VCode (VCode)␤ at /tmp/wTlns3T0Zc line 1, column 86-96␤ /tmp/wTlns3T0Zc line 1, column 86-96␤»
16:04 ejs left
ruoso pmurias, but yes... the code you wrote suggests it gets the other variants from where it was defined 16:04
but there is a corner case ther 16:05
considering exporting symbols is simply a process of bind
if two different modules export variants for the same multi
how does the variants see each other?
pugs: module A { multi foo($a) is export(:DEFAULT) { say "a" } }; module B { multi foo($a,$b) is export(:DEFAULT) { say "b" } }; use A; use B; foo(1); foo(1,2); 16:07
p6eval pugs: OUTPUT«pugs: *** Unsafe function 'use' called under safe mode␤ at /tmp/Hf47TyHxOT line 1, column 1␤»
ruoso pugs: module A { multi foo($a) is export(:DEFAULT) { say "a" } }; module B { multi foo($a,$b) is export(:DEFAULT) { say "b" } }; A::EXPORTALL; use B::EXPORTALL; foo(1); foo(1,2);
p6eval pugs: OUTPUT«pugs: *** Unsafe function 'use' called under safe mode␤ at /tmp/J1eDZ6QUte line 1, column 1␤»
ruoso pugs: module A { multi foo($a) is export(:DEFAULT) { say "a" } }; module B { multi foo($a,$b) is export(:DEFAULT) { say "b" } }; A::EXPORTALL; B::EXPORTALL; foo(1); foo(1,2);
p6eval pugs: OUTPUT«*** No such subroutine: "&A::EXPORTALL"␤ at /tmp/VTsLTXpFpt line 1, column 124-136␤»
ruoso pugs: module A { multi foo($a) is export(:DEFAULT) { say "a" } }; module B { multi foo($a,$b) is export(:DEFAULT) { say "b" } }; A.EXPORTALL; B.EXPORTALL; foo(1); foo(1,2); 16:08
p6eval pugs: OUTPUT«*** No such method in class A: "&EXPORTALL"␤ at /tmp/GaoSd9wF0f line 1, column 124-135␤»
ruoso pft
pugs: module A { multi foo($a) is export(:DEFAULT) { say "a" } }; module B { multi foo($a,$b) is export(:DEFAULT) { say "b" } }; foo(1); foo(1,2);
p6eval pugs: OUTPUT«*** No such subroutine: "&foo"␤ at /tmp/uJzVrGDfjF line 1, column 124-130␤»
ruoso meh
16:08 REPLeffect left 16:15 icwiener joined, stephenlb joined 16:16 masak is now known as jonal, jonal is now known as masak
p6paste "ruoso" at 127.0.0.1 pasted "the context of a multi" (28 lines) at paste.nix.is/6 16:22
ruoso pmurias, ok... that's what I was trying to show
pugs is wrong in the sense that export should put in our, not in my... but... consider the code in test.pl has "use B :MY"
I'd expect it to work as pugs is doing now 16:23
and that means that the lookup happens from the perspective of the caller
16:23 aindilis joined, icwiener_ joined 16:27 nihiliad joined 16:31 mberends left
pmurias ruoso: putting stuff in our doesn't affect the multis 16:32
ruoso affect in the sense that it would be adding a variant 16:33
instead of declaring a new symbol
which would happen in terms of use B :MY
pmurias & 16:34
16:34 pmurias left 16:36 icwiener left 17:00 rhr_ joined 17:03 lisppaste3 joined 17:13 hercynium joined, rhr left 17:14 Southen_ left 17:27 mikehh joined, justatheory joined 17:31 stephenlb left 17:34 masak left
TimToady exports are supposed to go into my, not our, by default 17:38
lambdabot TimToady: You have 1 new message. '/msg lambdabot @messages' to read it.
ruoso TimToady, hmm 17:41
ok...
maybe I mis-read S11, but still, while you're there...
TimToady @tell masak yes, grammar and role can start p6 code; all package_declarators (except package!) are p6 starters
lambdabot Consider it noted.
ruoso TimToady, I'm considering a multi installed in my scope is going to look for other variants in the lexical scope of the caller of that multi 17:42
TimToady and if &foo represents multiple variants they all have to be included in the candidate list
17:42 justatheory left
ruoso TimToady, of the outer &foo? 17:42
17:42 justatheory joined
ruoso I mean... when you have a lexically-scoped variant, should it copy all the other variants into itself? 17:43
s/other/outer/
TimToady a call only ever considers its own lexical scope 17:44
but binding &foo into a new scope pulls in all the longnames it represents
ruoso right... so changes in the outer scope of that scope after the bind of &foo are invisible
TimToady how can you have a change in a lexical scope that's already been compiled? 17:45
ruoso CALLER::<&foo> := &some_other_variant
or any other binding, in fact 17:46
a simple &foo := &other inside an inner block
TimToady we have to let the optimizer have enough information to optimize 17:48
ruoso that means?
TimToady I think it's allowed to assume that the candidate list generated at compile time is immutable, unless a package is involved
which is why we're trying to tip it toward lexical defs 17:49
17:49 finanalyst joined
ruoso what do you mean by "unless a package is involved"? 17:49
TimToady packages are mutable at run-time
our multi can change; my multi can't 17:50
ruoso so, binding to a lexical multi is forbidden
hmm...
TimToady COMPILING:<&foo> := is okay
ruoso "our multi" means two things... 17:51
1) declare this syimbol in $?PACKAGE
2) make a local alias to it
so I can change the symbol in the package,
but it's lexical meaning won't change
TimToady right 17:52
ruoso unless you use the fully-qualified name
ok... that makes things much easier
TimToady possibly multi defaults to "my" anyway...
ruoso that sounds sane 17:53
does that apply to regular subs as well?
meaning...
TimToady don't think so
ruoso ok... that makes it a bit harder
so, at runtime, a bind should check if this is a multi or not?
TimToady trying to make those a bit more p5ish, is all
ruoso worse, actually... 17:54
a bind should check if the name could hide a multi or replace a multi
TimToady we could just call it undefined for now
"erroneous", to use the Ada terminology... 17:56
ruoso so, just to make clear...
"binding a new value to a code object that might hide a multi is erroneous"
"because the list of multi variants is immutable" 17:57
"therefore you can't add a multi variant at run-time"
TimToady, is that it? 17:58
moritz_ "... unless the lexical pragma C<< use less <speed>; >> is in effect" ;-)
TimToady use multi :mutable 17:59
or some such...
the compiler knows if there are multis/protos declared already, and by definition that's exclusive to only subs, and (I suspect) only the call to a known only sub looks in the current package 18:01
and nothing looks in the GLOBAL package these days
so you have to say &*foo() to call GLOBAL::foo
(well, or GLOBAL::foo()) 18:02
18:02 ludan left
TimToady is everything clear as mud now? :) 18:03
hopefully the sort of mud you make porcelain out of...
18:03 diakopter is now known as spec_kiln, spec_kiln is now known as diakopter
TimToady $work & 18:05
pugs_svn r25254 | lwall++ | plagiarized typo :) 18:08
[particle]1 hee 18:13
literal rakudo: my $foo = 'bar'; $foo ~~ tr/bar/ba\nz/; say $foo 18:18
p6eval rakudo 577566: OUTPUT«Statement not terminated properly at line 1, near "\\nz/; say "␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤»
literal rakudo: my $foo = 'bar'; $foo ~~ tr/bar/baz/; say $foo
p6eval rakudo 577566: OUTPUT«Statement not terminated properly at line 1, near "/; say $fo"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤»
literal rakudo: my $foo = 'bar'; $foo ~~ tr/bar/baz/; say $foo;
p6eval rakudo 577566: OUTPUT«Statement not terminated properly at line 1, near "/; say $fo"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤»
moritz_ literal: when I set ft=perl6 tw=70 in vim, it doesn't line-break text blocks in Pod
18:18 M_o_C joined
moritz_ literal: any idea of how to achieve that? 18:18
literal it does here 18:19
wait
moritz_ tries again
literal does your 'formatoptions' contain t? 18:20
:set formatoptions?
moritz_ yes
it does line-break
it just didn't do it in the first three lines
weird.
literal rakudo: my $_ = 'bar'; tr/bar/baz/; say $_; 18:21
p6eval rakudo 577566: OUTPUT«Statement not terminated properly at line 1, near "/; say $_;"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤»
literal what's wrong? 18:22
moritz_ not yet implemented
literal oh
moritz_ it implements .trans though
literal anyway, I was wondering if the second part of tr/// is a double-quoted string, as with s///
S05 doesn't say 18:23
moritz_ in p5 it's not
literal: but maybe you need to ask STD.pm
literal yeah, but in the tests it is assumed
moritz_ that doesn't mean much :/
18:24 japhb left
pugs_svn r25255 | moritz++ | [u4x] add a glossary that explains "autothread" 18:25
r25256 | moritz++ | [u4x] more glossary 18:30
18:37 Psyche^ joined
pugs_svn r25257 | hinrik++ | [util/perl6.vim] fix a few subtle bugs, highlight substitutions and transliterations 18:37
18:38 justatheory left 18:39 Helios left
ruoso later &] 18:42
18:42 ruoso left 18:43 Helios joined
pugs_svn r25258 | hinrik++ | [util/perl6.vim] update TODO 18:48
r25259 | hinrik++ | [S26] add vim modeline 18:51
18:54 Patterner left, Psyche^ is now known as Patterner 18:57 riffraff left 18:58 icwiener_ left, icwiener joined 19:02 lambdabot left 19:03 PZt joined 19:05 justatheory joined, lambdabot joined 19:06 pmurias joined 19:09 lambdabot left 19:11 lambdabot joined
literal rakudo: my @foo = <a b <c> d>; say @foo.perl 19:35
p6eval rakudo 577566: OUTPUT«Statement not terminated properly at line 1, near "d>; say @"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤»
literal rakudo: my @foo = <a b c d>; say @foo.perl
p6eval rakudo 577566: OUTPUT«["a", "b", "c", "d"]␤»
diakopter stares at 444k lines of STD.json 19:37
TimToady std: my @foo = <a b <c> d>; say @foo.perl 19:39
p6eval std 25259: OUTPUT«00:02 34m␤»
19:50 icwiener left 19:51 icwiener joined 20:16 hercynium left, rhr_ left, smtms left, samlh left, [cotto] left, [particle]1 left, literal left, zostay left, pugs_svn left, kcwu left, icwiener left, M_o_C left, aindilis left, Exodist left, ayrnieu left, dalek left, moritz_ left, TimToady left, rakudo_svn left, p6eval left, simcop2387 left, meppl left, hudnix left, gfldex_ left, Nom- left, agentzh left, BinGOs left, cognominal left, finanalyst left, IllvilJa left, DataPusher left, alester left, szabgab left, wolverian left, jrockway left, tcliou|Away left, bigpresh left, Gothmog_ left, jnthn left, revdiablo left, sunnavy left, felipe left, justatheory left, nihiliad left, kane_ left, estrabd left, hcchien left, clkao left, edenc left, preflex left, kbaud1 left, c9s left, idemal left, s1n left, Grrrr left, broquaint left, LCamel left, AzureStone left, mikehh left, elmex left, yves left, iblechbot left, viklund left, jan_ left, xinming left, gbacon left, yahooooo left, ilbot2 left 20:17 allbery_b left, mj41 left, lambdabot left, Patterner left, lisppaste3 left, c1sung left, jeremiah left, buu left, orafu left, Matt-W left, PerlJam left, drbean left, SamB left, mtve left, integral left, Maddingue left, Caelum left, maerzhase left, Tene left, avar left, spinclad left, baest left, cls_bsd left, Khisanth left, pmichaud left, diakopter left, f00li5h left, pmurias left, Helios left, zev left, Cyrus left, dmpk2k left, mdxi left, jjore left, ft left, charsbar_ left, nipotan left, awwaiid left 20:18 pmichaud joined, icwiener joined, lambdabot joined, pmurias joined, justatheory joined, Helios joined, Patterner joined, M_o_C joined, finanalyst joined, mikehh joined, hercynium joined, lisppaste3 joined, rhr_ joined, nihiliad joined, aindilis joined, IllvilJa joined, maerzhase joined, DataPusher joined, Tene joined, alester joined, Exodist joined, meppl joined, kane_ joined, elmex joined, kbaud1 joined, yves joined, iblechbot joined, szabgab joined, viklund joined, jan_ joined, ayrnieu joined, revdiablo joined, drbean joined, Nom- joined, SamB joined, smtms joined, c9s joined, dalek joined, idemal joined, xinming joined, avar joined, bigpresh joined, [particle]1 joined, cognominal joined, broquaint joined, tcliou|Away joined, Grrrr joined, irc.freenode.net sets mode: +o pmichaud, AzureStone joined, agentzh joined, jrockway joined, charsbar_ joined, mdxi joined, wolverian joined, Caelum joined, hudnix joined, integral joined, jeremiah joined, p6eval joined, mj41 joined, BinGOs joined, ft joined, allbery_b joined, zostay joined, [cotto] joined, samlh joined, literal joined, pugs_svn joined, kcwu joined, simcop2387 joined, preflex joined, dmpk2k joined, Khisanth joined, c1sung joined, s1n joined, Matt-W joined, gfldex_ joined, sunnavy joined, f00li5h joined, rakudo_svn joined, gbacon joined, TimToady joined, moritz_ joined, nipotan joined, mtve joined, Cyrus joined, edenc joined, Maddingue joined, diakopter joined, irc.freenode.net sets mode: +oooo literal TimToady moritz_ diakopter, PerlJam joined, buu joined, ilbot2 joined, baest joined, felipe joined, jnthn joined, Gothmog_ joined, estrabd joined, hcchien joined, irc.freenode.net sets mode: +oo PerlJam jnthn, clkao joined, LCamel joined, zev joined, awwaiid joined, jjore joined, yahooooo joined, spinclad joined, orafu joined, cls_bsd joined
pugs_svn r25260 | pmichaud++ | Clarify glossary entry for "autothreading" a bit. 20:29
20:42 hudnix left, gfldex_ left, meppl left 20:43 meppl joined, hudnix joined, gfldex_ joined 20:55 IllvilJa left 20:56 dominiko joined 21:05 justatheory left 21:10 hudnix_ joined, hudnix left, gfldex_ left, meppl left, hudnix_ is now known as hudnix 21:11 meppl joined, gfldex_ joined 21:14 gfldex_ left 21:15 gfldex joined 21:20 IllvilJa joined 21:27 stephenlb joined 21:32 schmalbe joined 21:33 justatheory joined 21:43 REPLeffect joined 21:47 DemoFreak joined 21:50 Tene_ joined 21:55 M_o_C left 21:59 Whiteknight joined 22:00 meppl left 22:02 Tene left 22:06 viklund left 22:10 REPLeffect left 22:16 DemoFreak left, DemoFreak joined 22:21 schmalbe left 22:22 dominiko left 22:25 ludan joined 22:30 pmurias left 22:41 DemoFreak left 22:42 DemoFreak joined 22:49 DemoFreak left 22:50 DemoFreak joined 23:01 Exodist left 23:09 iblechbot left 23:19 justatheory left 23:28 maerzhase left 23:37 hercynium left 23:38 Tene joined 23:44 justatheory joined, DemoFreak left 23:47 scrottie joined 23:49 Tene_ left 23:55 cognominal left 23:58 cognominal joined