»ö« 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 rowat /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«FalseTrue» | ||
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 XVIvacantCan 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 variableat /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«0Too 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«0Too 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«0Too 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«00» | ||
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«00» | ||
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«01» | ||
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«042» | ||
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«042» | ||
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«starsrc.bashrcnom-inst1toqasttest3.pl.profiletnom-inst2nom-insttoqast-insttoqast-inst2examplesMakefile.gitignorelibtest2.pl.localbinrakudop1VERSIONsimple-tests.perlbrewstdobjmain.pl.lesshstnomnieczatest.pl.cpanmlog.bash_logoutrunT… | ||
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 rowat /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 executedcurrent 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 blockat /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«222» | ||
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«222» | ||
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:1use 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 1Unhandled 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
|