»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend! Set by sorear on 25 June 2013. |
|||
00:06
leont joined
|
|||
dalek | osystem: 18ce27a | colomon++ | META.list: Move GD to perl6-community-modules This takes Coke++'s changes and adds a few additional tweaks. |
00:23 | |
00:48
xenoterracide joined
00:52
test_ joined
00:56
xenoterracide left
00:57
xenoterracide_ joined
01:02
test_ left,
thou left
01:06
xenoterracide_ left
01:12
xenoterracide_ joined
01:17
xenoterracide_ left,
xenoterracide__ joined
01:30
xenoterracide__ left
01:39
xenoterracide__ joined
01:52
woshty left,
virtualsue left
01:53
woshty joined
02:15
dayangkun joined
02:21
mauke_ joined
02:23
mauke left
02:25
chenryn joined,
mauke joined
02:28
mauke_ left,
mauke_ joined
02:31
mauke left
02:34
mauke_ is now known as mauke
02:41
chenryn_ joined,
chenryn left
02:44
bjz left,
bjz_ joined
03:16
noganex_ joined,
Mso150 joined
03:19
noganex left
03:28
woshty left
03:33
Ben_Goldberg joined,
BenGoldberg left,
Ben_Goldberg is now known as BenGoldberg
03:38
leont left
03:43
Exodist joined
03:46
woshty joined
03:47
Mso150 left
03:51
xenoterracide__ left
03:52
xenoterracide joined
03:55
jack_rabbit joined
04:01
jack_rabbit left
04:28
azawawi joined
|
|||
azawawi | hi | 04:28 | |
can anyone please add github.com/azawawi/totem to panda module list? | 04:29 | ||
tony-o | azawawi: i'll add it, what does it do? | 04:33 | |
dalek | osystem: 6ab6d85 | tony-o++ | META.list: azawawi's totem - |
04:36 | |
04:36
mauke_ joined
|
|||
tony-o | .tell supernovous i'm trying to use xml::query and when i do .new(xml => $xml) i'm getting 'Cannot create an instance of that type', any clues? Tests are now failing when I install from panda as well | 04:37 | |
yoleaux | tony-o: I'll pass your message to supernovous. | ||
tony-o | .tell supernovus i'm trying to use xml::query and when i do .new(xml => $xml) i'm getting 'Cannot create an instance of that type', any clues? Tests are now failing when I install from panda as well | ||
yoleaux | tony-o: I'll pass your message to supernovus. | ||
tony-o | carp. | 04:38 | |
04:39
chenryn_ left
04:40
mauke left
04:43
mauke_ is now known as mauke
04:46
ggoebel111111114 joined
04:48
ggoebel111111113 left
04:50
BenGoldberg left
04:59
bjz_ left
05:02
chenryn_ joined
05:13
kaare_ joined
05:17
araujo left
05:28
[Sno] left
05:32
dayangkun left
|
|||
azawawi | tony-o: thanks... smart web-based search bar experiment :) | 05:42 | |
tony-o: thanks | |||
tony-o: it is basically autocompletion inside your mounted project files | 05:43 | ||
tony-o: once we index them, you can match modules, files, create files, read docs through it | 05:44 | ||
tony-o: currently it indexes modules in install/../site/lib | |||
tony-o: think of it as a way to read code faster... | 05:45 | ||
tony-o: later index all of modules.perl6.org/ | |||
azawawi & | |||
05:46
azawawi left
05:53
xenoterracide left
05:54
virtualsue joined
06:02
cognominal left
06:23
[Sno] joined
06:54
ptc_p6 joined
06:56
dayangkun joined
07:03
davido__ joined,
kaleem joined
07:05
darutoko joined
07:06
davido_home left
07:32
Isp-sec joined,
FROGGS joined
07:34
oskie left
07:35
rindolf joined
07:38
abraxxa joined
07:42
pecastro left
07:49
eiro joined
07:51
rindolf left
07:53
azawawi joined
|
|||
azawawi | hi | 07:53 | |
does this look right? | |||
m: my $file = '/dir1/dir2'; my @lib = $*SPEC.splitdir($file); say +@lib; | |||
camelia | rakudo-moar 315ec6: OUTPUT«3» | ||
FROGGS | m: my $file = '/dir1/dir2'; my @lib = $*SPEC.splitdir($file); say @lib.perl; | 07:54 | |
azawawi | m: my $file = '/dir1/dir2'; my @lib = $*SPEC.splitdir($file); say +@lib; say @lib[0] eq '' | ||
camelia | rakudo-moar 315ec6: OUTPUT«Array.new("", "dir1", "dir2")» | ||
rakudo-moar 315ec6: OUTPUT«3True» | |||
FROGGS | m: my $file = '/dir1/dir2'; my @lib = $*SPEC.splitpath($file); say @lib.perl; | 07:55 | |
camelia | rakudo-moar 315ec6: OUTPUT«Array.new("", "/dir1/", "dir2")» | ||
FROGGS | ahh, that gives you volume + dirs + file | ||
m: my $file = '/dir1/dir2'; my @lib = $*SPEC.splitpath($file, :nofile); say @lib.perl; | |||
camelia | rakudo-moar 315ec6: OUTPUT«Array.new("", "/dir1/dir2", "")» | ||
azawawi | volume like C and D on win32... i see | 07:56 | |
azawawi tries it on win32 | |||
lizmat | S32/IO:597: "Unlike just splitting the directories on the separator, empty directory names (C<''>) can be returned, because these are significant on some OSes." | 07:57 | |
synopsebot | Link: perlcabal.org/syn/S32/IO.html#line_597 | ||
azawawi | rakudo.org/ is down btw from my side | 07:58 | |
lizmat | S32-setting-library/IO:597 rather | ||
azawawi: no problem here | 07:59 | ||
azawawi | now it is working... | ||
i suspect a caching proxy in my ISP... | |||
azawawi begins to use Perl 6 @ work for various parsing & monitoring scripts :) | 08:00 | ||
08:01
PZt joined
|
|||
lizmat | azawawi++ | 08:01 | |
FROGGS | ohh, nice :o) | 08:03 | |
the stuff I did at the weekend also makes me think that I can use it for several tasks at work | 08:04 | ||
azawawi | m: my $file = 'C:/dir1/dir2'; my @lib = $*SPEC.splitdir($file); @lib.perl.say; | ||
camelia | rakudo-moar 315ec6: OUTPUT«Array.new("C:", "dir1", "dir2")» | ||
08:04
zakharyas joined
|
|||
FROGGS | I build a Bailador webservice with Template::Mojo and DBIish... works nicely :o) | 08:04 | |
azawawi | Baliador is built upon HTTP::Easy right? | 08:05 | |
Baildor... :) | |||
FROGGS | yeah | ||
azawawi | damn... | ||
FROGGS | *g* | ||
though, it takes about a second to deliver a simple page... I guess I should profile it at some point | 08:06 | ||
08:06
lizmat_ joined
|
|||
azawawi | FROGGS: HTTP::Easy should be refactored to reuse HTTP::Message imho | 08:07 | |
sorry HTTP::Client :) | |||
it is not my day today... :) | |||
m: my $day = "today"; # :) | 08:08 | ||
camelia | ( no output ) | ||
azawawi | FROGGS: HTTP::UserAgent to be exact | 08:09 | |
08:09
rindolf joined
|
|||
azawawi | FROGGS: the parsing in HTTP::Easy is not 100% correct | 08:09 | |
08:09
lizmat left,
kurahaupo left
|
|||
FROGGS | azawawi: yes, I am aware of that, but it works for now :o) | 08:17 | |
masak | morning, #perl6 | ||
masak is giving a course today | |||
FROGGS | but I'll work on that issue when the service is live | ||
masak: moin | |||
08:19
brrt joined
|
|||
moritz | \o | 08:20 | |
08:21
virtualsue left
08:23
ptc_p6 left
08:24
ptc_p6 joined
|
|||
FROGGS | hi moritz | 08:24 | |
08:27
ugator joined
08:28
spider-mario joined
08:33
cognominal joined
08:36
virtualsue joined
08:39
lizmat joined,
mauke_ joined
08:42
lizmat_ left,
lizmat_ joined,
mauke left,
mauke joined
08:44
mauke_ left
08:46
lizmat left
08:48
lizmat joined
08:49
lizmat__ joined,
lizmat left
08:50
chenryn_ left,
lizmat joined
08:51
lizmat___ joined,
lizmat_ left
08:53
lizmat_ joined
08:54
lizmat__ left,
dayangkun left
08:55
lizmat left
08:56
lizmat___ left
|
|||
moritz | my $ende = | 09:00 | |
$ehour == 24 | |||
&& $eminute == 0 | |||
? unixtime( $year, $month, $day, 0, 0, 0 ) + 24 * 60**2 | |||
: unixtime( $year, $month, $day, $ehour, $eminute, 0 ); | |||
who can spot the bug? :-) | |||
09:02
lizmat joined
09:03
chenryn_ joined
|
|||
brrt | unixtime arguments are funky? /me can't recall how they go at any rate | 09:04 | |
09:04
mauke_ joined
09:05
lizmat_ left
09:07
kurahaupo joined,
kurahaupo left
09:08
mauke left
|
|||
moritz | brrt: no, the bug is the 24 * 60**2 | 09:09 | |
assuming that a day has 24 hours | |||
yesterday didn't. | |||
(at least in CET/CEST land) | |||
09:10
mauke joined
|
|||
brrt | :-D | 09:10 | |
nice | |||
uhm..... hmm | |||
how do you propose fixing it? | |||
09:13
mauke_ left
|
|||
moritz | brrt: in this case I fixed it by calculating the next day using Date::Calc::Add_Delta_YMD | 09:13 | |
brrt | hmm | 09:14 | |
yes | |||
moritz | my ($y, $m, $d) = Add_Delta_YMD($year, $month, $day, 0, 0, 1); and then unixtime($y, $m, $d, 0, 0, 0) | ||
09:15
lizmat_ joined,
kjs_ joined
09:16
ab5tract joined
09:18
rurban joined,
rmgk_ joined,
rmgk left,
rmgk_ is now known as rmgk
09:19
lizmat left
09:21
sftp left
09:22
sftp joined
09:24
Mso150 joined
09:28
brrt left
09:30
mauke_ joined
09:32
Mso150 left,
mauke left
09:36
ugator left
09:37
mauke_ is now known as mauke
09:38
brrt joined,
Isp-sec left
09:39
TuxCM left,
dayangkun joined
09:45
lizmat joined
|
|||
tadzik | wow, FRA now has a wifi | 09:48 | |
09:48
lizmat_ left
|
|||
FROGGS | tadzik: how do you know? | 09:50 | |
tadzik | FROGGS: I found one :D | ||
good guy t-mobile provides one | |||
FROGGS | tadzik: what are you doing in FRA? | 09:51 | |
tadzik | FROGGS: getting back home from moritz++'s place :) | ||
FROGGS | ohh, nice | ||
tadzik | FRA is of course on the way from NUE to WAW | ||
FROGGS | off course, aye | 09:52 | |
tadzik | I'm sure that if I flew from Warsaw to Australia FRA would also be on the way :D | ||
metacpan.org/pod/Devel::DidYouMean perl 5 catching up :P | |||
09:54
TuxCM joined
|
|||
FROGGS | *g* | 09:57 | |
tadzik: can you help me later this week getting the cpandatesters live on feather or so? | |||
tadzik | FROGGS: sure | 09:58 | |
FROGGS | awesome :o) | ||
tadzik | while we're at it we can also move the modules API somewhere outside my /home | ||
10:02
lizmat_ joined
10:06
zakharyas left,
lizmat left
|
|||
masak | Devel::DidYouMean only does function and method calls. | 10:06 | |
Perl 6 does all declared things :) | 10:07 | ||
10:10
JimmyZ joined
10:11
pecastro joined
|
|||
moritz | nope, not methods (iirc) | 10:15 | |
m: say 'abc'.spit(/b/) | |||
camelia | rakudo-moar 315ec6: OUTPUT«No such method 'spit' for invocant of type 'Str' in block <unit> at /tmp/mUhxBPBCs4:1» | ||
10:16
lizmat joined
10:20
lizmat_ left
10:22
chenryn_ left
10:23
chenryn_ joined
10:29
salv0 joined,
JimmyZ left
|
|||
lizmat | methods is on my todo list | 10:32 | |
10:33
ab5tract left,
kurahaupo joined
|
|||
FROGGS .oO( methods is on my List $todo ) | 10:34 | ||
lizmat | you french person, you! | ||
FROGGS | O.o | 10:35 | |
10:35
kurahaupo left
|
|||
lizmat | ok, so I just pushed a fix to File::Find (for when dir() returns Str) | 10:36 | |
how do I get that back in ext/File__Find in panda ? | 10:37 | ||
just do the same change ? | |||
moritz | iirc that's a submodule | 10:39 | |
so git submodule update or something like that | |||
(it's documented in the star release guide, the same applies for panda too) | |||
lizmat | so where does the star release guid live ? can't seem to find it in the rakudo star repo :-( | 10:47 | |
FROGGS | lizmat: github.com/rakudo/star/blob/master...-guide.pod | ||
10:47
virtualsue left
|
|||
lizmat | ah, so not under docs :( | 10:47 | |
FROGGS | the command is: git submodule foreach git pull origin master | ||
lizmat | and then I need to commit? | 10:48 | |
moritz | yes | 10:49 | |
lizmat | FROGGS++ moritz++ | ||
FROGGS | :o) | ||
dalek | nda: c42053e | (Elizabeth Mattijsen)++ | ext/ (3 files): Bring submodules up to date |
10:50 | |
lizmat | FROGGS: I'm considering implementing "use fatal" using the same approach you use for "use strict" | 10:54 | |
FROGGS | lizmat: what does 'use fatal' actually do? | 10:55 | |
lizmat | throw any warnings in that scope automatically | ||
moritz | s/fail/die/ basically | ||
lizmat | m: say try +"foo" # should say 0 | ||
camelia | rakudo-moar 315ec6: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '⏏foo' (indicated by ⏏) in method gist at src/gen/m-CORE.setting:13672 in sub say at src/gen/m-CORE.setting:15862 in block <unit> at /tmp/29k0TD3Ee0:1» | ||
lizmat | the reason the above fails, is that the Failure is being returned by the try | 10:56 | |
compare with: | |||
m: say try die | |||
camelia | rakudo-moar 315ec6: OUTPUT«Nil» | ||
moritz | then it should also say Nil | ||
because it's not a warning | |||
lizmat | m: say try +"foo"; say "this should be said, but isn't" | 10:57 | |
camelia | rakudo-moar 315ec6: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '⏏foo' (indicated by ⏏) in method gist at src/gen/m-CORE.setting:13672 in sub say at src/gen/m-CORE.setting:15862 in block <unit> at /tmp/uuzEe7_n7K:1» | ||
lizmat | actually, it is supposed to return 0 according to spec | 10:58 | |
m: say try (+"foo").throw # the effect of "use fatal" | |||
camelia | rakudo-moar 315ec6: OUTPUT«Nil» | ||
lizmat | hmmm.... | ||
anyways, first make sure the failure gets thrown, then caught by try | |||
FROGGS, moritz: my question is: for 'use strict', you use a dynamic variable in the grammar | 11:00 | ||
how can I expose such a variable at runtima? | |||
in Perl6 space, when the exception is being handled ? | |||
FROGGS | hmmm | ||
lizmat | FWIW, the same approach I would like to use for 'use lib' | 11:01 | |
FROGGS | I'm not sure | ||
lizmat | :-( | ||
moritz | lizmat: I guess you'll have to install a new lexical symbol for each scope in which the thinig changes | 11:02 | |
lizmat | a new dynamic var... | 11:03 | |
hmm.... | |||
$*W.install_lexical_symbol I assume | |||
or, maybe I should do it the other way around: that the runtime looks up the grammar lexical ? | 11:04 | ||
moritz | iirc EXPORT can return a hash (or pair list) of symbols to be installed in the use'rs lexpad | ||
FROGGS | lizmat: I don't think that will work | 11:05 | |
moritz | dunno if that works for variables yet | ||
but it could be made to work for variables | |||
and then you'd have a pretty generic mechanism | |||
and lib.pm6's EXPORT could just return a new @INC | |||
11:05
kurahaupo joined
|
|||
FROGGS | moritz: EXPORT can export vars | 11:05 | |
moritz | that's a copy + the new elems | 11:06 | |
lizmat | problem is that EXPORT is done at runtime | ||
I need the @*INC at compile time | |||
FROGGS | problem is, that it explodes for the @INC case, because @INC is already declared in the target | ||
moritz | FROGGS: huh? should be declared in an outer scope | ||
FROGGS | moritz: not always | ||
moritz | lizmat: huh? EXPORT should be called at compile time | 11:07 | |
FROGGS | lizmat: what moritz says | ||
moritz | lizmat: I mean, it needs to know the list of symbols to export at compile time | ||
at run time, the lexpad is immutable | |||
lizmat | ok, well, I tried doing that with @*INC some times already, and I couldn't get it to work | ||
in any case, I think installing the lexical feels better | 11:08 | ||
moritz | that seems to work-ish | 11:09 | |
FROGGS | lizmat: yes, for transferring parser state you'd need a special lexical, aye | ||
moritz | lunch& | 11:10 | |
lizmat | FROGGS: so what is $?STRICT ? | 11:11 | |
1071 in Grammar: if $have_outer && $*UNIT_OUTER.symbol('$?STRICT') { | |||
FROGGS | that's for the case where the outer has installed that compile time var... I'm not sure if we are installing it at all atm | 11:12 | |
but we need something like that for EVAL for example | |||
11:15
kurahaupo left
|
|||
lizmat | it's not installed | 11:17 | |
FROGGS: should line 1072 not read $?STRICT as well then ? | 11:19 | ||
11:20
kurahaupo joined,
woshty left
|
|||
lizmat | - $*STRICT := $*W.force_value($*UNIT_OUTER.symbol('$*STRICT'), '$ | 11:20 | |
+ $*STRICT := $*W.force_value($*UNIT_OUTER.symbol('$?STRICT'), '$ | |||
11:26
woshty joined
11:31
zakharyas joined
11:40
kaleem left
11:52
chenryn_ left,
JimmyZ joined
|
|||
lizmat | lunch& | 11:56 | |
FROGGS | lizmat: I can't tell without tests | 11:59 | |
12:05
ghostlines joined,
ghostlines left
12:06
ghostlines joined
|
|||
timotimo | www.reddit.com/r/perl6/comments/2k...th_perl_6/ | 12:09 | |
12:13
araujo joined,
araujo left,
araujo joined
|
|||
moritz | timotimo: I've replied | 12:14 | |
timotimo | thanks :) | 12:15 | |
should i go over the whole 5-to-6 document to try and spot out-of-dateness? | |||
JimmyZ | authorized Reply! | ||
timotimo | "i am moritz lenz, and i approve of this message" | 12:16 | |
JimmyZ | :P | ||
timotimo | moritz: does the "() is a list because special cased" fact have a place at the end of the sentence "1, is a list, (1) isn't."? | 12:17 | |
moritz | timotimo: wouldn't hurt, though iirc I've done that not-too-long ago | ||
timotimo: IMHO yes | |||
brrt | moritz++ | 12:18 | |
moritz | timotimo: github.com/moritz/perlgeek.de/tree...erl-5-to-6 has the sources, if you want to patch anything | ||
timotimo | thanks :) | ||
it'd be interesting to note somewhere that %foo<bar baz> is actually %foo{'bar', 'baz'} rather than %foo{'bar baz'} | |||
FROGGS | who blogged recentish about reading material about perl6? | ||
timotimo | vendethiel did a lightning talk | 12:19 | |
but i guess that's implied with "auto quoting" | |||
FROGGS | ohh, right | ||
timotimo | moritz: how should i handle the date part of the articles? should i bump the date when i change stuff? | 12:20 | |
FROGGS | vendethiel: can you respond to [1] with links to reading material about Perl 6 from your talk at the apw? [1] www.reddit.com/r/perl6/comments/2k...th_perl_6/ | ||
timotimo | like, in one place it says the output of $x.WHAT is 'Int()', whereas nowadays it would be '(Int)' - does that warrant a date bump? | ||
12:22
dayangkun left
|
|||
moritz | timotimo: don't bump it | 12:24 | |
timotimo | OK | ||
moritz | timotimo: also, there are some small things that I have fixed in the .pod files, but haven't re-generated the HTML yet | ||
timotimo | fair enough | ||
moritz | timotimo: so if you proof-read, please do it with the .pod files | 12:25 | |
timotimo | ah | ||
makes sense, will do. | |||
12:28
denis_boyun_ joined
|
|||
brrt brb | 12:32 | ||
12:32
brrt left
|
|||
[Coke] | colomon: I would like a commit bit to perl6-community-modules | 12:34 | |
colomon | [Coke]: think I just sent an invitation to you. | 12:35 | |
colomon has never done that before, and may have done it wrong | |||
12:37
lizmat_ joined
12:38
kjs_ left
|
|||
colomon | \o/ | 12:38 | |
12:40
lizmat__ joined,
rurban left,
lizmat left
|
|||
dalek | rl6-GD: e53deac | coke++ | t/00-load.t: fix typo |
12:41 | |
[Coke] | ^^ I added webhooks for all the community owned modules. | ||
colomon | [Coke]++ # typo | 12:42 | |
webhooks? | |||
12:42
azawawi left
|
|||
colomon | oh! | 12:42 | |
12:42
leont joined
|
|||
colomon | you mean we get reporting on commits now? | 12:42 | |
[Coke] | a post-commit hook for the web. | 12:43 | |
colomon++ yes. | |||
if you want to do that for any new modules, just copy the webhook. | |||
12:44
lizmat_ left
12:45
brrt joined
12:46
lizmat joined
|
|||
dalek | ast: 2cba5c0 | usev6++ | S02-names-vars/perl.t: Separate test for RT #123048 |
12:46 | |
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=123048 | ||
colomon | [Coke]: how do you do that? | 12:48 | |
Ah, think I found it. | 12:49 | ||
[Coke]++ | |||
12:49
lizmat_ joined,
lizmat__ left
12:52
rurban joined
12:53
lizmat left,
lizmat joined
12:55
ptc_p6 left
12:57
lizmat_ left
|
|||
timotimo | m: my Junction $b = 3 | 2; my $a = 2; say "Yes" if $a != $b; say "Yes2" if !($a == $b); | 12:58 | |
camelia | ( no output ) | ||
12:58
fhelmberger joined
|
|||
timotimo | moritz: that's an example from inside 08-junctions.pod | 12:58 | |
the docs expect the output to be Yes | |||
13:00
rindolf left
|
|||
timotimo | m: say [1, 2] === [1, 2] | 13:00 | |
camelia | rakudo-moar 315ec6: OUTPUT«False» | ||
moritz | timotimo: that's an out-of-date-o | 13:01 | |
timotimo | yup | ||
would you like to rephrase that example + paragraph? | |||
lizmat feels stupid | |||
I just managed to upgrade our live web server instead of our test webserver :-( | 13:02 | ||
moritz | timotimo: I'm currently at $work, and can't put much thought into it right now | ||
timotimo: if you don't feel like rephrasing it, please open me a GH issue | |||
timotimo | will do | ||
so far, most changes i've made have been turning Perl 6 into Perl 6 | 13:03 | ||
:P | |||
and the github editor doesn't give me a diff before i do the commit, so the commit messages are all useless | |||
i'll rebase them locally and do some squashes/rewords | |||
moritz | lizmat: happens to everybody :-) | ||
timotimo | i think i feel stupid more often than i feel smart | 13:06 | |
arnsholt | I definitely feel stupid more often than I feel smart | 13:07 | |
13:07
rindolf joined
|
|||
timotimo | i might even feel stupid more often than i feel either normal or smart | 13:09 | |
13:09
guru joined
13:10
guru is now known as Guest45519
|
|||
timotimo | m: $_ = "test"; say :e | 13:10 | |
camelia | rakudo-moar 315ec6: OUTPUT«Unexpected named parameter 'e' passed in sub say at src/gen/m-CORE.setting:15859 in block <unit> at /tmp/ZWjierrwry:1» | ||
timotimo | m: $_ = "test"; say (:e) | ||
camelia | rakudo-moar 315ec6: OUTPUT«"e" => Bool::True» | ||
13:10
Guest45519 is now known as ajr_
|
|||
timotimo | m: $_ = "test"; say (so :e) | 13:10 | |
camelia | rakudo-moar 315ec6: OUTPUT«True» | ||
timotimo | 11-basic-operators.pod seems to think :e is still the file test thingie | ||
timotimo rewrites | 13:11 | ||
m: my $ls = lazy { sleep 10 } | 13:17 | ||
camelia | ( no output ) | ||
timotimo | m: my $ls = lazy { sleep 5 }; say "nothing done" | ||
camelia | rakudo-moar 315ec6: OUTPUT«nothing done» | ||
timotimo | moritz: should i point out that this is NYI? | ||
[Coke] | m: so lazy sleep for now | 13:19 | |
camelia | rakudo-moar 315ec6: OUTPUT«(timeout)» | ||
rurban | p: my $ls = lazy { sleep 5 }; say "nothing done" | 13:21 | |
camelia | rakudo-parrot 315ec6: OUTPUT«nothing done» | 13:22 | |
13:22
itz left,
itz joined
|
|||
moritz | timotimo: or remove any mention of lazy { } | 13:22 | |
13:23
rindolf left
|
|||
timotimo | moritz: what about circumfix operators that "are thus implemented as macros"? | 13:25 | |
is there any case at all left where an operator is actually a method rather than a sub? | 13:26 | ||
lizmat | () afaik | ||
timotimo | ah, of course | ||
lizmat | you did mean postcircumfix, no? | ||
timotimo | nope | ||
the 5-to-6 article suggests the circumfix < > operator is implemented as an "is parsed" macro | 13:27 | ||
moritz | that's wrong; it's just a special, syntactic construct | ||
timotimo | i'll just kill the whole section | ||
13:28
kaare_ left
|
|||
moritz | +1 | 13:28 | |
13:29
ugator joined
|
|||
moritz | timotimo++ | 13:30 | |
13:32
virtualsue joined
|
|||
timotimo | hm | 13:33 | |
std: enum bit Bool <False True> | |||
camelia | std 14ad63b: OUTPUT«===SORRY!===Illegal redeclaration of symbol 'bit' (see line 1) at /tmp/dchFYiNkST line 1:------> enum bit⏏ Bool <False True>Two terms in a row at /tmp/dchFYiNkST line 1:------> enum bit ⏏Bool <Fa…» | ||
timotimo | m: enum Hackers :Larry<Perl>, :Guido<Python>, :Paul<Lisp>; say Larry.perl; | 13:35 | |
camelia | rakudo-moar 315ec6: OUTPUT«===SORRY!=== Error while compiling /tmp/haDLl1Pm2gUndeclared names: Hackers used at line 1 Larry used at line 1Undeclared routine: enum used at line 1» | ||
timotimo | m: enum Hackers (:Larry<Perl>, :Guido<Python>, :Paul<Lisp>); say Larry.perl; | ||
camelia | rakudo-moar 315ec6: OUTPUT«Hackers::Larry» | ||
timotimo | mhm, mhm. | ||
13:38
lizmat_ joined
|
|||
brrt | timotimo - which paul is that? :-) | 13:41 | |
13:41
lizmat left
|
|||
rurban | Paul Graham | 13:42 | |
brrt | oh.. that's not a real hacker imho | ||
rurban | Agree, He was never part of the LISP community. Just wrote books, and his own website | 13:43 | |
but he is a serious macro hacker | |||
brrt | i have one of his books, and it scar(r)ed me from common lisp | 13:45 | |
timotimo | moritz: if you tell me when those changes are likely to hit your website, i'll mention my little proofreading effort in that reddit post | 13:47 | |
rurban | Really? I met him personally and liked that his simple ANI Common LISP book wss so approachable to beginners. The fellow lisp hackers didn't like it for this. | ||
the macro book "On Lisp" is pretty hardcore | 13:48 | ||
timotimo | at the moment i also have the perl6 most wanted project open in two tabs and i'm meaning to link to a few modules from there | ||
moritz | timotimo: I can update it tonight | ||
timotimo | cool. | ||
13:49
kaleem joined,
kjs_ joined
|
|||
timotimo | done | 13:50 | |
brrt | rurban - it's terribly offtopic, my experience wasn't per se that it wasn't accessible | ||
it just makes clisp come off as a terribly impractical language | |||
as in | |||
i'd rather write the same stuff in perl / python or even java | 13:51 | ||
because if you're writing stuff wherein the accidental complexitiy dominates the essential complexity, you're not writing the right stuff | |||
13:52
zakharyas left
|
|||
brrt | (the assumption being that macro's help you avoid accidental complexity but not the essential complexity) | 13:53 | |
oh, is the flip-flop test flappy? | |||
or does it use bit shifting? | 13:54 | ||
timotimo | has anybody thought about advent calendar posts for this year yet? | 13:56 | |
me or tadzik (or both of us) should probably write one (or multiple) articles on game development with what we have nowadays on perl6 | |||
FROGGS | +1 | 13:57 | |
no, I'd probably write about cpandatesters | |||
moritz | timotimo: I have; I'd be happy to write about the MoarVM profiler (though jnthn++ would get priority here) | ||
FROGGS | err, s/no// | ||
13:58
zakharyas joined
|
|||
[Coke] | PerlJam: octover? | 13:58 | |
FROGGS | there is a lot to write about this year me thinks | ||
13:59
notfix is now known as xfix
14:02
thou joined
|
|||
brrt | yes | 14:03 | |
14:04
kaleem left
|
|||
b2gills | If I knew how to write NQP I'm fairly sure I've nailed down how to fix `enum Phonetic (:Alpha<A>, <Beta Charlie>)` | 14:07 | |
If I replace the line on github.com/rakudo/rakudo/blob/nom/....nqp#L3292 | |||
@values.push($*W.compile_time_evaluate($<term>, $_)); | |||
with `@values.push($_[0][0]);@values.push($_[0][1]);` that example works | |||
colomon | smoke test keeps on hanging when run from cron. does fine if run by hand. :/ | 14:10 | |
dalek | rl6-roast-data: ab73248 | coke++ | / (5 files): today (automated commit) |
14:11 | |
rl6-roast-data: c7230e3 | coke++ | / (5 files): today (automated commit) |
|||
[Coke] | 44 JVM failures; 32045 failures in moarvm-jit, 37 failures in moarvm-nojit, 45 failures in parrot | 14:12 | |
brrt | wow! what the hell | 14:14 | |
lizmat_ | que? | 14:15 | |
14:15
lizmat_ is now known as lizmat
|
|||
brrt | moarvm jit being bad | 14:15 | |
fwiw, my own spectest run wasn't that bad | 14:16 | ||
lizmat | [Coke] which commit? | ||
rurban | 45 for parrot is also pretty heavy. 36 from S22-package-format/local which passes for me | ||
lizmat | S22 is probably my fault in some way | 14:17 | |
brrt | hmm | ||
i want to know why the JIT died | |||
and in what context | 14:18 | ||
timotimo | brrt: it's possibly my implementation of the multicache* ops that tried to pass one more arg than i actually allocated in that buffer | ||
14:18
Ven_ joined
|
|||
timotimo | that was really pretty wrong | 14:18 | |
Ven_ | FROGGS: I refuse to use reddit :-) | ||
hello, #perl6. | |||
brrt | \o Ven_ | 14:21 | |
timotimo - let me check those ops :-) | |||
Ven_ | brrt: if you tried to start CL using "on lisp", then yes, I feel you | ||
timotimo | brrt: i fixed them already | ||
Ven_ | brrt: you might want to try "practical common lisp" :) | 14:22 | |
brrt | i used 'ansi common lisp' iirc | ||
timotimo | ./perl6-m: No such file or directory | ||
Ven_ | it's very old now, isn't it? | ||
timotimo | kind of hard to pass the spec tests if your compiler doesn't build any more | 14:23 | |
FROGGS | Ven_: np, can you put your slides online? | ||
Ven_ | FROGGS: they are online already. link is on the apw website | ||
FROGGS | ohh | ||
Ven_ | *g* | ||
brrt | they look good to me timotimo | 14:24 | |
FROGGS | Ven_: where? I just see that: act.useperl.at/apw2014/event/1616 | ||
Ven_ | FROGGS: in "presentations". act.useperl.at/apw2014/talk/5833 | 14:25 | |
FROGGS | Ven_: thansk | 14:26 | |
thanks* | |||
timotimo | brrt: keep in mind i just fixed them a few hours ago | 14:27 | |
whereas cokes spec test run may have run before that | |||
brrt | ah ok | ||
i did not know that | |||
you can excuse me for feeling responsible for all that is JIT | |||
[Coke] | lizmat: a372592 was good jit, a07bdab was bad jit | ||
timotimo | :) | ||
brrt | could well be that [Coke]++ uncovered some edge case I haven't seen yet | ||
lizmat | a07bdab is a docs commit ??? | 14:28 | |
[Coke] | there was a commit in the past few hours that might fix it? re-checking with latest... | ||
lizmat: those are just boundaries. | |||
whenever I happened to kick off the runs. | |||
lizmat | ok | 14:29 | |
brrt | let's hope so | ||
gtodd | nqp is pretty cool ... :-) | 14:30 | |
gtodd just figured that out | |||
soo .... why do we need perl6 if we have nqp? :-D | 14:31 | ||
moritz | gtodd: because NQP doesn't have listops | ||
gtodd | :-D | ||
lizmat | or assignment ? | ||
gtodd | I know there was something the "NQ" part hehe | ||
moritz | also, I get tired of typing nqp:: eventually :-) | 14:32 | |
gtodd | :) | ||
but since it is so useful .... it would seem NQP would essential for implementing any Perl6 compiler | 14:33 | ||
or is it just the way to implement a rakudo backend ? :-) | |||
JimmyZ | there is a rubyish and phpish compiler too | 14:34 | |
14:34
kaare_ joined,
rindolf joined
|
|||
JimmyZ | *are | 14:34 | |
gtodd | right | ||
moritz | gtodd: well, niecza tried without an intermediate step | ||
gtodd | moritz: yeah that's sort of what I was thinking about ... if another .NET variant of perl6 was going to come to life would nqp be in the mix | 14:36 | |
I'm guessing there are advantages to each approach ... | 14:37 | ||
[Coke] | timotimo: yes, HEAD seems fine. | ||
JimmyZ | .oO(6model was firstly implemented in .NET) |
||
brrt | pfew | ||
timotimo | thank you, [Coke] | 14:41 | |
[Coke] | spectests still using "winner" | ||
gtodd | JimmyZ: It's all a blur ... I was just going through the Edument slides on 6model and had some slides about Moose open on another desktop at the same time .... :-) | 14:43 | |
14:43
molaf joined
14:49
zombcode left
14:50
bcode joined
|
|||
gtodd | anyway I look forward to future installments in the nqp-[<backend>] story | 14:52 | |
colomon | woah, JSON::RPC depends on a LOT of modules | 14:53 | |
and works. :\ | 14:56 | ||
14:57
chenryn joined
|
|||
colomon just installed a cron to be run every hour, so he can test this closer to the source | 14:58 | ||
FROGGS | colomon: how are your feelings about emmentaler vs. cpandatesters btw? | 15:00 | |
colomon | FROGGS: I've got no clue about cpandatesters | ||
FROGGS | (I know, cpandatesters is not online yet, so it is probably hard to judge) | ||
colomon | it's got a cute name | ||
FROGGS | colomon: it like like this: froggs.de/perl6/cpantesters/ | 15:01 | |
and when all goes well it will be online this week | |||
but it is only valuable when we get reports from different machines/users/compiler versiosn | |||
versions* | |||
colomon | Seems valuable but (at least at first glance) completely different in scope? | 15:03 | |
PerlJam | cpan-date-sters? :) | ||
FROGGS | colomon: what's the scope of emmentaler then? | 15:04 | |
PerlJam: :P | |||
15:05
immortal joined,
immortal left,
immortal joined
|
|||
moritz | lexical! | 15:06 | |
FROGGS | lexical cheese? | 15:07 | |
15:07
erkan left
|
|||
moritz | with the holes analyzable at compile time | 15:08 | |
FROGGS | I bet the holes also get autovivified over time | 15:10 | |
15:10
ajr_ left
|
|||
FROGGS .oO( resists to make a pun about Brie and runtime, because that probably only work in German ) | 15:10 | ||
15:11
guru joined,
guru is now known as Guest45432
15:12
kjs_ left,
Guest45432 is now known as ajr_
15:15
treehug88 joined
|
|||
colomon | FROGGS: sorry for disappearing there | 15:17 | |
pmichaud | good morning, #perl6 | ||
15:17
[Sno] left
|
|||
FROGGS | colomon: np, I do not expect immediate reponses on irc :o) | 15:17 | |
moritz | good am, pm | ||
FROGGS | hi pmichaud | ||
colomon | FROGGS: Am I correctly understanding the idea is to capture information on module installs? | 15:18 | |
just as a for instance difference, the smoke tester is running all modules against the HEAD of rakudo moar. | 15:19 | ||
FROGGS | colomon: it captures module install attempts, aye | 15:20 | |
colomon: but I don't see why panda would forbid attempting a (re)installation of all modules | |||
colomon | so ( at least as shown there ) cpandatesters is telling you how things work against the latest relase | 15:21 | |
FROGGS | I mean, we can allow it easily | ||
colomon: not only against the latest release, against the compiler version one is currently using | |||
15:21
bcode is now known as zombcode
|
|||
FROGGS | colomon: the shown page is just a mockup; the generated page on my box already show more information | 15:22 | |
colomon | I dunno, cpandatesters is clearly an awesome idea. | 15:23 | |
it seems more like it's something that goes alongside emmentaler rather than replacing it. but maybe I'm wrong and I'll not have to check each morning to find out what's gone wrong with the emmentaler. :) | 15:24 | ||
FROGGS | colomon: that's why I want to talk to you... I don't want to kill emmentaler, but I also want to know what I can steal from it :o) | 15:25 | |
pmichaud | I'm getting spectest errors on my system (using moarvm)... are these known/expected? | ||
flip-flop.t and local.t | 15:26 | ||
moritz | not known to me | ||
FROGGS | flip-flop was mentioned today already (either here or on #moarvm) | ||
lizmat | S22 is locat.t, right? | ||
pmichaud | yes, S22 | ||
lizmat | I probably messed that up :-( | ||
chenryn | I try to run perl6-bench, and the `bench time $CHECKOUTS` hang at `15/65: Testing while_pushme ...` of nqp-moar/2014.10 fro several hours. Anyone knows the reason? | 15:27 | |
moritz | flip-flop.t was modified yesterday | ||
lizmat | it also appears that my inadvertent upgrade of our web server to Yosemite, removed all of the database files that were on the system | ||
thank you &^$%&^%*&Y()*_ much, Apple! | |||
FROGGS | timotimo: do you know about chenryn's problem? | 15:28 | |
lizmat goes offline a bit to consider her sins | |||
15:28
lizmat left
|
|||
FROGGS | eww | 15:28 | |
15:28
MilkmanDan left
15:30
MilkmanDan joined
|
|||
colomon | FROGGS: … yeah, trying to think how I can explain what I know. | 15:33 | |
FROGGS | we can also do that as soon cpandatesters is online... | ||
colomon | FROGGS: I guess the first thing is, expect noise. :) | 15:36 | |
FROGGS | yeah, probably | ||
dalek | ast: f4efeee | pmichaud++ | S03-operators/flip-flop.t: Change flip-flop.t test from 'todo' to 'skip' to avoid spectest failure. |
||
colomon | switching subjects (slighjtly) | ||
here's the command that's hanging for me in my emmentaler runs (but only from cron): | |||
(whoops) /bin/sh -c /home/smoker/.rakudobrew/moar-HEAD/install/bin/perl6 --target=mbc --output=blib/lib/JSON/RPC/Server.pm.moarvm lib/JSON/RPC/Server.pm | 15:37 | ||
guess you can't start an IRC line with a slash | |||
arnsholt | /Yes you can =) | ||
But you have to send "/ /Stuff" | |||
colomon | anyway, my (big linux box with lots of RAM) machine has spent the last 30 minutes trying to execute that | 15:39 | |
FROGGS | colomon: that could be an issue with your ENV, because that's quite different when running using cron | ||
brrt | / /foo | ||
hmm | 15:40 | ||
colomon | FROGGS: yes, I'm guessing that, but what could cause a perl6 compile to hang like that? | ||
japhb | chenryn: What OS are you running on, what CPU, and how much RAM? | ||
FROGGS | colomon: BEGIN blocks? | ||
moritz | colomon: precompilation bugs, maybe | 15:41 | |
brrt | lizmat, wrt to: "thank you &^$%&^%*&Y()*_ much, Apple!thank you &^$%&^%*&Y()*_ much, Apple!" | ||
brrt so totally feels | |||
japhb | .ask timotimo Can you make a perl6-bench mini-benchmark out of the AST benchmark you've been playing with? | ||
yoleaux | japhb: I'll pass your message to timotimo. | ||
FROGGS | m: say <0.0.3 1.0.0>.sort(:by({ Version.new($^a) cmp Version.new($^b)})) | ||
camelia | rakudo-moar 315ec6: OUTPUT«0.0.3 1.0.0» | ||
japhb | brrt: What was her rant in reference to? | ||
FROGGS | m: say <0.0.3 1.0.0>.sort(:by({ Version.new($^b) cmp Version.new($^a)})) | ||
camelia | rakudo-moar 315ec6: OUTPUT«0.0.3 1.0.0» | ||
FROGGS | why is that the same? | ||
15:41
psch joined
|
|||
chenryn | 2.6.32-431.11.2.el6 Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz 32GB ram | 15:42 | |
Ven_ | "NYM"? | ||
brrt | something about an update removing all database files | ||
that's not my personal problem with os x, but i have others | |||
moritz | m: say <0.0.3 1.0.0>.sort({Version.new($^b) cmp Version.new($^a)})) | ||
camelia | rakudo-moar 315ec6: OUTPUT«===SORRY!=== Error while compiling /tmp/1QUu29WBFLUnexpected closing bracketat /tmp/1QUu29WBFL:1------> {Version.new($^b) cmp Version.new($^a)})⏏)» | ||
moritz | m: say <0.0.3 1.0.0>.sort({Version.new($^b) cmp Version.new($^a)}) | ||
camelia | rakudo-moar 315ec6: OUTPUT«1.0.0 0.0.3» | ||
moritz | m: say <0.0.3 1.0.0>.sort({Version.new($^a) cmp Version.new($^b)}) | ||
camelia | rakudo-moar 315ec6: OUTPUT«0.0.3 1.0.0» | ||
FROGGS | hmmm | ||
moritz | FROGGS: seems that :by is ignored | ||
looks like a fossil from the days where positional arguments could be filled by name | 15:43 | ||
FROGGS | rakudo/src/core/List.pm:399: method sort($by = &infix:<cmp>) { | ||
ahh, it's not a named | |||
moritz | FROGGS: yes, it's not :$by | ||
FROGGS | moritz++ | ||
japhb | chenryn: Woah, they're still patching RHEL/CentOS 6? Sheesh. | ||
But OK, that should be no problem CPU or RAM wise, hmmm. | 15:44 | ||
And you're not running anything else that would cause swapping or chew all the CPU? | |||
.tell timotimo Actually, both before and after microoptimizations would be good to have, because that shows how much work the user is having to do that the compiler should be doing ... and how much better it performs with user assistance. | 15:46 | ||
yoleaux | japhb: I'll pass your message to timotimo. | ||
psch | Ven_: "not yet merged" - but further discussion delayed the PR | 15:51 | |
Ven_: so i guess it should read 'NYI' again | |||
Ven_ | psch: mmh | ||
oh. | |||
psch | also hi #perl6, and sorry for the oversight in flip-flop.t | 15:52 | |
chenryn | of course no. And when I delete nqp-moar from $CHECKOUTS, I saw `rakudo-moar` run at `56/65: Testing parse-json-no-obj-creation ...` right now. | ||
my $CHECKOUTS='perl5/v5.20.1 nqp-moar/2014.10 rakudo-moar/2014.10' before, and only 'perl5/v5.20.1 rakudo-moar/2014.10' now. | 15:54 | ||
15:55
grettis joined
15:56
kurahaupo left
|
|||
TimToady | m: 42 | 16:01 | |
camelia | ( no output ) | ||
TimToady | m: 42;43 | ||
camelia | rakudo-moar 315ec6: OUTPUT«WARNINGS:Useless use of constant integer 42 in sink context (line 1)» | ||
TimToady | m: 42.0; 43.0 | ||
camelia | ( no output ) | ||
TimToady | missing diagnostic for rats | ||
LHF for someone | |||
16:03
Hor|zon left
|
|||
pmichaud | m: ($_ * 2 if .odd for 0..10).perl.say | 16:04 | |
camelia | rakudo-moar 315ec6: OUTPUT«No such method 'odd' for invocant of type 'Int' in block <unit> at /tmp/7C86gN0n4u:1» | ||
pmichaud | m: ($_ * 2 if $_ %% 2 for 0..10).perl.say | ||
camelia | rakudo-moar 315ec6: OUTPUT«(0, 4, 8, 12, 16, 20).list» | ||
16:06
JimmyZ left
|
|||
TimToady | pmichaud: I note that change the current Nil to () there will tend to spit out extra () under our new list semantics | 16:08 | |
pmichaud | TimToady: except I'd expect the 'for' to flatten those out. | 16:09 | |
TimToady | for flattens its input, not its output, I think | 16:10 | |
pmichaud | oh | ||
yes. | |||
anyway, yes, that's what I'm working on ATM | |||
TimToady | an argument could still be made that we need a return value that always disappears in lists | 16:11 | |
pmichaud | feel free to make that argument. :) | ||
FROGGS | which has not another meaning or is used in other cases, like it happened for Nil | 16:12 | |
pmichaud | and then be careful of "always disappears" versus "disappears when flattened" | ||
TimToady | also, only disappears itself, without implication of lower flattening | ||
so it's not equiv to .flat | |||
16:13
isBEKaml joined,
H2O1 joined
16:14
FROGGS[mobile] joined,
FROGGS left
|
|||
TimToady | These-aren't-the-droids-you're-looking-for is a bit unweildy | 16:14 | |
FROGGS[mobile] | we could call it HarryPotter | 16:15 | |
16:16
H2O1 left
|
|||
japhb | force-wave | 16:16 | |
TimToady | NIL! | ||
Nothing, Nada, Zilch | 16:17 | ||
pmichaud | m: (1, 3..5).list.perl.say | ||
camelia | rakudo-moar 315ec6: OUTPUT«(1, 3, 4, 5).list» | ||
pmichaud | post-GLR, would we expect that to remain (1, 3..5) ? | 16:18 | |
TimToady | I'd think .list on a list would be a no-op | 16:19 | |
japhb | chenryn: OK, nothing I know of that would cause it to go to sleep like that. Can you run the benchmark for nqp-moar/2014.10 while running e.g. atop in another window and see if something lookings amiss? | ||
Gah, cell reception SUCKING | |||
japhb is now typing blind, wheeee | |||
TimToady | probably just space weather | 16:20 | |
pmichaud | TimToady: so it remains (1, 3..5), and the way to get the Range to interpolate is to do .flat ? | ||
isBEKaml | japhb: if you're typing blind - atleast you know how to type. :) | ||
TimToady | or whatever sugar we decide means that | ||
pmichaud | okay. | ||
(I'm agreeing with all of these, fwiw. :) | 16:21 | ||
Ven_ | mmh, how much much would it be to have a .each? | 16:23 | |
16:25
denis_boyun_ left
16:26
rurban left
|
|||
chenryn | @japhb: there is a process like `perl /data1/git/perl6-bench/timeall --outfile=/data1/git/perl6-bench/timings/nqp-moar/2014.10.json nqp-moar` | 16:27 | |
cann't use `strace -p $pid` to follow it... | 16:28 | ||
TimToady | Ven_: do you mean something that flattens only the top level? | 16:29 | |
16:30
chenryn left
|
|||
Ven_ | TimToady: no, I mean our currently-specced .each (>>. but with order) | 16:30 | |
TimToady | ah, well, up till now everyone has thought it was very much much :) | ||
japhb | chenryn: Yeah, bench launches timeall, which then launches the compiler in question for each run of each test. So you'd pretty much have to trace the process group or somesuch. | 16:31 | |
Ven_ | well :) | ||
decommute & | |||
16:31
Ven_ left
|
|||
japhb | Hence my suggestion of atop or another "sees all the perf info at once" program | 16:31 | |
16:33
brrt left
|
|||
japhb | timotimo: p6weekly this week? | 16:33 | |
16:34
kjs_ joined
16:35
salv0 left
16:46
FROGGS joined
16:47
zakharyas left,
Hor|zon joined
16:52
ghostlines left,
ugator left
|
|||
timotimo | japhb: give me a bit :) | 16:53 | |
yoleaux | 15:41Z <japhb> timotimo: Can you make a perl6-bench mini-benchmark out of the AST benchmark you've been playing with? | ||
15:46Z <japhb> timotimo: Actually, both before and after microoptimizations would be good to have, because that shows how much work the user is having to do that the compiler should be doing ... and how much better it performs with user assistance. | |||
16:53
djanatyn left,
djanatyn joined
|
|||
japhb | ++timotim | 16:55 | |
++timotimo | |||
timotimo | %) | ||
i ran a car-accident-related errand today | |||
that kind of took most of my time :\ | |||
being a supposedly grown-up is kind of complicated sometimes | |||
16:55
ajr_ left
17:10
isBEKaml left
17:12
isBEKaml joined
17:15
Mso150 joined
|
|||
raydiak | g'morning | 17:16 | |
timotimo | hello raydiak | 17:20 | |
TimToady | timotimo: just got back from just such an errand himself; someone smacked our car while it parked in the driveway while we were out of town | 17:21 | |
17:21
ugator joined
|
|||
TimToady | *was | 17:21 | |
timotimo | ah. well, at least it wasn't your fault in that case | ||
i'm 100% to blame for what happened to my car. the other party was a concrete pillar, you see? | 17:22 | ||
moritz | a fast-moving concrete pillar :-) | ||
japhb | timotimo: Clearly it jumped out at you .... | ||
TimToady | or they installed it incorrectly | ||
japhb | TimToady: Why in the world was someone travelling into your driveway at sufficient velocity to continue on and hit your car? | 17:23 | |
TimToady | TAWUI I suppose | ||
(turning around while...) | 17:24 | ||
17:24
guru joined
|
|||
timotimo | i should have asked the person at the shoppe what it would have cost if they just used gaffer tape | 17:24 | |
17:24
guru is now known as Guest37560,
Guest37560 is now known as ajr_
|
|||
timotimo | and if that price could have been reduced if i supplied my own gaffer tape | 17:24 | |
tony-o | lol | ||
masak | g'd'evening, #perl6 | 17:25 | |
abraxxa | hi masak! | 17:26 | |
17:27
isBEKaml left,
FROGGS[mobile] left,
cognominal left
17:28
cognominal joined,
Akagi201 left
|
|||
moritz | timotimo: 5-to-6 updates are live now. Thank you! | 17:29 | |
timotimo | no, thank *you*! | 17:30 | |
for writing that stuff in the first place | 17:31 | ||
17:33
Mso150 left,
kaleem joined,
Mso150 joined,
lizmat joined
|
|||
lizmat is feeling a bit better | 17:36 | ||
turns out I changed MySQL database storage engine from MyISAM to InnoDB a while ago | 17:37 | ||
and had forgotten about it | |||
when I accidentally did a upgrade to Yosemite on our live server, instead of our test server | |||
17:38
[Sno] joined
|
|||
lizmat | and afterwards got a system that a. didn't run mysql anymore, and b. had a limited apache that could not handle the config it was given | 17:38 | |
I freaked out when I realized that the last successful image backup was in January | |||
how time flies :-( | |||
raydiak takes note, goes to back up his server | 17:39 | ||
lizmat | yup | ||
please do | |||
:-) | |||
raydiak | wow, my last was february... lizmat++ :) | 17:40 | |
lizmat | my work machine has a daily image and an hourly time machine backup :-) | ||
raydiak | that'd be a bit overkill for most of my purposes, but at least sticking an e-mail to the effect of "run a backup, fool!" in a weekly cronjob might be wise | 17:43 | |
17:46
erkan joined,
erkan left,
erkan joined
|
|||
japhb | Also remember that unless you've done a successful restore, you haven't really done a backup. | 17:48 | |
woolfy is happy lizmat is a bit less stressed: most of the past hours were no fun | |||
17:49
immortal left,
FROGGS_ joined
|
|||
lizmat is restoring the last image backup now on another MacMini (fine so far) and will then copy the necessary data files from the upgraded server | 17:50 | ||
and then swap MacMini's | |||
moritz hopes it works out fine for lizmat++ | 17:51 | ||
japhb | Ditto that | ||
17:53
grettis left,
FROGGS left,
Sqirrel left
|
|||
lizmat | moritz japhb FROGGS_ : thank you for your kind words | 17:54 | |
17:54
Sqirrel joined,
kaleem_ joined
|
|||
lizmat | ah well, moving our SDSL connection to a VDSL connection earlier today, worked out almost flawlessly | 17:54 | |
timotimo | i really ought to freshen up my backups on my laptop and desktop system ... | 17:56 | |
17:56
pecastro left,
kaleem left
18:04
immortal joined
18:06
erkan left
18:08
Mso150 left,
Mso150 joined,
itz left
18:10
kjs_ left
|
|||
dalek | kudo/nom: cb4a1b1 | (Elizabeth Mattijsen)++ | src/core/CompUnitRepo/Locally.pm: Fix test breakage in S22-package-format |
18:11 | |
raydiak | are there things I need to know about circular references in rakudo, other than .perl not working? | 18:14 | |
18:14
kurahaupo joined
|
|||
raydiak | e.g. will such things be garbage-collected appropriately, for one | 18:15 | |
[Coke] | lizmat: still better support than I'm used to. :) | 18:17 | |
japhb | raydiak: circular references that are not referenced externally should be garbage-collected, yes. | ||
raydiak | thanks japhb++, I guess that was my main concern, off the top of my head | 18:18 | |
18:18
kaleem_ left
18:29
Akagi201 joined
|
|||
dalek | rlito: 2df3521 | (Flavio S. Glock)++ | / (2 files): Perlito5 - Dumper tweak |
18:29 | |
18:33
Akagi201 left
18:36
leont left
|
|||
timotimo | i can't find terribly many changes to list for last week :S | 18:36 | |
.o( i should have done more, damnit! ) | |||
PerlJam | timotimo: it was release week. people were traveling. et cetera. :) | 18:37 | |
timotimo | right, the release will be favourably mentioned, PerlJam++ | ||
do we already have a victim^Wvolunteer for this month's Star release? | 18:43 | ||
PerlJam | Isn't it almost always moritz anyway? ;) | 18:44 | |
18:45
abraxxa left
|
|||
timotimo | poor moritz ;( | 18:45 | |
18:46
abraxxa joined
18:47
abraxxa left
|
|||
avuserow | are things mostly in a good state? I'd be willing to give it another try if so :) | 18:47 | |
18:47
abraxxa joined
|
|||
PerlJam | avuserow++ (Even if just for the thought :) | 18:47 | |
FROGGS_ | avuserow: take a look at the star-daily smokes done by [Coke]++ | 18:49 | |
moritz | PerlJam: these days, it's mostly been FROGGS_++ who did the star releases | 18:55 | |
I helped preparing some, but my last "real" one is a few months back | |||
PerlJam | FROGGS++ moritz++ | 18:56 | |
vendethiel | Any reason the awesome power we have in multis isn't available in other places? | 18:58 | |
18:58
eternaleye joined
|
|||
vendethiel | That's directly related to having a "match" | 18:58 | |
PerlJam | vendethiel: for instance? | ||
vendethiel | PerlJam: given @a { when :(Bool where True, @b) { say 1 } } | 18:59 | |
lizmat | afaik, 2014.11 is on my plate | 19:00 | |
19:00
baest left
19:01
baest joined
19:04
baest left
19:05
baest joined
|
|||
japhb | timotimo: It would be useful to have not just the committed changes, but the big discussions/decisions that happened as well, since that seems like an equal part of the "weekly news". OTOH, I know that's a lot of additional work, unless you happen to be taking notes, or we have some collaborative way for people to identify these big discussions for you. | 19:06 | |
masak | "Sure, Python isn’t Perl 6, so you can’t add arbitrary syntax, but you can often find a clever way to get the job done." -- just found this gem in www.aaronsw.com/weblog/rewritingreddit | 19:07 | |
this is the ideal that we should be striving for. :) | |||
(with macros and slangs) | |||
19:08
baest left
|
|||
colomon | masak: wait, which one? | 19:08 | |
dalek | nda: 85c6e01 | (Elizabeth Mattijsen)++ | ext/Shell__Command: Bring Shell::Command up to date |
19:09 | |
19:10
baest joined
19:11
denis_boyun_ joined
|
|||
PerlJam | colomon: turning python into Perl6 obviously. | 19:12 | |
colomon | :p | ||
wait, read that backwards. | 19:14 | ||
dalek | kudo/nom: b130ad0 | (Elizabeth Mattijsen)++ | src/core/Perl.pm: Make $*PERL initialization non-lazy If it *is* lazy, the next commit will break precomp. I've traced this back to something being serialized when it shouldn't, or vice-versa (being in the serialized blob without there being a de-serializer). This actually generates an error similar to when we have lazy @*INC initialization. |
19:15 | |
kudo/nom: 737ec3c | (Elizabeth Mattijsen)++ | src/core/Str.pm: Str.path marked DEPRECATED If $*PERL is lazy, then this change will break precomp, and thus panda. 0decd7b | (Elizabeth Mattijsen)++ | src/core/IO/Path.pm: dir() now returns Str, as specced |
|||
19:16
baest left,
baest joined,
ghostlines joined
19:17
kjs_ joined,
psch left
19:18
abraxxa left,
kurahaupo_ joined
19:21
ptc_p6 joined
|
|||
ast: 6396528 | (Elizabeth Mattijsen)++ | S32-io/dir.t: Adapt dir() tests, because now Str is returned |
19:24 | ||
19:24
darutoko left
|
|||
vendethiel mutters something about implementing match using macros anyway | 19:26 | ||
timotimo | and the cat sayeth: vxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxi | ||
vendethiel | did he. | 19:28 | |
timotimo | yes, he did | 19:29 | |
pmichaud | m: ($_ * 2 if $_ %% 2 for 1..10).perl.say | 19:30 | |
camelia | rakudo-moar 315ec6: OUTPUT«(4, 8, 12, 16, 20).list» | ||
masak | colomon: which ideal? that of being the language that people say "sure, [language X] isn't Perl 6, but [some sour grapes]" :) | 19:31 | |
pmichaud | TimToady (and others): Having that output ((), 4, (), 8, (), 12, (), 16, (), 20) feels wrong to me. | ||
it feels like the false cases of the 'if' ought to return something undefined | |||
19:32
Ven joined
|
|||
colomon | masak++ | 19:32 | |
19:32
prammer joined,
erkan joined,
erkan left,
erkan joined
|
|||
timotimo | pmichaud: FWIW, i find it pretty neat that i can have a map that can fall through the false branch of an if and throw values out | 19:34 | |
it kind of feels natural as in: you could have made that give multiple values instead just as well | |||
as in: | |||
19:34
immortal left
|
|||
TimToady | pmichaud: this is why I was wondering about something special to mark the absence of a value in list comprehensions | 19:35 | |
timotimo | m: (($_ * 2, $_ * $_) if $_ %% 2 for 1..10).perl.say | 19:36 | |
camelia | rakudo-moar 315ec6: OUTPUT«((4, 4), (8, 16), (12, 36), (16, 64), (20, 100)).list» | ||
pmichaud | timotimo: I agree with the neatness of throwing values out. I'm just thinking that the values to be thrown out ought to be undefined somehow. | ||
moritz | Nil but defined :-) | 19:37 | |
pmichaud | as opposed to defined. | ||
moritz | erm | ||
() but undef | |||
timotimo | oh, you mean () is a defined value? | ||
pmichaud | m: say ().defined | ||
camelia | rakudo-moar 315ec6: OUTPUT«True» | ||
pmichaud | of course it's a defined value. :) | ||
timotimo | mhm | ||
TimToady | that's what I meant the other day by an Empty primitive | ||
pmichaud | yeah, I'm warming to the idea of Empty | ||
I wish I had a better intuition of what "Nil" actually means. | 19:38 | ||
TimToady | but maybe we should be thinking harder about not producing the empty value in the first place | ||
PerlJam | Empty == Nil but undefined? | ||
TimToady | instead of weeding it out after the fact | ||
pmichaud | PerlJam: Nil is already undefined. | ||
m: say Nil.defined | |||
camelia | rakudo-moar 315ec6: OUTPUT«False» | ||
PerlJam | oh, I'm still thinking of () and Nil as synonyms. | ||
moritz | sort of like () with the OKNess bit set to 0? | 19:39 | |
pmichaud | Haven't been synonyms since 2010. | ||
19:39
fhelmberger left
|
|||
PerlJam | Shows you how much I use them :) | 19:39 | |
pmichaud | well, to me it relates to "what does a function return when it doesn't return anything?" | ||
m: sub xyz() { return; }; say xyz().WHAT | 19:40 | ||
camelia | rakudo-moar 315ec6: OUTPUT«Nil» | ||
masak | m: sub foo {}; say foo.WHAT | ||
camelia | rakudo-moar 315ec6: OUTPUT«Nil» | ||
pmichaud | currently we have them returning 'Nil'. It seems to me that the false-side of an 'if' modifier ought to do the same | ||
masak | m: my %h; say %h<foo>.WHAT | ||
camelia | rakudo-moar 315ec6: OUTPUT«(Any)» | ||
TimToady | maybe statement modifier loops just establish a context inside of which any else-less conditional implies an else { next } | 19:42 | |
19:42
Ven left
|
|||
TimToady | then we never put the value into the list in the first palce | 19:42 | |
pmichaud | is it only in statement modifier loops that we have this issue? | ||
moritz | nope | ||
pmichaud | (for 1..10 { $_ * 2 if $_ %% 2 }).perl.say | ||
TimToady | map too | 19:43 | |
pmichaud | m: (for 1..10 { $_ * 2 if $_ %% 2 }).perl.say | ||
camelia | rakudo-moar 315ec6: OUTPUT«(4, 8, 12, 16, 20).list» | ||
pmichaud | is it just loops in general? | ||
moritz | my @list =^Hmdo for 1..10 { $_ * 2 if $_ %% 2 }} | ||
pmichaud | I wouldn't have a problem with saying that LoopIters throw out any Nils they encounter (unless itemized) | ||
as opposed to saying that Lists always do it. | |||
TimToady | earlier seems better | 19:44 | |
moritz | m: say do for 1..10 { $_ * 2 if $_ %% 2 }} | ||
camelia | rakudo-moar 315ec6: OUTPUT«===SORRY!=== Error while compiling /tmp/NdGFtCs0EUUnexpected closing bracketat /tmp/NdGFtCs0EU:1------> say do for 1..10 { $_ * 2 if $_ %% 2 }⏏}» | ||
moritz | m: say do for 1..10 { $_ * 2 if $_ %% 2 } | ||
camelia | rakudo-moar 315ec6: OUTPUT«4 8 12 16 20» | ||
19:44
ggherdov left,
isacloud left,
Ven joined
|
|||
pmichaud | perhaps the distinction we want is Nil.item versus Nil | 19:45 | |
i.e., Nil.item doesn't flatten/disappear | |||
19:45
isacloud______ joined
19:46
rindolf left
|
|||
pmichaud | although that's kinda weird since it's not really possible to stick Nil into a scalar ATM | 19:46 | |
timotimo | posted a pretty short post on the weekly | ||
pmichaud | (because it has another overloaded meaning) | ||
19:46
rindolf joined,
rindolf left,
kurahaupo_ left
|
|||
pmichaud | using Nil.item to mean "don't discard this" feels good somehow, though. | 19:46 | |
19:47
ggherdov_ joined
|
|||
pmichaud | fwiw, using $foo = Nil to restore Foo to its uninitialized state has always felt a little off-kilter to me. | 19:47 | |
timotimo | it seems like rakudo isn't building properly on moarvm master at the moment :o | 19:48 | |
pmichaud | retyping that.... | ||
fwiw, using $foo = Nil to restore $foo to its uninitialized state has always felt a little off-kilter to me. | 19:49 | ||
Ven | m: role Pet[::ID;; $tag] { has ID $.collar .= new($tag); } | ||
camelia | rakudo-moar 315ec6: OUTPUT«===SORRY!=== Error while compiling /tmp/AeAfCM6ZzVCannot use .= to initialize an attributeat /tmp/AeAfCM6ZzV:1------> ;; $tag] { has ID $.collar .= new($tag)⏏; }» | ||
Ven | m: role Pet[::ID;; $tag] { has ID $.collar = new($tag); } | ||
camelia | rakudo-moar 315ec6: OUTPUT«===SORRY!=== Error while compiling /tmp/NjX3PfToruUndeclared routine: new used at line 1 (in Perl 6 please use method call syntax instead)» | ||
Ven | m: role Pet[::ID;; $tag] { has ID $.collar = Pet.new($tag); }; 1 | ||
camelia | ( no output ) | ||
Ven | m: role Pet[::ID;; $tag] { has ID $.collar = Pet.new($tag); }; say Pet[Int, 5]; say "alive"; say Pet[Str, 5] | ||
camelia | rakudo-moar 315ec6: OUTPUT«(Pet[Int,Int])alive(Pet[Str,Int])» | ||
Ven | oh yea. attr constraints nyi | 19:50 | |
masak | pmichaud: completely agree about the off-kilter. | ||
pmichaud: the fewer such special cases, the better. | |||
m: class Dog {}; my Dog $dog; say $dog.defined; $dog .= new; say $dog.defined; $dog = Dog; say $dog.defined | 19:51 | ||
camelia | rakudo-moar 315ec6: OUTPUT«FalseTrueFalse» | ||
moritz | rakudo-p spectest with parrot 6.9.0 gives me *lots* of errors | 19:54 | |
bartolin | moritz: I suspect most of those errors are segfaults (maybe related to gc): perl Configure.pl --backends=ALL | 19:55 | |
erm: irclog.perlgeek.de/perl6/2014-10-26#i_9568218 | |||
s/perl.*$// | |||
pmichaud | what's the canonical example of where we don't want Nil to automatically disappear from lists? | 19:57 | |
bartolin | moritz: I tried to run several of the failing test files manually and always got a segfault | 19:58 | |
20:01
ghostlines left,
Rounin left
20:04
rindolf joined
|
|||
moritz | so looks like parrot b0rk | 20:04 | |
bartolin | rurban++ is hunting GC bugs currently: irclog.perlgeek.de/parrot/2014-10-27#i_9569886 | 20:06 | |
20:06
ptc_p61 joined
20:08
ptc_p6 left,
ecocode joined
20:11
itz joined,
rindolf left
20:12
rindolf joined,
kurahaupo is now known as kurahaupo_away
|
|||
timotimo | can other people build a rakudo-moar with all latest masters from scratch? | 20:13 | |
i get segfaults during the core setting :( | |||
20:13
ecocode left
|
|||
itz | perl Configure.pl --backends=moar --gen-moar=master --moar-option="--enable-jit" --gen-nqp | 20:14 | |
=master ? | |||
without the line break of course? | |||
timotimo | no need for --enable-jit any more | ||
itz | oh yeah its default | ||
timotimo | hello itz :) | ||
that should do it for you | |||
itz | works for me | 20:21 | |
[Coke] | takes longer for me to git via http proxy than it does to build rakudo. | ||
itz | what about the parrot one? | 20:22 | |
moritz | parrot is b0rked. | ||
20:22
ecocode joined
|
|||
TimToady | pmichaud: when you're going to bind it positionally, and don't want the wrong positional to show up | 20:23 | |
20:23
rindolf left
20:24
rindolf joined
|
|||
pmichaud | TimToady: I think I'd need a code example. | 20:25 | |
20:25
ecocode left
|
|||
TimToady | m: sub foo ($a,$b,$c?) { say $c.defined }; foo 'A', Nil, 'C' # currently says True | 20:28 | |
camelia | rakudo-moar 315ec6: OUTPUT«True» | ||
TimToady | need to preserve the arg vs item distinction | ||
if the Nil disappears too early, we're hosed on that | 20:29 | ||
pmichaud | you're saying that should've been false? | ||
lizmat | but isn't that because Nil currently isn't implemented correctly? | ||
TimToady | no, it should say True | ||
lizmat | ah, ok *phew* | 20:30 | |
pmichaud | lizmat: I'm working on nailing down the post-GLR semantics for Nil | ||
20:30
Akagi201 joined
|
|||
TimToady | if 'A', Nil, 'C' turns into 'A', 'C' too soon, then foo never binds $c | 20:30 | |
lizmat will remove fingers between hammer and wood | |||
pmichaud | TimToady: well, I never think of that as being a list in the first place. | 20:31 | |
*List | |||
moritz | with moar master, I get a test failure in t/spec/S32-io/dir.t | ||
TimToady | right, but we're getting rid of parcels | ||
pmichaud | that's not even a Parcel in the current implementation | ||
TimToady | which are the feedstock for Captures | ||
lizmat | moritz: even after update of roast ? | ||
and most recent rakudo ? | 20:32 | ||
moritz | lizmat: ah no, my rakudo was out of date | ||
lizmat | *phew* | ||
moritz | waitwaitwait, why does dir return strs now? | ||
lizmat | because it is in the spec ? | 20:33 | |
moritz | then I'm going to change the spec | ||
lizmat | so we don't need to make an .IO for each dir entry when you don't need it ? | ||
pmichaud | (dir) yeah, we already went through the pain of converting from dir returning Str to IO... why are we changing back? | ||
masak .oO( ...are doomed to repeat it... ) | |||
lizmat was not aware that this had gone the other way before | 20:34 | ||
FROGGS_ .oO( ...are doomed to repeat it... ) | |||
moritz | lizmat: because it's very convenient to be able to do all sorts of useful file ops on them | ||
TimToady | .oO( ...are doomed to have it repeated to them... ) |
||
moritz | lizmat: like checking .d, and .dir()ing them again | ||
masak .oO( DOOMED! ) | |||
pmichaud | ChangeLog from 2012.07: + Changed &dir to return IO::Path objects, not strings | ||
TimToady | and how much slower are they? | 20:35 | |
lizmat | well, not as slow as they used to be | ||
moritz | github.com/perl6/doc/blob/master/htmlify.p6#L88 | ||
20:35
Akagi201 left
|
|||
TimToady | .oO( use Dir::Tiny; ) |
20:35 | |
pmichaud | .oO( The Synopses are not "spec". ) |
20:36 | |
lizmat | well, I'm glad someone is paying attention to what I'm writing :-( | ||
lizmat is having a bad day and decides to get some rest | 20:37 | ||
20:37
lizmat left
|
|||
moritz | lizmat: it's not the first time I mentioned it: irclog.perlgeek.de/perl6/2014-09-09#i_9322300 | 20:37 | |
20:39
rindolf left,
rindolf joined
|
|||
pmichaud | TimToady: (Nil) So, you're saying we'd need to make sure that something like foo |('A', Nil, 'C') doesn't lose the Nil | 20:41 | |
TimToady | which are the feedstock for Captures | ||
oops | |||
that one, is, of course, more arguable both ways | |||
pmichaud | well, the case of foo 'A', Nil, 'C' already doesn't involve a Parcel or List, so I'm having trouble with it as a useful example. | 20:42 | |
TimToady | stupid touchpad autoscrolls my history too easily | ||
pmichaud | If we have it so that loops remove any bare Nils they encounter, does that get what we're after? | 20:44 | |
TimToady | could be | ||
and a loop optimizer might be good enough to turn that into 'else { next }' | 20:45 | ||
pmichaud | maybe | ||
20:45
kurahaupo joined
|
|||
pmichaud | I'm not sure that optimizes. | 20:45 | |
20:45
kurahaupo left
|
|||
TimToady | whether it's worth it depends on the bookkeeping costs, either way | 20:46 | |
pmichaud | well, I'd feel really good if I knew that { next } resulted in a Nil, just like { return } does now. | ||
TimToady | eh? if you next, you don't need a Nil at all | 20:47 | |
pmichaud | I mean conceptually. | 20:48 | |
TimToady | you bypass whatever code stores the value | ||
pmichaud | ummmm, not exactly. | ||
the canonical example is @list.map( &block ) | |||
well, maybe not, since next throws an exception | 20:49 | ||
anyway | |||
(I'm still rusty.) | |||
20:50
ajr_ left
|
|||
TimToady | but yes, conceptually I don't see a big problem with value-producing lists throwing away nulls, except maybe for internal ones processing argument lists | 20:50 | |
pmichaud | what I'm trying to get at is this: at some level, "next" in a loop serves the same purpose as "return" does in a Routine -- it exits the current block and optionally sends a value to the caller. It'd be conceptually nice if 'next' and 'return' with no argument sent back the same sort of thing :) | 20:52 | |
20:52
kurahaupo_away left,
kaare_ left
|
|||
pmichaud | moving away from 'next', though: | 20:53 | |
m: sub xyz($_) { if $_ == 3 { return }; $_ }; (for 1..5 { xyz($_) }).perl.say | 20:54 | ||
camelia | rakudo-moar 315ec6: OUTPUT«(1, 2, 4, 5).list» | ||
pmichaud | would we expect the Nil to be preserved there or discarded? | ||
TimToady | they could always return () if they mean the other thing, I guess | 20:55 | |
pmichaud | yes. | ||
or even perhaps: | |||
TimToady | so I think I'm okay with it disappearing there | 20:56 | |
pmichaud | m: sub xyz($_) { if $_ == 3 { return Nil.item }; $_ }; (for 1..5 { xyz($_) }).perl.say | ||
20:56
rindolf left
|
|||
camelia | rakudo-moar 315ec6: OUTPUT«(1, 2, Nil, 4, 5).list» | 20:56 | |
pmichaud | or even: | ||
m: sub xyz($_) { if $_ == 3 { return Nil.item }; $_ }; (for 1..5 { xyz($_).item }).perl.say | |||
camelia | rakudo-moar 315ec6: OUTPUT«(1, 2, Nil, 4, 5).list» | ||
pmichaud | m: sub xyz($_) { if $_ == 3 { return }; $_ }; (for 1..5 { xyz($_).item }).perl.say | ||
20:56
rindolf joined
|
|||
camelia | rakudo-moar 315ec6: OUTPUT«(1, 2, Nil, 4, 5).list» | 20:56 | |
TimToady | seems pretty okay to me | 20:57 | |
pmichaud | I think we're in agreement that we want something that means "nothing". In the case of a "return" with no argument, we've decided that's Nil, and it's undefined. | 20:59 | |
the undefinedness is a really useful property. | |||
to me, that rules out using () to mean "nothing", because () is defined. | |||
(and I really don't think I want to head down the path of an empty List being undefined. :) | 21:00 | ||
TimToady | well, it's 0 values as a defined concept | ||
pmichaud | so, extrapolating a bit further, would I expect | ||
for @values { foo($_) }; | 21:01 | ||
to always produce a list with the same number of elements as @values ? | |||
TimToady | well, not in sink context :) | ||
if you want that, you should return () instead of Nil from foo | 21:02 | ||
pmichaud | okay then: my @a = (for @values { foo($_) };) | ||
TimToady | but certainly we've never guaranteed that a flat map returns the same number of values | 21:04 | |
pmichaud | so, if the block of a 'for' returns Nil, that's an indication to not record a value for that iteration, and if you wanted to preserve the Nil you should do so using .item or something like that. | ||
or () | |||
TimToady | that seems good | 21:05 | |
21:05
Mso150_f joined,
Mso150 left
|
|||
PerlJam | pmichaud: so ... @a above does not preserve the Nils that foo may return? | 21:05 | |
pmichaud | pmichaud: not as I wrote it, no. | ||
if I wanted to keep the Nils, I'd do: | |||
my @a = (for @values { foo($_).item }) | 21:06 | ||
EXCEPT | |||
that assigning a Nil into @a would cause that element to revert to its base type object | |||
PerlJam | my @a := (for @values { foo($_) }); # would also preserve the Nil too? | ||
pmichaud | in that case, no, since the Nil's get stripped by the 'for' | ||
(on output) | 21:07 | ||
PerlJam | ok. | ||
pmichaud | but | ||
my @a := (for @values { foo($_).item } ); | |||
would cause @a to have the same number of elements as @values (barring any funny control exceptions in &foo) | 21:08 | ||
PerlJam | And map's behavior is identical to for? | ||
pmichaud | on the output side, yes. | ||
TimToady | except method form doesn't flatten input | 21:09 | |
pmichaud | this would be for all looping constructs | ||
my @a := (while $i < 10 { foo($i++).item }) | |||
raydiak | we return () when we *do* want the Nil preserved in the output list? | ||
pmichaud | raydiak: you return () when you want an empty list in the output | ||
("Nil" ne "empty list") | 21:10 | ||
raydiak | okay, I was just lost momentarily then | ||
21:10
rindolf left
|
|||
pmichaud | I kind of like this outcome; it prevents us from having to introduce an Empty, and puts the onus of removing items on the looping constructs instead of the List interpolators | 21:12 | |
21:12
woshty left
|
|||
pmichaud | more precisely, it puts the onus of removing the Nils on the things that are generating them in the first place :) | 21:12 | |
21:12
ptc_p61 left
|
|||
pmichaud | so that "removing" is really more "skipping" | 21:13 | |
21:13
woshty joined
|
|||
pmichaud | or "omitting" | 21:13 | |
or "never generating" :) | |||
never generating is way more efficient than "generate and remove" :) | 21:14 | ||
21:14
molaf left
21:17
gfldex joined
21:19
kjs_ left
|
|||
dalek | href="https://cpandatesters.perl6.org:">cpandatesters.perl6.org: 6d22454 | (Tobias Leich)++ | app.pl: add shebang and `use v6` |
21:21 | |
21:21
Ven left
|
|||
sergot | FROGGS++ | 21:26 | |
FROGGS_ | :o) | ||
21:26
FROGGS_ is now known as FROGGS
|
|||
FROGGS | though, I need to implement nqp::closefhi for parrot and jvm before I can merge my panda branch, which implements the reporter client | 21:26 | |
sergot | hi o/ btw :) | 21:27 | |
FROGGS | hi sergot | ||
pmichaud | afk for a while, more thinking to do | ||
dalek | nda/reporter: 9497994 | (Elizabeth Mattijsen)++ | / (8 files): Fix 2014.10 deprecations |
21:29 | |
nda/reporter: c42053e | (Elizabeth Mattijsen)++ | ext/ (3 files): Bring submodules up to date |
|||
nda/reporter: 85c6e01 | (Elizabeth Mattijsen)++ | ext/Shell__Command: Bring Shell::Command up to date |
|||
nda/reporter: 45be099 | (Tobias Leich)++ | / (11 files): Merge branch 'master' of github.com:tadzik/panda into reporter |
|||
21:35
Tekk_` is now known as Tekk_
21:39
fhelmberger joined
|
|||
dalek | ast: ff58ad1 | usev6++ | S04-declarations/state.t: Add test (fudged 'skip') for RT #115614 |
21:39 | |
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=115614 | ||
21:40
MilkmanDan left,
MilkmanDan joined
21:42
kjs_ joined
21:43
fhelmberger left
|
|||
tony-o | FROGGS++ | 21:44 | |
FROGGS | thanks :o) | 21:45 | |
21:45
erkan left
21:46
kjs_ left,
Akagi201 joined
21:51
Akagi201 left
21:57
virtualsue left
22:15
Rounin joined
22:18
ugator left
22:23
Mso150_f left
|
|||
dalek | ast: 2c34a36 | (Elizabeth Mattijsen)++ | S19-command-line/dash-e.t: -e as a stopper appears to work |
22:29 | |
22:33
colomon left
22:34
colomon joined
22:35
bronco_creek joined
|
|||
bronco_creek | I have a question about reading from a file. When I use, for example: for $in.lines -> $line {say $line} is see a "?" prepended to the first line. What's up with that? | 22:38 | |
FROGGS | that sounds like a replacement character.. | 22:40 | |
geekosaur | windows by any chance? a utf8 file with a byte order mark at the start (like windows text editors like to prepend), sent to a non-utf8 display, would do that | ||
FROGGS | bronco_creek: does that file start with a BOM? | 22:41 | |
bronco_creek | Yes, Windows. | ||
FROGGS | bronco_creek: you've got notepad++ by any chance? | 22:42 | |
bronco_creek | I'm using Padre. | ||
FROGGS | ahh, hmmm | ||
dunno if that allows you to save that file without a BOM | 22:43 | ||
bronco_creek | The file I'm trying to process is xml output from another program, but the leading "?" does not show up in Padre. | ||
timotimo | do you have some kind of hex editor? | 22:44 | |
now the question becomes | |||
do we want to support byte order marks in rakudo? | |||
geekosaur | I think you'll need to; notepad in at least some versions of windows will insist on prepending a BOM | ||
some other text editors as well (and there's a handful of programs, including some from Microsoft, that depend on it!) | 22:45 | ||
even though you're not supposed to use a BOM with UTF-8 | |||
bronco_creek | I tried to strip the "?" with ~~ s/^\?// but that did not do the trick. | ||
geekosaur | yes, it's getting mapped to a replacement character on output; it's not actually a question mark | 22:46 | |
timotimo | that's right | ||
how about opening the file as binary and outputting the first few bytes as hexadecimals and looking at what exactly it is | |||
geekosaur | actually on display, not on output | ||
bronco_creek | Hmm. Drove me nut trying to figure out why all of my xml files were invalid when I tried to parse with XML or XML::Parser::Tiny | 22:47 | |
timotimo | damn, that's annoying | 22:48 | |
very sorry to hear that, bronco_creek :( | |||
bronco_creek | timotimo: I don't think I have an editor that will let me look at the hex. Maybe I need to install one. | 22:49 | |
timotimo | try code like this: | 22:50 | |
m: open("foobar.txt", :bin).perl.say | |||
camelia | rakudo-moar 315ec6: OUTPUT«open is disallowed in restricted setting in sub restricted at src/RESTRICTED.setting:1 in sub open at src/RESTRICTED.setting:5 in block <unit> at /tmp/GKZm7GJt9Q:1» | ||
22:55
spider-mario left
|
|||
bronco_creek | timotimo: I tired: $in = open("$file", :bin); $in.perl.say; and got IO::Handle.new etc. | 22:56 | |
Looks like user error on my part. | |||
22:56
treehug88 left
|
|||
geekosaur | slightly wrong instructions actually | 22:56 | |
it showed you what you were told to get, which is the handle :) you actually need to read a line and dump it. | 22:57 | ||
timotimo | oh, sorry, you need to .read(5) or so from it | ||
bronco_creek | geekosaur, timotimo: thanks, I'll try that | 22:58 | |
FROGGS | we should open an rt ticket for that | 22:59 | |
timotimo | yeah | ||
FROGGS | will do that now | 23:00 | |
bronco_creek: you're using rakudo on moarvm? | 23:01 | ||
bronco_creek | geekosaur, timotimo: Nope, even with the :bin in the open statement, I still get the leading BOM | 23:02 | |
timotimo | yeah, of course you would | ||
but at least we know it's a BOM now, right? | 23:03 | ||
bartolin | for the records: I just had clean spectests for latest rakudo on all backends (running on debian 7) | ||
bronco_creek | timotimo: I'll take you word for it. I'm still new to perl6. | ||
timotimo | what exactly is the beginning of the output, then? | ||
23:03
denis_boyun_ left
|
|||
FROGGS | RT #123070 - rakudo should strip a BOM, but it does not | 23:04 | |
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=123070 | ||
bronco_creek | timotimo: I get: ?<?xml version="1.0" encoding="utf-8"?> | ||
FROGGS | bronco_creek: hopefully we will have a fix for that within a few days | ||
geekosaur | hm | 23:05 | |
you did not use .perl i take it? | |||
FROGGS | bronco_creek: can you also pass :bin to the read() all? | ||
call* | |||
geekosaur | that should have given you a visualization of a Buf | ||
timotimo | hold on, :bin may be wrong or something? | ||
i don't have a local perl6 at this very moment >_< | |||
FROGGS | hold on | ||
geekosaur | pyanfar:60977 Z$ ./install/bin/perl6 -e 'open("/dev/random", :bin).read(5).perl.say' | ||
Buf[uint8].new(102, 234, 161, 85, 205) | |||
bronco_creek | Thanks all. This isn't a mission-critical issue for me. Just playing around trying to get familiar with the language. | ||
TimToady | ain't we all :) | 23:06 | |
FROGGS | *g* | ||
bronco_creek | Still a bit of a moving target, but awesome progress lately. perl6++ | 23:07 | |
timotimo | bronco_creek: i'm kind of wondering where those xml files have come from such that they started with a BOM | ||
23:08
leont joined
|
|||
FROGGS | timotimo: I bet that parrot and jvm get it right though | 23:08 | |
timotimo | so far i thought BOM was deprecated, but unicode still allows it (but does not recommend) | ||
bronco_creek | They are DITA/XML docs that I extracted from my CMS at work. | ||
FROGGS | and I also think it is a three lines patch to handle it | ||
geekosaur | timotimo, it's not supposed to be used with anything but utf16 and utf32. but many windows programs use it to detect utf8 vs. a windows code page encoding | 23:09 | |
this is noncompliant (BOM is *never* valid in UTF8) but windows "standard" :/ | |||
23:10
FROGGS left
|
|||
geekosaur | so de facto for windows interop you need to deal with a BOM at the start of a text file | 23:11 | |
23:12
timotimo left
|
|||
bronco_creek | Bye for now. I'm on the road for a week - flying to northern CA then driving back to CO. Thanks again. | 23:12 | |
geekosaur | (microsoft has officially deprecated its use in windows utf8... but some of the programs that rely on it to detect utf8 are part of visual studio) | ||
23:13
timotimo joined
|
|||
bronco_creek | One more thing. On backlogging I see I missed FROGGS' question. I am using the moarvm version from last month. Hope that helps. | 23:19 | |
23:22
virtualsue joined
23:24
virtualsue left
23:25
bronco_creek left
23:33
chenryn joined
23:35
Akagi201 joined
23:37
gfldex left
23:40
Akagi201 left
23:42
zjmarlow joined
23:43
zjmarlow left
|