»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend! | YAPC::NA talk submissions due end of Month. Have you submitted your talk?
Set by toddr_ on 18 March 2013.
00:03 rking left 00:13 LlamaRider joined 00:14 xantamoc left 00:17 Chillance left 00:21 pmurias left
dalek Heuristic branch merge: pushed 17 commits to nqp/vmarray-list by arnsholt 00:27
00:31 kurahaupo left 00:33 xinming_ joined 00:36 xinming left, leprevost left 00:37 lichtkind left 00:49 LlamaRider left 00:50 leprevost joined 00:52 lustlife joined
dalek kudo/vmarray-list: 696b0f5 | (Arne Skjærholt)++ | src/Perl6/Metamodel/ClassHOW.pm:
Explicitly numify a list in Metamodel/ClassHOW.pm,
01:13
kudo/vmarray-list: bfa0b9a | (Arne Skjærholt)++ | src/Perl6/World.pm:
Make an nqp::list into an nqp::list_s in Perl6/World.pm.
kudo/vmarray-list: 5e00152 | (Arne Skjærholt)++ | src/ (13 files):
Change all instances of nqp::join to NQP's join sub.

This is because nqp::join maps to pir::join, which will only work with a list_s and not anything else, due to how pir::join works internally. Longer term, we may want to implement a smarter nqp::join and revert this commit.
kudo/vmarray-list: 6105cc6 | (Arne Skjærholt)++ | src/Perl6/Actions.pm:
Make named_names and type_captures in Actions.pm list_s.
01:16 hypolin joined 01:20 cognominal__ left 01:30 cognominal__ joined 01:31 lizmat left 01:32 Liz joined, Liz is now known as Guest77224 01:43 cognominal__ left, cognominal__ joined 01:47 jerome_ left 01:50 swarley-freenode left 01:56 LlamaRider joined 02:02 swarley-freenode joined 02:23 cognominal__ left 02:29 cognominal__ joined
diakopter twirssi is the coolest 02:29
02:29 thundergnat joined 02:31 japhb_ left 02:33 census left
thundergnat It seems to me that first() on a lazy list isn't working correctly in Rakudo, at least in some cases. 02:36
nr: my @h := gather for 1 .. * { take $_ if $_ %% [+] .comb }; say @h.first({$^a > 100});
p6eval rakudo b972ca: OUTPUT«(timeout)»
..niecza v24-35-g5c06e28: OUTPUT«102␤»
thundergnat nr: my @h := gather for 1 .. * { take $_ if $_ %% [+] .comb }; say @h.first({$^a > 2}); 02:37
p6eval rakudo b972ca: OUTPUT«(timeout)»
..niecza v24-35-g5c06e28: OUTPUT«3␤»
sorear nr: my @h := gather for 1 .. * { take $_ if $_ %% [+] .comb }; say 42 02:38
p6eval niecza v24-35-g5c06e28: OUTPUT«Potential difficulties:␤ @h is declared but not used at /tmp/r13d0GTDMq line 1:␤------> my ⏏@h := gather for 1 .. * { take $_ if $_ ␤␤42␤»
..rakudo b972ca: OUTPUT«42␤»
thundergnat Locally, Rakudo just sits there and churns away and never produces anything.
r: my @h := gather for 1 .. * { take $_ if $_ %% [+] .comb }; map { say @h[$_] and last if @h[$_] > 100 }, 0 .. *; 02:39
p6eval rakudo b972ca: OUTPUT«102␤»
diakopter r: is that in the repl?
p6eval rakudo b972ca: OUTPUT«===SORRY!===␤Two terms in a row␤at /tmp/n3QzunRGUQ:1␤------> is that in the repl⏏?␤ expecting any of:␤ argument list␤ postfix␤ infix stopper␤ infix or meta-infix␤ statement end␤ state…
diakopter it's possible the repl places it in sink context 02:40
er
thundergnat: I mean
02:40 FROGGS_ joined
thundergnat No, running it from a file. 02:40
Seems buggy to me, but it is possible my expectations don't match reality. 02:42
Niecza seems to agree with me though.
02:43 dayangkun joined 02:44 FROGGS left
sorear thundergnat: If lazy lists are involved, niecza is probably wrong. General rule. 02:44
thundergnat heh
Not exactly a glowing endorsement there...
moritz mostly an understatement 02:45
02:46 cognominal joined, cognominal__ left
thundergnat At any rate, see rosettacode.org/wiki/Harshad_or_Niv...ies#Perl_6 for the use case. 02:48
02:49 thundergnat left 02:55 Targen joined 02:57 leprevost left 03:04 cognominal left 03:06 cognominal joined, orafu left, orafu joined 03:12 LlamaRider left 03:17 cognominal left 03:19 cognominal joined, preflex_ joined, preflex left 03:20 preflex_ is now known as preflex 03:26 kurahaupo joined 03:31 dayangkun left, cognominal left 03:33 cognominal joined 03:38 cognominal left 04:24 Targen left 04:35 rindolf joined 04:42 sevin joined 04:56 SamuraiJack joined 05:18 SamuraiJack left 05:21 SamuraiJack joined, kaare_ joined 05:33 dmol left 05:35 dmol joined 05:37 arlinius left 06:03 dmol left, dmol joined 06:12 dmol left 06:14 dwoldrich joined 06:27 kaleem joined 06:30 wingfold left, wingfold joined 06:35 wingfold left 06:54 kaare_ left 07:00 wingfold joined 07:06 wingfold left 07:07 wingfold joined 07:09 domidumont joined 07:11 wingfold left 07:19 domidumont left 07:20 dwoldrich left, dwoldrich joined 07:21 FROGGS_ left 07:25 rindolf left 07:26 rindolf joined 07:27 kurahaupo left 07:28 wk joined 07:35 rindolf left 07:36 rindolf joined 07:37 wingfold joined 07:42 domidumont joined 07:44 jerome joined 07:45 FROGGS_ joined, domidumont left 07:46 domidumont joined 07:47 rindolf left 07:48 rindolf joined 07:49 shlomif joined, shlomif left 07:50 wingfold left, wingfold joined 07:54 am0c joined, rindolf left, wingfold left 07:55 rindolf joined, daniel-s_ is now known as daniel-s 07:59 dwoldrich left 08:02 rindolf left, rindolf joined 08:09 Targen joined 08:18 rindolf left, rindolf joined 08:20 wingfold joined 08:21 fhelmberger joined 08:33 sqirrel joined
raiph adambard.com/blog/PHP-ruby-python-c...y-example/ # folk have added TWO Go implementations and a JS one. No Perl... 08:34
08:41 rindolf left, rindolf joined 08:44 woolfy joined 08:50 thou left 08:53 Guest77224 is now known as lizmat 08:57 wingfold left, wingfold joined 08:58 mattp__ joined 09:01 moritz_ joined, cxreg2 joined, wingfold left, Maddingu1 joined 09:02 TimToady_ joined, telex joined 09:03 rindolf left, rindolf joined 09:06 prammer_ left, TimToady left, Maddingue left, moritz left, _ilbot left, mattp_ left, sjohnson left, cxreg left, Maddingu1 is now known as Maddingue 09:07 kresike joined
kresike hello all you happy or unhappy perl6 people 09:07
09:11 sqirrel left 09:12 sjohnson joined 09:13 Vlavv joined, prammer_ joined 09:14 charsbar______ joined 09:18 moritz_ is now known as moritz 09:20 _ilbot joined 09:21 domidumont left 09:27 wingfold joined 09:35 wingfold left 09:36 wingfold joined
masak marnin', #perl6 09:40
09:42 sqirrel joined
moritz \a 09:45
09:46 dakkar joined 09:48 Heather joined
Heather how to check if @ is empty 09:48
hi #perl6 09:49
09:51 wingfold left 09:52 wingfold joined 09:56 wingfold left 10:04 hypolin left
masak r: my @a; say ?@a; say !@a 10:05
p6eval rakudo b972ca: OUTPUT«False␤True␤»
masak r: my @a; say +@a
p6eval rakudo b972ca: OUTPUT«0␤»
masak Heather: does that answer your question?
Heather jm... 10:06
Yes
masak thank you
masak r: my @a = 1, 2, 3; for 1..2 { if @a { say "non-empty in iteration $_" }; @a = () }
p6eval rakudo b972ca: OUTPUT«non-empty in iteration 1␤»
masak Heather: happy to help. :)
Heather masak Happy that you happy to help ^__^ 10:07
masak hehe
infinite recursion detected near masak and Heather. bailing out.
10:07 daxim joined 10:11 domidumont joined 10:22 wingfold joined 10:27 domidumont left 10:28 domidumont joined
masak r: class Vatican { my $set = 0; has $!pope; method pope { Proxy.new(FETCH => { $!pope }, STORE => -> $, $newpope { die "Can only set pope twice" if ++$set > 2; $!pope = $newpope }) } }; given Vatican.new { say .pope = "Benedict XVI"; say .pope = "vacant"; say .pope = "Hilarius II" } 10:52
p6eval rakudo b972ca: OUTPUT«Benedict XVI␤vacant␤Can only set pope twice␤ in block at /tmp/ymAKR5uN5R:1␤␤»
masak r: class A { my $!priv; method publ { Proxy.new(FETCH => { $!priv }, STORE => { $!priv }) } }; given A.new { say .publ } 10:53
p6eval rakudo b972ca: OUTPUT«===SORRY!===␤Cannot use ! twigil on my variable␤at /tmp/75B1RIW5lm:1␤------> class A { my $!priv⏏; method publ { Proxy.new(FETCH => { $!p␤ expecting any of:␤ scoped declarator␤ constraint␤» 10:54
masak oops.
r: class A { has $!priv; method publ { Proxy.new(FETCH => { $!priv }, STORE => { $!priv }) } }; given A.new { say .publ }
p6eval rakudo b972ca: OUTPUT«(Any)␤»
masak r: class A { has $!priv = 0; method publ { Proxy.new(FETCH => { $!priv }, STORE => { $!priv }) } }; given A.new { say .publ }
p6eval rakudo b972ca: OUTPUT«0␤»
masak r: class A { has $!priv = 0; method publ { Proxy.new(FETCH => { $!priv }, STORE => { $!priv }) } }; given A.new { say .publ; .publ++; say .publ }
p6eval rakudo b972ca: OUTPUT«0␤Too many positional parameters passed; got 2 but expected between 0 and 1␤ in block at /tmp/tD9Rtyfyth:1␤␤»
masak aww.
I would like to be able to ++ a Proxy... 10:55
r: class A { has $!priv = 0; method publ { Proxy.new(FETCH => { $!priv }, STORE => { $!priv }) } }; given A.new { say .publ; .publ += 1; say .publ }
p6eval rakudo b972ca: OUTPUT«0␤Too many positional parameters passed; got 2 but expected between 0 and 1␤ in block at /tmp/aVkhhmrKnW:1␤␤»
masak :/
where am I assuming something I shouldn't?
moritz STORE takes two params 10:57
because it's called as a method, or something
so you have to ignore the first (the invocant) 10:58
masak oh!
r: class A { has $!priv = 0; method publ { Proxy.new(FETCH => { $!priv }, STORE => -> $ { $!priv }) } }; given A.new { say .publ; .publ += 1; say .publ }
p6eval rakudo b972ca: OUTPUT«0␤Too many positional parameters passed; got 2 but expected 1␤ in block at /tmp/PHuOBUTZOj:1␤␤»
masak r: class A { has $!priv = 0; method publ { Proxy.new(FETCH => { $!priv }, STORE => -> $, $ { $!priv }) } }; given A.new { say .publ; .publ += 1; say .publ }
p6eval rakudo b972ca: OUTPUT«0␤0␤»
10:58 sqirrel left
masak ok. 10:58
that's error-free, but wrong :) 10:59
r: class A { has $!priv = 0; method publ { Proxy.new(FETCH => { $!priv }, STORE => -> $, $ { $!priv }) } }; given A.new { say .publ; .publ++; say .publ }
p6eval rakudo b972ca: OUTPUT«0␤0␤»
moritz well, you don't store anything STORE
what do you expect to happen?
masak if I += something, I expect it to change value
similarly ++
moritz but you don't store anything in STORE
masak oh!
moritz so you're discarding the write operation
masak yes, message received :)
masak tries again 11:00
r: class A { has $!priv = 0; method publ { Proxy.new(FETCH => { $!priv }, STORE => -> $, $new { $!priv = $new }) } }; given A.new { say .publ; .publ++; say .publ }
moritz also you should say method publ is rw
p6eval rakudo b972ca: OUTPUT«0␤1␤»
masak \o/
moritz: because of future-compat?
it works now.
ok, Proxy++
moritz I don't think it should work right now, but I'm not entirely sure 11:01
masak r: class A { has $!priv = 0; method publ { Proxy.new(FETCH => { $!priv }, STORE => -> $, $new { $!priv = $new }) } }; given A.new { say .publ; .publ += 42; say .publ }
p6eval rakudo b972ca: OUTPUT«0␤42␤»
masak how come, by the way, that an invocant is sent to STORE, but not to FETCH? that feels assymmetric somehow.
moritz r: class A { has $!priv = 0; method publ is rw { $!priv } }; given A.new { say .publ; .publ += 42; say .publ }
p6eval rakudo b972ca: OUTPUT«0␤42␤»
moritz no need to proxy here 11:02
masak oh, in this simple case, no. 11:03
I'm going to need Proxy for my observers, though.
Heather How to get name of the current directory ? not full path, just dir name? 11:19
r: dir('.') 11:20
p6eval rakudo b972ca: ( no output )
Heather r: say dir('.') 11:21
p6eval rakudo b972ca: OUTPUT«star src .bashrc nom-inst1 toqast test3.pl .profile t nom-inst2 nom-inst toqast-inst toqast-inst2 examples Makefile .gitignore lib test2.pl .local bin rakudo p1 VERSION simple-tests .perlbrew std obj main.pl .lesshst nom niecza test.pl .cpanm log .bash_logout run T…
Heather r: say dir('.').name
p6eval rakudo b972ca: OUTPUT«No such method 'name' for invocant of type 'Array'␤ in block at /tmp/GyTF7CcUzX:1␤␤»
Heather r: say dir('.').basename 11:22
p6eval rakudo b972ca: OUTPUT«No such method 'basename' for invocant of type 'Array'␤ in block at /tmp/X5NPek8V1j:1␤␤»
Heather r: say (dir('.')).basename
p6eval rakudo b972ca: OUTPUT«No such method 'basename' for invocant of type 'Array'␤ in block at /tmp/eIQAV0lybE:1␤␤»
Heather r: say basename '.' 11:23
p6eval rakudo b972ca: OUTPUT«===SORRY!===␤Undeclared routine:␤ basename used at line 1. Did you mean '&rename'?␤␤»
tadzik r: '.'.IO.basename.say
p6eval rakudo b972ca: OUTPUT«No such method 'basename' for invocant of type 'IO'␤ in block at /tmp/EVhrVBCH4F:1␤␤»
tadzik r: '.'.IO.path.basename.say
p6eval rakudo b972ca: OUTPUT«No such method 'basename' for invocant of type 'Str'␤ in block at /tmp/MaYgcQTjQ8:1␤␤»
Heather r: dirname '.' 11:24
p6eval rakudo b972ca: OUTPUT«===SORRY!===␤Undeclared routine:␤ dirname used at line 1␤␤»
FROGGS_ r: say '.'.IO.^methods
p6eval rakudo b972ca: OUTPUT«open close eof get getc lines read seek tell write opened t print slurp copy chmod Str flush d e f l r s w x z modified accessed changed say <anon> <anon> <anon>␤»
FROGGS_ r: say '.'.IO.patch.^methods 11:25
p6eval rakudo b972ca: OUTPUT«No such method 'patch' for invocant of type 'IO'␤ in block at /tmp/VPC5twyN9u:1␤␤»
FROGGS_ r: say '.'.IO.path.^methods
p6eval rakudo b972ca: OUTPUT«BUILD Int Num chomp chop substr pred succ match ords lines samecase samespace trim-leading trim-trailing trim words encode capitalize wordcase trans indent codes tclc path WHICH Bool Str ACCEPTS Numeric gist perl comb subst split␤»
tadzik .path is a Str I think
FROGGS_ looks like
r: say '.'.IO.d.WHAT
p6eval rakudo b972ca: OUTPUT«(Bool)␤»
FROGGS_ could be an object that tells you stuff though 11:26
Heather r: say '.'.IO 11:27
p6eval rakudo b972ca: OUTPUT«IO.new(ins => 0, chomp => Bool::True, path => ".")␤»
Heather r: say '../.'.IO
p6eval rakudo b972ca: OUTPUT«IO.new(ins => 0, chomp => Bool::True, path => "../.")␤»
Heather r: say dirname '.'.IO
p6eval rakudo b972ca: OUTPUT«===SORRY!===␤Undeclared routine:␤ dirname used at line 1␤␤»
Heather r: say basename '.'.IO 11:28
p6eval rakudo b972ca: OUTPUT«===SORRY!===␤Undeclared routine:␤ basename used at line 1. Did you mean '&rename'?␤␤»
Heather r: say WHAT '.'.IO 11:29
p6eval rakudo b972ca: OUTPUT«(IO)␤»
moritz r: say dir('.')[0].perl
p6eval rakudo b972ca: OUTPUT«IO::Path.new(basename => "star", directory => ".")␤»
Heather r: say dir('.')[0].perl.basename 11:30
p6eval rakudo b972ca: OUTPUT«No such method 'basename' for invocant of type 'Str'␤ in block at /tmp/_L0TWzr4nx:1␤␤»
moritz without .perl
Heather r: say dir('.')[0] 11:31
p6eval rakudo b972ca: OUTPUT«IO::Path<star>␤»
Heather moritz how to convert it to string 11:32
moritz Heather: .Str
r: say .Str for dir('.')
p6eval rakudo b972ca: OUTPUT«star␤src␤.bashrc␤nom-inst1␤toqast␤test3.pl␤.profile␤t␤nom-inst2␤nom-inst␤toqast-inst␤toqast-inst2␤examples␤Makefile␤.gitignore␤lib␤test2.pl␤.local␤bin␤rakudo␤p1␤VERSION␤simple-tests␤.perlbrew␤std␤obj␤main.pl␤.lesshst␤nom␤niecza␤test.pl␤.cpanm␤log␤.bash_logout␤run␤T…
Heather moritz no it returns 1st dir in folder, no folder itself :( 11:33
11:34 crab2313 joined
moritz ah 11:34
yes
so, you want an IO::Path object from the current directory?
IO::Path.new('.')
Heather I need current dir name :) 11:35
moritz yes, it's .
r: say IO.cwd
p6eval rakudo b972ca: OUTPUT«No such method 'cwd' for invocant of type 'IO'␤ in block at /tmp/9QFy4YvlWb:1␤␤»
Heather r: say {cwd}
p6eval rakudo b972ca: OUTPUT«Block.new()␤»
moritz r: say cwd 11:36
Heather r: say {cwd}[0]
p6eval rakudo b972ca: OUTPUT«/home/p6eval␤»
rakudo b972ca: OUTPUT«Block.new()␤»
11:36 crab2313 left 11:37 domidumont left
Heather moritz yes, it is, thanks 11:37
11:37 domidumont joined
masak r: say cwd.^name 11:38
p6eval rakudo b972ca: OUTPUT«Str␤»
Heather how to check if there is bin folder ) 11:40
IO.d ?
FROGGS_ r: say (cwd ~ '/bin').d
p6eval rakudo b972ca: OUTPUT«Cannot call 'cwd'; none of these signatures match:␤:()␤ in sub cwd at src/gen/CORE.setting:8046␤ in block at /tmp/AXhrJoLzCk:1␤␤» 11:41
Heather r: say IO.d 'src'
p6eval rakudo b972ca: OUTPUT«===SORRY!===␤Two terms in a row␤at /tmp/ElKe3IS4iE:1␤------> say IO.d ⏏'src'␤ expecting any of:␤ method arguments␤ postfix␤ infix stopper␤ infix or meta-infix␤ statement end␤ statemen…
FROGGS_ r: say (cwd() ~ '/bin').d
p6eval rakudo b972ca: OUTPUT«No such method 'd' for invocant of type 'Str'␤ in block at /tmp/sC5HOc1RT7:1␤␤»
FROGGS_ r: say (cwd() ~ '/bin').IO.d
p6eval rakudo b972ca: OUTPUT«True␤»
FROGGS_ r: say (cwd() ~ '/hurz').IO.d
p6eval rakudo b972ca: OUTPUT«False␤»
Heather FROGGS_ thanks
FROGGS_ Heather: you're welcome
Heather now ... how to move all the files from this bin directory :) 11:43
I've got only this : sub mv(*@args) is export { ??? 11:44
so I guess I can cp -> rm_rf
FROGGS_ Heather: where do you see this sub mv? 11:45
Heather PERL6-FILE-TOOLS/BLOB/MASTER/LIB/SHELL/COMMAND.PM 11:46
but it's not implemented
FROGGS_ ahh, it is a stub 11:47
well then, copy a file and if it exists within the target folder delete the source, otherwise die
and better check that target and source are not equal 11:48
Heather so... 11:49
I need to check all the files in folder A, remember file names and then remove them in folder B...
oh .. well .. it's weird design
I need compose something else... 11:50
11:59 Liz_ joined
Heather gist.github.com/Heather/5244889 12:02
12:04 lizmat left
masak r: say cwd 12:06
p6eval rakudo b972ca: OUTPUT«/home/p6eval␤»
masak r: say cwd.split('/')[*-1] 12:07
p6eval rakudo b972ca: OUTPUT«p6eval␤»
masak Heather: I'd get the name of the current directory that way.
Heather masak let me try
masak Heather: also, style tip/shortcut: srcdir => $srcdir better written :$srcdir 12:08
(it names the parameter and ties it to a variable at the same time)
(which has caused me to often name my variables like the parameters, where it makes sense, so that I can use that trick) 12:09
Heather aha
masak thank you
masak you're quite welcome. 12:10
12:16 skids left 12:21 am0c_ joined, am0c left 12:26 am0c_ left, am0c joined
Heather masak when I have *@x im arguments how to get second? 12:28
in
@x[1] returns False
when @x[0] is proper
moritz @x[1] is OK for the second argument
r: sub a(*@a) { say @a[1] }; a(1, 2, 3) # I expect 2 12:29
p6eval rakudo b972ca: OUTPUT«2␤»
Heather ahhh.... 12:31
I get It
used ~~ to merge strings >_<
my fault
*concat
it's ~
what's stub code 12:39
12:41 xinming_ left
dalek blets: 3c93764 | (Herbert Breunung)++ | docs/tablet- (2 files):
fixed links in 3 and 4
12:43
12:44 denisboyun_ joined
FROGGS_ Heather: you can mark code as stub when for example it is not implemented yet 12:45
r: sub do_something() { ... }; do_something()
p6eval rakudo b972ca: OUTPUT«Stub code executed␤current instr.: 'throw' pc 350303 (src/gen/CORE.setting.pir:152936) (src/gen/CORE.setting:9353)␤called from Sub 'sink' pc 381956 (src/gen/CORE.setting.pir:165283) (src/gen/CORE.setting:10618)␤called from Sub 'MAIN' pc 381 (src/gen/perl6.pir:147) …
FROGGS_ so you can define a bunch of subs or class methods, but make sure the user dont think it really does something 12:46
Heather I see 12:48
felher +1 to :dba("voting +1 on moritz' idea"). 12:50
Heather IO.copy changes file mode ! :( 12:51
it's not 777 anymoar
felher I guess this is inteded. Its just like 'cp' on the commandline works. 12:52
Heather I need some kind of IO.move
r: '.bashrc'.IO.move('.bashrc-tmp') 12:53
p6eval rakudo b972ca: OUTPUT«No such method 'move' for invocant of type 'IO'␤ in block at /tmp/J8PmgkKIFO:1␤␤»
12:53 domidumont left, domidumont joined 13:06 wingfold left 13:08 xinming joined 13:09 skids joined
dalek rl6-roast-data: f61cf21 | coke++ | / (4 files):
today (automated commit)
13:09
13:10 kivutar joined
[Coke] FROGGS_: pong 13:16
13:16 brrt joined
Heather see you o/ 13:22
13:22 Heather left
[Coke] Adios. 13:24
dalek rlito: 93d8ea1 | (Flavio S. Glock)++ | / (2 files):
Perlito5::X64::Assembler - add conditional jmp
13:27
13:29 geekosaur left
FROGGS_ [Coke]: I made a perl 5 roast, if perlito will use it too, will you make a perl5-roast-data repo? 13:29
[Coke] Sure? 13:30
13:30 geekosaur joined
[Coke] I assume you're asking if I can write code, not just host a repo... 13:30
13:31 bluescreen10 joined 13:32 xinming left 13:34 Celelibi joined
[Coke] also, I had trouble trying to get perlito-6 to run roast; if that's the part you need help with for 5, I am probably not the guy to help. 13:34
dalek rlito: 30cbca0 | (Flavio S. Glock)++ | src5/lib/Perlito5/X64/Assembler.pm:
Perlito5::X64::Assembler - add a proper Perl5 pod
FROGGS_ [Coke]: okay, if perlito5 doesnt work with that way out of the box we should wait 13:35
having pass rates for only one project (v5) doesn't make that much sense to me
13:41 sqirrel joined 13:42 kaleem left 13:44 rjbs left, rjbs joined 13:45 xinming joined 13:52 SmokeMachine joined 14:01 SmokeMachine left 14:05 xilo left 14:06 sahadev joined 14:07 sqirrel left
[Coke] FROGGS_: I can try again to see if I can get it to run any of the roast tests... 14:08
14:08 SmokeMachine joined
FROGGS_ [Coke]: I can do that too, but till now I never touched Perlito 14:09
14:15 philroc joined 14:16 PacoAir joined, wingfold joined
philroc Hello, lets say I have a sub called foo which is declared as sub foo($a,$b,$c) { say "$a, $b, $c"; }. Why doesn't foo.WHAT return "sub"? 14:16
FROGGS_ philroc: because .WHAT tells you the type 14:18
r: say "abc".WHAT
p6eval rakudo b972ca: OUTPUT«(Str)␤»
PerlJam philroc: I'm not sure what you're asking ... &foo.WHAT *does* tell you it's a sub.
philroc: Are you asking why not elide the & ? 14:19
er, why it doesn't work when you elide the &
14:19 xilo joined
FROGGS_ r: sub sub foo($a,$b,$c) { say "$a, $b, $c"; }; say &foo.WHAT 14:19
philroc Forgot the elide. Thanks.
p6eval rakudo b972ca: OUTPUT«===SORRY!===␤Missing block␤at /tmp/GY4a2EbHGS:1␤------> sub sub ⏏foo($a,$b,$c) { say "$a, $b, $c"; }; say␤ expecting any of:␤ statement list␤ prefix or term␤ prefix or meta-prefix␤ new name to be d…
FROGGS_ r: sub foo($a,$b,$c) { say "$a, $b, $c"; }; say &foo.WHAT
p6eval rakudo b972ca: OUTPUT«(Sub)␤»
FROGGS_ r: sub foo($a,$b,$c) { say "$a, $b, $c"; }; say foo.WHAT 14:20
p6eval rakudo b972ca: OUTPUT«===SORRY!===␤CHECK FAILED:␤Calling 'foo' will never work with no arguments (lines 1, 1)␤ Expected: :($a, $b, $c)␤»
FROGGS_ hmmm, this could be catched
PerlJam FROGGS_: "sub sub" ... for when you want to emphasize the fact that it's a subroutine declaration :)
FROGGS_ :o)
14:21 wingfold left
philroc Tried &foo.WHAT with multi-methods and it works too, [ although it just says "sub" ] 14:24
arnsholt Yeah, a multi-method call calls a dispatcher that in turn invokes the correct candidate 14:25
14:26 Patterner left
timotimo_ r: multi sub foo($a, $b) { }; multi sub foo($a) { }; say &foo.^candidates; 14:27
p6eval rakudo b972ca: OUTPUT«No such method 'candidates' for invocant of type 'Perl6::Metamodel::ClassHOW'␤ in block at /tmp/iKl9swMU90:1␤␤»
timotimo_ hm, wasn't there a way? 14:28
r: multi sub foo($a, $b) { }; multi sub foo($a) { }; say &foo.^methods;
p6eval rakudo b972ca: OUTPUT«No such method 'gist' for invocant of type 'Sub'␤ in method gist at src/gen/CORE.setting:5165␤ in method gist at src/gen/CORE.setting:902␤ in sub say at src/gen/CORE.setting:7634␤ in block at /tmp/6Ke05BO9dA:1␤␤»
timotimo_ oh, that.
[Coke] r: multi sub foo() {}; say &foo.HOW.^methods
p6eval rakudo b972ca: OUTPUT«No such method 'gist' for invocant of type 'NQPRoutine'␤ in method gist at src/gen/CORE.setting:5165␤ in method gist at src/gen/CORE.setting:902␤ in sub say at src/gen/CORE.setting:7634␤ in block at /tmp/F16cYkVKZh:1␤␤»
14:28 Psyche^ joined, Psyche^ is now known as Patterner
timotimo_ hm, ADT doesn't show up in the modules list. did i add it wrong to the ecosystem or does it just need to be manually updated? 14:32
moritz it should be updated hourly 14:34
timotimo_ then it's obvious that i made a mistake.
moritz "This page is generated from the files in the modules.perl6.org repository
(last update 2013-03-26 14:18:36 GMT)."
timotimo_: or maybe the update mechanism is stuck-ish
timotimo_: raw.github.com/timo/ADT/master/META.info has a trailing comma, so it's not valid JSON 14:35
(yes, I hate that rule too)
timotimo_ oh 14:36
more importantly, there's a comma missing in the line above
also, repo-url and repo-type are obsolete, are they not?
moritz wouldn't know 14:37
timotimo_ okay, should be in the next update then :)
tadzik yeah, they are 14:38
masak JSON disallows trailing commas because JavaScript disallows trailing commas. different browsers are lax to different extent, and in different ways, about actual trailing commas in JavaScript arrays/objects. 14:43
[Coke] perhaps a validation step somewhere?
daxim that annoys the everlasting climate pirate out of me. in sql, too 14:46
timotimo_ tadzik: feel like helping me get panda back up and running?
masak even C allows trailing commas :)
timotimo_ htop
er
what just happened :| 14:47
ah, my ram is almost completely free. must mean panda's rebootstrap started the OOM killer
tadzik timotimo_: what's wrong with it? 14:48
timotimo_ for one, panda taking more ram than a firefox with 8 tabs open is ... o_O - but that's got nothing to do with you 14:49
xilo what's the best way to do an enum structure in perl6? 14:50
timotimo_ r: enum Xilo <happy excited exstatic>; say happy.WHAT;
p6eval rakudo b972ca: OUTPUT«(Xilo)␤»
timotimo_ tadzik: ah, thanks, you made it work again!
tadzik timotimo_: yay, you're welcome :P 14:51
xilo ah
14:55 SunilJoshi joined 15:04 philroc left 15:08 SunilJoshi left
dalek rl6-most-wanted: 6819578 | timo++ | most-wanted/bindings.md:
added mrhdias' GD binding
15:12
timotimo_ hm, a ++ should have been there instead of the ' i guess 15:13
15:16 domidumont left, domidumont joined
[Coke] perl6-most-wanted contains "Devel::NYTProf" - is "--profile" sufficient for this? 15:19
moritz not really 15:21
tadzik NYTProf has an awesome HTML formatter 15:22
[Coke] profile has kcachegrind
timotimo_ hm, there ought to be a html formatter for that format somewhere 15:23
[Coke] (if our current profiling isn't sufficient, it would be helpful to note what's missing - we don't need a devel-nytprof-a-like, but we need <foo>"
dalek rlito: dce89b2 | (Flavio S. Glock)++ | / (2 files):
Perlito5::X64::Assembler - add a jmp to register
15:41
15:46 LlamaRider joined
dalek : 01f24df | (Tobias Leich)++ | lib/Perl6/P5Grammar.pm:
added "use strict" pragma

This currently takes no parameters and does only care about undeclared variables.
15:56
16:01 mtk0 left 16:04 thou joined 16:09 renormalist left, mtk joined, renormalist joined 16:12 jeffreykegler joined
dalek : 594772a | (Tobias Leich)++ | Makefile:
fixed parameter for "use perl5;"
16:12
rlito: 4b83c35 | (Flavio S. Glock)++ | / (2 files):
Perlito5::X64::Assembler - add syscall; try out a "Hello, world"
16:15
16:20 xantamoc joined 16:29 Targen left 16:30 brrt left
[Coke] so, is this adding an assembly backend to perlito? 16:30
(will it be available for p6 & p5?)
FROGGS_ [Coke]: I guess you can compile Perl <[56]> to ASM then 16:31
timotimo_ what, that's crazy
16:32 denisboyun_ left
FROGGS_ timotimo_: have a look at its README 16:32
r: my $x = "0"; $x eq $x && (print "ok\n") 16:33
p6eval rakudo b972ca: OUTPUT«ok␤»
FROGGS_ r: my $x = "0"; $x ne $x && (print "ok\n")
p6eval rakudo b972ca: ( no output )
16:33 wingfold joined
timotimo_ how is that even ... 16:34
16:34 wingfold left, wingfold joined
timotimo_ so, in theory this could compile parts of a program that's meant to be run on rakudo into assembler code and run that inline? 16:36
Inline::Perlito::ASM
FROGGS_ timotimo_: no, I believe it is implemented in javascript 16:37
at least the Perl 5 and 6 interpreter
if you compile to another backend (python for example) I think you just get a file you can run later
timotimo_ apparently 30% js, 70% perl 16:38
kresike bye folks
masak o/
16:38 kresike left
FROGGS_ v5$ perl6 -e 'use perl5; 0 && say(1)' 16:39
1
:/
masak that's wrong. :) 16:40
FROGGS_ dont you say :P 16:41
tadzik wrong && right :P
16:42 xantamoc left 16:43 daxim left
dalek : 2822c65 | (Tobias Leich)++ | lib/Perl6/P5Grammar.pm:
comment out token infix && and ||
16:44
: 2d0ff07 | (Tobias Leich)++ | t/spectest.data:
we currently pass 3 test files
16:45 sqirrel joined 16:46 FROGGS_ left 16:48 daxim joined 16:49 kaleem joined 16:53 dmol joined 17:00 japhb_ joined 17:02 domidumont left, Chillance joined 17:07 ashleydev left 17:18 kaleem left 17:21 kaleem joined, kaleem left 17:23 jeffreykegler left 17:27 FROGGS joined 17:29 SunilJoshi joined 17:33 daxim left 17:36 SunilJoshi left 17:37 SunilJoshi joined 17:43 SunilJoshi left 17:46 SunilJoshi joined 17:47 SunilJoshi left
moritz does anybody want to proof-read a German article about exceptions in Perl 6? 17:51
17:54 dakkar left
timotimo_ i'd like to 17:56
i can only proof the grammar and spelling competently though :P
17:57 domidumont joined
timotimo_ except i got the blunt end of three spelling reforms in my school career, so maybe i'm not to be trusted on spelling 17:57
masak moritz: sure, bring it on.
technically, I don't know German, but I can proof on general structure and disposition, and facts.
moritz masak: perlpunks.de/paste/show/5151e1e5.5355.235 17:59
and no, I couldn't resist. It contains an implementation of the ":dba on routines" idea I had yesterday night 18:00
FROGGS fwiw, I vote for keeping the name 'dba' 18:01
timotimo_ hehe, that's good, moritz. it means you're turning your procrastination into positivity. although it was positivity all along!
moritz: the play on words "die 'fehlermeldung';" amuses me
18:02 xilo left, fhelmberger left, census joined
pmichaud ...should there be a .throw on the X::Disco::TooYoung thingy? 18:03
timotimo_ Kontrollcode kann etwa temporär +e IMO 18:04
pmichaud oh, there's a "die"
never mind
timotimo_ line 96 btw
say $!.WHAkT; # (X::AdHoc); - a k snuck in there 18:05
say "lebending"; - a n snuck in there 18:06
or maybe it was a pun, dunno?
18:06 xilo joined
pmichaud article (as viewed through Google Translate) looks reasonable to me! Good length and good choices of examples. 18:07
timotimo_ line 166 could get an "überhaupt" or something for style
moritz timotimo_: thanks for your suggests 18:09
timotimo_++, FROGGS++, masak++, pmichaud++
masak didn't get to reading it yet ;) 18:10
timotimo_ seems nice otherwise
moritz masak: consider your ++ to be a prefix until you do :-)
fwiw I ran all the test code
pmichaud masak: your ++ is a virtual one... you get the karma point now for effort you will perform later. :)
moritz masak: I'm especially interested in your opinion on the opionon on the :dba stuff which I brought up yesterday (and which finds its way into the article), because it adresses your dislike for stacktraces at some level 18:13
strike that double opinion :-)
oh, and I have a DateTime feature request: I want an easy to way to deal with UTC dates/times 18:18
[Coke] moritz: step 1: lobby your politician to abolish DST. 18:20
18:21 SunilJoshi joined
moritz well, the equivalent of the perl5 gmtime would be a good start already 18:22
pmichaud well, UTC doesn't have DST so that should make it easier already :) 18:23
18:24 spider-mario joined
masak moritz: in a first read-through, I focused on the code. 18:24
18:25 SunilJoshi left
masak moritz: and yes, I see what you mean by "addresses dislike for stacktraces". kinda neat. 18:25
18:26 SunilJoshi joined
moritz I could live in a world where that's the default, and perl6 --dev $program gives you the backtraces we have now 18:28
lue hello world o/
18:31 SunilJoshi left
arnsholt moritz: I think I'd prefer to have file:line information in a paren as well, in the human-readable stack-traces 18:33
moritz arnsholt: as a program user, do you honstly care about the location of an error? 18:35
lue
.oO(better bug reports)
18:37
dalek rl6-roast-data: 0119237 | coke++ | / (3 files):
today (automated commit)
18:38
18:39 SunilJoshi joined
[Coke] anyone bored, those 2 pugs failures fail intermittentently - we should skip those tests. 18:40
18:41 SunilJoshi left 18:42 genehack_ left
arnsholt moritz: Tru dat. But that kind of trace also doubles as part of a bug report, in which case I'd argue it does matter 18:45
timotimo_ honestly i would show both, but make the "user facing" stand out more 18:46
the traceback can still be copypasted into a bugreport that way
but the user could also understand what's going on if it's not the program's fault (just an LTA error)
moritz aye; or maybe dump the backtrace into a temp file
arnsholt Definitely make the understandable bits prominent
I was thinking something along the lines of "doing business as (file:line)" 18:47
lue I suspect slangs "just" require treating them as a shorthand for modifying the appropriate grammar. 18:48
18:52 xilo left 18:58 xilo joined 19:03 jferrero joined 19:06 jferrero is now known as explorer 19:09 explorer left
sorear lue: do not modify existing grammars. subclass them instead 19:10
masak how the heck can a Kindle edition of a book be more expensive than the hardcover!?
how does that even happen? 19:11
sorear masak: format translators want money? amazon rent-seeking?
lue sorear: ah yes, of course. (I wrote that last statement from the user's perspective it seems)
sorear hardcover being sold as a loss leader / otherwise subsidized by bookstores? 19:12
hardcover experiences surplus production and must be sold at any cost?
19:13 jferrero joined
sorear they think people are willing to pay more for the convenience of a massless book? 19:13
give away the razor and make the difference on the blades? 19:14
geekosaur amazon's model is sell the kindle at a loss and profit on the ebooks; sounds like maybe it's backfiring on them...
lue
.oO(Free Printer! [$70.00 Ink not included])
19:15
masak sorear: it... just seems to me they'd *obviously* sell more Kindle versions if it were cheaper than paper. and that it shouldn't be so hard, since the production cost has to be lower than for a dead-tree book.
19:15 ilbot6 left
sorear so my last suggestion then, flavored with a bit of the 2nd 19:15
colomon it's not unusual for a paperback to be more expensive than a hardcover of the same book... why would kindle edition be any different?
19:16 SamuraiJack left
lue I'm guessing the Instantaneous Shipping is crazy expensive. 19:16
masak because it doesn't have to be physically shipped, for one.
19:16 pecastro joined 19:17 bluescreen10 left, SamuraiJack joined
masak it's as if a fruit vendor went "yeah, tell you what. I'll give you this fruit juice concentrate instead. actually, it's just artificial flavors, so it's much cheaper to produce. but the quality is great. welcome to the future! that'll be {1.5 the price of equivalent fruit}." 19:17
sorear masak: people might be willing to pay more for instant availability and low space consumption 19:18
PerlJam amazon is trying to recoup it's up-front costs in the near term rather than the long term.
sorear "sure the paper version is cheaper, but I'd have to WAIT and I'd have to find room for it" 19:19
PerlJam (and once the bar is set for too expensive books, they can selectively low it in the future while still making a huge profit)
s/low/lower/
colomon PerlJam: odds are really good it's the publisher setting the eBook price, not Amazon. 19:20
lue
.oO(It's a test to see how much you depend on your Kindle)
PerlJam colomon: well ... we don't know the price difference, but you're probably right. 19:21
sorear also, setting prices based on costs is un-American.
masak I wonder if we'll eventually stabilize on expensive dead-tree versions and cheap kindle versions.
sorear: :P
PerlJam masak: we'll at least get to some sort of price uniformity. 19:22
19:22 kaare_ joined, bluescreen10 joined 19:23 kivutar left 19:30 SamuraiJack left
dalek blets: 58901a8 | (Herbert Breunung)++ | docs/tablet- (7 files):
fixed rest of links and added some dummy headings for better linkage
19:30
timotimo_ i get test failures on zavolaj :( 19:35
19:35 lichtkind joined
lue n: use MONKEY_TYPING; class Foo { method A { say "hi" } }; Foo.A; { augment class Foo { method A { say "2" } }; Foo.A }; Foo.A; # is niecza right? (rakudo errors on this) 19:36
p6eval niecza v24-35-g5c06e28: OUTPUT«2␤2␤2␤»
sorear r: use MONKEY_TYPING; class Foo { method A { say "hi" } }; Foo.A; { augment class Foo { method A { say "2" } }; Foo.A }; Foo.A; 19:37
p6eval rakudo b972ca: OUTPUT«===SORRY!===␤Package 'Foo' already has a method 'A' (did you mean to declare a multi-method?)␤at /tmp/aIdQEpKcoB:1␤------> ␤»
timotimo_ oh? when i use -Ilib, i run all 9 tests, but 4 of the 9 just say "ok" without a number, so the TAP is invalid 19:38
sorear r: use MONKEY_TYPING; class Foo { method A { say "hi" } }; Foo.B; { augment class Foo { method B { say "2" } }; Foo.B }; Foo.B;
p6eval rakudo b972ca: OUTPUT«2␤2␤2␤»
timotimo_ when using -Iblib/lib, i get a segfault at the end of that
19:38 cognominal joined
sorear lue: there are two things going on here. both rakudo and niecza augment at BEGIN time, so you can use Foo.B "before" adding it 19:38
arnsholt timotimo_: Zavolaj library or something else?
sorear r: use MONKEY_TYPING; class Foo { method A { say "hi" } }; Foo.A; { augment class Foo { supercede method A { say "2" } }; Foo.A }; Foo.A;
p6eval rakudo b972ca: OUTPUT«===SORRY!===␤Package 'Foo' already has a method 'A' (did you mean to declare a multi-method?)␤at /tmp/LSkX4ZoUNJ:1␤------> ␤»
sorear lue: the other thing is that niecza applies implicit "supercede" semantics to methods in an augment, which is probably wrong, but more useful than not supporting supercede at all 19:39
timotimo_ arnsholt: er, wha? i don't understand the question
masak rn: my @dirs = </home/user1/tmp/coverage/test /home/user1/tmp/covert/operator /home/user1/tmp/coven/members>; sub is_prefix_of($prefix, $str) { $prefix eq $str.substr(0, $prefix.chars) }; say ([\~] @dirs.comb(/\/\w+/))>>.join.reverse.first: { is_prefix_of($_, all @dirs) } 19:41
p6eval rakudo b972ca, niecza v24-35-g5c06e28: OUTPUT«/home/user1/tmp␤»
masak to me, this is the *obvious* solution to rosettacode.org/wiki/Find_common_directory_path
:) 19:42
mind if I add it to that page?
lue At least now I know how to handle slang augmenting differently in the Grammar/Actions
arnsholt timotimo_: Does the code you find the segfault in use Zavolaj, sorry =)
mikemol Go right ahead. :P
timotimo_ arnsholt: it's t/08-callbacks.t, so yes, it does use zavolaj 19:43
it's from the zavolaj test suite
arnsholt Right. In that case it's probably a bug in the dyncall related stuff in NQP 19:44
timotimo_ should i try getting a newer nqp?
oh, no new commits on the master branch 19:45
19:47 cognominal left 19:48 cognominal joined
masak mikemol: added. final version came out looking a little different. but still better, in my opinion ;) 19:48
mikemol masak: I was joking; there shouldn't be any typical need for anyone to ask me permission to add code to RC. 19:50
Though sometimes it's up in the air whether there should be multiple solutions to a language/task pair, or just one. 19:51
Opinions differ widely, but mostly based on who thinks their code is the One True Way...
masak *nod*
colomon but... but.... there's more than one way to do it! 19:52
PerlJam RC has python solutions too ;)
masak in this case, now there's three :)
19:52 xilo left
arnsholt timotimo_: Didn't say I'd fixed it, did I? O:) 19:54
timotimo_: More seriously, a backtrace might shed some light
timotimo_ a backtrace, hmm. 19:55
dalek : 7aeeebc | (Tobias Leich)++ | t/spectest.data:
we actually pass 4 tests
19:56
19:56 henry__ joined
timotimo_ #0 0x00007f270d4da90d in Parrot_pa_remove (ptr=0x21, interp=<optimized out>, self=<optimized out>) at ./include/parrot/pointer_array.h:141 19:56
arnsholt Aww, that doesn't look promising. Nothing NQP-looking further up the stack? 19:59
cognominal r: say Pod::Block.new.WHAT
p6eval rakudo b972ca: OUTPUT«Cannot look up attributes in a type object␤ in method <anon> at src/gen/CORE.setting:1868␤ in sub pod-gist at src/gen/CORE.setting:12186␤ in method gist at src/gen/CORE.setting:12208␤ in sub say at src/gen/CORE.setting:7634␤ in block at /tmp/iICjoKRkCV:1␤␤»…
cognominal weird
timotimo_ dunno what looks nqp-ish
cognominal I can't see in what way Pod::Block is so différent it can't execute .WHAT 20:00
20:02 xilo joined, genehack joined
lue r: say Int.WHAT; say Pod::Block.WHAT; 20:03
p6eval rakudo b972ca: OUTPUT«(Int)␤Cannot look up attributes in a type object␤ in method <anon> at src/gen/CORE.setting:1868␤ in sub pod-gist at src/gen/CORE.setting:12186␤ in method gist at src/gen/CORE.setting:12208␤ in sub say at src/gen/CORE.setting:7634␤ in block at /tmp/KM9RwF88gm:…
lue r: say Pod::Block.^methods; say Pod::Block.gist; 20:04
p6eval rakudo b972ca: OUTPUT«gist <anon> <anon>␤Cannot look up attributes in a type object␤ in method <anon> at src/gen/CORE.setting:1868␤ in sub pod-gist at src/gen/CORE.setting:12186␤ in method gist at src/gen/CORE.setting:12208␤ in block at /tmp/92nOELlxY7:1␤␤»
diakopter r: print Int.WHAT; print Pod::Block.WHAT;
p6eval rakudo b972ca: OUTPUT«use of uninitialized variable $v of type Int in string context in block at /tmp/xKYxl2RlyI:1␤␤use of uninitialized variable $v of type Pod::Block in string context in block at /tmp/xKYxl2RlyI:1␤␤»
diakopter r: print Int.WHAT;
p6eval rakudo b972ca: OUTPUT«use of uninitialized variable $v of type Int in string context in block at /tmp/48FKrtBy1O:1␤␤»
diakopter r: print Int.WHAT.perl
p6eval rakudo b972ca: OUTPUT«Int»
arnsholt timotimo_: I'll try to remember to look at it tomorrow. Have to rebuild NQP and Rakudo and stuff to test it right now
timotimo_ thanks 20:05
20:06 cognominal left 20:07 Chillance left
sahadev masak: in your last solution to the Find_common_directory_path problem, can you explain what is ».join doing there? I get the same output without that part. 20:08
20:08 cognominal joined
cognominal ho, I called WHAT on an instance instead of a class 20:10
it should have the same result, no?
masak sahadev: oh! yeah. thinko on my part. the [\~] already does that for me, d'oh. 20:11
masak edits
20:12 thou left
masak "better do this operation twice, in case the computer doesn't get it the first time..." 20:12
cognominal r: say Pod::Block.WHAT
p6eval rakudo b972ca: OUTPUT«Cannot look up attributes in a type object␤ in method <anon> at src/gen/CORE.setting:1868␤ in sub pod-gist at src/gen/CORE.setting:12186␤ in method gist at src/gen/CORE.setting:12208␤ in sub say at src/gen/CORE.setting:7634␤ in block at /tmp/wLgTQ0mEVI:1␤␤»…
masak sahadev++ # debugging
cognominal same difference
r: say Pod::Block.gist 20:13
p6eval rakudo b972ca: OUTPUT«Cannot look up attributes in a type object␤ in method <anon> at src/gen/CORE.setting:1868␤ in sub pod-gist at src/gen/CORE.setting:12186␤ in method gist at src/gen/CORE.setting:12208␤ in block at /tmp/3POupl2KkK:1␤␤»
pmichaud cognominal: Pod::Block in Rakudo isn't built as a standard Perl 6 object... 20:14
[Coke] r: say (Pod::Block).WHAT
p6eval rakudo b972ca: OUTPUT«Cannot look up attributes in a type object␤ in method <anon> at src/gen/CORE.setting:1868␤ in sub pod-gist at src/gen/CORE.setting:12186␤ in method gist at src/gen/CORE.setting:12208␤ in sub say at src/gen/CORE.setting:7634␤ in block at /tmp/3B0XFgQ9bH:1␤␤»…
pmichaud it's part of the compiler at the moment.
in particular, Pod::Block isn't derived from Any or Mu 20:15
oh, wait, maybe it is. Hmm.
(Looking.)
masak should be at this point, I think.
cognominal No, that pod-gist that is unable to deal with the class itself 20:16
…versus object of that class
it tries to print attributes
pmichaud say Pod::Block ~~ Any
r: say Pod::Block ~~ Any
p6eval rakudo b972ca: OUTPUT«True␤»
pmichaud oh.
probably missing a :D somewhere then.
method gist { 20:17
that would be the problem.
cognominal yes
pmichaud needs to be multi method gist(Pod::Block:D:) {
cognominal I always forget about :D and :U pmichaud++ 20:18
pmichaud ack 'method\s+\w+\s+\{' src # reveals a lot of potential troublemakers 20:19
20:20 Chillance joined, kurahaupo joined 20:24 cognominal left 20:26 domidumont left 20:29 cognominal joined
dalek : 81c0bb9 | (Tobias Leich)++ | lib/Perl6/P5Grammar.pm:
make ternary operator work
20:29
20:37 henry__ left 20:38 cognominal left 20:42 cognominal joined 20:47 cognominal left
masak just found this. en.wikipedia.org/wiki/Wicked_problem 20:52
reminds me of programming language design. :)
"no definitive formulation", "no stopping rule", "not true-or-false, but better or worse"... 20:53
sounds about right :)
diakopter your mom is a gordian knot
20:58 cognominal joined 21:01 dmol1 joined, dmol left
cognominal pmichaud: probably the compiler should warn when non multi are used in derived classes when multi are used in parent or method signatures from derived classes are less specific than their parent. That would have catched that one. In some cases, that could be doable. 21:01
pmichaud: why multi are not the default for methods? Not that it fixes the present Pod problem without proper signatures 21:02
21:02 SmokeMachine left
moritz fwiw warnings should be a means of last resort 21:03
warnings are always annoying both ways: when they catch an error, they should have been errors intead. When they are false positives, one has to explicitly disable or work around them 21:04
so by default they don't make anybody happy
cognominal masak: About wicked problems. I supposed that what De Gaulle meant in this exchange someone: "mort aux cons", De Gaulle : "vaste problème" 21:05
moritz, that's true, but there could be a non default compiler mode that warns. 21:07
masak cognominal: "death to conservatives"? 21:08
cognominal mask. nope, con means cunt, both in denotation and derogative connotation.
masak ah, now Google Translate got it right. 21:10
cognominal (google translate)-- does not say in what language register(s) a word belong and how derogative a word is. 21:12
well you can hess from it that 'con' is a very versatile word in French 21:13
masak indeed. 21:14
it's unusual for such a word to be in a very formal register. ;)
21:15 rindolf left
masak Pinker has a wonderful TED talk where he mis-uses registers in sentences. causing the audience to laugh out of pure confusion. :) 21:15
cognominal It is somewhere in between 'yo' and 'bitch' used by Pinkman in Breaking bad.
masak haven't seen, sorry.
cognominal masak: nope, con is nerved used in a formal register. That's why I complained about google translate
*never 21:16
masak, do you know 'breaking bad'?
www.youtube.com/watch?v=kXFSmMlx6f4 21:17
I don't know the name for that kind of word.
arnsholt Speaking of registers, do you know what an important part of the training data for Google translate it? =)
sorear vulgar? 21:18
cognominal nope, I mean 'yo'.
arnsholt sorear: Quite the opposite
cognominal it has no semantic value. But Jesse alternatively use 'bitch' that has semantic value 21:19
arnsholt An important part is a corpus called EuroParl. Transcribed translations of parliamentary debates in the EU parliament
sorear arnsholt: answering cognominal, thought "never used in formal register" ... "name for kind of word" was connected
arnsholt Oh, right. Sorry
sorear keeps thinking cognominal rhymes with polynomial 21:20
cognominal In south France, you can use with friends 'con' for emphasis. It has no derogative meaning.
arnsholt Anyways, part of making an SMT system good is fixining the weirdness of the corpus =)
masak cognominal: I'm not sure I agree with your definition of 'semantic value', whatever it is. it sounds very old-skool. :P 21:21
sorear i wonder if there are any interesting anomalies resulting from {en,de}.wikipedia.org
masak cognominal: conversation is just bit-twiddling in someone else's brain, using a (generally) agreed-upon API. that's all.
or s/conversation/language/ if you will.
sorear cognominal: interjections have no grammatical role 21:22
masak: no semantic value makes me think of "IT is raining"
which I think is also an example from Pinker... 21:23
cognominal my youtube video does not give the whole sentences :(
masak sorear: oh, I thought "it" was just a short-hand referent for "the weather"... 21:25
cognominal sorear: Interjections, that's the word. my point is that 'yo' and 'bitch' used by pinkman has semantic value. 'yo' as emphasis, and 'bitch' as insult.
masak "Interjections", at least, are clearly defined. they're probably the least "grammatical" parts of speech, though. :) they don't compose at all. 21:26
timotimo_ where is that ted talk masak? :) 21:27
masak timotimo_: hold on. 21:28
timotimo_: www.ted.com/talks/steven_pinker_on_...ought.html 21:29
timotimo_ thank you :) 21:30
masak the example around ~4:00 that compares "give X to Y" or "give Y X" shows up in programming as well. you want to emphasize various things at different times. 21:34
that's one reason we have both subs and methods. :)
and that's why I tend to spend a lot of though thinking about expression end-weight when I program. 21:35
...this, and more, will be topics in my online IRC course -- date to be announced. sign up today! :D
cognominal where do I sign? 21:36
:)
masak right here, on my cast :P
(consider yourself signed) :)
aaaah. if I could homestead inside Pinker's brain, I would. 21:37
sorear masak: get the books. all of them. 21:39
(maybe not _all_, you can skip _The Blank Slate_ and _Better Angels_ if you aren't into sociology) 21:40
21:40 aindilis joined
arnsholt I really should read The language instinct 21:44
I'm not a fan of Chomsky and the associated theories, but I should probably read the books anyways
21:45 LlamaRider left
diakopter rn: fork() && die 21:45
p6eval niecza v24-35-g5c06e28: OUTPUT«===SORRY!===␤␤Undeclared routine:␤ 'fork' used at line 1␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 1443 (die @ 5) ␤ at /home/p6eval/niecza/src/STD.pm6 line 1147 (P6.comp_unit @ 37) ␤ at /hom…
..rakudo b972ca: OUTPUT«===SORRY!===␤Undeclared routine:␤ fork used at line 1␤␤»
21:46 sqirrel left
masak sorear: at some point, I will definitely read "Better Angels". so far I've only read "The Language Instinct", but I really liked that one. 21:48
21:49 cognominal left 21:51 cognominal joined 21:53 dmol1 left
sorear masak: pretty sure the "give X to Y / give Y X" thing is from "The Stuff of Thought", you should prioritize that one too 21:55
masak yes, I gathered as much from the talk abstract. 21:56
sorear seems I'm at 5.5/11. need to track down the older books 21:58
22:02 Targen joined 22:04 lustlife left 22:05 wingfold left
lue added some thoughts on slang's special handling of augment and supersede: gist.github.com/lue/5241230 22:08
22:10 Woodi joined 22:12 bluescreen10 left 22:14 xilo left 22:19 Targen left
masak lue: congratulations, you've now reached the "need to hash this out with TimToady" level. :) 22:20
lue Really? I didn't feel the ride up. :) 22:21
masak and TimToady is out of commission for about a week, so you'll have to be patient.
22:21 spider-mario left
diakopter 1 week, plus or minus a lot of weeks 22:21
lue Yeah. (I knew this last night when I talked about wanting to know what the original slang creator thought a slang encompassed (grammar or grammar+actions) ) 22:22
22:22 lichtkind left
lue
.oO(Here's to a safe recovery for TimToady++)
22:22
masak lue: I think you're making good headway. it's a tough problem, which is why it's still inconsistent in the spec. but someone needs to dig down into the veins of possibility, mining for a sane solution. geep going. :) 22:27
keep*
anocelot
.oO("Geep" would make an excellent word. But what would it mean...?)
22:28
22:31 jeffreykegler joined
masak anocelot: duckduckgo.com/?q=what+does+%22geep%22+mean%3F 22:31
jeffreykegler Yes, a speedy recover to TimToady++
I very much look forward to the exchange re slang's, etc. 22:32
masak .oO( maybe even several exchange's... )
22:32 thou joined 22:33 kaare_ left
lue duckduckgo.com/?q=definition+of+geep 22:33
22:37 cognominal left 22:39 sjohnson left, sjohnson joined
anocelot (None of the deffs I say were very satisfactory.) 22:39
22:40 xilo joined 22:41 wk left 22:43 cognominal joined
lue "geep" sounds to me like "to make high-pitched, nervous noises." ==> "geep going" = "make high-pitched noises while going" 22:43
sorear o/ jeffreykegler 22:46
jeffreykegler hi
22:53 cognominal left 22:59 cognominal joined 23:09 jeffreykegler left 23:17 cxreg2 is now known as cxreg 23:28 araujo left 23:29 cognominal left 23:30 woolfy left 23:31 PacoAir left 23:34 cognominal joined 23:38 armitage joined