»ö« 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:00 iarna joined 00:03 ajr_ left
hoelzro .oO( make specktest ) 00:09
must be dinner time
00:10 jnap left
timotimo moarvm's stability with multithreaded spec tests is not quite so awesome on the last days before the release ... 00:12
hoelzro =/ 00:13
dalek ast: 6ccd874 | TimToady++ | S32-array/exists-adverb.t:
remove .list coercions that are no longer needed
00:14
timotimo t/spec/S32-num/rat.rakudo.moar seems to fail now
well, one test
japhb timotimo: CDD is winning at the moment, so things there will be talks about are getting all the love. :-) After the conf, I bet things get a lot better on threading/async stuff. :-)
timotimo # got: '301281685344656669 1250'
# expected: '301281685344656640 1250'
could this be due to the bigint "is big" check changes?
jnthn timotimo: Dunno, but I did a spectest right after those changes here and saw no difference. 00:15
japhb Does it matter that the bigint lib reserves a few bits in each mp_digit?
timotimo er ... and sprintf is failing quite a bit, too
jnthn japhb: In fact, I'm relying on the fact it does that... :)
timotimo oh, failed only one there apparently 00:16
dalek ecs: eda3e60 | (Stéphane Payrard)++ | S99-glossary.pod:
S99: atomic
timotimo i'm quite confused by these spectest failures i don't seem to recall from earlier
but i don't think my moarvm changes are responsible 00:17
00:17 bjz_ left
TimToady the LOLLY patch doesn't actually fix t/spec/S02-types/multi_dimensional_array.rakudo.moar if LOLLY is set 00:21
I suspect it only works if LOLLY isn't set 00:22
timotimo gist.github.com/timo/252f6b903d169bd34eb1 - will post spectest failures with spesh enabled later 00:23
00:24 Timbus left, nbrown_ joined
dalek ast: f2b1bb0 | TimToady++ | S17-supply/start.t:
can't compare @array with [], needs $@array
00:26
00:28 BenGoldberg joined
timotimo gist updated 00:29
seems like my changes to spesh/jit in the branch i did for moarvm are benign
TimToady I don't think the numeric stuff is related to lists 00:31
that is, the rat and sprintf failures seem lower-leveler
timotimo yeah, i'm confused by them
TimToady loss of precision on the rat
timotimo as i said, may be caused by the "bigint is_big" change 00:32
so we store that number in a num temporarily or something?
TimToady and getting 0's where NaN or Inf is expected
timotimo those are # TODO'd, though
TimToady not the ones at the end
timotimo well, it says only one test has failed on my box 00:33
TimToady I mean, not #144
timotimo er ... right 00:34
TimToady yeah, that one is also precision, my bad
timotimo i'm not making much sense any more, time to go to bed!
o/
TimToady \o
00:37 kurahaupo_ left 00:40 Timbus joined 00:44 fhelmberger joined 00:48 erkan left, fhelmberger left 00:56 kurahaupo_ joined 01:29 PotatoGim joined 01:30 FROGGS_ joined 01:32 Sqirrel left 01:33 FROGGS left, jnap joined 01:35 jnap left 01:37 telex left 01:38 telex joined 01:39 klapperl joined 01:41 dayangkun joined 01:42 klapperl_ left 02:09 Mouq joined 02:13 xenoterracide joined, nbrown_ left 02:14 nbrown_ joined 02:18 nbrown_ left 02:29 fling joined 02:32 Mouq left 02:33 grondilu left 02:36 dayangkun left 02:37 dayangkun joined 02:45 Sqirrel joined 02:46 noganex_ joined 02:48 Mouq joined 02:49 noganex left 03:04 Sqirrel left
Mouq m: my $a = 0; my $b = 2; $a < 1 and $b == 2 :carefully # :( 03:07
camelia rakudo-moar 220442: OUTPUT«===SORRY!=== Error while compiling /tmp/PsLP5pMauW␤You can't adverb that␤at /tmp/PsLP5pMauW:1␤------> my $b = 2; $a < 1 and $b == 2 :carefully⏏ # :(␤ expecting any of:␤ pair value␤»
Mouq I thought that used to work, too
star: my $a = 0; my $b = 2; $a < 1 and $b == 2 :carefully
camelia star-{m,p} 2014.04: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤You can't adverb that␤at /tmp/tmpfile:1␤------> my $b = 2; $a < 1 and $b == 2 :carefully⏏<EOL>␤ expecting any of:␤ pair value␤»
Mouq n: my $a = 0; my $b = 2; $a < 1 and $b == 2 :carefully
camelia niecza v24-109-g48a8de3: OUTPUT«Unhandled exception: Cannot call infix:<==>; none of these signatures match:␤ Any, Any␤ at /tmp/XfRtULGKNv line 1 (mainline @ 5) ␤ at /home/p6eval/niecza/lib/CORE.setting line 4595 (ANON @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting lin…»
03:09 molaf_ left 03:18 Sqirrel joined 03:23 Colby` joined 03:26 Pleiades` left, Colby` is now known as Pleiades` 03:42 kurahaupo_ left 03:44 pyrimidine joined
BenGoldberg std: my $a = 0; my $b = 2; $a < 1 and $b == 2 :carefully 03:51
camelia std ee1ef48: OUTPUT«ok 00:01 124m␤»
03:57 BenGoldberg left 04:01 kaare_ joined 04:13 pyrimidine left 04:20 rindolf joined 04:24 xenoterracide left
Mouq Ohhhh 04:33
m: 1 + 2 :carefully
camelia rakudo-moar 220442: OUTPUT«Unexpected named parameter 'carefully' passed␤ in sub infix:<+> at src/gen/m-CORE.setting:4311␤ in block at /tmp/OOM_0DY9uI:1␤␤»
Mouq It doesn't work if the operator is chaining
04:34 xinming_ joined
TimToady it doesn't work if the parser isn't STD 04:35
there is no operator that takes :carefully as a named argument 04:36
Mouq TimToady: Yes, but even if you define one to, Rakudo doesn't like it
*define a chaining one to
TimToady I don't see any such defs above... 04:37
Mouq m: sub infix:<eq> ($a, $b, :$pl!) { $a eq $b }; "a" eq "b" :pl
camelia rakudo-moar 220442: OUTPUT«===SORRY!=== Error while compiling /tmp/DYOMmkQNYe␤You can't adverb that␤at /tmp/DYOMmkQNYe:1␤------> $b, :$pl!) { $a eq $b }; "a" eq "b" :pl⏏<EOL>␤ expecting any of:␤ pair value␤»
04:37 xinming left
TimToady okay, that I'll buy :) 04:37
Mouq m: sub infix:<pl-eq> ($a, $b, :$n) { $a eq $b }; "a" pl-eq "b" :n 04:38
camelia ( no output )
Mouq m: sub infix:<eq> is ($a, $b, :$pl!) is assoc('left') { $a eq $b }; "a" eq "b" :pl 04:40
camelia rakudo-moar 220442: OUTPUT«===SORRY!=== Error while compiling /tmp/GbMPoMZyFV␤Missing block␤at /tmp/GbMPoMZyFV:1␤------> sub infix:<eq> is ⏏($a, $b, :$pl!) is assoc('left') { $a eq␤ expecting any of:␤ colon pair␤ q…»
Mouq m: sub infix:<eq> ($a, $b, :$pl!) is assoc('left') { $a eq $b }; "a" eq "b" :pl
camelia rakudo-moar 220442: OUTPUT«===SORRY!=== Error while compiling /tmp/Ls2rEqcf7U␤You can't adverb that␤at /tmp/Ls2rEqcf7U:1␤------> soc('left') { $a eq $b }; "a" eq "b" :pl⏏<EOL>␤ expecting any of:␤ pair value␤»
Mouq Worth a shot
dalek kudo/nom: 359acca | TimToady++ | src/core/List.pm:
eagerize combinations/permutations somewhat

Since we generally want all the combinations at a particular complexity level, batch the gather/take at each level. (Combinations over a range of levels still are lazy on going to the next level.) Runs about 25% faster.
05:00
TimToady likes the N times faster better, but will take what he can get :) 05:01
rindolf TimToady: hi. 05:09
Hi all.
05:13 ponbiki left
TimToady [Coke]: your lolly fix to S02-types/multi_dimensional_array.t doesn't actually run any multidimensional tests if LOLLY is set 05:13
05:20 ponbiki joined 05:21 ponbiki is now known as Guest4386 05:41 gfldex joined 05:45 iarna left, iarna joined 05:49 cognome left, cognome joined 05:54 cognome left
TimToady [Coke]: I'm currently working on a patch to fudge to allow fudging by envvar 05:56
06:01 kaleem joined 06:02 kurahaupo joined 06:11 kurahaupo left
dalek ast: dbecd40 | TimToady++ | fudge:
teach fudge to know about envvars

Now in addition to #?rakudo.moar lines, you can do three other things
   1) negate the line to #!rakudo.moar to fudge anything *except* rakudo.moar
   2) test #?FOO, if environment variable is set, perform action
   2) test #!FOO, if environment variable is *not* set, perform action
We're using this temporary to mark #!LOLLY tests.
06:14
ast: 1312762 | TimToady++ | S02-types/multi_dimensional_array.t:
mark tests to skip if LOLLY isn't set
TimToady s/temporary/temporarily/ 06:15
06:15 iarna left 06:16 darutoko joined 06:17 gfldex left
TimToady aaaaand...looks like I broke combinations.t 06:17
(earlier, not with the fudge fudges)
06:23 anaeem1_ joined
dalek ast: 5180a6f | TimToady++ | S32-list/combinations.t:
is_deeply for better feedback on AoA comparisons

Also added test for .combinations default of powerset.
06:32
ast: bb7df7e | TimToady++ | S32-list/permutations.t:
is_deeply for better diagnosics on failure
06:33
kudo/nom: 688c289 | TimToady++ | src/core/List.pm:
fix combinations(0) to work as a list of []
06:35
ast: 3f4f55d | TimToady++ | README:
document new fudge directives, negated and envvar
06:42
TimToady well, that's probably enough damage for one day... 06:45
Mouq: your multidimensional tests should run now if you set LOLLY 06:46
sergot morning o/ 06:47
06:50 krunen joined 06:59 klaas-janstol joined 07:00 cosimo joined 07:06 klaas-janstol left
FROGGS_ <xsd:complexType name="BinarySecurityTokenType"> 07:18
<xsd:annotation><xsd:documentation>A security token that is encoded in binary</xsd:documentation>
arrr!
>.<
07:24 zakharyas joined 07:26 klaas-janstol joined
moritz good morning 07:27
nwc10 you're making assumptions there :-) 07:28
moritz nope
I can wish a good morning independently of time of day, goodness of the day so far, and the whole rest
nwc10 mmm, true that
moritz well, I'm making the assumptions that there's at least one reader who understand a bit of English 07:29
nwc10 clearly I failed on that
moritz lays his hopes on FROGGS_ :-) 07:31
FROGGS_ o/ 07:49
*yawn*
07:49 FROGGS_ is now known as FROGGS
FROGGS Q: is it going to be a good morning when I have to do WSSE/SOAP with client certificates on linux? 07:51
moritz FROGGS: maybe not, but I wish you one anyway :-)
nwc10 have you considered an alternative career herding sheep? 07:52
(although to be fair, the comments of the two london.pm members who have farmed sheep are that it's not easy either)
moritz herds kids instead in his free time 07:53
copious free time, actually, to stick with the meme 07:54
afk 07:55
nwc10 yes, tell me about herding. 07:58
the small one wants to eat cables
FROGGS eww :P 08:04
our smallest just wants to hug all the time 08:05
08:06 klaas-janstol left
nwc10 at least he usually announces his intent by making a loud noise before setting off across the floor to reach his newly identified target 08:06
to be clear, he will try to eat anything 08:07
but cables are worth travel
FROGGS kids are weird :o)
nwc10 I find him reasonably predictable 08:08
1) will try to eat anything
2) will move towards anything deemed interesting
3) is hungry and tired on a reasonably guessable schedule
and does not deny that he is tired when he is tired.
08:09 Alula_ left, Alula_ joined
FROGGS I've got one that always deny that he's tired (maybe except when he's ill), the other one does not deny and the third cannot deny yet 08:15
nwc10 small one is 8 months and can't deny much 08:17
large one is 61 months and will deny some things
FROGGS #1 is 56 months, #2 is 40 months and #3 is 1.5 moths old 08:21
08:24 denis_boyun_ joined, kurahaupo joined 08:31 klaas-janstol joined 08:35 donaldh joined, denis_boyun__ joined, denis_boyun_ left 08:44 anaeem1_ left 08:45 anaeem1 joined 08:52 fhelmberger joined 08:55 klaas-janstol left 08:58 [Sno] left 09:04 fuad joined
fuad Hi, all. 09:04
09:05 klaas-janstol joined, klaas-janstol left, klaas-janstol joined, klaas-janstol left
FROGGS hi fuad 09:06
masak hi fuad 09:14
good ante-something, #perl6
fuad hey, masak! How are you my friend?! 09:16
it was a long time!
masak yes, you don't stop by often enough :) 09:17
masak is here all the time, almost
fuad Sorry, bro. I've been so busy with real life. And i'm always coming here, whenever i get a chance to connect to irc :) 09:18
masak no worries.
it's nice to see you!
fuad i'm very glad to see you after a long time 09:19
now it's more than 4 years i guess we know each other
masak m: say "welcome fuad!"; say join ", ", .[0, 0], "$(.^name)!" given ["hip"] 09:21
camelia rakudo-moar 688c28: OUTPUT«welcome fuad!␤hip, hip, Array!␤»
masak :D
fuad :)
09:27 Mouq left 09:37 cono left 09:38 fuad left, fuad joined 09:40 fuad left 09:44 kurahaupo left 09:47 dayangkun left, spider-mario joined 09:57 dayangkun joined
dalek p-js: 6955881 | (Pawel Murias)++ | src/vm/js/nqp-runtime/runtime.js:
Prefer ' to " for comformance with the Google JavaScript Style Guide.
10:08
p-js: 0229633 | (Pawel Murias)++ | TODO:
Update TODO.
10:09
10:13 pmurias joined
pmurias [Coke]: re: helping with nqp-js yes, there is a TODO file and I could write down some more interested TODO tasks 10:15
10:20 bjz joined 10:37 Ven joined 10:40 woolfy left
dalek rl6-most-wanted: 3d2bdd1 | (Filip Sergot)++ | most-wanted/modules.md:
HTTP::UserAgent as WIP added
10:53
carlin is there a way to send a signal from perl6 code, or would I have to qx/kill .../ 10:55
10:57 anaeem1 left 10:58 anaeem1_ joined, Ven left
tadzik sergot: is there a list of things that are still IP? 11:01
moritz carlin: only if you use the new MoarVM async process thingy, and then only to processes you spawned 11:02
11:09 erkan joined, Ven joined
sergot tadzik: no, I will create it 11:11
tadzik awesome, thanks :)
sergot tadzik: github.com/tadzik/Bailador/pull/13 an update :) 11:12
tadzik ahahahah 11:13
sergot tadzik++ # nice idea (the list)
tadzik what a hack
it's very clever, but I'm not sure I like it from the API perspective
sergot masak++
tadzik: why so?
tadzik: github.com/tadzik/Bailador/blob/ma...bin.pl#L16 what is the content here? 11:14
tadzik sergot: github.com/tadzik/Bailador/blob/ma...s/index.tt 'content' is the key
sergot ok, then I have a question 11:16
What to do, when we pass something like this, in the content of a Request: "blabla" ?
tadzik as for not quite liking it, I think $res.<&content> looks confusing and ugly :P
sergot It will appear as (blabla => Any).hash in request.params 11:17
tadzik I think so, yes
sergot Do you think it is correct?
tadzik my understanding was that if someone wants raw data, they'd use .env<psgi.input>
sergot I thought it's not
tadzik hmm 11:18
oh
masak hm, maybe use something completely different than request.params, then?
tadzik it might not be
masak like, another attribute or accessor?
sergot .env<psgi.input> sounds good
tadzik masak: I'd be looking in that direction I think
sergot: yeah, then you still need to .decode that, and probably take Content-Encoding into consideration
so maybe it needs more clever of an accessor 11:19
masak I agree doing out-of-band things in the keys namespace feels not-ideal.
+1
tadzik btw, is there a hackathon before y::e?
masak none planned, AFAIK. 11:23
but come to our hotel and we'll arrange something ;)
tadzik will do :)
11:25 klaas-janstol joined, cognome joined 11:26 zakharyas left, mattp___ joined, mattp_ left
sergot oh, it's this Friday. 11:27
tadzik yes
wait, friday?
oh, ok, friday 11:28
11:30 zakharyas joined
Ven I'm always amazed by the ability to get a hash from a %%2 array. 11:37
masak what kind of syntax is %%2 ?
moritz divisible by two 11:38
even length 11:39
masak oh!
yes, I see now.
Ven m: "a" for (a => 2); # no useless in sink context?
camelia ( no output )
Ven m: say "got {.key}" for %(a => 2, b => 3) 11:42
camelia rakudo-moar 688c28: OUTPUT«got ␤got ␤»
Ven duh.
moritz m: "a" for (a => 2); 32 11:44
camelia ( no output )
masak m: say "got $(.key)" for %(a => 2, b => 3) 11:45
camelia rakudo-moar 688c28: OUTPUT«got a␤got b␤»
moritz probably because it maps to a map
Ven that is ... surprising
I didn't even know about $() 11:48
11:50 klaas-janstol left
Ven github.com/Dobiasd/programming-lan.../README.md 11:54
these lisp and clojure guys sure are happy 11:55
carlin can someone with OS X please show me the output of `kill -l` 11:56
11:57 klaas-janstol joined
Ven carlin: 11:58
gist.github.com/Nami-Doc/109d7d6914b182ec8c29
carlin Ven++, thanks :)
12:00 klaas-janstol left
Ven erm, is there a way to `cd` the shell into another directory from perl6? 12:01
or do I have to resort to bash/batch for that?
carlin chdir
colomon I'm getting intermittent seg faults with Rakudo Moar on OS X. :(
12:01 prevost joined
Ven carlin: chdir only changes it for the current program 12:01
timotimo hm, i seem to recall lizmat doing something with 'kill -l' on OS X at some point
Ven I'm literally trying to `cd` the terminal into a ... "better place" 12:02
timotimo you cannot chdir "for" your parent process, if that's what you mean
but you can execute the stdout of your program
carlin timotimo: kill -l is used in Kernel.pm to get the available signals
timotimo and it can "say 'chdir ...'"
carlin: OK
Ven timotimo: so I do have to resort to bash and batch? dang I'm sad 12:03
carlin which makes $*KERNEL.signals on Windows interesting
timotimo Ven: it's a fundamental limitation of posix
unless the process gives subprocesses some kind of IPC to do a chdir, you can't do it 12:04
lizmat carlin: well volunteered :-)
timotimo i believe you can also not cd inside a .sh and have it stick
you'll have to declare a function and source that into your shell
(but i could be wrong)
Ven timotimo: well, I can use an alias, I guess. 12:05
at least it works with batch ... eh.
.o( cmd.exe is so much more powerful! ) 12:06
timotimo imagine every chdir you do in your shell would propagate up to init %) 12:07
Ven I don't want that.
I just want to be able to shell "cd ..."
masak Ven: find the process number, find its memory area, twiddle bits appropriately. presto! 12:10
Ven right, in perl 6.
masak Ven: but really, your request raises so many questions.
timotimo nativecall into libc :) 12:11
masak what if the parent process doesn't have a concept of CWD? what if it's a GUI? what if your process was started in the background?
timotimo we have nativecallcast, so if you can attach to another processes memory, you can just cast an address to a CStruct and presto
Ven masak: then it explodes. i don't care at all.
in all these cases, it'll just be a subprocess and get stopped there 12:12
12:14 jnap joined
Ven uh-oh. Seems like MAIN dispatch is borked on something ... not sure what I've done wrong. 12:14
oh. I was using MAIN("--foo") instead of :$foo! >_> 12:15
12:17 kurahaupo joined 12:20 [Sno] joined 12:22 klaas-janstol joined
masak that might almost merit a warning or something. 12:24
12:27 telex left
Ven it also reads kinda poorly because I can't have named args before pos ones 12:27
12:28 telex joined
sergot i.imgur.com/oja1B6l.jpg 12:30
timotimo i sure hope that's generated code.
at least after the fifth line ... 12:31
jnthn The fact the first bit is so disorganized makes me fear not :P
masak .oO( 3000 strikes and then you refactor ) 12:32
12:34 Ven left
pmurias Ven: re cd the shell I think there is no general way to do that under Linux, you could wrap your Perl6 script in a bash function that does the directory changing 12:35
masak ooh 12:36
12:37 tadzik is now known as tadziksoftware
timotimo masak: i sure hope the compiler gets to optimize that huge tree of || into something more efficient than a long-ass series of branches and strcmp ... 12:37
masak timotimo: it's not so easy with strings. my bet would be on "no". 12:38
tadziksoftware sergot: uh what
sergot: is that $work? :D
masak timotimo: but to me, that's not even the main thing. that bit of code is not optimized for reading at all. 12:39
timotimo yeah, i was way past the "readable code" thing at this point
12:40 Sqirrel left
sergot tadziksoftware: no, just a random pic from the web :P 12:49
but I'm quite sure I can find something like this here :P 12:50
hehe
tadziksoftware hehe 12:52
I think I streched everyone's irc windows enough... 12:53
12:53 tadziksoftware is now known as tadzik
BinGOs are you now meatware? 12:54
timotimo i set my weechat to having the nicknames all lined up to the right side with a line separating nicks from text, but it's limited to a certain length, so your nick only ended up 1 character longer than mine :) 12:55
tadzik BinGOs: I got 3d-printed
timotimo: oh, that's useful
BinGOs I am holding out for 4D printing
tadzik well, 3d printing already takes so much time that it's almost 4d
gtodd sergot: it was probably very hard to type all that ... I hope whoever did it knew how to use cut and paste :)
masak BinGOs: they're made of meat. www.terrybisson.com/page6/page6.html 12:56
tadzik I imagine a hardcore vim user just generating that code with macros
gtodd programmer eifficiency :)
sergot gtodd: I hope so too. :) 12:57
gtodd plus you could use the folding feature in your editor and make that look like a one liner ... well almost 12:58
sergot I've found it here: www.reddit.com/r/ProgrammerHumor/ :) 12:59
gtodd then if a manager is looking over your shoulder you unfold that section ... "my you *have* been busy today"
sergot hehe :) 13:00
masak so much code! all those kLOCs!
timotimo m) 13:01
masak 'If we wish to count lines of code, we should not regard them as "lines produced" but as "lines spent".' -- Edsger Dijkstra 13:02
sergot I cannot imagine how "m)" face can look like.
timotimo it's a facepalm emoticon 13:03
sergot oh, right, it makes sense 13:04
nice :)
13:11 guru joined 13:12 guru is now known as Guest29590 13:13 ggoebel11111114 joined
sergot i.imgur.com/SJLQJmS.jpg 13:14
timotimo hehe.
13:16 ggoebel11111113 left 13:35 iarna joined
sergot tadzik: github.com/sergot/http-useragent/c...f650c76079 - it's something 13:38
tadzik sergot: hmm, any details on ssl being unreliable?
or is it "use it and you'll see" :P
sergot iirc it didn't work on your box 13:39
:) 13:40
and I remember it failed on my box *once* 13:41
tadzik hhaha, you're right, it doesn't 13:42
I still didn't debug it
but I'm recently in a programming mood, and yapc will probably amplify that too :)
timotimo what exactly is "nativecall's int bug" again?
the 32bit thingie?
sergot yes
timotimo i seem to recall someone figured something out about that recently
or maybe i was dreaming that
last night i had this frustrating experience again where in my dream i was convinced i was in a dream and should be able to fly, but couldn't ... >_< 13:43
sergot tadzik: I need some help because I can't reproduce your error
timotimo: sounds frustrating 13:44
timotimo tratt.net/laurie/blog/entries/an_ed...d_programs - more things about language composition and stuff
13:45 klaas-janstol left, klaas-janstol joined
sergot tadzik: what do you actually get? 13:45
while installing http ua
13:46 jdcola joined
masak do people still name their Perl 6 modules .pm ? 13:46
timotimo i sometimes do, if i forget to name them .pm6
masak or is everyone, like, "ooh, .pm6" these days?
timotimo (.pm6 will give me the correct syntax highlighting right from the start, helpfully)
sergot I use .pm6 13:47
tadzik I am still a pm guy
timotimo .o( although i have a command in vim which is ",p6" that'll set the syntax as well )
13:47 jdcola left
masak I've always been a bit uneasy with putting a 6 in the file endings. 13:47
but that's because I'm older than the decision that Perl 6 is a different language.
sergot whoa, nice new github's feature
timotimo the php people had php3 for a long time :)
i mean .php3
sergot github.com/blog/1877-folder-jumping 13:48
timotimo oh yes!
very helpful for java stuff
pmurias .pm6 seems a bit ugly
tadzik sergot: last time it was test failures, I'll check later
masak ok, .pm it is then.
timotimo pmurias: how about .6pm? :)
tadzik p6m 13:49
that's actually not bad :)
13:49 jdcola joined
timotimo mp6? 13:49
sergot .pms maybe? :D
timotimo (pew pew pew)
pmurias .6 seems to be already taken by "IBM Voice Type Language Script" 13:51
sergot .s 13:53
timotimo great.
pmurias isn't .s assembler? 13:55
13:55 iarna left
sergot hmm, that's weird: github.com/sergot/openssl/stargazers could somebody click on "Jamie Peter Goodwin", what do you see? 13:56
I'm getting 404 there
moritz sergot: me too; might be an eventual consistency thing 13:57
PerlJam used some perl 6 programs for testing a Fortran->Java conversion and included them in the bundle of stuff sent to the client.
maybe they'll try to run them at some point :) 13:58
moritz sergot: that is, user account has been deleted, but the list isn't updated yet
sergot jamiepg1 starred sergot/openssl
3 hours ago
colomon btyler_: I've forked JSON::Jansson to work on it. I've just pushed the start of a t/ directory and a bug fix to it. I'm going to hold off sending an official pull request until I've validated that this fixes all my issues that were delaying my $work. ;)
sergot moritz: I've checked this just after he starred my repo 13:59
yeah, anyway, looks odd 14:00
[Coke] I have a slight issue with fudging by something other than implementation: finding the fudges that need to be fixed.
(before I could search for "#?rakudo"
btyler_ colomon: great! I started poking at encoding stuff the other night but was still a bit jetlagged 14:01
[Coke] (and I tried setting LOLLY when I ran those tests, and it crashed horribly, as expected; sorry it wasn't quite right)
sergot timotimo: do you remember who did figure out something about the nativecalls int bug?
colomon btyler_++ # if we can get this working it will be a huge speed increase for vital $work functions. I was afraid I was going to need to translate my script to p5... 14:02
sergot .seen ajs
yoleaux I haven't seen ajs around.
timotimo sergot: not sure :S 14:03
14:03 jdcola left
sergot ok :( 14:03
14:06 anaeem1_ left, iarna joined 14:13 psch_ joined 14:14 psch_ left
psch i had had networking troubles with the machine this client is on 14:15
but they seem to have sorted themself out
thus, hi #perl6 after joining and quitting :)
14:19 iarna left, iarna joined
pmurias colomon: you are using p6 at work? 14:23
masak tadzik++ # "Order NOW for 1.99zł!" :D
tadzik masak: where did I write that? :P 14:24
masak github.com/tadzik/Coroutines/
tadzik I don't even remember :D
masak haha
tadzik: I am writing (for my YAPC talk) a module like that, except it enables the computer to be turned off, and the program keeps going from where it left off. 14:25
tadzik wow, awesome :)
moritz serializable coroutines? 14:26
timotimo as far as i understand it ... not quite
masak moritz: serializable delimited continuations. 14:27
moritz: I need it both for mishu and Nomic, both of which run in fits and starts, saving their state in-between runs. 14:28
tadzik: if I want the inverse of JSON::Unmarshal (so, a JSON::Marshal, I guess), what's my best bet? write my own?
tadzik masak: don't we have Storable that uses JSON there somewhere? 14:30
github.com/teodozjan/perl-store/ this mebbe
nah, that's not it
masak seems to store things as .perl 14:31
I can serialize to JSON, it's no big deal.
tadzik yeah, I don't think any code from Unmarshal will be of any use
masak oh?
tadzik oh wait, maybe 14:32
github.com/tadzik/JSON-Unmarshal/b...hal.pm#L31 this part
no, actually it might be pretty useful :P
masak I just want to use your module. :)
(by the way, you don't need to .WHAT to get to the .^attributes) 14:33
tadzik yeah, probably not
masak maybe I should PR you... :)
tadzik JSON::FieldMarshal 14:34
masak PR'd 14:35
tadzik can't you also remove $type altogether now?
oh, you do
masak: www.tf2sounds.com/495 14:36
mer'd
merg'd
masak :D
hoelzro morning #perl6 14:40
masak hoelzro: \o
14:41 kurahaupo left
lee_ some funny graffiti to look out for in Sofia www.themoscowtimes.com/article/505354.html 14:43
hoelzro so it occurred to me last night that I could probably merge the S26 branch into nom for 2014.08
but I think I should hold off and merge it in after tomorrow's release, so that other devs can fix my bug^W^W^Wplay with it for a while 14:44
timotimo ooooh, that's beautiful
jnthn hoelzro: Landing big branches the day before the release is probably not the wisest thing...
14:44 aoseki is now known as kuroseki
hoelzro jnthn: that's why I think I should hold off =) 14:45
jnthn hoelzro: Just merge it directly after the release and hen we've maximum feedback time ahead of the next one. :)
hoelzro that's the idea!
jnthn: should I file a PR for it for others to review pre-merge?
either way, I'm very excited 14:46
I actually got to do something for once =)
jnthn hoelzro++ :) 14:47
14:47 iarna left
jnthn hoelzro: Depends how much review you think it needs, and tbh you'd probably do as well asking for it here as you would PR'ing... 14:48
14:48 iarna joined
hoelzro true 14:49
I think since it's a major contribution, and since I'm still pretty new contributing to rakudo, it could use a look from you, and probably a few others, jnthn
jnthn *nod* 14:52
decommute &
timotimo can i have some more people build latest moarvm/split_iter_boolification with --enable-jit and latest nqp and latest rakudo and run spectests with that? 14:53
14:53 kaleem left
timotimo on my desktop it's clean except for flapping async/multithreading tests and segfaulting uniq.t 14:53
14:53 Guest29590 left 14:54 guru joined, guru is now known as ajr_
moritz perl Configure.pl --gen-moar=split_iter_boolification --moar-option=--enable-jit --gen-nqp=master # like this? 14:56
14:56 iarna left
timotimo i think so, yes 14:56
14:57 treehug88 joined
moritz spectests 15:03
15:05 treehug88 left
masak does anyone else get the feeling sometimes, in the middle of TDD when the flow sets in, that it's a bit... eerie that things come together and work as well as they do, without any apparent effort? 15:06
it's like "huh, where did all the excruciating thinking go?" 15:07
hoelzro masak: I know what you mean
it's creepy
timotimo seems like i'll have to do TDD more in my personal projects so that i can experience this feeling %)
masak it makes me wonder how much effort I waste in some other corners of my life, where I should apply more TDD. 15:08
psch i was thinking similar, if more "i should try and grok TDD"
similar to timotimo that is
masak ok, seems there is room for a masak TDD class.
maybe another masakism meetup, even.
moritz timotimo: perlpunks.de/paste/show/53f4ba0e.5b59.14 # my test output 15:09
timotimo moritz: that's the same i get 15:10
the sprintf and rat tests can be silenced by reverting the recent change to bigint is_big thingie
and the rest have been known before my changes
i probably ought to run some measurements to show whether my changes improve things 15:11
15:12 treehug88 joined 15:14 ajr_ left
colomon pmurias: yes. 15:16
pmurias: I've been using it for $work for four years now, but in ever-increasing quantities. 15:17
15:17 guru joined, guru is now known as Guest19121, Guest19121 is now known as ajr_ 15:19 fhelmberger left 15:20 denis_boyun__ left 15:22 SamuraiJack joined, Ven joined
Ven is 1 =:= 1 specced to be True? 15:31
timotimo shouldn't 15:32
Ven well, it can (currently does)
timotimo hm 15:33
... maybe?
Ven I get True with moar, False with JVM.
it's just not reusing that int under the jvm, I guess.
timotimo doesn't that kind of require us to hold a gigantic pool of cached Int objects?
we re-use small ints on moarvm
try 1024 instead
m: say 1024 =:= 1024; say 1 =:= 1
camelia rakudo-moar 688c28: OUTPUT«True␤True␤»
Ven yes.
timotimo ... oh
15:34 iarna joined
Ven p6: say 999999 =:= 999999; say 1 =:= 1; 15:34
camelia rakudo-jvm 688c28: OUTPUT«(timeout)»
..rakudo-{parrot,moar} 688c28, niecza v24-109-g48a8de3: OUTPUT«True␤True␤»
timotimo huh.
i'm not quite sure what's going on there
Ven locally, I get false for the jvm o/
timotimo p6: say "i'm alive"
camelia rakudo-{parrot,jvm,moar} 688c28, niecza v24-109-g48a8de3: OUTPUT«i'm alive␤» 15:35
Ven even =:= timeouts under jvm? lol
timotimo no
15:35 kaleem joined
timotimo m: my $a := 1; (for ^1000 { $a =:= 1 }).squish.say 15:35
camelia rakudo-moar 688c28: OUTPUT«True␤»
timotimo m: my $a := 1; (for ^100000 { $a =:= 1 }).squish.say
camelia rakudo-moar 688c28: OUTPUT«True␤»
timotimo o_O 15:36
TimToady =:= is basically === without the container deref, so for two non-containers it's the same
timotimo oh, is that so?
[Coke] TimToady: if I do #!rakudo.moar, does that also fudge it on niecza?
Ven TimToady: not sure why I get false locally with r-j then
TimToady yes
[Coke] that seems bad.
TimToady #! would be for if you only want to test something on a given vm 15:37
so we could do vm specific tests with it
[Coke] we shouldn't be doing vm specific tests in roast.
Ven why not?
TimToady generally not, I agree
[Coke] because it's the spec, not an implementation. 15:38
TimToady but not all vm supporters will be so...supportive :)
[Coke] you want vm specific tests, you can run them in your own "make test". (yes, in general)
this discussion is kind of academic, since we're basically down to just rakudo at this point.
TimToady but if something is specced to be VM specific... :)
well, except we can count the different backends as different implementations 15:39
[Coke] "now you're just being silly." -the tick
TimToady and maybe we'll want versioned tests someday as well
that's kind what #!LOLLY is standing in for right now, we're basically shipping two different versions rolled into one, differentiated by an env var 15:40
[Coke] versioned test = tags on the repo, i'd expect.
TimToady well, yes, again, in general, but there's always exceptions
hoelzro timotimo: are you still looking for spectest results?
timotimo hm, maybe
though brrt's comment sounded more like he had something locally that made things explode in a major way 15:41
TimToady if we decide to grant variances on different architectures, that's also something a given version of the test suite might have to handle
masak m: say sprintf "%d", Inf 15:42
camelia rakudo-moar 688c28: OUTPUT«P6opaque: get_boxed_ref could not unbox for the representation '20'␤␤»
masak discuss.
[Coke] Inf ain't int.
masak agreed.
[Coke] m: say Inf.Int
camelia rakudo-moar 688c28: OUTPUT«Cannot coerce Inf or NaN to an Int␤ in method gist at src/gen/m-CORE.setting:13076␤ in sub say at src/gen/m-CORE.setting:14014␤ in block at /tmp/dJn4iBj28F:1␤␤»
masak m: say sprintf "%f", Inf
camelia rakudo-moar 688c28: OUTPUT«0.000000␤»
[Coke] that's a LTA error, though.
masak submits rakudobug
[Coke] and that's wrong.
I would expect that the former should error the same as a the latter, all things being equal. 15:43
masak why should the %f case be an error?
TimToady why shouldn't both of them just print Inf?
masak Inf *is* a float/double.
btyler_ timotimo: gist.github.com/kanatohodets/6e993...569ab82777 spectest output from split_iter_boolification, sounds like similar results to others
masak what TimToady said.
[Coke] no, my latter.
psch there's RT #61602 (already|too) 15:44
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=61602
timotimo btyler_: thanks
psch plus specs issue #27
github.com/perl6/specs/issues/27
timotimo it does sound like i could just merge, then
15:45 iarna left
masak do we even have the beginning of a solution to github.com/perl6/specs/issues/27 ? 15:45
[Coke] %d should work if Inf.Int should work, yes.
15:45 alc joined
masak it seems that the thing we're wishing for is incompatible with our notion of a type system. 15:46
15:46 treehug88 left
masak I'm standing down both rakudobug submissions. I'd rather we work toward a solution to the "is Inf an Int?" question. 15:47
15:47 treehug88 joined
TimToady m: say Nil ~~ Int 15:47
camelia rakudo-moar 688c28: OUTPUT«False␤»
TimToady not quite a bottom type 15:48
but NaN is bottom for Numeric, and Inf is close to a bottom type for Real
m: say NaN ~~ Numeric 15:49
camelia rakudo-moar 688c28: OUTPUT«True␤»
masak NaN is not bottom for Numeric. something either is or isn't a NaN.
ditto Inf.
TimToady I'm talking types, not values; it's the values that are exclusive 15:50
masak yes, that's why I'm confused.
I don't see how NaN and Inf are anything but values.
timotimo i value every type
that's how i box.
TimToady still, these all act as generic collectors of non-usefulness, much like a bottom type, whether or not they are officially that way in type theory 15:51
15:51 dayangkun left 15:52 zakharyas left
TimToady don't be confused by the implementation of NaN and Inf for floating point into thinking they can't be more general concepts, at least extensible to any Real type as long as we don't try to stuff one into a native 15:52
%d is not even trying to stuff an Int into an int, but even if it were, it oughta catch the problem and report the concept, not just say FY to the user 15:53
masak TimToady: what's Inf.WHAT? what mechanism would make Inf sit nicely in either an Int, Num or Str container, without actually *being* a pure Int, Num or Str? 15:54
TimToady m: say Nil.WHAT 15:56
camelia rakudo-moar 688c28: OUTPUT«Nil␤»
15:57 raiph joined
TimToady n: say Nil ~~ Int 15:57
camelia niecza v24-109-g48a8de3: OUTPUT«False␤»
TimToady and I coulda sworn that was true at one point
masak is kinda relieved it isn't 15:58
TimToady well, I won't insist on it
masak that means every time I smartmatched something against an Int, I would also have to check it's not a Nil.
which would be... annoying.
TimToady well, you'll notice I haven't insisted on having an actual bottom type in p6 15:59
masak *nod*
an actual bottom type is uninstantiable, so Nil wouldn't be a value, then.
timotimo m: class Bottom is repr('Uninstantiable') { }; say Bottom.new 16:00
camelia rakudo-moar 688c28: OUTPUT«You cannot create an instance of this type␤ in method bless at src/gen/m-CORE.setting:852␤ in method new at src/gen/m-CORE.setting:836␤ in block at /tmp/G5Xwl7fSQM:1␤␤»
TimToady but we've got a number of conceptual types floating around already, junctions and whatevers, and these feel like conceptuals to me
masak that's fine, but what we're missing right now is an actual way to have these values work the way the spec wants. 16:01
not "it's impossible" but "no-one has figured out how to do it" 16:02
TimToady Nil is the absence of a value; NaN is the absence of a valid Numeric value, Inf is the absence of a finite value (modulo +/- of course)
well, let me sip my first sip of coffee, so I'm not talking in my sleep
masak the challenge is how to make Int, Num, Str all *contain* Inf. since these are "disjunct" types in the type hierarchy. 16:03
TimToady well, conceptually, Int is not difficult, you're just adding two more values to the set of representable values, and it's pretty easy to add values to an object type, as opposed to a native type, which is limited in many ways, not just in representing infinity 16:07
similarly, a Str is an object, and can represent lots of values, so Inf is just one more 16:08
so the representation isn't a problem for the individual types
16:08 Ven left
TimToady how to make the type stuff work out is, to my mind, a secondary issue, and perhaps worthy of a hack 16:09
anyway, that's the current mindset of the spec, but I haven't tried to push it to implementation since it's kind of a tempest in a teapot 16:11
and if it proves detrimental to performance to support the concepts, we can certainly talk about whether the cost is worth it to keep the user unconfuseder
BeforeEverything and AfterEverything are convenient concepts for talking about ordering and ranges, and we do ourselves a disservice to let the IEEE confuse us 16:13
BE and AE concepts just happen to map to +Inf and -Inf in floating point representations, is all 16:14
we sort of admit that by allowing people to say 0..* and picking the AE meaning 16:15
16:15 Jarrett joined
Jarrett hello 16:15
16:16 Jarrett left
TimToady the spec thinks that floating point's +Inf is just a pun for the AE value 16:16
hoelzro Jarrett: greetings
masak TimToady: agree to everything you said. 16:17
16:17 Akagi201_ left
TimToady and it calls that AE value "Inf" by a kind of metaphor 16:17
masak TimToady: to me, the primary question is "how would such a hack look?", though.
&
timotimo we should have a jit test suite and call it "the jittest suite ever created" 16:21
TimToady are you asking with your MoarVM hat or your Rakudo hat on? 16:22
oh wait, it wasn't a question :)
TimToady should learn Enlish someday
English, even, and to type
16:28 Ven joined 16:29 donaldh left 16:49 klaas-janstol left 16:51 alc left, Ven left
lizmat regarding .pm vs .pm6, I would be in favour of just using .pm 16:55
use v6; at the start of the file should be enough to let any perl 5 choke on the file 16:57
whereas vv "use 5.X" should in the end try to use the Perl 5 emulation in perl 6
[j4jackj] .
lizmat we also didn't go from using .pl to .pl5 when we went from perl 4 to perl 5 16:58
TimToady so we should go to .pn then?
lizmat no, just use .pm 16:59
timotimo but we're killing perl5!
psch but that's because we stole the version number, not because of the extension
lizmat yes, and that, I've come to realize, is a good thing
PerlJam TimToady++ :) 17:00
17:00 woolfy joined
lizmat most people who were programming in Perl (5) in the past 15 years, have moved to other programming languages for various reasons 17:00
PerlJam TimToady: but what would the n be mnemonic for?
lizmat to pay the bills, mostly, I would say 17:01
but they were capable of understanding and working in another programming language
17:01 denis_boyun_ joined
lizmat if you argue that Perl 6 is a different language, why should (former) Perl 5 programmers then have a problem moving to Perl 6 ? 17:01
If you argue that Perl 6 is just the next version of the Perl language, then Perl 5 programmers shouldn't have a problem with it either 17:02
PerlJam Because it says "perl" right there in the name.
lizmat so if you *do* have a problem with Perl 6, then you are not a Perl programmer
almost by definition, in my book
PerlJam lizmat: that's a tough argument to make to all those people for which "perl" only and ever means "perl 5" 17:03
lizmat if they don't get my argument, then they should continue to program away in Perl 5
but shut up about Perl 6 in any way, shape or form 17:04
PerlJam That'll never happen. (though, I too wish it to be so)
lizmat has had enough backstabbing from some of the "perl 5" community hot shots 17:05
yes, Perl 6 development could have been smoother, and faster, and better, and so many things 17:06
PerlJam But, it's not really their fault they have something to say about Perl 6. It's all those people who don't necessarily differentiate between P5 and P6 who ask those "perl means P5" people about P6. Then they have to say something.
lizmat but now we're getting at the stage that rakudo Perl 6 is becoming a viable alternative for many production uses 17:07
PerlJam: if those people say, that "Perl 6" stole their version number, I will try to tell them that that is not the case 17:08
quite contrary: Perl 6 will mean a new life for Perl (note absence of number here)
and if they don't buy that, tough luck: 17:09
the wolves are howling, but the caravan moves on
17:12 mattp___ left
dalek ecs: 85b2d6c | (Stéphane Payrard)++ | S99-glossary.pod:
S99. More on operator, panda, control flow...
17:12
timotimo .o( perl5 used to be the duct tape of the internets, perl6 is the PLA ) 17:14
lizmat programmable logic array, I assume ?
PerlJam lizmat: I'm working on a project for the National Ocean Service converting some 30+ year old fortran into java. For part of my testing I used several Perl 6 programs which I have provided to them. In discussions with them this morning, now it seems that how to download, compile, and install Rakudo will be part of my final report :)
timotimo thinking of the stuff you put into 3d printers
lizmat PerlJam++ 17:15
timotimo polylactic acid, apparently?
cognome the glossary feels like a Danaides barrel. The more entry you fill, the more unfilled entries there are.
lizmat the more you know, the more you know that you don't know more 17:16
cognome I suppose it is true in some sense of any knowledge related activity.
17:16 ajr_ left
lizmat I wouldn't know :-) 17:16
cognome :)
17:16 zakharyas joined, guru joined 17:17 guru is now known as Guest17475, Guest17475 is now known as ajr_
TimToady PerlJam: I hope you didn't use any lollipops in your code :) 17:17
or froze them to a particular version... 17:18
cognome I let TimToady fill the lollipop entry.
TimToady well, it's probably a short-term usage
cognome I suppose that's the Perl 6 part intended for six years old. 17:19
TimToady the idea being that a lol construct is popping off the values of the N-1 statements to emulate the C comma
PerlJam No, this was simple open files, read files, parse lines, compare stuff.
TimToady and lolligag is the error message that gags on that :)
but once we get past the LOLLY era, we probably don't need those terms anymore 17:20
17:22 prevost left
PerlJam "era"? Hopefully it will be more like "yesterday" than "the jurassic era" :) 17:23
lizmat TimToady: so is S03:2640 still valid ?
synopsebot Link: perlcabal.org/syn/S03.html#line_2640
lizmat Feed operators: <==, ==>, <<==, ==>>
TimToady likely 17:24
but we need to play with them s'more 17:25
[Coke] "Slang is a principled way to"... what is the intention here? I'm not familiar with this idiom.
(S99)
PerlJam huh ... I don't remember seeing ==>> until now.
TimToady [Coke]: see irclog.perlgeek.de/perl6/2014-08-16#i_9194425 17:26
PerlJam Does that mean that "do_stuff() ==>> @foo" is like [email@hidden.address] do_stuff()" ?
TimToady that's the intent, where the targe makes the distinction 17:27
*t
[Coke] TimToady: roger, leaving it alone.
17:29 Akagi201 joined 17:30 Rotwang joined 17:33 raiph left, mattp___ joined 17:34 Akagi201 left
jnthn TimToady: The problem with saying "X is an object so it can represent things a native can't" is that every time you cross between the two, you have to deal with all the special cases. 17:38
flussence someone's asked about doing gtk/qt/* nativecall on the advent blog, does anyone who knows those things better want to take it? perl6advent.wordpress.com/2010/12/1.../#comments 17:39
TimToady jnthn: sure, for the native boundary, but for concepts in the language, you made multi dispatch fast so we could do those things, right? :P 17:40
jnthn TimToady: Yes, *if* you make things with different behaviors be different types :) 17:41
TimToady comparing a Str with NeverGetThere should just be multi dispatch
which is why I'm trying to unconfuse things by not overloading Inf in my discussion right now
17:41 ajr_ left
jnthn TimToady: Which means if you want to special case NaN, it wants to be a different type. That does bother me slightly in that promoting num -> ??? doesn't any longer have a definite type, which is going to hurt us optimization wise too... 17:42
TimToady so I guess I'm okay with different words for different types of infinity
jnthn (boxing a num woudln't have a definite type I mean)
At the moment I'm somewhat battling with us crossing the native/boxed boundary too much in NQP.
TimToady is quite aware that there are performance ramifications when the computer confuses things: see Perl 5 :) 17:43
jnthn The fixes are in a small part code-gen improvements (though we had a lot of those already), in part less than awesome code (but everyone is going to write that), and then there's a hope we can do tricks like elminating pointless box/unbox sequences or escape analysis + stack allocation in spesh to catch some others... 17:44
TimToady I'm wondering if there's some way to distribute the concepts over the types than just by overloading
jnthn I guess all I'm saying is that I'm not sure we can treat crossing the native boundary as a rare thing that can be costly... 17:45
TimToady the concept of OffTheDeepEnd as applied to Str, sort of has a generic feel to it
alternately, we need to get our story straighter about comparing things of different types 17:46
then it doesn't matter so much to have overloaded a term like Inf 17:47
we can just use different types for different infinities
and leave Inf as a floating-point concept...except, of course, that integers are also numbers that can go to infinity too 17:48
jnthn Technically, a big Int can't go off to infinity...you'll fill your RAM before then ;) 17:49
masak it's also interesting to conside how we'd allow user-defined types to share the built-in Inf.
jnthn But that's true for floating point too of course :)
It's just that there's a defined limit there
Whereas Rakudo won't stop you creating a 1 gigabyte bigint...afaik :)
TimToady interesting that the mathematicians don't talk about ±א₀ 17:50
א₀ is really more like a distance on the number line
(the integer number line, that is) 17:51
jnthn All I see is a box and a squiggle I don't know ;-)
17:51 tgt joined
TimToady aleph-0 17:51
nwc10 I think that there's an Aleph there
jnthn (my font)--
masak thought aleph-0 was a set
TimToady quick, drop everything else and...oh wait... 17:52
17:52 raiph joined
TimToady yes, which is why you can't negate it 17:52
but -Inf is that set's size in the negative direction, is what I'm saying
well, counting by 1's, or anything else countable :) 17:53
dalek ecs: ac58607 | coke++ | S99-glossary.pod:
* whitespace

  * reordering some entries for clarity
  * grammar
  * fix POD-os
  * americanize
  * capitalization consistency
TimToady but we can't claim that -Inf is a negative distance of א₁'s size either, since there are that many Reals in any interval you pick 17:54
so Inf is really a weird beast from a mathematical point of view, it's really just a Surrender Immediately Or I Will Shoot message 17:55
so we give up when we see an Inf
it's just the concept of Too Hard, Hurts When I Try 17:56
masak computers are very constructionist in their approach. they deal OK with aleph-0, but not really with aleph-1.
TimToady and strings have that concept too
and as with bigints that are too big to fit, strings fail exactly the same way
m: say infix:<min>() 17:58
camelia rakudo-moar 688c28: OUTPUT«Inf␤» 17:59
TimToady but we define min on more than just numbers
that's sort of the argument for overloading Inf
masak m: say 5 min "foo"
camelia rakudo-moar 688c28: OUTPUT«5␤»
TimToady yes, well, we don't really have our story straight there yet
masak Python simply blows up on such comparisons.
which has a certain elegance to it :) 18:00
TimToady we would like to return something when someone says to sort a list, because a list in the wrong order is often more useful than no list at all
Dave: ls Computer: I'm sorry, Dave, I'm afraid I can't do that. 18:01
sometimes computer language designers sympathize more with Hal than with Dave 18:02
masak *nod*
TimToady Our job is to sympathize with Dave as much as we can.
that is Perl's real ecological niche 18:03
18:03 prevost joined
TimToady but of course, one of Dave's goals is to run his programs Very Fast too :) 18:03
lizmat
.oO( HAL is only slightly older than Perl 6 )
18:03 gfldex joined
TimToady so sometimes we have to decide whether to sympathize with Dave₀ or Dave₁ 18:04
but of course, 2001 is a year younger than Perl 6 :P
lizmat HAL became operational on 12 January 1997 18:05
well, according to Wikipedia :-) 18:06
so it must be true
[Coke] we already missed the deadline for igniting jupiter.
TimToady I'll bet those engineers didn't have a good Christmas
jnthn m: say so Pod::.keys.grep(/bay doors/) # aww 18:08
camelia rakudo-moar 688c28: OUTPUT«False␤»
lizmat is surprised how extensive the Perl 6 WP entry is: en.wikipedia.org/wiki/Perl_6
too bad the article doesn't mention Perl 6's RC entries 18:09
TimToady it's also somewhat dated
[j4jackj] h TimToady
TimToady waves northward
18:10 denis_boyun_ left, SamuraiJack left
TimToady You can tell I've lived in the Seattle area, because when you say "Vancouver", I say, "Which one?" 18:10
lizmat I guess they're equally far from Seattle, right ? 18:11
TimToady actually, the BC one is closer, I think
lizmat and the WA one is much smaller... 18:12
TimToady indeed
sort of a wart on the side of Portland, another badly overloaded term
lizmat has only seen the WA Vancouver from across the river
jnthn ain't seen any of 'em yet... 18:13
TimToady maybe we should name every town Springfield and have done with it
lizmat Shops in the WA Vancouver have an even tougher time, because WA *does* have sales tax, and Portland (OR) doesn't 18:14
TimToady: or Bruce, if they're in Australia
jnthn I joined the Perl community too late to have a YAPC as an excuse to visit Canada. Maybe there'll be YAPC::NA there again some day, though :)
[j4jackj] ._>_>__>_>_>_. 18:15
lizmat next stop: Salt Lake City
that isn't too far from Canada... on an American scale :-)
18:15 kaare_ left
lizmat closer than Orland o :-) 18:15
TimToady well, at least there's only one Salt Lake City 18:16
lizmat *phew* :-)
TimToady I wasn't gonna say it :)
PerlJam random question: Where do macros fall in the P6 schedule? Are they a 6.0.0 thing or 6.1 thing or what? 18:17
TimToady they're 6.0.0, and they're closer to done than you think :)
we just need to hook up a few things
PerlJam okay, just checking 18:18
dalek ecs: 32d02fb | (Stéphane Payrard)++ | S99-glossary.pod:
S99 : name, symbol, EVAL, import, export.
TimToady and design an AST
piece of cake
PerlJam and "closer to done than I think" is *such* a tease :)
TimToady actually, maybe we just adopt QAST
or something very like it
jnthn I'm OK with macros being a 6.0.0 thing, but I do think we need to start being a little more concrete on what ain't. :)
Cat, for example. :) 18:19
TimToady but we have to call all our QAST variables $past for some reason...
PerlJam jnthn++ indeed
TimToady Cat is just a rope
well, a lazy rope
jnthn It's really not at an implementation level.
Your "just a" is my "well, there went a few more months" :P
To me the really key things are those that would mean semantic changes to existing things. 18:20
colomon … what's the method to de-lazy a list?
jnthn colomon: eager
colomon jnthn: .eager or as a prefix? 18:21
jnthn That is, trying to say "we leave NFG to later" is a no go.
TimToady both
PerlJam or an already eager context.
jnthn colomon: I think as a prefix works too
lizmat jnthn: is the problem with Cat really about being able to substr into it ?
TimToady the problem is you have to invent lazy strands that know where to pull the next strand from
lizmat or are there deeper issues that you would need to have a regex / grammer run on a Cat
jnthn lizmat: For me, the much larger problem is how it intersects with the grammar engine.
colomon jnthn++ TimToady++ 18:22
TimToady wait, we're arguing, so aren't those mutually exclusive? :P
PerlJam jnthn: Just make some of that Pm's problem ;)
lizmat agree NFG is 6.0
[j4jackj] Will modules be unloadable? 18:23
lizmat not sure Cat is, as its implementation would not need any semantic changes to the language, right?
masak [j4jackj]: as in "now it's no longer loaded"?
[j4jackj] masak, the sort of thing 18:24
masak good question. no idea.
PerlJam [j4jackj]: to what end? To free RAM? OR just to make the symbols no longer easily available?
[j4jackj] "now the program knows nothing of its existence"
masak in Perl 5, that is usually up to the module, is it not?
TimToady well, you can remove entries from the global symbol table, but if other things have refs into it, the GC will keep those bits around
18:24 kaare_ joined
jnthn Also, importing is lexical by default. 18:24
lizmat even perl 5 can't really unload modules, afaik
TimToady much as Unix keeps a file around until the last ref goes away, even after you've unlinked it 18:25
lizmat as opcodes in Perl 5 aren't reference counted (last time I looked)
18:25 kaare_ left
jnthn My suspicion is that while we have package scope, we may end up at a point where we culturally converge on lexically scoping thing more strongly. 18:25
[j4jackj] I'm not a Perl kinda guy. I'm just here because it was mentioned in I-forget-where. 18:26
TimToady packages are really just a fancy naming scheme for global notions, and we don't have global notions except for the names of modules anymore, for the most part
dalek ecs: 40babaa | coke++ | S99-glossary.pod:
* spelling

  * whitespace
18:27
18:27 guru joined
jnthn lizmat: On Cat - yes, I think the fact we already pulled out the Stringy role means that, API wise, we're good to put Cat in later. 18:27
18:27 guru is now known as Guest67028 18:28 Guest67028 is now known as ajr_
TimToady the basic concept for integreting lazy strings into the regex engine is that when you think you might've hit $, you might not've. 18:28
jnthn Hm, if LoL were to be generic then we could have LoL[Cat] as a type... :P 18:29
18:29 kaare_ joined
TimToady That is so close to almost being a good idea... 18:29
it's about >.< that close 18:30
18:30 Akagi201 joined, zakharyas left 18:34 Akagi201 left
lizmat afk for a bit& 18:35
18:38 cognome left
timotimo m: Hal: open "pod bay doors" 18:44
camelia rakudo-moar 688c28: 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 at /tmp/igb476EipG:1␤␤»
18:47 jaffa4 joined
jaffa4 hi all 18:47
goto does not work with moarvm
TimToady that's less than awesome, should say "...is disallowed in restricted setting, Dave."
masak hello jaffa4
jaffa4: I don't believe goto is implemented yet, no?
timotimo well, we have labeled loops with redo/last/...
PerlJam $jaffa4 ~~ s/with moarvm//
jaffa4 not yet? 18:48
masak jaffa4: not yet.
TimToady ===SORRY, DAVE!===
masak .oO( hte muffin man? the muffin man! )
jaffa4 anyone would implemented for 50$? 18:49
timotimo so we'll need a is_space_odyssey_reference function
TimToady n: hell: goto hell;
camelia niecza v24-109-g48a8de3: OUTPUT«(timeout)»
masak niecza++
TimToady works in niecza++
PerlJam jaffa4: Um ... I don't think that particular carrot is likely to work.
jaffa4 why not? 18:50
masak n: for ^10 { foo: .say }; goto foo
TimToady
.oO(But...a carrot is kind of a stick, isn't it?)
camelia niecza v24-109-g48a8de3: OUTPUT«===SORRY!===␤␤Undeclared routine:␤ 'foo' used at line 1␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 1502 (die @ 5) ␤ at /home/p6eval/niecza/src/STD.pm6 line 1147 (P6.comp_u…»
TimToady labels are lexically scoped
masak ...huh. 18:51
TimToady and in any case, you couldn't go into an initialized loop like that
masak right, that's what I wanted to test.
PerlJam
.oO( But I *want* to jump to that label in the middle of that other loop! )
TimToady not even Perl 5 lets you do that
masak hehe. "not even"
hoelzro I've been thinking about writing a blog post about Rakudo
TimToady Perl 5 does let you jump into a while loop though
hoelzro sort of a "tour" of the compiler 18:52
dalek kudo-star-daily: 72e1677 | coke++ | log/ (14 files):
today (automated commit)
masak hoelzro: go for it!
PerlJam hoelzro: including the "here be dragons" parts?
hoelzro PerlJam: those I know of, yes =)
masak of course a compiler has dragons in it!
hoelzro heh
TimToady n: for ^10 { foo: .say }; goto "foo"; # can fix the syntax anyway
camelia niecza v24-109-g48a8de3: OUTPUT«0␤1␤2␤3␤4␤5␤6␤7␤8␤9␤Unhandled exception: Illegal control operator: goto(foo, dynamic)␤ at /home/p6eval/niecza/lib/CORE.setting line 1562 (_lexotic @ 8) ␤ at /home/p6eval/niecza/lib/CORE.setting line 1564 (goto @ 4) ␤ at /t…»
masak why d'you think it's called the Dragon Book?
hoelzro I fairly recently encountered a scenario where I was able to do something in NQP land that didn't work in the Perl 6 side of the compiler, but I can't for the life of me remember exactly what I was trying to do =/ 18:53
masak TimToady: it should be able to detect statically that that goto won't work, yes?
TimToady n: for ^10 { goto "foo" }; foo: say "Hi, Dave!";
camelia niecza v24-109-g48a8de3: OUTPUT«Hi, Dave!␤»
hoelzro I remember it involved *W.apply_trait and src/core/traits.pm
TimToady masak: notice the "dynamic" bit 18:54
jaffa4 Is niecza still developed?
hoelzro so if anyone else has had a similar experience and can jog my memory, I'd appreciate it =)
nwc10 TimToady: TimToady: Use of "goto" to jump into a construct is deprecated at -e line 1.
masak n: sub f1 { goto "foo" }; sub f2 { foo: say "OH HAI" }; f1()
camelia niecza v24-109-g48a8de3: OUTPUT«Potential difficulties:␤ &f2 is declared but not used at /tmp/HC6thCJzQL line 1:␤------> sub f1 { goto "foo" }; sub f2 ⏏{ foo: say "OH HAI" }; f1()␤␤Unhandled exception: Illegal control operator: goto(foo, dynamic)␤ at…»
hoelzro jaffa4: iirc, sorear recently "retired" from development on niecza
masak not so recently.
jaffa4 What does he do instead?
TimToady nwc10: after all that hard work I put in to make it work!
he has a Real Job 18:55
nwc10 TimToady: there was a good reason where it was still a subtle problem, but I forget what it was
jaffa4 Real Job?
TimToady yes, that's like, a job that's real
PerlJam jaffa4: one that pays more than $50 :) 18:56
masak haha
PerlJam++
18:56 kurahaupo joined
timotimo my perl6 job only pays like $10i 18:56
jaffa4 come on for those who it is 15 minutes work
for whose who know
masak jaffa4: I was wondering if you were back to make strange and insistent demands. 18:57
jaffa4: or just, you know, to chat.
psch clearly doesn't know
PerlJam jaffa4: you've just gone ludicrous as far as I'm concerned
psch goto in 15 minutes seems a bit out there
18:57 ivanshmakov joined
masak .oO( what do we want? time travel? when do we want it? doesn't matter! ) 18:58
s:2rd/\?/!/ 18:59
jnthn masak: If it was invented in your lifetime we'd not have seen that typo :P
jaffa4 I found a page where time travel was mentioned as a real life fact
19:00 telex left
masak well, the 1 s/s kind of travel is very common... 19:00
timotimo DWIM could also stand for "Deal With It, Man" 19:01
PerlJam jnthn: I'm sure masak has *much* better things to do with his time machine than fix past typoes.
masak not really :)
PerlJam masak: how would you know *now*? It's future-you that's got better things to do!
jaffa4 it is always possible to travel into future 19:02
19:02 kaleem left
TimToady masak: well, most of us only approximate 1s/s, unless we keep the atomic clock in our brane 19:02
19:02 telex joined
PerlJam IF you take frequent flights, you can get better than 1 s/s relative to the rest of us. 19:03
TimToady only if you fly the right direction wrt the proper motion of the earth
jaffa4 15 minutes could be a challenge 19:04
PerlJam nah, even flying the other direction, you're moving faster and further away from the gravity well. You'd be gaining time ever so slowly.
TimToady jaffa4: just takes a bit more energy 19:05
[j4jackj] jaffa4, do you like jaffa cakes?
TimToady a solar sail on a supernova would probably do the trick
jaffa4 sure
and I know there is no orange growing in Jaffa 19:06
TimToady the only challenge there is the shielding...well, and the heat dissipation
PerlJam Just bring a large mass with you that you can eventually throw away 19:07
TimToady you'd probably get pretty decent ablation off the toasty side of it
PerlJam yep 19:08
TimToady kinda hard to stop the spin on most of those masses though
so you'd end up on the toasty side yourself unless you kept moving
PerlJam and *that's* why black holes are the energy source of the future! Invest in my company now so that you can get ahead of the curve! 19:10
;)
TimToady not sure digging a hole at the pole is a long term strategy, though if the pole is facing away, I guess you'd last a half-"year" in orbit, assuming your escape velocity is less than the velocity necessary to achieve such relativistic effects...
PerlJam: and the time travel is just a bonus, which is where we came in before 19:11
PerlJam ding! :)
TimToady gets a sudden sense of deja vu
PerlJam btw, has anyone else ever wanted to replace the little bell they use in spelling bees with a loud, obnoxious buzzer? 19:12
carlin a train horn 19:15
TimToady sorry, have to do lunch because you said "ding", and I started salivating. &
19:16 grettis joined 19:17 cognome joined
[Coke] wonders if jaffa4 is related to Teal'C 19:17
jaffa4 How so? 19:18
19:19 zakharyas joined
treehug88 genetically? :) 19:21
jaffa4 ok, not particularry 19:25
it is related to Jaffa syrup 19:27
19:28 darutoko left
FROGGS sounds tasty :o) 19:28
19:31 Akagi201 joined
jaffa4 let me guess most people would do goto for 5000$? 19:32
FROGGS I might do it for, say, 0€ 19:34
but not today
jaffa4 FROGGS: how are you doing perl5 running on moarvm?
FROGGS there are at least three other things on my list with a higher priority than goto
jaffa4: it is not running on moarvm, but on rakudo 19:35
so it runs on parrot and jvm too
jaffa4 rakudo
WHat is its state?
19:35 Akagi201 left
FROGGS and it works okay-ish... I had to port it from nqp to Perl 6 so it can be installed via panda 19:35
timotimo reluctantly ported it? 19:36
FROGGS and it passes like 2500 single tests, where the nqp version passed 8000
jaffa4 terrible setback
FROGGS so, it is a bit of work to get to the 8000 tests still, and then implement for language features
like more regex modifiers and escape sequences 19:37
no, not terrible
when it passes t/pack.t it will jump up to 5000 tests 19:38
jaffa4 because practice makes perfect?
FROGGS hmm?
jaffa4 when you redo, you do it better
FROGGS at least I know what is meant to work, and I can run both versions and compare 19:39
that helps a lot
the issues that exist right now are like extra containers in the QAST structure that blow up in the optimizer for example...
(except of two nasty bugs that I hit in the meantime) 19:40
both of them were in nqp IIRC
and it is good that they are solved 19:41
funnily, I can only remember one of them...
ahh, now I remember :o)
the other one was in rakudo 19:42
when I think about it... even :dba() in grammars is more important than goto
19:43 molaf joined
FROGGS but the next thing I want to fix in v5 is trailing commas... something is borken so that v5 chokes on them 19:44
(sorry for the spam, I did like >20 hours of $dayjob since yesterday morning and this is the first break) 19:45
jaffa4 what do you do as dayjob?
FROGGS right now I weld two tickets systems together (.NET webservice with WSSE to another windows proggy that speaks a weird SOAP) 19:47
and my box in between is linux which does not help much there 19:48
masak heh, "weld two systems together" sounds like very real-world software development.
jaffa4 is it irony?
masak no, it does sound real-world.
FROGGS masak: it is :o) 19:49
jaffa4 real world be many things
FROGGS including all the pain that the real world offers
jaffa4 you can do so many things, writing games, web sites, user interfaces, algorithms, design databases ecc/ 19:50
19:50 molaf left
FROGGS or you'll be a masak and just talk about all these things :o) 19:50
jaffa4 I almost got a job when I would have to write an interpreter for a math like language 19:51
FROGGS wow 19:53
colomon has a thorny problem at the moment involving laziness and an object's attributes getting rewritten at a very bad moment....
FROGGS that sounds quite fun :o) 19:54
lizmat had to write an SPSS simulator once, *loooong* ago
jaffa4 I wrote c preprocessor 19:55
19:58 anaeem1_ joined
lizmat
.oO( writing a templating engine is a rite of passage )
20:00
[Coke] A write of parsage? 20:01
dalek ecs: dfb481c | (Stéphane Payrard)++ | S99-glossary.pod:
S99: HLL
jnthn remembers the first templating engine he wrote...oh my... :)
[Coke] That seems like too much detail. 20:02
jnthn It was for HTML.
I proudly came up with sigiled tags
20:02 zakharyas1 joined
jnthn No foreach construct. Just <@things> <li><.name></li> </@things> :) 20:03
We should probably all be glad I work on Perl 6 implementation, not lang design :P
jaffa4 initiation? 20:04
20:04 zakharyas left
flussence wonders if anyone uses that Emmet code-expansion thing as a template engine in production 20:05
masak jaffa4: something most people go through as a part of growing.
jaffa4 jnthn: how fast could you implement go to . what do you think?
cognome [Coke] I try to give some details on things that are Perl 6 specific and give clues to the underlying implementation(s) and link terms together. But that may eventually be moved elsewhere. 20:06
[Coke] things are dispersed in so many places that going overboard in one place to link everything together is not so bad. 20:09
lizmat jaffa4: how fast could you implement goto? What do you think?
jaffa4 16 hours pure time, if I really wanted to do it 20:10
lizmat well volunteered, then!
20:11 grettis left
lizmat I expect it to be done before YAPC::EU then 20:11
20:11 kaare_ left
lizmat open source development is all about scratching your itches 20:11
masak jaffa4: it's been a while since you came around here suggesting how people spend their time for you.
20:11 kaare_ joined
jaffa4 no suggestion,, 20:11
lizmat jaffa4: if goto is such an itch for you, then scratch it! 20:12
jaffa4 there are more than one way to do that
moritz well, talking about doesn't scratch your itch 20:13
20:13 kaare_ left
moritz done repeatedly, it just scratches other people's nerves 20:13
20:13 kaare_ joined 20:14 kaare_ left 20:15 Ven joined
jnthn jaffa4: What you miss is that the problem isn't that I can't spend the day or so it's take to get a working goto, it's that by doing so it'd mean not doing something that's a good bit more important. 20:15
20:15 colomon left
jnthn And anyone who thinks "no goto" is a language adoption blocker hasn't looked at enough widely adopted languages. 20:17
jaffa4 jnthn: I just wondered how much itime you think it would take knowing you know the stuff best.. It is not necessarliy about you doing it, rather getting a comparison
20:17 SHODAN left
masak .oO( because time estimates are easy ) 20:17
jaffa4: ^ irony 20:18
jaffa4 I had a job when I always had to tell how much time it would take me to do it
masak how nice. 20:19
jaffa4 the idea is the better you know something, the better you can estimate
especially if you practice. 20:20
masak well, what you're saying is true.
jnthn jaffa4: Yes, except that I (a) know the toolchain, (b) know the things that make goto into some level of nested scopes hard, (c) know that to do it well I need an abstraction that I can implement efficiently on MoarVM and the JVM, (d) know enough about the JVM and MoarVM to do (c). I architected MoarVM, did muc of the JVM port, and designed large chunks of the toolchain. I'm not sure an estimate of long it'd take me to do it has wide applicability. :) 20:21
masak is a little sorry jnthn has to spend time explaining stuff to jaffa4 instead of doing something useful 20:22
jnthn Because software is as much about learning as it is about building, and the blocker is not the building, it's learning the stuff to work out how to build it, and people learn at wildly different speeds and have hugely varying backgrounds.
20:22 [particle]1 joined
jnthn masak: No, it's just so if he asks again, I can link him this, then kickban him. 20:22
masak oh, kickbanning is at least something that you can delegate.
20:23 [particle] left
jnthn Yeah, I should, I'm crap at irssi :P 20:23
jnthn gets back to packing for his trip :) 20:24
jaffa4 jnthn: not sure why you are getting rude...I am having a light conversation with you what do you think I am doing?
masak oh wow.
20:24 Rotwang left
masak reminds himself, carefully, that jaffa4 is not very good at the people stuff 20:24
jaffa4: guy just explained to you, very kindly. 20:26
jaffa4: the last bit about kickbanning was not rudeness so much as an idle threat.
there's a difference.
jaffa4 why threatening? did I threathen you?
ever 20:27
masak not as far as I can recall, no.
jaffa4 that is the point
masak no, not really.
20:27 klaas-janstol joined
moritz jaffa4: you just seem to have a habit of asking the same question many times, in very slight variations 20:27
masak jaffa4: anyway, keep nagging at me, not at moritz or jnthn. 20:28
moritz jaffa4: so I can kinda understand why jnthn makes preparations for that possibility
masak jaffa4: their nerves do grate, and I don't want that.
20:28 anaeem1_ left
jaffa4 I have not talked to him at least half a year, I cannot call that nagging 20:28
lizmat jaffa4: how fast could you implement goto? What do you think?
masak jaffa4: are you done with goto yet?
jaffa4 years have passed 20:29
masak jaffa4: you said it would take you 16 hours. are there 15.5 hours left now?
lizmat jaffa4: am I annoying you yet ?
jaffa4 no
keep asking
masak *sigh* :)
jaffa4 because i have not promised to do it
lizmat *plonk*
masak we should all plonk a bit more. 20:30
moritz then now is the right time to make that promise!
masak jaffa4: I know you are not a troll, and I know you do not realize that you are annoying people. sometimes, though, you need to take people's word for it that you are.
japhb jaffa4: This is often regarded as one of the nicest, most welcoming places on the Internet. There are several core members here who seem frustrated. Whether you understand or not, it is worth considering their request to stop asking about time estimates. 20:31
[Coke] hey, subject change. anyone know how to debug low level authentication issues trying to mount SMB from the Finder on the mac vs. the command line?
masak [Coke]: that sounds lovely. stackoverflow/google no help?
flussence [Coke]: tried CIFS instead? ;)
[Coke] nothing yet. lots of "yah, it's weird on 10.9, try this", but that's to make anything work, and it works from the UI. 20:32
moritz strace or the macos equivalent? tcpdump?
[Coke] moritz: yah, I'm afraid I'm going to have to tcpdump and see what's different between teh finder and the command line.
jaffa4 I am not trying him or anyone to do it, you are not paid for that. this is a free voluntary enterprice, making a working compiler for Perl 6. 20:33
masak jaffa4: "enterprise".
moritz jaffa4: and because we're not paid for what we do, we have to put up with every nagging? is it that what you're trying to say? 20:34
jaffa4 I am always curious how fast can thing be done
masak hugs moritz
moritz jaffa4: then look at how fast things have been implemented in the past
jaffa4: it gives you a much, much better idea than asking for wild estimates
jaffa4 iFirst of all, it is not nagging... you may perceive it that way... but it is not nagging
moritz tries very hard not to lose his temper 20:35
20:35 ChanServ sets mode: +o masak, colomon joined
[Coke] wonders why folks are letting this get to them. Deep breath, let it pass. 20:35
japhb jaffa4: The spec is stochastically evaluated. It can literally take arbitrarily long to get to any particular portion of said spec. To the point that unwillingness to implement has on occasion been grounds for altering the spec.
masak jaffa4: please change the topic or shut up.
[Coke] must be missing some history here.
japhb jaffa4: If you do not intend it to be nagging, but everyone around you perceives it as nagging, what is the most likely reason for this? 20:36
masak [Coke]: well, that too.
moritz [Coke]: if so, it's not something you should be sorry to have missed
hoelzro jaffa4: keep in mind that it took me, a newcomer, a month and a half to implement S26. jnthn could probably have done it *way* faster, but he works on things that are way more important, so that people like me actually *can* do stuff like implement S26
jaffa4 the reason is that other asked you similar questions.. and you must be fed up... and you assume I do that same thing 20:37
hoelzro </mini-rant>
masak jaffa4: no, *you* asked similar questions.
moritz the other jaffa4?
jaffa4 no other people
20:37 Ven left
timotimo st 20:38
japhb hoelzro: Well, I'd make a small modification to that: It's not that jnthn's work is more important, merely that it is more core and requires more domain knowledge. I fear people tend to think their contributions are less valuable if they are not as deep as jnthn's, but trust me, we people working every part of the stack. I tend to sit somewhere between mantle and crust. 20:39
hoelzro japhb: good point
moritz a typcial example of very valuable non-core work is IO or docs
japhb *we need people
timotimo you meant to write "we need people working every part of the stack"?
mhm
japhb Yeah, exactly
hoelzro I'm happy that jnthn (and others!) are around to tackle GC/JIT bugs (or work on the GC in the first place) so that I can concentrate on my itch 20:40
masak some would say "product" is *more* important than code at this point.
jaffa4 masak: how often? can you recall?
masak ok, I would remind people about the plonking.
let's plonk for a while, and only if necessary kickban.
japhb jaffa4: Let it go. Don't ask others to provide facts or opinions, make them yourself -- *by contributing to the project*. 20:41
masak .oO( I'm one with the ice and snooooow ) 20:42
lizmat en.wikipedia.org/wiki/Plonk_(Usenet)
masak *nod*
japhb lizmat: Yeah, had to remind myself of that. It's been so long since I'd seen the term in the wild, I'd completely forgotten it. :-)
masak wasn't exactly using the term right, I guess... 20:43
hoelzro TIL about plonk
lizmat++
masak so there are some silver linings :)
20:43 ChanServ sets mode: -o masak
japhb is very happy to have forgotten that term *from disuse* 20:43
colomon have there been any issues involving the same gather/take powered method being called more than once lazily and then run to completion later? I'm getting weird results with JSON::Jansson and as far as I can see the code there is correct...
lizmat perhaps it batches differently the second time ? 20:44
jnthn colomon: Almost like a kind of closure confusion? I ain't see anything like that going on with gather/take any time recently, no... 20:46
20:46 jaffa4 left
masak oh, that reminds me. I should /ignore jaffa4's quit message. 20:47
moritz masak: on #perl6 and #git I generally ignore joins/leaves/quit, it's just too much noise 20:48
masak hm, I'll consider it. 20:49
pmurias jaffa4 offered to pay 50$ for goto? ;)
colomon jnthn: specifically, when I start the method calls the .WHICHes of the .json attributes are JSON|4363111896 and JSON|4363126968, but when the gather is actually executed it's JSON|4363126968 in both sequences.
masak colomon: GC copying?
flussence needs to remember to `git remote prune origin && git gc` a bit more often...
colomon masak: I'm not sure what you mean? 20:50
masak colomon: on Moar, .WHICH can change at runtime.
(it's a bug. it shouldn't, but it does.)
moritz flussence: git config --global fetch.prune true
flussence moritz++ 20:51
moritz flussence: then you don't have to remember the git remote prune thingy at all
flussence it's been a few years since I actually read the git-config docs, seems like every problem I have usually has an answer there :) 20:52
jnthn colomon: Oh...what masak++ already said. :( .WHICH isn't as stable as it should be.
moritz flussence: I just follow #git, which is full of good advice :-)
jnthn That one *is* a high priority for me to deal with, by now...
btyler_ colomon: what kind of weird results? 20:53
colomon masak: well, it's definitely returning the values of JSON|4363126968 both times, so there was no change in there. I guess it's possible that I only think I have two different objects, but it seems rather unlikely.
lizmat wouldn't be surprised if this would solve a lot of flapping tests
moritz flussence: (a truley amzing IRC channel with about 1k nicks, and you can still have meaningful conversation in there)
jnthn: any idea on how to fix it?
colomon btyler_: specifically, I'm calling .enumerate on several arrays in sequence, then when I look at the values returned I always get the data from the last array. 20:54
lizmat moritz: jnthn has some ideas
[Coke] tries tcpdump, figures out how to look at the bytes... "hey, they're different!" ;)
lizmat but it requires some deep thought
masak .oO( the most dangerous WHICHes are the unstable ones )
lizmat simplest would be to add 8 byte field to each and every object
and just start coiunting
jnthn moritz: Yeah, I at least hand-waved about a proposed solution that doesn't increase RAM usage if .WHICH ain't used, and is bounded by the size of the nursery. 20:55
Then there's the easy, but wasteful one lizmat just mentioned. :)
lizmat what jnthn says :-)
jnthn Or we could do the same trick the JDK does with object headers.
FROGGS m: grammar G { method TOP { say so self.falsish }; token falsish { <!> } }; try G.parse('whatever') # I call that a bug
camelia rakudo-moar 688c28: OUTPUT«True␤»
jnthn (If they need to contain more info than you have space for, you grab a piece of memory and CAS a pointer to it over the object header) 20:56
moritz or we could move the object to a location where it isn't moved again on first memory address read
jnthn (And then make sure you always set the LSB in non-exploded headers.)
FROGGS nqp-m: grammar G { method TOP() { say(?self.falsish) }; token falsish { <!> } }; try G.parse('whatever') # nqp++
camelia nqp-moarvm: OUTPUT«0␤»
timotimo colomon: this is on moar, yes?
colomon timotimo: yes
FROGGS jnthn: and again I hit a nqp<=>rakudo weirdness :o)
jnthn moritz: Sadly not; you need to find all the pointers to the object to update them, whihc is O(GC) 20:57
colomon timotimo: I've had major issues getting a parrot or jvm build on my Mac this week
timotimo: and I've been too lazy to try moving what I'm working on to Linux.
moritz jnthn: unless you start messing with proxy objects in the old location...
but it's just that, messing 20:58
timotimo OK, i'll have lookie lookies at the jansson enumerate thingie
jnthn moritz: Yeah; I *think* you could do it if you introduced read barriers as well as write barriers, since tricks like that are what various concurrent GC algos do.
timotimo can i get some eample code?
jnthn But given how much fun it is to get write barriers placed reliably...I'm not quite so sure I want to do read barriers too. ;-) 20:59
moritz ORLY? :-)
20:59 zakharyas1 left
masak .oO( O read-ly? ) 21:00
colomon timotimo: very bottom of this: github.com/kanatohodets/p6-json-ja...Jansson.pm
pmurias is WHICH commonly used?
masak pmurias: yes, since it figures in === comparisons.
pmurias but for === can't we just compare pointers? 21:02
lizmat pmurias: no, because pointers change 21:03
and that's *exactly* the problem with .WHICH: it is now basically the address of an object
it changes as soon as the GC decides it needs to be moved
pmurias but doesn't it change everywhere?
or is WHICH supposed to be an integer? 21:04
colomon pmurias: it's a unique identifying string, and it's very bad news if it suddenly changes 21:05
masak actually, it's an ObjAt object or something. 21:06
colomon main point is, change is bad
;)
pmurias according to the spec it exists so that different that different representation of the same value can be treated as the same thing 21:09
so that 123 === 123
colomon pmurias: it's quite a bit more than that.
moritz we also use it for hashing objects
21:09 rindolf left
jnthn pmurias: Abstractly, WHICH is essentially a "snapshot" of some sequence of bytes that captures an object's identity. 21:09
moritz and for that, it needs to remain constant
TimToady lessee, if *PLONK* is forgotten from disuse, and *PLONK* is a cultural response to use of KILL files, and I invented KILL files, some part of me has been forgotten from disuse...Look on my works, ye mighty, and despair! :) 21:10
jnthn pmurias: And if you snapshot the same reference type twice it should be identical. That's the problem today: it doesn't always come out that way 'cus the current memory address is used to form those bytes.
colomon timotimo, jnthn: okay, I've just verified the values are correct before the gather / take loop; that is to say, we definitely appear to have different objects.
21:10 mr-foobar left 21:12 mr-foobar joined
colomon and I can redo the .enumerate calls and get the same results. 21:13
timotimo does the $.json change values between the outside and the inside of the gather/take?
colomon timotimo: yes
21:14 colomon left
dalek rl6-roast-data: 9825c08 | coke++ | / (6 files):
today (automated commit)
21:14
21:14 gfldex left
pmurias TimToady: if .WHICH is called on a object it must be given a persitent number that doesn't change when the gc moves it around? 21:15
TimToady you sure some code isn't just reusing the same array of refs and clobbering the old refs?
lizmat fortunately, the current default .WHICH implementation, also uses the type 21:16
[Coke] rakudo-jvm, 133 failures, parrot 18. :(
[Coke] ponders the futility of ever getting a clean spec test run across teh board. 21:17
lizmat but any type can implement it's own .WHICH
m: say 42.WHICH # note this uses the *value* in the .WHICH 21:18
camelia rakudo-moar 688c28: OUTPUT«Int|42␤»
moritz in fact, any value type that inherits from a non-value type should implement its own .WHICH, and vice versa
lizmat m: <a b c>.Set.WHICH.say
camelia rakudo-moar 688c28: OUTPUT«Set|Str|a Str|b Str|c␤»
moritz m: say ('a', 'b Str|c').Set.WHICH; say <a b c>.Set.WHICH 21:19
camelia rakudo-moar 688c28: OUTPUT«Set|Str|a Str|b Str|c␤Set|Str|a Str|b Str|c␤»
moritz m: say ('a', 'b Str|c').Set.WHICH eq <a b c>.Set.WHICH
camelia rakudo-moar 688c28: OUTPUT«True␤»
moritz bug
lizmat moritz: suggested fix? 21:20
moritz lizmat: I'm not sure; maybe escaping the delimiter (here: space) 21:21
FROGGS should be enough to escape all pipes in the values
or that
moritz and escaping the escape character too, of course
sleep&
FROGGS gnight moritz
lizmat gnight moritz
masak gnight moritz 21:22
lizmat but still. that wouldn't prevent anybody to craft a string that would still make it possible to do eq on 2 different Sets and get a true on a eq ?
FROGGS are you sure?
21:22 prevost left
lizmat any delimiter I would use to concat the values, could be a value that lives inside a string 21:23
FROGGS you prepend "Type|$thing" and double up all pipes in $thing... that should do IMO
lizmat because it needs to be able to be a part of string in the end
hoelzro jnthn: the other day you were lamenting on how $obj.^meta-method went through dispatch:<.^>; do you have any advice on how getting around that could be achieved?
lizmat and if one of the strings as a double || in it ? 21:24
FROGGS lizmat: double both
hoelzro: do you want to do $obj.HOW.method($obj, ...) directly? 21:25
lizmat so 'Str|a Str|b' would become 'Str|a||Str|b" ?
jnthn hoelzro: It may be easiest does as a nqp::p6howcall or so
*done
hoelzro FROGGS: well, I discovered that .^ puns the invocant if it's a role
jnthn: alright, thanks 21:26
I might end up doing that
jnthn hoelzro: The thing that makes it difficult is that at the point you know it's .^, you don't actually ahve the invocant yet
hoelzro: It gets unshifted into the node higher up
hoelzro ooooh
jnthn hoelzro: Which is why I did it the way I did, thinking it was a cute solution.
lizmat anway, .WHICH construction needs to be as cheap as possible...
FROGGS lizmat: I had thought 'Str|a Str|b' becomes 'Str|Str||a\ Str||b' or so... or maybe even 'Str|Str\|a\ Str\|b' 21:27
hoelzro jnthn: can you think of another way to avoid the punning?
jnthn hoelzro: The more /expedient/ approach though, is that there's a role punning exclusion list.
hoelzro: Which is why ~~ SomeRoleType works out; ACCEPTS is in the exclusion list.
21:27 mr-foobar left
hoelzro that exception delegation thing with configure_punning? 21:27
jnthn configure_punning sounds right at least... :)
masak FROGGS, lizmat: it doesn't really feel like a string problem to me. it feels like a hashing problem.
all you want is for two different things to have different hashes. 21:28
lizmat well, in Sets, all elements are constant
jnthn To all discussing hashing: the reason that ObjAt is a string underneath today is because that's what has been easily available as hash keys on our backends.
It probably wants to be an integer
lizmat so what we really need is some runtime constant cache
21:28 mr-foobar joined
hoelzro jnthn: awesome, thanks for the insight 21:28
lizmat jnthn: that would only apply to non-value based .WHICHes, no? 21:29
FROGGS .oO( ... or Wizards )
lizmat anyways, this should probably need to be conducted in meatspace 21:30
jnthn And you get the WHICH for, say, a Set by combination of the ObjAt values for the pieces (through some wise algorithm we get from the appropriate lump of dead tree)
lizmat: Yes, it would be.
lizmat: Fancy going to a conf this weekend? ;-)
lizmat good plan, let me book a plane and a hotel...
wait, I did that already
jnthn :)
lizmat departure from home in ~ 7 hours 21:31
jnthn By the way, for those wanting to follow YAPC::Europe talks but can't make it, it seems there will be a live stream: blogs.perl.org/users/yapceu/2014/08...aming.html
lizmat: same
btyler_ the stream availability at the last few YAPCs has been great for those of us who can't make it to them 21:32
hopefully I'll make ::EU 2015, just found a spot at a certain perl-using company in amsterdam 21:33
FROGGS I'll enjoy watching the stream, for sure :o)
btyler_: :o)
jnthn btyler_: *that* Perl using company? :) 21:34
btyler_ probably fair to describe it as *that* one, yeah
jnthn Hope you'll enjoy it, and Amsterdam :)
lizmat
.oO( the "perl" company that shall not be named )
btyler_ I'm pretty excited. visiting amsterdam for the interview was lovely
unfortunately missed the AMSX.pm meetup by a few days 21:35
hoelzro btyler_: enjoy Amsterdam, I miss living there
be careful finding a place to live, though
lizmat missed the last AMSX.pm by jet lag
btyler_ hoelzro: thanks. any advice in that regard much appreciated 21:36
21:36 donaldh joined
hoelzro btyler_: just ask around, and do a lot of homework before you sign anything =) 21:37
timotimo bleh. i got "code object coerced to string" in a line where i don't think that would happen ...
masak 'night, #perl6
btyler_ good advice anywhere :) thanks
timotimo and i can't seem to figure out how that happens
hoelzro o/ masak
21:37 colomon joined
tadzik o/ 21:37
hoelzro btyler_: if you can swing it, there was a neighborhood just south of the rijksmuseum that I loved walking through
colomon \o
tadzik I borderline missed masak
TimToady make sure the recording folks know enough to turn up the mic in use, not hte wireless receiver that is busy picking up the cosmic background 21:38
tadzik perhaps a part of the streaming crew should be a QA receiving the stream :)
lizmat
.oO( if you listen carefully, you can hear the big bang! )
tadzik ( from very far away
)
FROGGS m: grammar G { method TOP() { say(?self.falsish) }; token falsish { <!> } }; try G.parse("a") 21:39
camelia rakudo-moar 688c28: OUTPUT«True␤»
FROGGS nqp-m: grammar G { method TOP() { say(?self.falsish) }; token falsish { <!> } }; try G.parse("a") 21:40
camelia nqp-moarvm: OUTPUT«0␤»
FROGGS I don't get it...
21:41 donaldh left, donaldh joined 21:48 Vlavv left 21:49 pmurias left
FROGGS m: grammar G { method TOP() { say nqp::getattr_i(self.falsish, Cursor, '$!from') }; token falsish { <!> } }; try G.parse("a") 21:52
camelia rakudo-moar 688c28: OUTPUT«0␤»
FROGGS m: grammar G { method TOP() { say nqp::getattr_i(self.falsish, Cursor, '$!pos') }; token falsish { <!> } }; try G.parse("a")
camelia rakudo-moar 688c28: OUTPUT«-3␤»
FROGGS how can this be True?
21:55 jnap1 joined, jnap left, jnap1 left
FROGGS I'm going to add Cursor.Bool... we'll see 21:56
japhb TimToady: If the one thing you created that gets forgotten because it's not needed enough is killfiles ... I call that a win. 21:58
22:00 Vlavv joined 22:01 treehug88 left
donaldh Who wants to be boggled? 22:02
The CORE.setting class file has the entire CORE.setting source text in its constants table. 22:03
tadzik :D
lizmat .HOW ?
donaldh Twice. The first is normal. The second is backwards.
flussence WAT 22:04
lizmat now *that* I find weird
jnthn Urgh
22:04 Ven joined
jnthn That means a Match or Cursor from the parser is somehow getting its way into there 22:04
donaldh :)
tadzik hahah 22:05
donaldh #35983 = String #35982 // \n: elbaifidomon 6lrep=tf tes :miv #\n\n\n}EREH_ERA_UOY{\n\n}\n;)WOHrammarG::ledomateM::6lreP(esopmoc.WOH.WOHrammarG::ledomateM::6lreP
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=35983
jnthn The once backwards isn't surprising, fwiw
tadzik the backwards bit is the best
jnthn The grammar uses <?after ...>
after works by evaluating a flipped AST of the regex over a reversed string.
Turns out then backtracking works out right
donaldh I'm sure this slows down startup a wee bit.
jnthn It helps me to just implement it and not think about it though, tbh :P 22:06
donaldh :)
jnthn Anyway, it caches a reversing of the input. :)
So that's why the backwards one is in there. But yeah, netiher should be.
That would be a good saving. Of time and memory. 22:07
donaldh++
donaldh Where / how should I start looking for a Match or Cursor that is getting serialized?
jnthn I'd first start by seeing if we end up in add_categorical 22:08
We'll end up in there, but: 22:09
if nqp::can(self, $canname) {
return 1;
}
That should always return while compiling the setting.
FROGGS fwiw, Labels get source code attached to gistify nicely... but that should be just a short string...
jnthn If it doesn't, then the setting is declaring an operator not in the setting, which is kind of a no-no.
22:10 tgt left 22:11 woolfy left
donaldh I'll take a look 22:12
dalek kudo/nom: b369683 | (Tobias Leich)++ | src/core/Cursor.pm:
failed cursors should Boolify to False

This fixes an issue where the following snippet said "True": grammar G { method TOP() { say so self.f }; token f { <!> } }; try G.parse("a")
22:13
donaldh add_categorical trait_mod:sym<trusts> 22:14
METAOP_TEST_ASSIGN:sym<//> 22:15
METAOP_TEST_ASSIGN:sym<||>
METAOP_TEST_ASSIGN:sym<&&>
FROGGS donaldh: that is the $canname? 22:16
donaldh yes
and it's getting past nqp::can test
jnthn ah
timotimo lucky we found this just before the rakudo release %)
jnthn I suspect it's been in the last N releases... :)
FROGGS it is always before a release :o)
donaldh infix:<op> 22:17
lizmat All tests successful. 22:23
Files=915, Tests=32169, 185 wallclock secs ( 8.79 usr 3.23 sys + 1142.96 cusr 149.05 csys = 1304.03 CPU)
22:23 micahjam97_ joined
micahjam97_ what do you guys think of a program that translates the keywords from something in your native language into the keywords of the programming language you're using, so that you can program in your native language? 22:24
lizmat teaching a programming language that has been translated to a local natural language
FROGGS micahjam97_: that might make sense when english is not that popular at your place... 22:25
lizmat has the big disadvantage that you cannot communicate with developers who are not proficient in that natural language
and you would need to translate all the documentation as well
tadzik micahjam97_: methinks if people can't learn 10 english words, they won't be able to learn a programming language anyway
lizmat and that is a moving target
flussence program in APL, problem solved :)
tadzik giggles at www.bbc.com/news/uk-england-24281192 22:26
22:26 dalek left
tadzik what is this I don't even 22:26
lizmat death is a solution to many problems, but in this case not a desired one :-)
micahjam97_ lizmat: that's not the case, the source code will be the translated into english
jnthn lizmat: Aww, back above 180 :)
22:26 dalek joined, ChanServ sets mode: +v dalek
lizmat with spesh disabled: Files=915, Tests=32169, 173 wallclock secs ( 8.31 usr 3.22 sys + 1060.11 cusr 118.62 csys = 1190.26 CPU) 22:28
gnight #perl6, see you in / from Sofia!
micahjam97_ for example, in spanish, you would write: mi $nombre = "Micah"; imprime "Hola todos!\n";, but the program will turn this into: my $nombre = "Micah"; print "Hola todos!\n"; 22:29
FROGGS gnight lizmat
jnthn lizmat: Travel safely! See you there!
timotimo oh, spesh makes the spectests take quite a bit longer, eh? 22:30
22:31 micahjam97_ left, Psyche^_ joined
donaldh tadzik: :-) it reminds me of the vegetable for mathematicians: nl.wikipedia.org/wiki/Romanesco_%28groente%29 22:31
tadzik hahah 22:32
jnthn timotimo: Somebody who doesn't mind patiently re-spectesting with tweaked spesh thresholds might be able to do better without harming longer-running things like perl6-bench
tadzik awesome
japhb .tell micahjam97_ Look up Lingua::Romana::Perligata. Then quake in fear.
yoleaux japhb: I'll pass your message to micahjam97_.
22:33 Akagi201 joined
tadzik good point :) 22:34
timotimo jnthn: ah, using the spectests as a good workload for setting the spesh tunables to a better position? 22:35
jnthn timotimo: Yes, but the verifying we didn't go too far and spoil our perl6-bench results :) 22:36
22:36 Psyche^ left
timotimo right 22:36
sounds ... great 22:37
:P
22:38 Akagi201 left
jnthn Glory awaits! 22:40
donaldh jnthn: what needs to be done to fix the add_categorical problem? 22:45
22:46 Ven left
donaldh Only two make it past the other checks in add_categorical: 22:47
add_categorical infix op infix:<op> &infix:<op>
colomon NativeCall doesn't work on JVM?
jnthn donaldh: I'm really not sure where those are coming from... 22:48
m: 1 op 2
camelia rakudo-moar 688c28: OUTPUT«===SORRY!=== Error while compiling /tmp/dJVPhIVk3C␤Two terms in a row␤at /tmp/dJVPhIVk3C:1␤------> 1 ⏏op 2␤ expecting any of:␤ postfix␤ infix stopper␤ infix or meta-infix␤ …»
jnthn ohhh 22:49
See zip and zip-latest
timotimo colomon: it should work
FROGGS rakudo/src/core/Supply.pm:591: my &infix:<op> = &with // &[,]; # hack for [[&with]] parse failure 22:50
donaldh Yep, I see them.
timotimo oh, could that work by now?
FROGGS [[&with]] does work nowadays
timotimo i seem to recall someone changed that recently
colomon timotimo: I just did a fresh JVM build, then tried to install NativeCall, and it failed boatloads of tests
FROGGS was just a two lines patch :o)
timotimo colomon: oh snap.
22:52 klaas-janstol left
jnthn Should sleep; flight & 22:54
FROGGS good night, good flight o/ 22:56
donaldh What should [op] change to? [[&with]] ?
jercos would Quantum Perl 6 define a prefix:<‽> operator? 22:57
22:57 xragnar_ joined, xragnar is now known as Guest38212, Guest38212 left, xragnar_ is now known as xragnar
FROGGS m: my &with = &[+]; say 42 [[&with]] 3 22:57
camelia rakudo-moar 688c28: OUTPUT«45␤»
FROGGS donaldh: like that
so we do not need to declare &infix:<op> at all 22:58
22:58 dwarring joined
donaldh Got it. 22:58
Will just check if this solved the problem 22:59
23:01 klaas-janstol joined
donaldh Hmm, CORE.setting source still getting serialized. 23:04
dwarring r: say (for 1..10 {$_ * $_ if $_ % 2}) # basic list comprehension
camelia rakudo-{parrot,jvm,moar} 688c28: OUTPUT«1 9 25 49 81␤»
dwarring r: say "{do $_ * $_ if $_ % 2 for 0..10}"; # list comprehension + interpolation 23:05
camelia rakudo-{parrot,jvm,moar} 688c28: OUTPUT«1 9 25 49 81␤»
dwarring r: say "{$_ * $_ if $_ % 2 for 0..10}"; # list comprehension + interpolation
camelia rakudo-{parrot,jvm,moar} 688c28: OUTPUT«␤»
dwarring it seems that list comprehension plays with interpolation... 23:06
FROGGS gnight
donaldh PR: github.com/rakudo/rakudo/pull/304 23:07
dwarring but only if I use the 'do for ...' syntax
dwarring 'night FROGGS
here's a couple more
donaldh 'night all
dwarring r; say (for 1..10 {$_ * $_ if $_ % 2}) 23:08
oops
r: say (for 1..10 {$_ * $_ if $_ % 2})
camelia rakudo-{parrot,jvm,moar} 688c28: OUTPUT«1 9 25 49 81␤»
timotimo dwarring: could be a precedence issue
m: for ^10 say $_ * |_ if $_ !%% 2 23:09
camelia rakudo-moar 688c28: OUTPUT«===SORRY!=== Error while compiling /tmp/QMZb8hHP7i␤Missing block␤at /tmp/QMZb8hHP7i:1␤------> for ^10 ⏏say $_ * |_ if $_ !%% 2␤ expecting any of:␤ postfix␤ infix stopper␤ infix or…»
timotimo m: for ^10 say { $_ * |_ if $_ !%% 2 }
camelia rakudo-moar 688c28: OUTPUT«===SORRY!=== Error while compiling /tmp/woIa_nV3jS␤Missing block␤at /tmp/woIa_nV3jS:1␤------> for ^10 ⏏say { $_ * |_ if $_ !%% 2 }␤ expecting any of:␤ postfix␤ infix stopper␤ infi…»
timotimo m: for ^10 { say $_ * |_ if $_ !%% 2 }
camelia rakudo-moar 688c28: OUTPUT«===SORRY!=== Error while compiling /tmp/y30PeTc8Jr␤Undeclared name:␤ _ used at line 1␤␤»
timotimo m: for ^10 { say $_ * $_ if $_ !%% 2 }
camelia rakudo-moar 688c28: OUTPUT«1␤9␤25␤49␤81␤»
timotimo m: say $_ * $_ if $_ !%% 2 for ^10
camelia rakudo-moar 688c28: OUTPUT«1␤9␤25␤49␤81␤»
timotimo m: ($_ * $_ if $_ !%% 2 for ^10).say 23:10
camelia rakudo-moar 688c28: OUTPUT«1 9 25 49 81␤»
timotimo m: (do $_ * $_ if $_ !%% 2 for ^10).say
camelia rakudo-moar 688c28: OUTPUT«1 9 25 49 81␤»
timotimo huh.
dwarring r: say "{(for 1..10 {$_ * $_ if $_ % 2})}"
camelia rakudo-{parrot,jvm,moar} 688c28: OUTPUT«1 9 25 49 81␤»
dwarring r: say "{for 1..10 {$_ * $_ if $_ % 2}}" 23:11
camelia rakudo-{parrot,jvm,moar} 688c28: OUTPUT«␤»
dwarring parens also make a difference somehow
23:13 donaldh left
dwarring m: "{($_ * $_ if $_ !%% 2 for ^10)}".say 23:14
camelia rakudo-moar 688c28: OUTPUT«1 9 25 49 81␤»
dwarring m: "{$_ * $_ if $_ !%% 2 for ^10}".say 23:15
camelia rakudo-moar 688c28: OUTPUT«␤»
TimToady see S04:658 23:17
synopsebot Link: perlcabal.org/syn/S04.html#line_658
TimToady basically, {} are always going to suppress return value from loops inside
after much haggling over the years, that's what we settled on as Least Surprise 23:18
ss/loops inside/loops directly inside/
23:20 firnsy_ joined, firnsy left
TimToady suspects the optimizer should turn !%% into % in boolean context, if it doesn't already 23:20
23:21 raiph left, klaas-janstol left, thou left
dwarring ok that makes sense 23:21
so I do need to put the loops in parens 23:22
TimToady you can interpolate using $() too 23:23
dwarring r: say "$($_ * $_ if $_ % 2 for 0..10)"
camelia rakudo-{parrot,moar} 688c28: OUTPUT«1 9 25 49 81␤» 23:24
..rakudo-jvm 688c28: OUTPUT«␤»
dwarring ahhh!
err except for jvm\ 23:25
TimToady huh
trés peculiar
dwarring i'll ticket it 23:26
23:27 raiph joined, spider-mario left
TimToady good idea 23:29
j: say "foo$('stuff')bar"
camelia rakudo-jvm 688c28: OUTPUT«foostuffbar␤»
TimToady just seems like the comprehension is what goes astray, so maybe in sink context for some reason 23:31
j: say "foo$( say 'hi' for 1..10 )bar"
camelia ( no output )
TimToady o.O
23:34 Akagi201 joined
dwarring j: say "foo$( say 'hi' for 1..10 )bar" 23:38
23:38 Akagi201 left
camelia rakudo-jvm b36968: OUTPUT«(timeout)» 23:39
dwarring j: say "alive"
camelia rakudo-jvm b36968: OUTPUT«alive␤»
dwarring j: say "foo$( say 'hi' for 1..10 )bar" 23:40
camelia rakudo-jvm b36968: OUTPUT«hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤foobar␤»
23:44 nhayashi_ left
TimToady j: say "foo$( say 'hi' for 1..10 )bar" 23:44
camelia rakudo-jvm b36968: OUTPUT«hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤foobar␤» 23:45
23:45 nhayashi joined
TimToady beats me 23:45
23:50 yukko left 23:51 firnsy_ is now known as firnsy, yukko joined