Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2015-05-22

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:11 jack_rabbit joined #perl6
00:15 vendethiel joined #perl6
00:30 avuserow m: use NativeCall; my Pointer[Void] $f; # known LTA error?
00:30 camelia rakudo-moar 2b08d6: OUTPUT«===SORRY!===␤Cannot invoke this object (REPR: Null, cs = 0)␤»
00:44 tinyblak joined #perl6
00:53 laouji joined #perl6
01:16 aborazmeh joined #perl6
01:16 aborazmeh joined #perl6
01:16 al2o3-cr left #perl6
01:25 jferrero joined #perl6
01:53 colomon joined #perl6
01:53 adu joined #perl6
01:54 vendethiel joined #perl6
01:54 raydiak ...and on day 4 of the 5-day housesitting, I figure out how to reliably stay connected to the wireless router
01:55 japhb What was the trick?
01:55 yoleaux 21 May 2015 06:30Z <FROGGS> japhb: the commit states "round up to a multiple of"... maybe it is my bad English; if the biggest elem (perhaps an inlined struct) is bigger than 8 bytes (void* on x86_64), then it should allocate a multiple of 8 bytes
01:55 yoleaux 21 May 2015 06:31Z <FROGGS> japhb: there is already that bit of code: https://github.com/MoarVM/MoarVM/blob/4102a25b1acea1d453d87f4e614d328ba0af8816/src/6model/reprs/CStruct.c#L242
01:56 raydiak pretty brain-dead simple in this case, actually...leaving a ping to my server running every 5 seconds in the background
01:56 raydiak no pans or tin-foil required :)
01:57 japhb Sigh ... WAPs, why do you so often suck so much?
01:59 * raydiak shakes fist at verizon mifi :P
02:02 jack_rabbit joined #perl6
02:02 skids Because they have to have the lastest pnp consumer bullcrap features and can't just do one thing and do it well.
02:08 * raydiak wonders if it isn't an adjustable battery-saving feature for the mifi or something, but didn't want to go prodding at it since the owner doesn't seem to have any complaints
02:09 skids Either that or it was only ever tested with chatty clients because they epect everyone to be sending SSDP hails constantly.
02:10 raydiak yeah all the usual windows network spam probably keeps it alive for most people :)
02:11 * raydiak is eating a steak in a room with three dogs and is getting looked at like *he's* for dinner...
02:16 xiaomiao joined #perl6
02:16 jdv79 look at them as dinner?
02:19 dayangkun joined #perl6
02:20 raydiak heh if I do anything other than ignore them it gets their terribly confused hopes up
02:20 colomon .oO(He’s looking at us.  Maybe we can eat him.)
02:20 dayangkun joined #perl6
02:21 itz joined #perl6
02:22 skids https://www.youtube.com/watch?v=b9sWekhWANc
02:22 raydiak <blood spatter on camera lens with screaming, cut to a pan over the living room floor with three dogs chomping on raydiak's disembodied limbs>
02:23 raydiak ha ha skids :)
02:24 raydiak <end camera pan on raydiak's untouched steak; fade out; roll credits>
02:27 chenryn joined #perl6
02:28 colomon joined #perl6
02:30 rmgk_ joined #perl6
02:47 cibs joined #perl6
02:48 tinyblak joined #perl6
02:53 noganex joined #perl6
03:10 gerry_ joined #perl6
03:55 zostay m: my Int $a = 42 if False; $a
03:55 camelia rakudo-moar 2b08d6: ( no output )
03:56 zostay m: my Int $a = 42 if False; $a.perl
03:56 camelia rakudo-moar 2b08d6: ( no output )
03:56 zostay m: my Int $a = 42 if False; say $a.perl
03:56 camelia rakudo-moar 2b08d6: OUTPUT«Int␤»
03:58 TimToady m: my Int $a = (42 if False); say $a.perl
03:58 camelia rakudo-moar 2b08d6: OUTPUT«Type check failed in assignment to '$a'; expected 'Int' but got 'Empty'␤  in block <unit> at /tmp/ZME6SxVzh3:1␤  in any <unit-outer> at /tmp/ZME6SxVzh3:1␤␤»
04:00 Calibellus joined #perl6
04:31 ][Sno][ joined #perl6
04:32 raiph .tell TimToady I've left a comment on your 2012 OKness proposal. Apologies if my comment is not OK. :)
04:32 yoleaux raiph: I'll pass your message to TimToady.
04:35 kaare__ joined #perl6
04:39 TimToady good gried, even I don't believe half of that now :)
04:39 yoleaux 04:32Z <raiph> TimToady: I've left a comment on your 2012 OKness proposal. Apologies if my comment is not OK. :)
04:44 dalek rakudo/nom: 7a606e3 | TimToady++ | docs/ChangeLog:
04:44 dalek rakudo/nom: various things that happened
04:44 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/7a606e31dc
04:49 chenryn joined #perl6
04:57 gerry_ joined #perl6
05:04 jack_rabbit joined #perl6
05:05 laouji joined #perl6
05:13 quester joined #perl6
05:20 rindolf joined #perl6
05:26 jack_rabbit joined #perl6
05:32 gerry_ joined #perl6
05:33 avalenn joined #perl6
05:41 tinyblak joined #perl6
05:43 FROGGS joined #perl6
05:44 FROGGS morning #perl6
05:46 TimToady mornin', I added some things to the Changelog since it looked like release was postponed a day
05:46 FROGGS TimToady++
05:47 FROGGS I have a list of things to add (114 entries), though I prefer your wording of course...
05:47 FROGGS m: class T { has $!foo is rw }
05:47 camelia rakudo-moar 7a606e: OUTPUT«useless use of 'is rw' on $!foo  in any  at src/Perl6/World.nqp:2499␤»
05:49 TimToady maybe some time we .tc all these messages
05:49 FROGGS yes, makes sense
05:49 FROGGS (from a German POV)
05:51 Foxcool joined #perl6
05:52 Foxcool joined #perl6
05:55 jack_rabbit joined #perl6
05:56 domidumont joined #perl6
06:01 domidumont joined #perl6
06:03 gerry_ joined #perl6
06:07 diana_olhovik_ joined #perl6
06:12 gerry_ joined #perl6
06:13 chenryn joined #perl6
06:24 gerry_ joined #perl6
06:24 sue__ joined #perl6
06:44 masak morning, #perl6
06:44 moritz \o
06:44 masak I think I slept through the release. was there a release?
06:45 FROGGS masak: there was 1/3rd release
06:45 FROGGS masak: I just released MoarVM, and will release and/rakudo in a bit
06:47 masak ok.
06:47 dalek rakudo/nom: 5cf700f | FROGGS++ | docs/ROADMAP:
06:47 dalek rakudo/nom: remove NFG (as being done) from ROADMAP
06:47 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/5cf700f3dd
06:47 masak why the delay, ooc?
06:47 * masak hasn't backlooged
06:48 FROGGS masak: I cannot upload MoarVM tarballs and jnthn was afk...
06:49 FROGGS but he'll pop up in the next hours to do the upload, so I took the time yesterday and this morning to fix a few things and polish changelogs
06:51 moritz oh, we now have Polish changelogs? :-)
06:54 * masak .oO( szejnzh logky )
06:55 abraxxa joined #perl6
06:58 RabidGravy joined #perl6
07:00 FROGGS m: use MONKEY_TYPING
07:00 camelia rakudo-moar 7a606e: OUTPUT«Saw 1 occurrence of deprecated code.␤'use MONKEY_TYPING' seen at:␤  /tmp/zn8dJLCPrT, line 1␤Deprecated since v2015.4, will be removed with release v2015.9!␤Please use 'use MONKEY-TYPING' instead.␤»
07:00 FROGGS m: use MONKEY-TYPING
07:00 camelia rakudo-moar 7a606e: ( no output )
07:01 * masak .oO( Please use 'use "use MONKEY-TYPING" instead'. ) :P
07:02 FROGGS hehe
07:02 masak FROGGS: you know how it's considered a sentence smell in English to end a sentence with a preposition?
07:03 masak well, surely then, using *two* prepositions would be more smelly, yeah?
07:03 masak there's this example scenario where a dad walks upstairs with a book he chose, to read to his daughter as a goodnight story.
07:03 masak and the daughter furrows he brows and asks
07:04 masak "what did you bring that book that I don't want to be read out of up for?"
07:04 masak four-preposition sentence. :)
07:04 masak er
07:05 masak "read to out of up for". five.
07:05 FROGGS 'What'ya fell over for?' -- Stan
07:06 masak example courtesy of http://www.amazon.com/Language-Instinct-Mind-Creates-P-S/dp/0061336467/ IIRC
07:06 masak (which book comes highly recommended, Pinker++)
07:06 FROGGS masak: ooc, why are you telling me that?
07:06 masak FROGGS: just reminded of that book and that example by the recursive 'use' thing above...
07:07 FROGGS ahh :o)
07:07 masak but it also struck me as I told this that it would be interesting to see how a German would react to the example, since you do this with (auxiliary?) verbs
07:07 masak stack them and then pop them at the end of the sentence
07:08 masak I've heard tell of German professors who are so good at this, that when they come to the end of a long sentence, they have like, six verbs to pop
07:08 masak and the students just sit there, trying frantically to map all the verbs back to what was said earlier in the sentence
07:08 moritz masak: though most politicians who construct such sentences don't properly finish them
07:08 masak augh
07:09 moritz and in my studies (CS, physics), I haven't come across such sentences
07:09 masak Google Translate usually makes a mess of such sentences, by the way
07:09 moritz might be a speciality of some topics
07:09 moritz understandable :-)
07:10 moritz try to feed Kant into Google Translate on occasion :-)
07:10 masak haha
07:10 * masak wonders what Kant would've thought about Google Translate
07:10 moritz I don't know; I just know that if he wrote down his thoughts, it'd be just one sentence, and I'd need about an hour to understand it
07:11 masak did I tell y'all I've met Hofstadter?
07:11 moritz you did?
07:11 masak I was in the audience for a talk he gave at Uppsala uni.
07:11 moritz oooh
07:11 masak I asked him a question about AI.
07:11 masak don't remember how I phrased it, but basically "will we have (strong) AI soon?"
07:12 masak his answer was "of course" and "of course not" :)
07:12 moritz :-)
07:12 FROGGS hehe
07:12 masak that is, examples like Google Translate, seemingly impressive on the surface, will keep popping up (and do useful things)
07:13 moritz don't ask Hofstadter for advice, for his answer will be both Aye and Nay :-)
07:13 nwc10 and take longer than you expect, even ...
07:13 masak but that's a far cry from the real thing, translating with *understanding* of the *concepts* involved. and that won't happen anytime soon (and if you think it will, then that's likely because you haven't studied the problem for decades like Hofstadter has)
07:14 moritz I think the concept of "understanding" will blur
07:14 abraxxa joined #perl6
07:14 masak that was several years ago. since then, I've read more of his works, and I feel a little bit sheepish for asking him such a question. when his position is very clear from his writings.
07:14 masak still, somehow, I'm glad I asked :)
07:14 moritz if you have a huge neural network, and feed it enough stuff, will it understand it?
07:15 moritz will you even know if it does?
07:15 masak moritz: did you see the most recent neural network scandal (Flickr)?
07:15 moritz masak: no
07:15 * masak goes hunting for it
07:15 masak http://money.cnn.com/2015/05/21/technology/flickr-racist-tags/index.html
07:16 masak so... I rest my case :/
07:16 masak not the first time this happens. Amazon had some really offensive book recommendations a couple years back.
07:17 moritz well, these are cases where it's pretty clear the algorithms are pretty far away from "understanding"
07:17 moritz but if the networks gets 3 to 6 orders of magnitudes betters, and the algorithms more intelligent
07:17 moritz and they tag as well as a 4 year old, or maybe a 6 year old
07:18 moritz can we then know if it has "understanding"?
07:18 xiaomiao heh, 'understanding' in translation ... even humans fail that
07:18 xiaomiao "The pressure takes place in Germany" # quote from a contract with a value of a few MEur
07:19 moritz and if we claim the computer doesn't have a mental model of the stuff, do we claim the same about our children?
07:19 moritz masak: he, that's an interesting angle: for some problem (like image tagging), will our children ever be better than the best software out there? :-)
07:19 masak xiaomiao: I'm currently reviewing a document that had "increase user viscosity" when it meant "increase user retention".
07:20 xiaomiao masak: that ... uhm ... eeeew
07:20 masak moritz: I can imagine that computers will at some point overtake children (and adults).
07:20 masak moritz: they could with chess, so...
07:20 xiaomiao masak: statistically yes, but in corner cases it'll be extra fun
07:20 moritz right
07:20 masak corner cases are always fun.
07:24 Ven joined #perl6
07:24 Ven hi, #perl6!
07:25 FROGGS I think I'll move the linenoise notes to to the current release, since they were added just two weeks ago
07:25 masak hi, Ven \o
07:28 Ven is there a way to change the "greediness" of `~`?
07:28 Ven say, I write '(' ~ ')' <xyz> – I'd like perl6 to check for ')' instantly, and not try anything else if it matches instantly
07:31 DrForr The way I understand ~ it'd have to match <xyz> beforehand, which could expand to something containing ')'.
07:33 DrForr token xyz { '(' 'xyz' ')' } token TOP { '(' ~ ')' <xyz> } "((xyz)' ~~ /<TOP>/ # for instance?
07:34 FROGGS Ven: jnthn has it on his todo
07:34 DrForr Never mind then :)
07:34 dalek rakudo/nom: bfb1ac2 | FROGGS++ | docs/ChangeLog:
07:34 dalek rakudo/nom: add more changes, reorganize changelog
07:34 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/bfb1ac2b7a
07:34 Ven DrForr: well, I think '(' [ ')' | <xyz> ')' ] should LTM
07:34 Ven FROGGS: would that be a special syntax, or is that the expected semantics?
07:35 FROGGS Ven: the syntax stays
07:35 FROGGS Ven: the consensus is that it will backtrack
07:35 Ven I'd like it not to backtrack at all, and just go "the fast lane" :)
07:35 FROGGS (not quite what you said though)
07:35 Ven I mean, I'd be okay with a different syntax
07:36 FROGGS '(' ~? ')' <xyz> # ?
07:36 Ven no idea :-)
07:37 DrForr While I'm watching the channel :) who should I talk to about adding Readline to the ecosystem page?
07:37 zakharyas joined #perl6
07:37 masak DrForr: what's your github user name?
07:38 DrForr Guess :) 'drforr'
07:38 moritz DrForr: accept the invitation I just send you
07:38 moritz DrForr: then do it yourself :-)
07:38 DrForr Will do.
07:38 masak oh, two invitations, then.
07:38 masak moritz++ # faster
07:39 DrForr Heh. I've already got the project checked out somewhere :)
07:40 masak https://github.com/perl6/ecosystem is what you want
07:41 DrForr Yeah, I think I already made my edits, but I'll do it from scratch.
07:44 dalek rakudo/nom: 6b7bcaf | FROGGS++ | docs/ChangeLog:
07:44 dalek rakudo/nom: deduplicate mentioning $?FILE change
07:44 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6b7bcaff2e
07:48 g4 joined #perl6
07:48 g4 joined #perl6
07:48 quester left #perl6
07:49 darutoko joined #perl6
07:50 dalek rakudo/nom: dc62c49 | FROGGS++ | docs/announce/2015.05.md:
07:50 dalek rakudo/nom: add announcement for 2015.05
07:50 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/dc62c495e9
07:51 dalek rakudo/nom: f6b1398 | FROGGS++ | docs/release_guide.pod:
07:51 dalek rakudo/nom: update release table
07:51 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f6b1398e02
07:55 dalek rakudo/nom: 24ea588 | FROGGS++ | docs/announce/2015.05.md:
07:55 dalek rakudo/nom: update list of contributors++
07:55 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/24ea588e16
07:55 tinyblak joined #perl6
07:55 FROGGS pleas review the announce and the changelog
07:57 dalek nqp: ccefa77 | FROGGS++ | / (2 files):
07:57 dalek nqp: bump VERSION to 2015.05
07:57 dalek nqp: review: https://github.com/perl6/nqp/commit/ccefa77c51
07:58 telex joined #perl6
08:03 lizmat good *, #perl6!
08:03 FROGGS hi literal
08:03 FROGGS err
08:03 FROGGS hi lizmat
08:03 lizmat so, is "use 'use MONKEY-TYPING'" enough of a bother to change ?
08:03 FROGGS no
08:04 lizmat ok, then I will not change it  :-)
08:04 FROGGS it is technically correct after all :o)
08:04 lizmat .oO( but but, we want more than technically correct!   :-)
08:05 FROGGS I know
08:05 FROGGS but not now
08:05 lizmat in any case, it will be gone by September
08:05 FROGGS which is soon ó.ò
08:06 masak yeah, I just thought it was funny :) no reason to fix anything
08:06 masak "technically, it's correct" sounds like the beginning of some mansplaining :P
08:06 FROGGS "mansplaining"?
08:07 FROGGS ahh
08:07 masak FROGGS: https://twitter.com/CoralineAda/status/601466548717367296
08:08 dalek ecosystem/drforr-readline: ccfef63 | drforr++ | META.list:
08:08 dalek ecosystem/drforr-readline: Add perl6-readline to ecosystem
08:08 dalek ecosystem/drforr-readline: review: https://github.com/perl6/ecosystem/commit/ccfef633a0
08:08 cognominal I note that my problems with the perl6 repl segfaults disappear when rebootstrapping panda and so reinstalling Linoise. Probably some error message whould help here
08:08 chenryn joined #perl6
08:09 moritz cognominal: you mean "Segmentation fault" isn't an error message? :-)
08:09 moritz (just kidding)
08:09 FROGGS uhh, it shall not segfault :o(
08:09 masak "7. thy shall not segfault"
08:09 FROGGS aye
08:10 Sqirrel joined #perl6
08:10 tinyblak_ joined #perl6
08:10 lizmat "construst hashes"
08:10 lizmat shouldn't that be "construct hashes" ?
08:11 moritz masak: is that from the list of rules from becoming an all-powerful overlord? :-)
08:11 dalek ecosystem: ccfef63 | drforr++ | META.list:
08:11 dalek ecosystem: Add perl6-readline to ecosystem
08:11 cognominal I mean probably some test about version somewhere would catch the problem before the segfault and would be an opportunity of an error message by rakudo insteaof of the underlying OS
08:11 dalek ecosystem: review: https://github.com/perl6/ecosystem/commit/ccfef633a0
08:11 dalek ecosystem: 4187c00 | drforr++ | META.list:
08:11 dalek ecosystem: Merge pull request #46 from perl6/drforr-readline
08:11 dalek ecosystem:
08:11 dalek ecosystem: Add perl6-readline to ecosystem
08:11 dalek ecosystem: review: https://github.com/perl6/ecosystem/commit/4187c00290
08:11 moritz s:2nd/from/for/
08:12 lizmat FROGGS: do we have a name for the release yet ?
08:13 FROGGS cognominal: there are tests for that, and the error message mentiones that there is a version skew in the dependency of the setting, caused by Linenoise.pm.moarvm
08:13 FROGGS lizmat: we have, Dresden
08:13 lizmat okidoki
08:13 FROGGS lizmat: do you propose something else?
08:14 fhelmberger joined #perl6
08:14 cognominal FROGGS: I don't see that. Only a mere segfault
08:14 lizmat FROGGS: not yet
08:15 laouji joined #perl6
08:16 FROGGS cognominal: can you run perl6-gdb-m next time? so we might know what causes the segfault
08:17 cognominal yes
08:22 lizmat FROGGS: the "construst hashes" is in the ChangeLog, hence my question
08:24 FROGGS ahh, missed your question :o)
08:25 DrForr Hrm, looks like I'll be able to make it for the P6 tutorial @ YAPC.
08:25 dalek rakudo/nom: 50abd69 | FROGGS++ | docs/ChangeLog:
08:25 dalek rakudo/nom: fix typo in changelog, lizmat++
08:25 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/50abd69059
08:27 virtualsue joined #perl6
08:28 lizmat I wonder if we shouldn't include contributors to roast in the contributor overview as well
08:28 lizmat especially since roast *is* defining the language
08:28 moritz if you do so, include nqp and moarvm as well
08:28 lizmat there you go, yes
08:28 lizmat wouldn't that make sense?
08:29 FROGGS I think so, yes
08:29 lizmat I mean, the repo's *are* available, so it would just be a matter of adjusting the script
08:29 lizmat ok, I'll have a stab at it
08:30 lizmat and let's see if I can make Perl 6 of it at the same time  :-)
08:30 laouji joined #perl6
08:30 masak DrForr: no, your reply didn't re-open #125226.
08:31 masak DrForr: lizmat++'s reply changed it from "new" to "open".
08:31 masak (that happens automatically on the first reply, IIUC)
08:31 masak I rejected the ticket, and it remains rejected.
08:32 DrForr Ah, okay. Like I said, purely a thinko although the fact that lives_ok{} takes a block sort of encouraged me to think that subtest} might work the same way. Incidentally it's only got partial pod according to perl6 --doc path/to/Test.pm # Might have to fix that at some point.
08:33 masak aye
08:34 DrForr That's the problem with "principle of least surprise" - It really depends upon who's being surprised.
08:35 rindolf joined #perl6
08:43 Foxcool joined #perl6
08:47 dakkar joined #perl6
08:52 espadrine_ joined #perl6
08:58 Ven .oO( I'm surprised it works )
09:01 danaj joined #perl6
09:05 masak I guess "least surprise" means something like "least surprise to an average user"
09:08 RabidGravy FROGGS, I put a note on the commit on the announce.md but I am both of "Jonathan Stowe" and "RabidGravy" so you can lost the latter
09:08 RabidGravy lose
09:09 lizmat RabidGravy: mind if I add you to CREDITS then?  so this won't have to be done manually in the future ?
09:09 FROGGS joined #perl6
09:09 RabidGravy yep, fine
09:09 RabidGravy :)
09:10 lizmat FROGGS: not to late to commit a doc patch ?
09:10 FROGGS lizmat: you can still commit (non breaking stuff) to rakudo, yes
09:10 lizmat ok, will patch both then  :-)
09:10 FROGGS lizmat++
09:10 FROGGS I just uploaded the nqp tarball...
09:11 FROGGS trying to get the contribs on moar, nqp and roast now
09:12 lizmat by rewriting tools/contributors.pl ?
09:12 FROGGS yes
09:12 lizmat ok, I'll stop doing that then as well
09:12 FROGGS heh
09:13 dalek rakudo/nom: 8c894fd | lizmat++ | / (2 files):
09:13 dalek rakudo/nom: Merge RabidGravy and Jonathan Stowe
09:13 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8c894fd174
09:16 masak this is a great reason to add people to CREDITS :P
09:17 lizmat for the commit message ?
09:17 mohij joined #perl6
09:18 * lizmat wonders whether this is something for timotimo: https://www.thedodo.com/hoodie-with-pouch-for-pets-1154767753.html
09:19 lizmat it might keep his cat from wandering over the keyboard :-)
09:19 FROGGS awwww
09:23 dalek rakudo/nom: db5cb76 | FROGGS++ | docs/announce/2015.05.md:
09:23 dalek rakudo/nom: also add cotributors of moar,nqp and roast
09:23 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/db5cb76212
09:23 FROGGS gah, typos!
09:23 DrForr Too late for --amend?
09:24 FROGGS --amend is nice until you pushed
09:31 cognominal joined #perl6
09:34 dalek rakudo/nom: c9d5ec2 | FROGGS++ | tools/contributors.pl:
09:34 dalek rakudo/nom: update contributors.pl to include moar, nqp and roast
09:34 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c9d5ec2a5e
09:35 dalek rakudo/nom: efd3b1b | FROGGS++ | docs/announce/2015.05.md:
09:35 dalek rakudo/nom: again, add more contributors
09:35 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/efd3b1ba3d
09:35 nwc10 are we a lynch mob? http://justinhileman.info/article/git-pretty/
09:36 laouji joined #perl6
09:36 lizmat FROGGS: mind if I rewrite contributors.pl to Perl 6 ?
09:37 FROGGS lizmat: no, go ahead
09:39 |Tux| Semicolon form of 'module' without 'unit' seen at:
09:39 |Tux| /pro/3gl/CPAN/rakudobrew/moar-nom/panda/ext/File__Find/lib/File/Find.pm, line 3
09:39 masak and so
09:39 |Tux| /pro/3gl/CPAN/rakudobrew/moar-nom/panda/ext/Shell__Command/lib/Shell/Command.pm, line 1
09:39 masak it begins
09:40 |Tux| and a few more of those
09:41 |Tux| no new RT's I follow fixed
09:41 FROGGS |Tux|: that's expected and will vanish soon
09:42 RabidGravy five character patch in most places I think :)
09:42 |Tux| just doning some feedback again
09:42 masak |Tux|: which RT is at the top of your priority list?
09:42 masak or s/priority/urgency/, perhaps
09:42 FROGGS |Tux|++
09:42 |Tux| RT#124191 and RT#124394
09:42 FROGGS lunch &
09:43 masak heh, of course he chose two :P
09:43 masak I was going to add "and when I say 'which RT', that means at most *two*..." :P
09:43 |Tux| next in line would be RT#123978
09:44 |Tux| but I expect a "won't fix" as possible answer there
09:45 masak yeah, https://rt.perl.org/Ticket/Display.html?id=124191 is beyond my powers. I did put in quite some effort to locate and fix that one.
09:45 RabidGravy Is there a way in travis-ci or something else of having a commit to rakudo occassion a smoke test of one's own code?
09:45 |Tux| RT#123888 possibly being related to RT#123978
09:45 masak |Tux|: https://rt.perl.org/Ticket/Display.html?id=124394 is fixed.
09:46 masak been fixed since Apr 26.
09:46 |Tux| I didn't mention that one today, did I? :)
09:46 masak <|Tux|> RT#124191 and RT#124394
09:46 |Tux| http://tux.nl/Files/20150522114625.png
09:46 masak that was the second of your top one priority RTs.
09:46 |Tux| must have been scrolling while viewing
09:47 |Tux| number 11 and 12
09:47 masak |Tux|++ # organized
09:47 |Tux| 124191 and 124298
09:48 masak https://rt.perl.org/Ticket/Display.html?id=124298 sounds urgent. surprised nobody's looked at it.
09:48 * |Tux| thinks he pointed enough at that here
09:48 |Tux| I do not want to be a constant nuisance :P
09:49 * masak searches the backlog for it
09:50 masak yeah, you did mention it quite a few times.
09:50 |Tux| Apr 14 11:52:16, Apr 18 23:17:18, May 02 13:54:40, May 04 21:41:55
09:53 * masak wonders if anyone except jnthn is going to dare crack open a problem pre-marked as "precompilation bug"
09:54 mohij joined #perl6
09:55 lizmat masak [Tux]  : fwiw, I think that problem has more to do with @*INC sanitation then anything else
09:55 lizmat which we all hope to fixe before the next release
09:55 lizmat *fix
09:56 lizmat it was getting to close to the current release to try and fix something so deep with such a big ecosystem fallout
09:56 lizmat that I stopped working on it last weekend
09:57 |Tux| I was not complaining. Just answering questions
09:58 lizmat yeah, I know...  I'm just saying it *is* on the radar
09:59 |Tux| good
09:59 |Tux| lizmat, you did not answer my *mail* regarding replacing regex with grammar
09:59 |Tux| any thoughts on that?
10:00 lizmat huh?  when was that ?
10:01 lizmat ah, 5th of may, found it
10:04 [Sno] joined #perl6
10:04 lizmat [Tux]: I think you need to post that more widely
10:05 lizmat I don't have any significant thoughts about that other than using a Grammar for it seems overkill
10:05 |Tux| like to PM or even wider? (/me does not do blogs)
10:05 lizmat no, just on perl6-language or so
10:06 |Tux| I am not on that list I think
10:06 lizmat or maybe even perl6-user
10:06 lizmat there's not a lot of traffic on that (yet)
10:10 lizmat FROGGS: is there a reason you're doing both ../MoarVM *and* nqp/MoarVM ?
10:15 bjz joined #perl6
10:16 andreoss joined #perl6
10:27 virtualsue joined #perl6
10:28 jdv79 jdv79 and Justin DeVuyst are the same person
10:29 * masak .oO( says who? ) :P
10:30 colomon citation, please.
10:30 colomon ;)
10:30 jdv79 both are in the contrib list - that's why i mention it
10:30 dalek rakudo/nom: fab519c | (Carl Masak)++ | docs/announce/2015.05.md:
10:30 dalek rakudo/nom: jdv79 and Justin DeVuyst are the same person
10:30 dalek rakudo/nom:
10:30 dalek rakudo/nom: jdv79++
10:30 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/fab519c50f
10:30 masak fix'd
10:31 lizmat for now, but not for the next release  :-(
10:31 lizmat :-)
10:31 masak jdv79: mind if I also add you to the CONTRIBUTORS file?
10:31 masak er, CREDITS
10:31 jdv79 whatever fixes it for real
10:32 |Tux| lizmat, ENOFREETIME to also join perl6-users and translate that suggestion for now
10:32 |Tux| My love turned 0x32 today :)
10:32 lizmat adding your name to CREDITS
10:32 lizmat ah, that's a nice age, I remember it well!
10:32 dalek rakudo/nom: d1d2523 | (Carl Masak)++ | CREDITS:
10:32 dalek rakudo/nom: add jdv79
10:32 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d1d25238fb
10:32 masak fix'd for real
10:32 lizmat :-)
10:33 FROGGS lizmat: my repos are all on the same level, and others have rakudo/nqp/MoarVM
10:33 masak jdv79: feel free to add more details to that file if you want
10:33 jdv79 cool, thanks
10:33 laouji joined #perl6
10:33 lizmat FROGGS: but wouldn't you say that a release manager would run this script in a "normal" user release
10:33 lizmat aka, with an nqp and an nqp/MoarVM ?
10:34 FROGGS lizmat: I doubt that
10:35 FROGGS lizmat: I dont run the tools/contributors.pl or the tai-seconds script in the extracted tarball
10:35 FROGGS because that comes earlier, and has nothing todo with tarball testing
10:35 lizmat true
10:35 FROGGS lizmat: also, in the extracted tarball scenario you probably dont have the git repo's anymore
10:35 lizmat but although I have both a ../MoarVM and a ../nqp, I also have a nqp and a nqp/MoarVM
10:36 lizmat so in my case, the commits in nqp and MoarVM would be counted twice
10:36 FROGGS lizmat: maybe that's why you have to nuke your install/ every now and then... you have to many checkouts :o)
10:36 FROGGS lizmat: it dedups the authors by name
10:36 FROGGS so, no harm done
10:40 dalek rakudo/nom: 89439d2 | FROGGS++ | tools/build/NQP_REVISION:
10:40 dalek rakudo/nom: [release] bump NQP revision
10:40 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/89439d2b1e
10:40 dalek rakudo/nom: 7b0ce69 | FROGGS++ | VERSION:
10:40 dalek rakudo/nom: [release] bump VERSION
10:40 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/7b0ce69fc1
10:43 laouji joined #perl6
10:45 lizmat FROGGS: running build and spectest
10:46 FROGGS me too
10:46 lizmat yeah, but not on OS X  :-)
10:46 FROGGS true :o)
10:52 masak the .reals method in Complex
10:52 masak we've talked about this before, but never reached consensus
10:52 masak it's a spectacularly bad name for what it actually does
10:52 masak it can wait until after release of course, but I would like to suggest it be renamed to .parts
10:52 * FROGGS .oO( uppercase it )
10:53 masak FROGGS: :P
10:53 colomon m: say (3/4).nude
10:53 FROGGS that's what we usually do, no? :D
10:53 camelia rakudo-moar d1d252: OUTPUT«3 4␤»
10:53 masak I'd suggest .components, but it's a bit long
10:53 colomon m: say (3 + 4i).reals
10:53 lizmat t/spec/S02-names/pseudo.rakudo.moar                         (Wstat: 0 Tests: 142 Failed: 0)
10:53 camelia rakudo-moar d1d252: OUTPUT«3 4␤»
10:53 lizmat TODO passed:   79
10:53 masak under that naming scheme, it should be called .reim
10:53 lizmat strange flapper just now in spectest
10:53 colomon m; say (3 + 4i).reim
10:53 colomon m: say (3 + 4i).reim
10:53 camelia rakudo-moar d1d252: OUTPUT«Method 'reim' not found for invocant of class 'Complex'␤  in block <unit> at /tmp/G19sLG5cIy:1␤  in any <unit-outer> at /tmp/G19sLG5cIy:1␤␤»
10:54 lizmat FROGGS: test / spectest clean on Moar
10:54 FROGGS lizmat: awesome, thank you
10:55 FROGGS again "Tests out of sequence" for one test file, sigh
10:56 lizmat FROGGS: yeah, but I'm afraid we can't let that be a stopper
10:56 FROGGS I know
10:56 bjz joined #perl6
10:56 FROGGS I just wonder
10:56 lizmat it's just something that has been lurking in the background for many months now
10:56 lizmat and which jnthn is slowly unearthing now
10:57 lizmat it's just closer to the surface now  :-)
10:57 FROGGS many months? it is quite new to me
10:57 lizmat *that* particular type of flap is new indeed
10:58 lizmat but we've had flappers for many months now, and they're fewer now than before, is my impression
10:58 lizmat make test clean on JVM, running spectest now
10:59 FROGGS I run another spectest and then will judge if I skip t/spec/integration/advent2013-day14.t
11:00 Ven joined #perl6
11:00 xfix joined #perl6
11:01 lizmat argh, just found that pipe() is not paying attention to $*CWD
11:01 lizmat probably been there for several releases already
11:02 FROGGS huh?
11:02 FROGGS how did you find out?
11:02 FROGGS the contribs script?
11:02 lizmat no, sub indir in io_operators.pm
11:03 lizmat I mean, in combination with
11:03 lizmat pipe
11:03 lizmat while rewriting contributors.pl
11:03 FROGGS yes, that's what I mean
11:04 laouji joined #perl6
11:06 * FROGGS rebuilds the tarball
11:09 lizmat hmmm.. seems to be related to gather ??
11:09 mr-foobar joined #perl6
11:09 lizmat $ 6 'indir "nqp", { pipe("pwd").lines.say }'
11:09 lizmat /Users/liz/Github/rakudo.moar/nqp
11:10 lizmat $ 6 'say indir "nqp", { gather for pipe("pwd").lines { take $_ } }'
11:10 lizmat /Users/liz/Github/rakudo.moar
11:11 FROGGS confirmed
11:11 lizmat not related to pipe(), but gather:
11:11 lizmat $ 6 'say indir "nqp", { $*CWD }'
11:11 lizmat "/Users/liz/Github/rakudo.moar/nqp".IO
11:11 lizmat $ 6 'say indir "nqp", { gather { take $*CWD } }'
11:11 lizmat "/Users/liz/Github/rakudo.moar".IO
11:12 lizmat I guess that's the same issue really as with start { }
11:12 andreoss joined #perl6
11:13 andreoss m: say @*INC».IO
11:13 camelia rakudo-moar d1d252: OUTPUT«"/home/camelia/file#/home/camelia/.perl6/2015.04-368-gd1d2523/lib".IO "/home/camelia/inst#/home/camelia/.perl6/2015.04-368-gd1d2523".IO "/home/camelia/file#/home/camelia/rakudo-inst-2/share/perl6/lib".IO "/home/camelia/file#/home/camelia/rakudo-inst-2/shar…»
11:13 lizmat $ 6 'say (indir "nqp", { start { $*CWD } }).result'
11:13 lizmat "/Users/liz/Github/rakudo.moar".IO
11:13 lizmat yup, same o same o
11:13 FROGGS "/home/camelia/file#/home/camelia/rakudo-inst-2/share/perl6/lib" **shudder**
11:13 andreoss p6doc is broken because of it
11:15 andreoss m: say @*INC.map(*.subst: /\w+ '#'/, '')».IO
11:15 camelia rakudo-moar d1d252: OUTPUT«"/home/camelia/.perl6/2015.04-368-gd1d2523/lib".IO "/home/camelia/.perl6/2015.04-368-gd1d2523".IO "/home/camelia/rakudo-inst-2/share/perl6/lib".IO "/home/camelia/rakudo-inst-2/share/perl6/vendor/lib".IO "/home/camelia/rakudo-inst-2/share/perl6/site/lib".IO…»
11:15 FROGGS m: say @*INC.map(CompUnitRepo.new(*))».IO
11:15 camelia rakudo-moar d1d252: OUTPUT«Type check failed in binding $spec; expected 'Str' but got 'Whatever'␤  in block <unit> at /tmp/ifPhRt7ZVR:1␤  in any <unit-outer> at /tmp/ifPhRt7ZVR:1␤␤»
11:15 chenryn joined #perl6
11:15 FROGGS m: say @*INC.map({CompUnitRepo.new($_)})».IO
11:15 camelia rakudo-moar d1d252: OUTPUT«"/home/camelia/.perl6/2015.04-368-gd1d2523/lib".IO "/home/camelia/.perl6/2015.04-368-gd1d2523".IO "/home/camelia/rakudo-inst-2/share/perl6/lib".IO "/home/camelia/rakudo-inst-2/share/perl6/vendor/lib".IO "/home/camelia/rakudo-inst-2/share/perl6/site/lib".IO…»
11:15 FROGGS andreoss: that's the correct way
11:18 virtualsue left #perl6
11:19 FROGGS I'm not happy with the cur specs in @*INC, but I have no idea what might be better instead
11:19 FROGGS it is like we are lacking an obvious api
11:19 lizmat the API is really "use lib" and nothing else
11:19 FROGGS and 'use lib' is just a tiny part of what we need
11:19 andreoss should i fix it in p6doc?
11:20 lizmat FROGGS: what else do we need if use lib supports a :last and a :only named param ?
11:20 FROGGS lizmat: installer need to walk the curs / install locations etc
11:20 FROGGS it is not all about 'use lib'
11:20 FROGGS lizmat: I am not sure
11:20 moritz andreoss: ys please
11:20 moritz *yes
11:20 FROGGS that's part of the problem I have
11:21 lizmat fwiw, I'm seeing some spectest failures on JVM  :-(
11:21 FROGGS we need to sketch a lot scenarios
11:21 FROGGS hmpf
11:21 FROGGS I'm still rebuilding
11:22 FROGGS andreoss++
11:24 FROGGS lizmat: we should add real world scenarios to roast, and then figure out how to solve them
11:24 lizmat agree
11:24 lizmat although I'm not too sure it should be roast
11:25 lizmat but yeah, somewhere
11:25 FROGGS thinking of: panda, I::P5 (C libs), dist A provides resources for dist B
11:25 FROGGS lizmat: we need to make sure that we test that often enough
11:25 |Tux| does anyone have a public accessable *32bit linux available?
11:26 FROGGS all of these involve testing -I, -M, 'use lib' and other stuff... so it pretty much belongs to roast
11:26 laouji joined #perl6
11:26 FROGGS |Tux|: only a local VM, why?
11:27 |Tux| I just realized I cannot check 32bit builds anymore as I have no access to 32bit systems at all after I upped my laptop from 32bit OS to 64bit
11:27 |Tux| feels like a gap in my testing range :]
11:27 AlexDaniel joined #perl6
11:27 FROGGS testing ancient 32bit systems... that's like testing hpux... ohh wait
11:27 FROGGS :P
11:28 * |Tux| still tests with perl5.6.1
11:28 |Tux| and I got a request for pcre-8.36 for HP-UX 11.00 only last week!
11:28 FROGGS wow
11:29 |Tux| I shipped 11.00 CD images to Italy after a loooooong discussion with HP:
11:29 Sqirrel joined #perl6
11:30 |Tux| they are not able to get to those images. I cannot ship them according to my contract. they want to help the customer
11:31 |Tux| so they eventually mailed me a signed pdf asking me to be so kind to send the iso's to Italy but to not put them on-line as that is not jurisdictial (bad word?) allowed
11:31 |Tux| :}
11:32 |Tux| legally was the word I was looking for
11:32 FROGGS at least the customer got the support :o)
11:32 |Tux| and he was very happy
11:33 |Tux| FROGGS, could you do a final check on http://hmbrand.home.xs4all.nl/Text-CSV_XS-1.18.tgz on that 32bit system?
11:34 |Tux| I'll make a new virtualbox later locally so I don't have to ask again
11:34 FROGGS gimme a sec
11:34 |Tux| it passes on 32bit HP-UX 10.20, so I have good hopes here
11:35 FROGGS lizmat: can you gist your jvm spectest fallout?
11:35 lizmat I will when it's done
11:35 |Tux| X-mas!
11:37 FROGGS |Tux|: Files=28, Tests=50211, 59 wallclock secs ( 7.21 usr  0.28 sys + 55.18 cusr  2.01 csys = 64.68 CPU)
11:37 FROGGS Result: PASS
11:37 |Tux| thnx
11:37 FROGGS you're welcome
11:37 dalek doc: 89b2d19 | andreoss++ | bin/p6doc (2 files):
11:37 dalek doc: Traversing @*INC correctly
11:37 dalek doc: review: https://github.com/perl6/doc/commit/89b2d19e85
11:38 colomon t/spec/S02-types/bag.t failing badly on OS X…
11:39 colomon or… seems like it’s doing something really weird with the TAP and breaking my prove?
11:39 lizmat looks ok to me
11:39 lizmat All tests successful.
11:39 lizmat Files=1, Tests=193,  2 wallclock secs ( 0.06 usr  0.01 sys +  1.33 cusr  0.07 csys =  1.47 CPU)
11:39 FROGGS colomon: for me too
11:39 FROGGS colomon: only in a spectest run though it seems
11:40 colomon lizmat:
11:40 colomon t/spec/S02-types/bag.rakudo.moar (Wstat: 0 Tests: 194 Failed: 1)
11:40 colomon Failed test:  193
11:40 colomon Parse errors: Tests out of sequence.  Found (1) but expected (48)
11:40 colomon Tests out of sequence.  Found (48) but expected (49)
11:40 colomon Tests out of sequence.  Found (49) but expected (50)
11:40 colomon Tests out of sequence.  Found (50) but expected (51)
11:40 colomon Tests out of sequence.  Found (51) but expected (52)
11:40 colomon Displayed the first 5 of 148 TAP syntax errors.
11:40 lizmat colomon: can you repeat that ?
11:40 colomon lizmat: already have about four times
11:41 FROGGS something is fishy there
11:41 colomon ok 16 - ...with the right elements
11:41 colomon 1..2
11:41 colomon ok 1 - code dies
11:41 colomon ok 2 - right exception type (X::Assignment::RO)
11:41 colomon ok 17 - Can't assign to an element (Bags are immutable)
11:41 colomon etc
11:41 lizmat colomon: what's fishy there ?
11:42 lizmat that's a subtest
11:42 colomon (that one came from calling prove directly instead of using make
11:42 colomon )
11:42 lizmat I don't see the fishyness
11:42 laouji joined #perl6
11:42 colomon Well, “ Found (1) but expected (48)” is coming because a subtest starts after test 47
11:43 FROGGS hmmm
11:44 lizmat so it would seem the indent of the subtest
11:45 lizmat is lost
11:46 FROGGS ups
11:46 FROGGS Test.pm line 73 and 74... shall these be a single say statement?
11:46 FROGGS in case we flush after print
11:47 FROGGS I'll just change it
11:47 laouji joined #perl6
11:48 colomon lizmat: oh, the indent is being broken by this message:
11:48 colomon WARNING: unhandled Failure detected in DESTROY:
11:48 colomon Cannot call 'DELETE-KEY' on an immutable 'Bag'
11:48 colomon in block  at t/spec/S02-types/bag.rakudo.moar:48
11:48 colomon in block <unit> at t/spec/S02-types/bag.rakudo.moar:12
11:48 colomon in any <unit-outer> at t/spec/S02-types/bag.rakudo.moar:1
11:49 FROGGS colomon: my upcomming patch with probably fix that
11:50 lizmat FROGGS: gist of spectest fails on JVM: https://gist.github.com/lizmat/0bcfcec02b38237ba4d8
11:55 lizmat looks like 8013195a2d913ecb5dd682de is to blame for this new behaviour
11:55 dalek rakudo/nom: 8f8cc0e | FROGGS++ | lib/Test.pm:
11:55 dalek rakudo/nom: .say aver line of TAP ouput in one go
11:55 dalek rakudo/nom:
11:55 dalek rakudo/nom: Otherwise warnings or other messages can slip in between the indentation
11:55 dalek rakudo/nom: of a subtest or can get in between a 'nok ' and 'ok'.
11:55 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8f8cc0e755
11:55 lizmat FROGGS++
11:55 FROGGS colomon: can you retry with this patch?
11:55 FROGGS aver >.<
11:56 lizmat still I think the warning in this case is wrong
11:56 FROGGS j: say $~MAIN
11:56 camelia rakudo-jvm 7b0ce6: OUTPUT«Unhandled exception: java.lang.StackOverflowError␤  in ␤  in ␤  in ␤  in ␤  in EXISTS-KEY␤  in ␤  in ␤  in BUILDALL␤  in bless␤  in new␤  in new␤  in ␤  in ␤  in ␤  in BUILDALL␤  in bless␤  in new␤  in new␤  in ␤  in …»
11:58 colomon FROGGS: building...
12:03 Ven joined #perl6
12:06 lizmat perhaps we should revert 8013195a2d913ecb5dd ?
12:07 * FROGGS looks
12:07 lizmat must be afk now &
12:07 molaf joined #perl6
12:07 FROGGS lizmat++ # thanks for your help
12:07 pauluu joined #perl6
12:09 Ven .tell brrt interesting piece of JIT code in LuaJIT https://github.com/LuaDist/luajit/blob/master/src/lj_opt_narrow.c
12:09 yoleaux Ven: I'll pass your message to brrt.
12:18 lizmat joined #perl6
12:20 FROGGS would be nicer if spectesting jvm would not take *that* long
12:20 smls joined #perl6
12:21 smls Hi
12:22 FROGGS hi smls
12:22 smls It appears that Rakudo's start-up time has significantly improved during the last two months!
12:23 FROGGS smls: aye
12:23 smls $rakudodevs++
12:23 FROGGS mostly jnthn++ and lizmat++ I believe
12:23 smls Shuddav'e guessed ;)
12:23 FROGGS :o)
12:26 andreoss m: say $*SPEC.tmpdir; say $*TMPDIR
12:26 camelia rakudo-moar 8f8cc0: OUTPUT«"/tmp".IO␤"/tmp".IO␤»
12:31 andreoss m: say $*SPEC.rootdir;
12:31 camelia rakudo-moar 8f8cc0: OUTPUT«/␤»
12:43 FROGGS m: try { EVAL 'A::B' }
12:43 camelia rakudo-moar 8f8cc0: ( no output )
12:44 FROGGS m: A::B # >.<
12:44 camelia rakudo-moar 8f8cc0: OUTPUT«Cannot find method 'postcircumfix:<( )>'␤  in block <unit> at /tmp/q9_Kn5pTDv:1␤  in any <unit-outer> at /tmp/q9_Kn5pTDv:1␤␤»
12:47 FROGGS m: die 42
12:47 camelia rakudo-moar 8f8cc0: OUTPUT«42␤  in block <unit> at /tmp/Ne2MWeUiFR:1␤  in any <unit-outer> at /tmp/Ne2MWeUiFR:1␤␤»
12:49 timotimo o/
12:49 FROGGS hi timotimo
12:50 FROGGS ohh, it is not soo wrong after all
12:52 tadzik smls: don't let FROGGS fool you, he deserves his FROGGS++ as much as the other two :)
12:52 FROGGS tadzik: but not wrt performance :o)
12:55 FROGGS star-m: A::B
12:55 camelia star-m 2015.03: OUTPUT«Could not find symbol '&B'␤  in method <anon> at src/gen/m-CORE.setting:15773␤  in any find_method_fallback at src/gen/m-Metamodel.nqp:2908␤  in any find_method at src/gen/m-Metamodel.nqp:1052␤  in block <unit> at /tmp/L0cLSjIE_W:1␤␤»
13:00 dalek rakudo-star-daily: 2c2cbeb | coke++ | log/ (9 files):
13:00 dalek rakudo-star-daily: today (automated commit)
13:00 dalek rakudo-star-daily: review: https://github.com/coke/rakudo-star-daily/commit/2c2cbeb75d
13:04 andreoss what the differecne between my proto and proto ?
13:05 moritz the 'my'
13:05 FROGGS lol
13:05 moritz well, really
13:05 moritz 'my' affects scoping
13:05 moritz 'proto' doesn't
13:06 moritz a "proto token" is still method-scoped
13:06 moritz but a "my proto token" is lexically scoped
13:06 moritz they are orthogonal directions, really
13:06 andreoss http://paste.debian.net/182051/
13:06 jnthn Put another way, certain things (subs, methods, constants, etc.) come with a default scope. If the default is what you want, you don't need to specify a scope.
13:06 yoleaux 19 May 2015 19:40Z <timotimo> jnthn: do we want to destroy/clean-up the sc reader when we do scdisclaim? since we demand every object in the sc anyway
13:06 yoleaux 21 May 2015 06:32Z <FROGGS> jnthn: are you around in about 12 hours to upload the moarvm release tarball?
13:08 timotimo ohai jnthn
13:08 andreoss does 'my method' make any sense?
13:08 Ven \o jnthn
13:08 FROGGS hmmm, thy shall not use relative time spans in yoleaux messages
13:09 jnthn andreoss: Yes, if you know what you're doing :)
13:09 Ven jnthn: you *might* maybe also be interested by a piece of the LuaJIT JIT code, for floats and all. Maybe it only applies to Lua who only has floats, though :-) https://github.com/LuaDist/luajit/blob/master/src/lj_opt_narrow.c
13:09 mr-foobar joined #perl6
13:10 jnthn Ven: Yeah, sadly there's more to VM design that copying neat ideas from all the others. :)
13:10 Ven ;-)
13:10 Ven .oO( you need to copy memory as well! )
13:10 andreoss m: class Bar { my method hi { say 'hi' } }; my $x = Bar.new; $x.hi;
13:10 camelia rakudo-moar 8f8cc0: OUTPUT«Method 'hi' not found for invocant of class 'Bar'␤  in block <unit> at /tmp/mv2C6IWaWP:1␤  in any <unit-outer> at /tmp/mv2C6IWaWP:1␤␤»
13:11 andreoss m: class Bar { our method hi { say 'hi' } }; my $x = Bar.new; $x.hi;
13:11 camelia rakudo-moar 8f8cc0: OUTPUT«Method 'hi' not found for invocant of class 'Bar'␤  in block <unit> at /tmp/EcmxWFh2as:1␤  in any <unit-outer> at /tmp/EcmxWFh2as:1␤␤»
13:11 jnthn Wow, the analysis in the comments is still a cool read though :)
13:12 timotimo aye
13:13 tinyblak joined #perl6
13:15 * Ven is still glad jnthn found a use of that link
13:30 andreoss so can i have proto BUILD?
13:31 jnthn You typically want your BUILD to be a submethod, and we don't yet support multi/proto submethods.
13:31 FROGGS jnthn: you probably wont have time to look at an issue?
13:31 andreoss multi submethods work for me, but only without proto
13:32 jnthn FROGGS: Well, my blocker is exhaustion rather than time at the moment, but I can try...
13:32 FROGGS okay....
13:32 FROGGS m: A::B
13:32 camelia rakudo-moar 8f8cc0: OUTPUT«Cannot find method 'postcircumfix:<( )>'␤  in block <unit> at /tmp/DAhJV_Sqw7:1␤  in any <unit-outer> at /tmp/DAhJV_Sqw7:1␤␤»
13:32 jnthn andreoss: I'm not sure if they're working or "working" :)
13:32 jnthn std: A::B
13:32 camelia std 28329a7: OUTPUT«5===SORRY!5===␤Undeclared name:␤        'A::B' used at line 1␤Check failed␤FAILED 00:00 134m␤»
13:32 FROGGS that's meant to say: Could not find symbol '&B'
13:32 FROGGS and it fails to call fail in Stash.pm
13:32 jnthn STD thinks it's meant to be discovered at compile time...
13:33 FROGGS turning the fail() into nqp::die() works
13:33 jnthn hmm
13:33 jnthn "fails to call fail"?
13:33 FROGGS there is a single fail() call, that has the correct error message
13:34 jnthn m: try EVAL 'A::B'; say $!.backtrace.full
13:34 camelia rakudo-moar 8f8cc0: OUTPUT«  in block <unit> at EVAL_0:1␤  in any <unit-outer> at EVAL_0:1␤  in sub EVAL at src/gen/m-CORE.setting:848␤  in code  at /tmp/NwtXCxqQoV:1␤  in block <unit> at /tmp/NwtXCxqQoV:1␤  in any <unit-outer> at /tmp/NwtXCxqQoV:1␤␤»
13:34 jnthn hmmm
13:34 FROGGS could also be that backtrace printing is busted here
13:34 JimmyZ jnthn: http://irclog.perlgeek.de/moarvm/2015-05-17#i_10617824 # in case you missed it
13:34 jnthn m: say A::<&B>.WHAT
13:34 camelia rakudo-moar 8f8cc0: OUTPUT«5===SORRY!5=== Error while compiling /tmp/y6qA262DHC␤Variable '&A' is not declared␤at /tmp/y6qA262DHC:1␤------> 3say 7⏏5A::<&B>.WHAT␤»
13:35 jnthn JimmyZ: nwc10++ since submitted a patch for that, I just didn't get to merging it yet. Thanks for the reminder. :)
13:35 JimmyZ oh
13:35 JimmyZ I missed it :P
13:36 jnthn JimmyZ: Well, it's not a PR, but "submitted" by remote :)
13:41 Woodi joined #perl6
13:46 andreoss m: say ({*}).perl;
13:46 camelia rakudo-moar 8f8cc0: OUTPUT«5===SORRY!5=== Error while compiling /tmp/hqV2wuAVxs␤{*} may only appear in proto␤at /tmp/hqV2wuAVxs:1␤------> 3say ({*}7⏏5).perl;␤    expecting any of:␤        horizontal whitespace␤        term␤»
13:46 andreoss m: say ({ * }).perl;
13:46 camelia rakudo-moar 8f8cc0: OUTPUT«-> ($_? is parcel) { #`(Block|53230464) ... }␤»
13:46 FROGGS m: say Nil.DEFINITE
13:46 camelia rakudo-moar 8f8cc0: OUTPUT«False␤»
13:47 jnthn FROGGS: Well, if it's the backtrace printing, what does --ll-exception say?
13:47 FROGGS $ perl6-m --ll-exception -e 'A::B'
13:47 FROGGS Cannot find method 'postcircumfix:<( )>'
13:47 FROGGS at src/gen/m-BOOTSTRAP.nqp:2740  (blib/Perl6/BOOTSTRAP.moarvm::97)
13:47 FROGGS jnthn: so it is not that
13:51 jnthn FROGGS: Getting builds of latest things
13:55 bjz joined #perl6
13:55 [ptc] was it intended that the .gpg file for nqp be uploaded?  (just asking)
13:56 FROGGS [ptc]: yes
13:56 moritz that doesn't look like a signature file though
13:57 FROGGS moritz: but that is what gpg --sign produced
13:57 timotimo may have wanted to --ascii-armor?
13:57 FROGGS moritz: and I can --verify that file
13:57 moritz huh, it's 4.7MB in size
13:57 timotimo where is that?
13:57 timotimo oh, that's not a detached signature then
13:57 moritz http://rakudo.org/downloads/nqp/nqp-2015.05.tar.gz.gpg
13:58 FROGGS moritz: yes, it is the same size as the tarball... for moar and nqp
13:58 timotimo well, in that case it entirely depends on what we want to offer
13:58 timotimo i thought that detached, ascii-armored signatures were "the norm"
13:58 muraiki joined #perl6
13:58 FROGGS I have no idea what the norm is
13:58 timotimo but i'm quite probably not up to date on that frontier
13:58 moritz timotimo: yes, that's what I wanted to achieve (detached, ascii)
13:59 FROGGS I can create these afterwards
13:59 [ptc] FROGGS: ok, just wondered.  It seemed sort of out of place in the directory listing
14:00 moritz gpg -b --armor is the correct invocation
14:00 FROGGS [ptc]: yes, it is new... but as you can see it will shrink in size
14:00 timotimo well, what's the command to detach the tarball from the signature file if it's not detached already?
14:00 FROGGS moritz: without --sign?
14:00 moritz FROGGS: -b implies --detach-sign
14:00 moritz erm, is short for
14:01 dalek rakudo/nom: 507da73 | moritz++ | docs/release_guide.pod:
14:01 dalek rakudo/nom: Release guide: created detached, ASCII-armored signature
14:01 dalek rakudo/nom:
14:01 dalek rakudo/nom: timotimo++, [ptc]++
14:01 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/507da73b92
14:01 timotimo thank you moritz
14:02 dalek rakudo/nom: e5bc03b | FROGGS++ | src/core/Backtrace.pm:
14:02 dalek rakudo/nom: unbust S03-operators/range.t on jvm, usev6++
14:02 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e5bc03bec7
14:02 dalek nqp: aa8dcf6 | moritz++ | docs/release_guide.pod:
14:02 dalek nqp: Release guide: created detached, ASCII-armored signature
14:02 dalek nqp:
14:02 dalek nqp: timotimo++, [ptc]++
14:02 dalek nqp: review: https://github.com/perl6/nqp/commit/aa8dcf6b8a
14:06 RabidGravy joined #perl6
14:08 jnthn FROGGS: Well, can confirm it's returning Any
14:09 FROGGS jnthn: what exactly? looking up &fail?
14:09 jnthn FROGGS: No, the Stash.AT-KEY
14:09 jnthn m: GLOBAL::.package_at_key('A').WHO.AT-KEY('&B', :$global_fallback).WHAT.say
14:09 camelia rakudo-moar 8f8cc0: OUTPUT«5===SORRY!5=== Error while compiling /tmp/WMgBZUtNwB␤Variable '$global_fallback' is not declared␤at /tmp/WMgBZUtNwB:1␤------> 3:.package_at_key('A').WHO.AT-KEY('&B', :7⏏5$global_fallback).WHAT.say␤»
14:09 jnthn m: GLOBAL::.package_at_key('A').WHO.AT-KEY('&B', :global_fallback).WHAT.say
14:09 camelia rakudo-moar 8f8cc0: OUTPUT«(Failure)␤»
14:09 jnthn oh
14:10 jnthn m: sub foo() { fail 'omg' }; foo().()
14:10 camelia rakudo-moar 8f8cc0: OUTPUT«Cannot find method 'postcircumfix:<( )>'␤  in block <unit> at /tmp/xEmbt2WwQT:1␤  in any <unit-outer> at /tmp/xEmbt2WwQT:1␤␤»
14:10 jnthn star: sub foo() { fail 'omg' }; foo().()
14:10 camelia star-m 2015.03: OUTPUT«omg␤  in method <anon> at src/gen/m-CORE.setting:15773␤  in any find_method_fallback at src/gen/m-Metamodel.nqp:2908␤  in any find_method at src/gen/m-Metamodel.nqp:1052␤  in block <unit> at /tmp/pC1pTSAjoS:1␤␤»
14:10 jnthn That's what's changed.
14:10 jnthn We get the Failure, but invoking it doesn't throw it
14:10 FROGGS ohh!
14:10 jnthn laundry room, but bbi10
14:10 FROGGS k
14:11 FROGGS might be this: https://github.com/rakudo/rakudo/commit/20c3ae349b3b0935442f70da418c87f95d1ce7d5
14:12 adu joined #perl6
14:13 FROGGS if I am right, then this wont be needed anymore: https://github.com/rakudo/rakudo/commit/a5496e0f1036f1bc7891ee2a9382802824c3ca89
14:17 FROGGS \o/
14:19 dalek rakudo/nom: 3617107 | FROGGS++ | src/core/Failure.pm:
14:19 dalek rakudo/nom: Revert "use more modern FALLBACK instead of .^add_fallback"
14:19 dalek rakudo/nom:
14:19 dalek rakudo/nom: This Fallback mechanism seems not reliable in all cases.
14:19 dalek rakudo/nom: Reverting this should make a5496e0 obsolete too.
14:19 dalek rakudo/nom:
14:19 dalek rakudo/nom: This reverts commit 20c3ae349b3b0935442f70da418c87f95d1ce7d5.
14:19 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/36171074a6
14:19 FROGGS jnthn++
14:21 [ptc] I'm trying to debug a module in the ecosystem and I keep getting "Cannot invoke this object (REPR: Null, cs = 0)"
14:21 dalek rakudo/nom: 30766c1 | FROGGS++ | t/spectest.data:
14:21 dalek rakudo/nom: skip certain tests for release
14:21 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/30766c1702
14:21 [ptc] any ideas what that means and where it's coming from?
14:23 jnthn FROGGS: Thing is, the FALLBACK kinda was an improvement...
14:23 dalek roast: f160dec | FROGGS++ | S0 (2 files):
14:23 dalek roast: skip certain test for rakudo release
14:23 dalek roast: review: https://github.com/perl6/roast/commit/f160dec4df
14:23 jnthn (the regression asdie)
14:23 jnthn *asside
14:24 FROGGS jnthn: yes, understand :o)
14:24 jnthn Anyway, will look into that in the future. :)
14:24 jnthn I'm surprised it makes a difference.
14:24 FROGGS yeah, I just want to finish that bloody release :o)
14:24 timotimo something about wrong closure contents?
14:25 timotimo like $!exception? does that survive properly?
14:25 timotimo well, it's in a method, so it should not reach some sort of self outside
14:25 timotimo er, wait
14:25 timotimo i'm looking at the one that's in there now, not the one that was in there before
14:26 timotimo could it be we've subclassed Failure somewhere and self.exception has been superceded, so we're using $!exception where we should be using $.exception?
14:26 timotimo that doesn't seem likely
14:26 jnthn timotimo: No, probably some MOP subtlety
14:26 timotimo bleh :(
14:28 FROGGS I'm doing the last spectest for today hopefully
14:28 jnthn FROGGS++
14:29 lizmat joined #perl6
14:31 [ptc] FROGGS++
14:32 FROGGS[mobile] jnthn: maybe the fallback gets Mu and the pointy in the fallback wont cope with it?
14:34 smls moritz: Why is sub exit documented under type Any?
14:35 rindolf joined #perl6
14:41 moritz smls: presumably because it takes Any as argument
14:41 moritz smls: though one could argue that it should be Any(Int), and thus documented in Int
14:41 moritz smls: or somewhere completely different, if you have better ideas :-)
14:41 moritz control.pod
14:41 smls the docs say it takes Int()
14:42 smls m: say &exit
14:42 camelia rakudo-moar e5bc03: OUTPUT«sub exit (Any $status = { ... }) { #`(Sub|61980536) ... }␤»
14:42 smls hmm
14:42 moritz erm yes, Int()
14:42 * moritz gets the coercion arguments wrong, again
14:43 smls do we have precedent for functions documented outisde of class pages?
14:43 moritz yes, lots of operators in operators.pod
14:43 moritz and those are just funnily-named subs
14:43 smls :)
14:49 fhelmberger joined #perl6
14:49 nwc10 FROGGS: ASAN is still friends with you
14:50 FROGGS joined #perl6
14:52 tinyblak joined #perl6
14:55 [Coke] http://www.bbc.co.uk/newsbeat/article/32844392/i-feel-sick-emoji-finally-coming-along-with-37-other-new-icons - sick emoji, yo.
14:58 jnthn Darn, still no butterfly...
14:59 jnthn I guess I'll settle for face palm and bacon...
14:59 tadzik ߐꀼRߗR AYR(
14:59 tadzik ...well, on my screen it looks nothing like a camel
14:59 jnthn Mine either :P
15:01 timotimo gnome-terminal just asked me if i'd allow it to install a font
15:01 timotimo and it installed the font needed for those characters
15:01 timotimo damn, gnome3, you're becoming slick
15:01 tadzik Wow, neat
15:02 tadzik But, do you see a camel? :p
15:02 timotimo not really
15:02 timotimo what is "RߗR AYR("?
15:02 timotimo .u RߗR AYR(
15:02 yoleaux U+0020 SPACE [Zs] ( )
15:02 yoleaux U+0028 LEFT PARENTHESIS [Ps] (()
15:02 yoleaux U+0041 LATIN CAPITAL LETTER A [Lu] (A)
15:02 timotimo these are just regular characters?
15:03 tadzik ߐ뀂
15:03 moritz .u ߗ
15:03 yoleaux U+07D7 NKO LETTER CHA [Lo] (ߗ)
15:03 nwc10 a6
15:03 tadzik Doesn't look like a camel either
15:03 tadzik Emoji sucks
15:03 timotimo not quite, no
15:03 tadzik ߐ
15:03 * tadzik gives up
15:03 timotimo i see a stylyzed, round tree with a bit of ground
15:04 tadzik It was supposed to be a dragon
15:04 tadzik Finally a reason to use irc on a phone!... not
15:13 gfldex joined #perl6
15:17 molaf_ joined #perl6
15:27 kurahaupo1 joined #perl6
15:32 skids joined #perl6
15:33 Ven joined #perl6
15:33 brrt joined #perl6
15:36 Ven_ joined #perl6
15:37 ab5tract_ joined #perl6
15:43 FROGGS spectest passed on both jvm and moar \o/
15:44 jnthn \o/
15:44 jnthn FROGGS++
15:46 Ven_ FROGGS++!
15:46 jnthn Has there been some epic slowdown to...all of CORE.setting building?
15:47 jnthn ohhh
15:47 jnthn ignore me
15:47 jnthn My env had MVM_SPESH_DISABLE in it
15:56 FROGGS release got tagged
15:59 brrt joined #perl6
16:10 FROGGS THE RELEASE IS DONE - feel free to break all the things
16:10 virtualsue joined #perl6
16:12 brrt \o/
16:12 yoleaux 12:09Z <Ven> brrt: interesting piece of JIT code in LuaJIT https://github.com/LuaDist/luajit/blob/master/src/lj_opt_narrow.c
16:12 brrt FROGGS++
16:13 eli-se joined #perl6
16:13 brrt .tell Ven thanks
16:13 yoleaux brrt: I'll pass your message to Ven.
16:17 eli-se hi!
16:19 brrt hi
16:28 brrt left #perl6
16:31 zeleiadi joined #perl6
16:33 tony-o_ paultcochrane?
16:36 moritz tony-o_: that's [ptc] in here
16:37 tony-o_ moritz: ty
16:38 [ptc] tony-o_: you looking for me?
16:38 tony-o_ yea was wondering if i should expect an onslaught of PRs :-)
16:38 [ptc] well I'm up to "g" in the alphabet at present :-)
16:38 tony-o_ are you cloning all of the modules?
16:39 [ptc] I've got my script to clone and check all modules in the ecosystem to a fairly good stage (just fine tuned some stuff now)
16:39 [ptc] my plan is to slowly work through all the modules I find which have unit declarator issues
16:39 [ptc] it's been an interesting ride so far :-)
16:40 [ptc] tony-o_: yes, I'm cloning all modules.  I'm a bit crazy, but then I studied physics at university, I think craziness is a prereq
16:40 tony-o_ haha, i've updated a couple, EE i think i did right before you cloned
16:40 moritz [ptc]: are you aware of the perl6-all-modules repo?
16:41 [ptc] moritz: no.  hrm
16:41 moritz (which I haven't updated in a while, tbh)
16:41 moritz [ptc]: I've blogged about it here: http://perlgeek.de/blog-en/perl-6/2015-all-modules-in-a-box.html
16:41 [ptc] https://github.com/paultcochrane/check-ecosystem is the script I've been working on, if anyone's interested
16:42 andreoss is it related to smoke.perl6.org?
16:42 [ptc] moritz: hrm, missed that one.  But then, I don't notice blog entries if people don't tweet about it
16:42 * moritz compiles a rakudo to be able to run his script
16:42 moritz maybe we should have a http://pl6anet.org/ -to-twitter bot
16:42 [ptc] not a bad idea
16:43 [ptc] the script clones the repo, looks to see if updates to the code are necessary, if so, forks the repo (via the GitHub API) and checks out an appropriate branch, ready to be fixed by hand
16:44 [ptc] it's still a bit much work by hand, but at least it has reduced some of the repetitititive hard work
16:44 moritz ah, my thing doesn't do any forking
16:45 [ptc] moritz: if you have any feedback as to how I could do things better, I'd love to know :-)
16:45 tony-o_ moritz: is yours doing submodules or just a copy of the repo at some point in time?
16:45 moritz tony-o_: it uses git subrepo
16:46 moritz tony-o_: which is, afaict, a bit of meta data wrapping around git subtree
16:47 tony-o_ yea, so if ptc clones recursively it should get all up to date modules from your git repo
16:47 moritz the main advantage (for my purpose) is that you can 'git grep' over all the modules
16:47 tony-o_ that was pretty useful to me to find some examples i was looking for a month or so ago
16:47 moritz (over submodules, that is)
16:48 [ptc] over the last couple of days I've been wondering about having some kind of Kwalitee measure for Perl6 modules, like in P5
16:48 [ptc] has there been any work done on that?
16:48 tony-o_ link?
16:49 [ptc] one could test for outdated or deprecated features etc automatically
16:49 [ptc] much like how CPANTS does it
16:50 fhelmberger joined #perl6
16:50 moritz [ptc]: well, modules.perl6.org has badges for certain things
16:50 moritz [ptc]: though iirc mostly related to meta data
16:53 [ptc] it would be interesting to adapt some of the CPANTS-type stuff to Perl6 and have it running on modules from early on
16:53 [ptc] maybe that way we can have a high module quality from early on, and can build upon the lessons learned in the Perl5 world
16:53 [ptc] ... just me thinking out loud ...
16:56 PerlJam FROGGS++ (release)
16:56 moritz FROGGS++ # indeed
16:56 [ptc] agreed!  FROGGS++
17:00 arnsholt *lesigh* Writing grammars is one of those things that is a lot harder than it looks
17:01 FROGGS[mobile] arnsholt: *nod*
17:04 telex joined #perl6
17:08 lizmat FROGGS++
17:13 dalek perl6-roast-data: 4d7c057 | coke++ | / (9 files):
17:13 dalek perl6-roast-data: today (automated commit)
17:13 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/4d7c057fdf
17:14 lizmat $ 6 '"e".IO.open(:w).close; say +("e".IO.lines)'
17:14 lizmat 0
17:14 lizmat $ 6 '"e".IO.open(:w).close; say +(pipe("cat e").lines)'
17:14 lizmat 1
17:14 lizmat the latter seems inconsistent to me, right ?
17:17 geekosaur the question being, which part is wrong?
17:18 geekosaur the first one does what I expect. the second, I would wonder at which stage a newline is being injected
17:18 lizmat I'm not even sure a newline *is* injected...
17:19 geekosaur newline is most likely to me, since various things like to assume a line ends with a newline
17:19 geekosaur and an empty file often appears to contain a single newline as a result, because something along the line read nothing and wrote it out as a line
17:20 geekosaur (...and not impossible that something is in e.g. libuv)
17:24 lizmat $ 6 '"e".IO.open(:w).close; say pipe("cat e",:!chomp).lines[0].chars'
17:24 lizmat 0
17:24 lizmat so no newline, just an empty string
17:24 lizmat I guess it is something low level
17:25 lizmat the JVM has the same behaviour
17:25 lizmat so at least it's consistent
17:26 japhb lizmat: try dumping the return value of pipe("cat e") as a .perl'ed Buf?
17:27 lizmat pipe() only gives an IO::Handle
17:27 lizmat do you mean pipe().lines ?
17:30 lizmat m: say (Any,"a").grep(*)  # wouldn't it make sense if that would give just "a" ?
17:30 camelia rakudo-moar 30766c: OUTPUT«(Any) a␤»
17:30 lizmat aka, grep(*) would be the same as .grep({$_})
17:31 lizmat which makes much more sense now that "0" is also true
17:33 cognominal joined #perl6
17:33 domidumont joined #perl6
17:38 jnthn m: say (Any,"a").grep(?*)
17:38 camelia rakudo-moar 30766c: OUTPUT«a␤»
17:38 jnthn I prefer the explicitness of that one, I think
17:38 lizmat ah,,,  yes, nice
17:39 lizmat hadn't thought about that one...  :-)
17:39 lizmat OTOH, if * is for $_ + whatevercode generation
17:39 lizmat then one *could* expect that * would be equivalent to {$_}
17:40 lizmat which it is not, atm
17:40 FROGGS m: say Any ~~ *
17:40 camelia rakudo-moar 30766c: OUTPUT«WhateverCode.new␤»
17:40 FROGGS m: say so Any ~~ *
17:40 camelia rakudo-moar 30766c: OUTPUT«WhateverCode.new␤»
17:40 lizmat will use ?* for now
17:41 lizmat jnthn: any ideas about the pipe().lines always returning at least 1 line with a Str type object in it ?
17:42 Sqirrel joined #perl6
17:42 jnthn lizmat: I think .get returns Str at eof...
17:43 jnthn lizmat: Maybe we're mis-handlin' that in lines?
17:43 lizmat well, that's the thing: both the pipe() and the open() are handles by the same method
17:43 lizmat *lines method
17:43 lizmat it's *exactly* the same code path
17:44 lizmat it feels more like eof is set too late in the case of pipe()
17:47 nwc10 FROGGS++
17:53 FROGGS jnthn: now I understand it... the code that failed to complain about A::B checked for CALL-ME and the postcircumfix:<( )>... but that does not trigger the new FALLBACK because that explicitly disallows postcircumfix:<( )>
17:53 FROGGS jnthn: so I'll add CALL-ME?
17:54 FROGGS or we need to adjust the condition when FALLBACK triggers
17:56 ssqq joined #perl6
17:57 FROGGS I'll add CALL-ME
17:58 jnthn FROGGS: Add CALL-ME
17:58 jnthn .oO( maybe)
17:58 jnthn And then we can keep FALLBACK too
17:58 FROGGS aye
18:03 dalek rakudo/nom: 1cb6c15 | FROGGS++ | src/core/Failure.pm:
18:03 dalek rakudo/nom: reinstate new FALLBACK mechanism for type Failure
18:03 dalek rakudo/nom:
18:03 dalek rakudo/nom: But since is meant to not trigger as a fallback for .CALL-ME and
18:03 dalek rakudo/nom: .postcircumfix:<( )>, we need to add one of these on our own.
18:03 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/1cb6c15b70
18:08 eli-se joined #perl6
18:13 FROGGS[mobile] nap &
18:36 AlexDaniel that's so cool: http://smoke.perl6.org
18:37 AlexDaniel just like the profiler is
18:38 timotimo o/
18:41 oetiker joined #perl6
18:43 [Coke] seeing a lot of these in the last spectest daily run: WARNING: unhandled Failure detected in DESTROY
18:43 moritz how does the ecosystem look like? can we make a star release this month?
18:44 [Coke] Last I checked, star builds were failing horribly. re-checking...
18:45 [Coke] https://github.com/coke/rakudo-star-daily/blob/master/log/MoarVM-test-modules.log
18:45 pauluu left #perl6
18:45 [Coke] same failure mode, everything is "could find..."
18:45 [Coke] er, could NOT find...
18:47 * [Coke] has a moment, digging.
18:48 [Coke] ugh. submodules suck, have I mentioned that?
18:49 moritz [Coke]: they certainly do
18:51 moritz ok, looks like star is still copying stuff to the install location, but that's not enough anymore
18:51 moritz so, we have two options: 1) fix it or 2) change star to use panda for bootstrapping
18:52 TimToady joined #perl6
18:52 [Coke] DRY, use panda.
18:53 [Coke] Although we are trying to make star relocatable, yes?
18:53 [Coke] not sure if panda will work, but if it can, great.
18:53 moritz well, first we'd need a relocatable rakudo, no?
18:54 [Coke] er, we're making star installable?
18:54 [Coke] either way, maybe panda isn't quite the right fit, is what I'm saying.
18:55 moritz well, currently one need to install before testing the modules anyway, no?
18:55 moritz *needs
18:56 moritz and with "currently" I mean "before The Big Breakage"
19:03 b2gills m: sub example ( $a =1 where * >= 1  ){ $a.say }; example 5
19:03 camelia rakudo-moar 1cb6c1: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Z6b8aD4UeA␤The post constraint "where * >= 1  " came after the default value␤(did you mean "...where * >= 1   =1 "?)␤at /tmp/Z6b8aD4UeA:1␤------> 3sub example ( $a =1 where * >= 1  7⏏5){ $a.say }; …»
19:03 b2gills m: sub example ( $a where * >= 1 = 1 ){ $a.say }; example 5
19:03 camelia rakudo-moar 1cb6c1: OUTPUT«Cannot modify an immutable WhateverCode␤  in sub example at /tmp/sBgJ8ZbfuQ:1␤  in block <unit> at /tmp/sBgJ8ZbfuQ:1␤  in any <unit-outer> at /tmp/sBgJ8ZbfuQ:1␤␤»
19:09 FROGGS joined #perl6
19:09 moritz m: sub example ( $a where { $_ >= 1 } = 1 ) { $a.say }; example 5
19:09 camelia rakudo-moar 1cb6c1: OUTPUT«Cannot modify an immutable Block␤  in sub example at /tmp/4pIlYL4mhD:1␤  in block <unit> at /tmp/4pIlYL4mhD:1␤  in any <unit-outer> at /tmp/4pIlYL4mhD:1␤␤»
19:09 itz Bailador from Task::Star fails
19:10 moritz huh, I thought that one should work
19:10 tony-o_ m: multi sub prefix:<\>\>>(Bool $bool) r { >> $bool, "text"; }; multi sub prefix:<\>\>>(Bool $bool, Str $text) { "$text $bool".say; }; >> False;
19:10 camelia rakudo-moar 1cb6c1: OUTPUT«===SORRY!===␤Cannot find method 'has_compile_time_value'␤»
19:10 tony-o_ m: multi sub prefix:<\>\>>(Bool $bool) { >> $bool, "text"; }; multi sub prefix:<\>\>>(Bool $bool, Str $text) { "$text $bool".say; }; >> False;
19:10 camelia rakudo-moar 1cb6c1: OUTPUT«Memory allocation failed; could not allocate 133936 bytes␤»
19:11 moritz tony-o_: precedence
19:11 tony-o_ does the Str one need to come first?
19:11 moritz m: multi sub prefix:<\>\>>(Bool $bool) { >>($bool, "text") }; multi sub prefix:<\>\>>(Bool $bool, Str $text) { "$text $bool".say; }; >> False;
19:11 camelia rakudo-moar 1cb6c1: OUTPUT«Cannot call prefix:<>>>(Parcel); none of these signatures match:␤    (Bool $bool)␤    (Bool $bool, Str $text)␤  in sub prefix:<>>> at /tmp/awXQjSZHOa:1␤  in block <unit> at /tmp/awXQjSZHOa:1␤  in any <unit-outer> at /tmp/awXQjSZHOa:1␤␤»
19:12 tony-o_ m: multi sub prefix:<\>\>>(Bool $bool, Str $s) { "$s $bool".say; }; multi sub prefix:<\>\>>(Bool $bool) { >> False, 'test'; }; >> False;
19:12 camelia rakudo-moar 1cb6c1: OUTPUT«Memory allocation failed; could not allocate 136656 bytes␤»
19:12 moritz tony-o_: no, prefix binds tighter than the comma
19:12 tony-o_ m: multi sub prefix:<\>\>>(Bool $bool, Str $s) { "$s $bool".say; }; multi sub prefix:<\>\>>(Bool $bool) { >> (False, 'test'); }; >> False;
19:12 camelia rakudo-moar 1cb6c1: OUTPUT«Cannot call prefix:<>>>(Parcel); none of these signatures match:␤    (Bool $bool, Str $s)␤    (Bool $bool)␤  in sub prefix:<>>> at /tmp/H0rKYZYZ89:1␤  in block <unit> at /tmp/H0rKYZYZ89:1␤  in any <unit-outer> at /tmp/H0rKYZYZ89:1␤␤»
19:12 tony-o_ ah ^
19:12 tony-o_ i'm sure there is a mechanism somewhere to loosen it up?
19:13 moritz m: proto sub prefix:<\>\>> is looser(&infix:<,>) {*}; multi sub prefix:<\>\>>(Bool $bool) { >> $bool, "text" }; multi sub prefix:<\>\>>(Bool $bool, Str $text) { "$text $bool".say; }; >> False;
19:13 camelia rakudo-moar 1cb6c1: OUTPUT«5===SORRY!5===␤Calling prefix:<>>>(Mu) will never work with proto signature ()␤at /tmp/ic9qB7KUyl:1␤------> 3; multi sub prefix:<\>\>>(Bool $bool) { 7⏏5>> $bool, "text" }; multi sub prefix:<\>␤Calling prefix:<>>>(Bool) will never work wit…»
19:13 moritz m: proto sub prefix:<\>\>>(|) is looser(&infix:<,>) {*}; multi sub prefix:<\>\>>(Bool $bool) { >> $bool, "text" }; multi sub prefix:<\>\>>(Bool $bool, Str $text) { "$text $bool".say; }; >> False;
19:13 camelia rakudo-moar 1cb6c1: OUTPUT«Cannot call prefix:<>>>(Parcel); none of these signatures match:␤    (Bool $bool)␤    (Bool $bool, Str $text)␤  in sub prefix:<>>> at /tmp/DIJ67ldFVz:1␤  in block <unit> at /tmp/DIJ67ldFVz:1␤  in any <unit-outer> at /tmp/DIJ67ldFVz:1␤␤»
19:18 spintronic joined #perl6
19:18 ssqq joined #perl6
19:23 moritz when I have an IO::Path object that is a directory, how do I append a file name?
19:24 tony-o_ $*SPEC.catpath
19:24 moritz uhm, there's no method for that in IO::Path?
19:24 raydiak .child
19:24 raydiak m: proto sub prefix:<\>\>>(|) is looser(&infix:<,>) {*}; multi sub prefix:<\>\>>(Bool $bool) { >> $bool, "text" }; multi sub prefix:<\>\>>(*@ (Bool $bool, Str $text)) { "$text $bool".say; }; >> False; # workaround
19:24 camelia rakudo-moar 1cb6c1: OUTPUT«text False␤»
19:24 tony-o_ raydiak++
19:25 raydiak (or maybe that's how it should be when looser than comma...idk)
19:25 raydiak :)
19:26 tony-o_ now once i scrub my own module from the error output, we'll have a parallel perl6 tester
19:26 tony-o_ not that we're champing at the bit for one..
19:26 raydiak ooh nice, tony-o_++
19:27 moritz m: say from-json('[1]').perl
19:27 camelia rakudo-moar 1cb6c1: OUTPUT«[1]␤»
19:27 japhb Does anyone happen to know if irssi has a way to make the entire line coming from certain speakers use a different color?  I want to make the bots "fade" a bit, so I can easily see the humans speaking in between e.g. camelia outputs
19:28 tony-o_ japhb: i know you can hide the output
19:28 japhb I still want to have it, just not have it be the same visually as the human messages
19:29 tony-o_ japhb: looks like something like this might do the trick /hilight -full -color %G -actcolor %Y tea
19:29 tony-o_ you'd need to tweak the options though, that will color it green
19:31 japhb Hmmm, that seems to take over the normal highlighting that I use for my nick and for keywords
19:31 tony-o_ m: say 'hi';
19:31 camelia rakudo-moar 1cb6c1: OUTPUT«hi␤»
19:32 moritz m: say 'did it work, tony-o_?'
19:32 camelia rakudo-moar 1cb6c1: OUTPUT«did it work, tony-o_?␤»
19:32 tony-o_ m: say 'hi';
19:32 camelia rakudo-moar 1cb6c1: OUTPUT«hi␤»
19:32 spintronic m: say 'hi';
19:32 camelia rakudo-moar 1cb6c1: OUTPUT«hi␤»
19:33 tony-o_ m: say 'hi';
19:33 camelia rakudo-moar 1cb6c1: OUTPUT«hi␤»
19:33 tony-o_ hm
19:34 dalek rakudo/nom: e1cc780 | lizmat++ | tools/contributors.pl6:
19:34 dalek rakudo/nom: Perl 6 version of contributors helper script
19:34 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e1cc7809a1
19:34 tony-o_ m: say 'hi';
19:34 camelia rakudo-moar 1cb6c1: OUTPUT«hi␤»
19:34 tony-o_ m: say 'hi';
19:34 camelia rakudo-moar 1cb6c1: OUTPUT«hi␤»
19:34 tony-o_ m: say 'hi';
19:34 camelia rakudo-moar 1cb6c1: OUTPUT«hi␤»
19:35 cognominal reading S32-Basics I can't visually parse :       multi method clone (::T $self --> T --> Any ) {...}
19:35 moritz seems like one --> Any too much
19:35 jnthn cognominal: Me either... :)
19:35 jnthn Also it's a colon too few :)
19:36 moritz m: method clone (::T $self --> T --> Any ) {...}
19:36 camelia rakudo-moar 1cb6c1: OUTPUT«5===SORRY!5=== Error while compiling /tmp/3j_Bqv_HIX␤Missing block␤at /tmp/3j_Bqv_HIX:1␤------> 3method clone (::T $self --> T 7⏏5--> Any ) {...}␤»
19:36 moritz m: method clone (::T $self: --> T ) {...}
19:36 camelia rakudo-moar 1cb6c1: OUTPUT«Potential difficulties:␤    Useless declaration of a has-scoped method in mainline (did you mean 'my method clone'?)␤    at /tmp/RMnEvRBVpS:1␤    ------> 3method7⏏5 clone (::T $self: --> T ) {...}␤»
19:36 cognominal or my specs depot is corrupted?
19:36 moritz m: unit class A; method clone (::T $self: --> T ) {...}
19:36 camelia rakudo-moar 1cb6c1: ( no output )
19:36 japhb m: method clone (::T $self --> :(T --> Any) ) {...}
19:36 camelia rakudo-moar 1cb6c1: OUTPUT«5===SORRY!5=== Error while compiling /tmp/yzCJsF3T7R␤Missing block␤at /tmp/yzCJsF3T7R:1␤------> 3method clone (::T $self --> 7⏏5:(T --> Any) ) {...}␤»
19:36 japhb m: method clone (::T $self --> &:(T --> Any) ) {...}
19:36 camelia rakudo-moar 1cb6c1: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Yk5xmqhSMv␤Missing block␤at /tmp/Yk5xmqhSMv:1␤------> 3method clone (::T $self --> 7⏏5&:(T --> Any) ) {...}␤»
19:36 tony-o_ japhb: /hilight -mask -full -color %K camelia!*@*
19:36 tony-o_ that is pretty close, it just does the nick instead of the full line though
19:37 lizmat suggestions / comments  on https://github.com/rakudo/rakudo/commit/e1cc7809a1 welcome
19:37 lizmat it was after all my first real P5 -> P6 translation of any size
19:37 japhb tony-o_: Hmmm, a good start though, thank you.
19:37 tony-o_ japhb: http://bugs.irssi.org/index.php?getfile=266
19:37 tony-o_ if you apply that to your highlight and add the argument -line to that hilight you should be good to go
19:38 [Coke] lizmat++
19:38 moritz lizmat: looks fine
19:38 raydiak cognominal: nope not a problem on your end: http://design.perl6.org/S32/Basics.html#Any
19:38 jnthn lizmat: Nice use of .Bag...I need to remember that more often. :)
19:38 lizmat afk, will backlog&
19:39 japhb m: say "hello"
19:39 camelia rakudo-moar 1cb6c1: OUTPUT«hello␤»
19:39 japhb gah, didn't work
19:39 diana_olhovik joined #perl6
19:39 japhb m: say "hello"
19:39 camelia rakudo-moar 1cb6c1: OUTPUT«hello␤»
19:39 [Coke] It changed the name, but not the output.. when making sure it saved, I found other config stuff in my .irssi back when it was called p6eval.
19:40 cognominal https://github.com/perl6/specs/blame/master/S32-setting-library/Basics.pod#L101   that's the result of a "bloodbath"  :)
19:40 [Coke] https://gist.github.com/coke/56d55fe25a28abe7f55b
19:40 dalek star/panda-bootstrap: c106f7c | moritz++ | tools/star/gen-panda-bootstrap.p6:
19:40 dalek star/panda-bootstrap: Add a tool for generating a panda bootstrap file from all modules.
19:40 dalek star/panda-bootstrap:
19:40 dalek star/panda-bootstrap: Still very much a work in progress, and not used yet.
19:40 dalek star/panda-bootstrap: review: https://github.com/rakudo/star/commit/c106f7ca5b
19:41 cognominal ...or more probably survived it
19:42 japhb m: say "hello"
19:42 camelia rakudo-moar 1cb6c1: OUTPUT«hello␤»
19:42 japhb *sigh*
19:42 japhb Thanks tony-o_, [Coke]
19:42 tony-o_ japhb: i'd rebuild irssi with the patch but i'd ruin my uptime
19:42 japhb heh
19:42 * japhb decides lunch is in order
19:42 dalek specs: 4932a71 | moritz++ | S32-setting-library/Basics.pod:
19:42 dalek specs: Correct signature, cognominal++
19:42 dalek specs:
19:42 dalek specs: also remove a redundant multi
19:42 dalek specs: review: https://github.com/perl6/specs/commit/4932a71206
19:44 cognominal thx
19:47 cognominal moritz, below it explicitely says  there are two variants and perpetuates the double -->
19:48 cognominal it seem there is some deliberate intentionality here, but I can't figure what it is. Maybe safer ask TimToady
19:54 moritz cognominal: well, but the first one is just a degenerate case of the second one
19:55 moritz maybe I need to take a second look
19:56 tony-o_ m: sub r:hidden-from-backtrace { die 'dead'; }; r;
19:56 camelia rakudo-moar e1cc78: OUTPUT«5===SORRY!5=== Error while compiling /tmp/pcbbCbhXtX␤Undeclared routine:␤    r used at line 1␤␤»
19:56 tony-o_ m: sub r :hidden-from-backtrace { die 'dead'; }; r;
19:56 camelia rakudo-moar e1cc78: OUTPUT«5===SORRY!5=== Error while compiling /tmp/9GlCFxWCMh␤Cannot invoke this object (REPR: P6opaque, cs = 0)␤at /tmp/9GlCFxWCMh:1␤»
19:56 tony-o_ m: sub r is hidden-from-backtrace { die 'dead'; }; r;
19:56 camelia rakudo-moar e1cc78: OUTPUT«dead␤  in block <unit> at /tmp/Z7pqCwDLNO:1␤  in any <unit-outer> at /tmp/Z7pqCwDLNO:1␤␤»
19:57 tony-o_ m: { sub is hidden-from-backtrace { die 'dead'; } }.()
19:58 camelia rakudo-moar e1cc78: OUTPUT«5===SORRY!5=== Error while compiling /tmp/xk9S35ZnSy␤Missing block␤at /tmp/xk9S35ZnSy:1␤------> 3{ sub is7⏏5 hidden-from-backtrace { die 'dead'; } }␤    expecting any of:␤        new name to be defined␤»
19:58 tony-o_ m: { return sub is hidden-from-backtrace { die 'dead'; } }.()
19:58 camelia rakudo-moar e1cc78: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Di4nxHxy0v␤Missing block␤at /tmp/Di4nxHxy0v:1␤------> 3{ return sub is7⏏5 hidden-from-backtrace { die 'dead'; } }␤    expecting any of:␤        new name to be defined␤»
19:58 tony-o_ m:  (sub is hidden-from-backtrace { die 'dead'; }).()
19:58 camelia rakudo-moar e1cc78: OUTPUT«5===SORRY!5=== Error while compiling /tmp/zhuP2ZJSI6␤Missing block␤at /tmp/zhuP2ZJSI6:1␤------> 3(sub is7⏏5 hidden-from-backtrace { die 'dead'; }).␤    expecting any of:␤        new name to be defined␤»
19:58 tony-o_ can i hide an anon sub from backtrace?
20:01 tony-o_ m: my $r = sub { die 'dead'; }; $r:hidden-from-backtrace.();
20:01 camelia rakudo-moar e1cc78: OUTPUT«dead␤  in sub  at /tmp/Vm4DXWeysW:1␤  in block <unit> at /tmp/Vm4DXWeysW:1␤  in any <unit-outer> at /tmp/Vm4DXWeysW:1␤␤»
20:01 tony-o_ m: my $r = sub { die 'dead'; }; ($r is hidden-from-backtrace)();
20:01 camelia rakudo-moar e1cc78: OUTPUT«5===SORRY!5=== Error while compiling /tmp/sHbOmPtQef␤Two terms in a row␤at /tmp/sHbOmPtQef:1␤------> 3my $r = sub { die 'dead'; }; ($r7⏏5 is hidden-from-backtrace)();␤    expecting any of:␤        infix␤        infix stopper␤       …»
20:01 tony-o_ m: my $r = sub { die 'dead'; }; ($r is hidden-from-backtrace).();
20:01 camelia rakudo-moar e1cc78: OUTPUT«5===SORRY!5=== Error while compiling /tmp/A7VvLD_DPZ␤Two terms in a row␤at /tmp/A7VvLD_DPZ:1␤------> 3my $r = sub { die 'dead'; }; ($r7⏏5 is hidden-from-backtrace).();␤    expecting any of:␤        infix␤        infix stopper␤      …»
20:02 FROGGS joined #perl6
20:02 tony-o_ guess not
20:04 AlexDaniel joined #perl6
20:04 H2O1 joined #perl6
20:05 H2O1 left #perl6
20:06 jnthn m: my $r = sub :: is hidden-from-backtrace { die 'dead'; }; $r()
20:06 camelia rakudo-moar e1cc78: OUTPUT«dead␤  in block <unit> at /tmp/vcDCYrkIoq:1␤  in any <unit-outer> at /tmp/vcDCYrkIoq:1␤␤»
20:08 jnthn 'night o/
20:08 tony-o_ jnthn: ty
20:08 tony-o_ and night
20:11 eli-se I just wrote a video game in COBOL. :(
20:11 eli-se .oO(Inline::COBOL)
20:13 PerlJam eli-se: so ... I was just reading your sentence and it climaxes at "a video game", but then there's this steep cliff immediately after "in COBOL."   That's kind of like an unkept promise or an unfulfilled expectation.
20:14 eli-se Only 87 lines of code! I bet Perl 6 can do it in 5. :)
20:14 PerlJam eli-se: (you really know how to play with your reader's emotions!  ;)
20:24 eli-se master of puppets
20:25 raiph joined #perl6
20:25 raydiak great album
20:26 eli-se I couldn't disagree less.
20:26 eli-se I tried but failed miserably.
20:26 raydiak :)
20:27 tony-o_ haha
20:28 raydiak how can I EVAL something in a restricted setting?  do I have to start an entirely separate rakudo process from the normal setting?
20:28 * PerlJam queues Sanitarium
20:30 raydiak feels very 80s talking about Metallica while wearing a black t-shirt with torn-off sleeves and everything...even have a hole starting in the knee of my pants now that I look
20:31 masak it's very 80s to talk about MVC frameworks, too :)
20:34 PerlJam Which C compiler do you guys use?  Turbo C or Microsoft C?  (that's about as 80s as I could muster)
20:34 tony-o_ borland
20:35 tony-o_ *fires up qbasic*
20:35 raydiak my C skills don't go back that far but I have a pretty solid recollection of GW-BASIC 3 :)
20:36 PerlJam "Borland C" wasn't a thing until the 1990s
20:36 eli-se PerlJam: C doesn't yet exist.
20:36 eli-se I still use GnuCOBOL.
20:37 PerlJam eli-se: we do not speak of the dark times  ;)
20:37 eli-se wrote this: https://gist.github.com/rightfold/53b4add706c60bef7693
20:37 [Coke] POKE 53280, 0
20:37 tony-o_ borland made turbo c, i thought
20:37 raydiak masak: what did they use MVC for back then?  networked business apps or something?
20:38 eli-se buttons in mainframe TUIs
20:38 jercos MVC doesn't really need a network >.>
20:38 PerlJam tony-o_: aye.  their C offering was called "Turbo C" until the early 1990s when they rebranded as "Borland C" or "Borland C++"
20:38 PerlJam I think that's also when they dropped Pascal, but I don't remember as I'd stopped writting it by then
20:39 tony-o_ the dropped it for delphi?  they had delphi products at least into the early 00s
20:39 raydiak jercos: well I know it doesn't imply a network of any sort, but I'm wondering what the pattern was actually applied to in those days
20:39 PerlJam raydiak: GUIs
20:40 raydiak ah...
20:41 jercos Anywhere your code is not ridiculously tightly coupled, and involves HMI, MVC is probably at very least reasonable to consider >.>
20:41 masak raydiak: early GUIs in Smalltalk :)
20:43 pmurias joined #perl6
20:43 raydiak makes sense, from what I understand of it...read about MVC over and over, and it mostly sinks in, even done work within MVC frameworks, but there's always parts of the definition that seem really...fuzzy to me
20:44 raydiak I guess part of it seems to be that there a a variety of variations on the basic idea
20:45 masak definitely.
20:45 muraiki Super Borland C++ Turbo Championship Edition
20:46 masak the core idea, "one model, zero or more views, observer pattern", stays the same basically across the board. but there's a lot of variation in the rest.
20:47 PerlJam There's also a bit of waterbed in that some versions will have fatter models or fatter controllers or fatter views, etc.
20:47 muraiki "Pharo By Example" is a fun way to learn MVC using Pharo Smalltalk; Seaside by Example teaches MVC using the Seaside framework for Smalltalk
20:48 muraiki I did those early on when learning programming and while I didn't quite grok it all, it definitely influenced me, for better or worse :)
20:48 PerlJam muraiki++  good examples
20:48 masak sounds interesting.
20:48 muraiki also, learning smalltalk early on really spoiled me in terms of development environments :P
20:48 muraiki both of those books I mentioned are free. something to do on a weekend :)
20:49 * raydiak suspects anything would have been easier than the "someone hired me to fix this PHP disaster" crash-course that he gave himself the first time he ran in to an MVC framework :)
20:50 muraiki haha
20:50 PerlJam merlyn used to do stuff with seaside (I dunno if he's still doing it) and because of him (and probably Su-Shee), I looked at seaside a bit.
20:50 PerlJam (and that was the first time I'd touched smalltalk in over a decade)
20:50 muraiki I prototyped a site in Seaside but ended up using Django because I was still very much a newbie programmer and there were more resources for Django
20:51 muraiki but you can do awesome things in Seaside. when your site is in dev mode you can both see and edit the code for any component on the page
20:51 FROGGS joined #perl6
20:51 muraiki and yeah, it's all built around reusable components instead of templates
20:51 muraiki I get the impression that it was really ahead of its time, but in explicitly shunning REST it couldn't ride the wave of REST hype
20:53 masak was gonna say. Seaside putting continuation IDs in its URL made me a bit less interested in it.
20:53 muraiki yeah, that's probably a larger hurdle than "it's in smalltalk." but there's a method behind the madness
20:54 muraiki ultimately it's worth dedicating a few hours to trying it out, if only to then end up hating everything about modern web development
20:57 masak :)
21:01 Akagi201 joined #perl6
21:01 japhb Is it OK to hate everything about modern web development *without* trying Seaside first?
21:01 eli-se yes
21:02 tony-o_ japhb: it's a major pita, not sure how to fix it either
21:02 jercos hate what you want man, be freeeee
21:02 eli-se web development is horrible regardless of everything
21:03 masak I think web development is fascinating. I mean, as a problem it's clearly overspecified. but that's part of what makes it interesting.
21:03 masak overdetermined*
21:03 tony-o_ masak: i do too from a theory perspective, i think it's a pita in practice
21:04 muraiki haha
21:04 tony-o_ mojo is pretty nice, probably the nicest thing i've used in a while
21:04 tony-o_ better than express ..
21:05 raydiak imo web dev is a lot less terrible than it used to be...though a significant fraction of that is simply down to modern IE being less terrible :P
21:05 muraiki raydiak++
21:06 eli-se tony-o_: well, given Express exposes only async APIs and Mojo doesn't we can indeed conclude that Mojo is better than Express
21:06 tony-o_ eli-se: i meant just the process of using it
21:06 eli-se Well, it's Perl. :)
21:06 eli-se Perl woohoo!
21:07 masak I feel web development as a whole is looking for something. something nice. I have a feeling it will get there.
21:07 tony-o_ i like node quite a lot, i've grown tired of teh callback crap since using p6 though
21:07 eli-se masak: stackful coroutines
21:07 meisl joined #perl6
21:07 tony-o_ stackful coroutines?
21:08 muraiki I had made some small things in node but after using go (disclaimer: not for web development) I anticipate never using node again
21:08 eli-se tony-o_: Yes. The ultimate solution to callback hell.
21:08 * raydiak also hopes that masak is right and it converges on "nice" :)
21:08 tony-o_ i wrote a load balancer in node
21:08 eli-se See Julia, GHC, Go and Erlang for examples.
21:09 meisl hi all
21:09 eli-se tony-o_: what for? HTTP?
21:09 tony-o_ eli-se: callback hell lol
21:09 tony-o_ eli-se: for anything using sockets
21:09 eli-se Cool.
21:09 * mst <3 promises/futures
21:10 meisl eli-se, tony-o: CPS rules :)
21:10 eli-se stackful coroutines or bust
21:10 dalek rakudo/nom: 250b18f | lizmat++ | docs/release_guide.pod:
21:10 dalek rakudo/nom: Use Perl6 version, no longer need Date::Simple
21:10 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/250b18f9d7
21:10 muraiki if you like promises/futures, Scala's Dispatch library is really neat. it also has an excellent tutorial for using promises/futures and going a bit into monad land without necessarily needing to grok monads.
21:11 eli-se the only reasons you'd want async APIs is to (1) spawn a thread or (2) as an optimisation, and the latter can be done behind the scenes by the VM as in Julia and Go, while keeping a sync API (resulting in code you can actually read)
21:11 tony-o_ meisl: cps ?
21:11 meisl "continuation passing style"
21:12 tony-o_ *goes off to read*
21:12 meisl but as eli-se said, better not done by humans ;)
21:12 eli-se I actually once wrote a compiler that generated CPS JS code.
21:12 espadrine joined #perl6
21:12 tony-o_ ah, this is what node does ..
21:13 eli-se So you could do sync I/O.
21:13 muraiki oh I thought meisl either misspelled CPS or perhaps was saying Communiquant Processus Séquentiels (which might not be legitimate french)
21:13 muraiki man and then I just misspelled CSP
21:13 muraiki it's time for bed
21:13 tony-o_ haha
21:13 muraiki but it's only 5:13PM...
21:13 eli-se It emitted CPS for every jump instruction (including subroutine calls).
21:13 meisl muraiki: you mean "communicating seq processes"?
21:13 muraiki yeah
21:13 muraiki since we were talking about stackful coroutines
21:14 muraiki but yes, I'm familiar with continuation passing style
21:14 muraiki I'm just rambling because I'm tired. sorry
21:14 meisl np :)
21:15 meisl eli-se: CPS transform is definitely a worthwile step in optimizing things
21:16 meisl eli-se: guess you did proper tail-calls then?
21:16 eli-se do you mean from CPS to non-CPS?
21:16 eli-se meisl: nah, I just let it stack overflow.
21:16 eli-se But implementing it would have been trivial.
21:16 meisl no, opposite dir of course
21:16 muraiki so I know about these various concepts but I spend all my time programming in high level languages. is it worth learning something low level like C to understand how it works "under the hood"?
21:17 eli-se Mechanically transforming non-CPS to CPS is pretty much necessary if you want both (A) readable and generic code, and (B) target a platform which doesn't support context switches, such as JS
21:17 eli-se another attempt I did at this once was implementing a bytecode interpreter in JS which used a call stack stored in an array. it also worked very well.
21:18 meisl eli-se: dito (re CPS transform)
21:18 tony-o_ muraiki: i find it useful once in a while
21:19 eli-se meisl: here it is :P VM: https://github.com/rightfold/gamma/blob/master/lib/vm.ls
21:19 meisl muraiki: sure it is; actually I am writing high-level code in kinda CPS (it is a continuum, you can choose how much)
21:20 eli-se call instructions use CPS.
21:20 eli-se (in the interpreter; not in the bytecode)
21:20 meisl eli-se: interesting, thank you
21:20 eli-se there's also a compiler in that repository.
21:20 meisl eli-se: errm, what language is this?
21:20 eli-se LiveScript
21:21 meisl so gamma is written in LiveScript, right?
21:21 eli-se Yes!
21:21 muraiki " and the syntax is a weird mix of those found in F#, Go, Rust and Scala!" o_O
21:22 eli-se warning: project is abandoned
21:22 eli-se but hello world works.
21:22 meisl well, functional heritage
21:22 meisl eli-se: how long?
21:22 masak eli-se: why abandoned?
21:22 eli-se 19 days
21:22 meisl ah...
21:22 eli-se not interested/boring/web development
21:23 meisl eli-se: c'mon, make it self-hosting!
21:23 eli-se no :( I already have another programming language to work on :(
21:23 meisl (ie: write gamma in gamma)
21:23 meisl which?
21:24 eli-se this one: https://github.com/mill-lang/mill
21:24 eli-se all the example programs work
21:24 muraiki eli-se: have you seen: http://onilabs.com/stratifiedjs
21:24 eli-se HOLY GUACEMOLE
21:25 meisl hehe, I see "MAIN { ... }" - so there's *some* connection to p6
21:25 eli-se BLOCKING I/O AWESOME
21:25 eli-se muraiki: thanks! :D
21:25 muraiki :) so I think it got a bit of press in the follow-up to the controversial "The emperor’s new clothes were built with Node.js" post: http://notes.ericjiang.com/posts/751
21:25 lizmat jnthn moritz : Is there a specific reason why role Dateish does not have the year/month/date attributes ?
21:26 lizmat jnthn moritz : but instead, they're in class DateTime *and* class Date ?
21:26 lizmat jnthn moritz : could that be for hysterical raisins ?
21:26 muraiki great mental image
21:27 meisl eli-se: re mill - could you expand on the influence of perl, plz? (is it perl5 or p6 already? which concepts precisely?)
21:28 eli-se pretty much the only things I took from Perl were magic variables and the concept of phasers.
21:28 eli-se and maybe the "use" keyword
21:29 meisl phasers - oh... so you too mix&match compile time and runtime?
21:29 eli-se nah
21:30 meisl so rather on the syntactic level, right?
21:30 eli-se LOAD is for module intialisation, CHECK for unit tests (executed after INIT only in debug mode), MAIN for main function, UNLOAD at module unloading
21:30 meisl oh, CHECK for tests is nice
21:30 eli-se e.g. https://github.com/mill-lang/mill/blob/develop/std/std/math/mathseq.mill#L23
21:31 eli-se oh right, I took POD from Perl as well
21:31 meisl yeah, ic - thumbs up for that
21:33 meisl hmm, but it seems you're trying to put the tests right into the file as well (just like pod), right?
21:33 eli-se yeah; I like them near the tested code.
21:33 eli-se but you can put them in dedicated test modules, sure.
21:34 meisl ah, ok
21:35 meisl have you thought about something more abstract, like annotations for pre- & post-conditions, for verification?
21:35 eli-se pre and postconditions are language features and postconditions can be put into interface methods
21:36 eli-se similar to Eiffel and D
21:36 meisl right, that's what I was thinking about
21:36 meisl what's that Eiffel guys name, again?
21:37 eli-se proc f(x: Z) { } is in fact syntactic sugar for proc f(x: Any) require isa?(x, Z) { }
21:37 eli-se major difference with Perl 6 (IIRC) is that violating contracts results in undefined behaviour when in release mode.
21:38 meisl difference of what with p6?
21:38 masak I can sort of see the rationale behind that.
21:38 eli-se masak: AFAIK in Perl 6 if a precondition fails you unconditionally get an exception
21:39 masak meisl: in Perl 6, a failed pre- or postcondition would just stop the program.
21:39 eli-se as in, you can't turn that behaviour off.
21:39 masak eli-se: right.
21:39 masak haven't thought about whether you can catch such an exception.
21:39 masak I'd expect you could, though.
21:40 masak m: my $x = 0; { PRE { $x == 5 }; say "OH HAI" }
21:40 camelia rakudo-moar e1cc78: OUTPUT«Precondition '{ $x == 5 }' failed␤  in block  at /tmp/FWQdeVsZnt:1␤  in block <unit> at /tmp/FWQdeVsZnt:1␤  in any <unit-outer> at /tmp/FWQdeVsZnt:1␤␤»
21:40 masak m: my $x = 0; { PRE { $x == 5 }; say "OH HAI" }; CATCH { default {} }
21:40 camelia rakudo-moar e1cc78: ( no output )
21:40 masak seems you can :)
21:40 masak m: my $x = 0; { PRE { $x == 5 }; say "OH HAI" }; CATCH { default { say .^name } }
21:40 camelia rakudo-moar e1cc78: OUTPUT«X::Phaser::PrePost␤»
21:40 meisl eli-se: so you mean mill would (as of now) just behave strangely, whereas p6 would throw, right?
21:40 eli-se in release mode it could do anything including nasal demons, yes.
21:41 meisl ifc
21:41 eli-se terminating the program is perfectly fine behaviour, and also what the implementation currently does.
21:41 meisl *ic*
21:43 tony-o_ m: say 'hello'
21:43 camelia rakudo-moar e1cc78: OUTPUT«hello␤»
21:44 tony-o_ m: say 'hello'
21:44 camelia rakudo-moar e1cc78: OUTPUT«hello␤»
21:44 tony-o_ m: say 'hello'
21:44 camelia rakudo-moar e1cc78: OUTPUT«hello␤»
21:45 tony-o_ m: say 'hello'
21:45 camelia rakudo-moar e1cc78: OUTPUT«hello␤»
21:45 masak m: my $x = 0; { PRE { $x == 5 }; say "OH HAI" }; CATCH { when X::Phaser::PrePost { .resume } }
21:45 camelia rakudo-moar e1cc78: OUTPUT«OH HAI␤»
21:45 tony-o_ m: say 'hello'
21:45 camelia rakudo-moar e1cc78: OUTPUT«hello␤»
21:45 eli-se tony is stuck in a loop.
21:45 tony-o_ m: say 'hello'
21:45 camelia rakudo-moar e1cc78: OUTPUT«hello␤»
21:45 tony-o_ i'm testing out dimming in irssi
21:45 eli-se /msg camelia
21:46 masak tony-o_: have you considered doing that on privmsg?
21:46 tony-o_ i didn't know i could
21:46 eli-se now you do!
21:46 masak Today You Learned ;)
21:46 tony-o_ i'm all kinds of smarter now
21:46 masak \o/
21:46 tony-o_ haha
21:47 meisl eli-se: I'm pondering patterns/paradigms of testing/verification
21:47 tony-o_ japhb: /hilight -regexp -line -color %K ^rakudo-.*?\s[\d\w]{6}:
21:48 meisl eli-se: appears to me right now that you cannot do it just like documentation (~> "literate programming", POD, "right there")
21:50 eli-se my intention in mill is that you can specify many things in the code and they'll be checked, such as parameter and return types, preconditions, postconditions and thrown exceptions.
21:50 dalek rakudo/nom: 51e529d | lizmat++ | src/core/Temporal.pm:
21:50 dalek rakudo/nom: Privatize Date/DateTime attributes
21:50 dalek rakudo/nom:
21:50 dalek rakudo/nom: They were already a mixed bunch, probably because in the past, classes could
21:50 dalek rakudo/nom: not see private attributes defined in roles.  Should make date / time handling
21:50 dalek rakudo/nom: quite a bit faster.
21:50 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/51e529dea1
21:51 tony-o_ .tell japhb i have this dimming dalek and camelia pretty well -  /hilight -regexp -line -color %K ^rakudo-.*?\s[\d\w]{6}:
21:51 yoleaux tony-o_: I'll pass your message to japhb.
21:51 meisl yes, I like to have such things rather explicit, and "right there"
21:52 eli-se check out Eiffel if you haven't yet.
21:52 meisl but are they enough to keep your code clean, over a longer period, and with many ppl involved?
21:52 eli-se you can't keep code clean without competence and discipline
21:52 meisl (I know Eiffel somewhat, but haven't done any larger thing)
21:53 eli-se but confidence that your code works is require for being able to change it, and to get that you need some sort of verification, such as tests or proofs
21:53 eli-se and to keep code of high quality you must be able to change it, otherwise it'll rot.
21:53 eli-se just like brushing teeth!
21:54 meisl right, and how do you provide for this confidence?
21:54 tony-o_ .tell japhb i have this dimming dalek and camelia pretty well -  /hilight -regexp -line -color %K ^(m|r|p):
21:54 yoleaux tony-o_: I'll pass your message to japhb.
21:54 eli-se you can specify contracts in a fine-grained manner, and you can write unit and integration tests
21:54 meisl (competence and discipline assumed, but those alone aren't enough, IMHO)
21:54 tony-o_ oops
21:54 eli-se it's not really new wrt other tools such as Eiffel and Perl 6
21:55 eli-se except perhaps exception specifications, which unlike Java can be used with higher-order functions without pain.
21:55 eli-se and default to the broadest possible exception specification ("throws everything") to reduce immense pain
21:56 masak it's fun to design languages
21:56 meisl hmm, what do you mean that, "exc spec" with higher-order fns?
21:56 eli-se for example: proc f(g: Sub) throw E { … }. Here, f can only throw exceptions of type E.
21:57 eli-se for example: proc f(g: Sub) throw from g { … }. Here, f can only throw exceptions where g occurs in their stack trace.
21:57 meisl we assume subtyping I guess?
21:57 eli-se yes
21:57 meisl can we combine this?
21:58 meisl I mean exc type + from where it is thrown
21:58 eli-se not yet
21:58 eli-se didn't think of that.
21:58 eli-se don't see when that'll be useful though
21:58 eli-se but certainly possible to implement.
21:58 meisl well, just the nearest thing to ask :)
21:59 meisl what kind of type system do you have?
22:00 eli-se dynamic, nominal, no inheritance, protocols (a la Clojure/Elixir), structs (a la C) and enums (a la Rust) with automatically generated lenses and prisms
22:00 masak ooh
22:00 meisl (btw: I'd say "throws" there, rather than "throw")
22:00 masak eli-se: what's a prism? I know what lenses are. do you have a URL?
22:00 meisl yeah, me too
22:01 jercos a prism's a type shaped like a glass triangle obviously :p
22:01 eli-se masak https://hackage.haskell.org/package/lens-3.7.2/docs/Control-Lens-Prism.html
22:01 meisl jercos: sure, as Erik would tell you...
22:01 eli-se it's like a lens except the value may be absent.
22:02 eli-se so you can create a prism for the value of a Maybe, which is present in case of Just and absent in case of Nothing
22:02 meisl ..oOo...
22:03 masak aha.
22:03 masak 'night, #perl6
22:03 dalek rakudo/nom: 2e63ee4 | lizmat++ | src/core/Temporal.pm:
22:03 dalek rakudo/nom: Don't use junctions to determine validity of units
22:03 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2e63ee417b
22:03 lizmat gnight masak
22:03 eli-se meisl: types are somewhat discussed in https://github.com/mill-lang/mill/blob/develop/doc/milldata.pod
22:03 lizmat and good night #perl6!
22:03 eli-se the document is old and probably bad.
22:03 meisl good night, masak
22:03 eli-se goodbye masak
22:03 eli-se goodbye lizmat
22:04 meisl eli-se: will go into that, thank you
22:07 meisl right now: I understand lenses in the context of list abstractions, à la Erik Meijer, "Lenses, Bananas, ..." - is that the right path?
22:11 eli-se In Haskell syntax: "data Lens a b = Lens (a -> b) (a -> b -> a)"
22:11 eli-se i.e. getter/setter pair for immutable structures
22:12 BenGoldberg_ joined #perl6
22:14 meisl hmm, ok. and you create them automatically - for which construct, for example?
22:14 eli-se struct User { id: UUID, name: String } generates two lenses, one for id and one for name.
22:14 eli-se the getters of those lenses extract the respective fields
22:15 eli-se the setters return a new User value with the respective fields updated
22:15 eli-se lenses can be composed to update nested structures, which is neat.
22:16 tony-o_ moritz: is there a flag somewhere in IO::Socket that i can check if a socket is closed?
22:16 meisl ic, so you kinda compile this C-ish "struct" to something hard-boiled functional, then go reason about it heavily
22:17 meisl (I assume)
22:17 eli-se fields are immutable unless prefixed with $
22:18 tony-o_ i'm looking at .close  and it looks like the $!PIO indicates a closed socket but nowhere i can find out if it's closed prior to calling .close
22:18 eli-se just like variables. the last time I needed a mutable data structure was a lot of time ago.
22:18 eli-se hence setters return new struct values
22:18 meisl sure, "functional". But these were lenses, where's the prisms?
22:19 eli-se prisms are for non-common fields of unions
22:19 * geekosaur looks around nervously in case ekmett is hiding in the shadows somewhere near >.>
22:19 tony-o_ m: try { fail "dead"; };
22:19 camelia rakudo-moar 2e63ee: ( no output )
22:19 meisl union like in "union type"?
22:20 eli-se e.g. in union Option { Some(value: Any); None } there's a prism for "value"
22:20 eli-se a value of Option is either Some(x) or None
22:21 meisl yes, or "Maybe". but I still don't get what the prism is...
22:22 meisl *maybe* let me ask like so: given a Prism a b - what can you do with it?
22:22 meisl (hope I got that right, two type params or not?)
22:23 eli-se getter of prism returns Option(T) instead of T
22:23 meisl and setter produces...?
22:25 geekosaur the setter is the constructor Some
22:26 geekosaur I think. (the lens stuff makes my head hurt... mostly because the form I most see is couched in category theory terms)
22:27 meisl but it's not a plain Maybe (or "Option") - Some just produces a Maybe - no union (or "Either")
22:28 meisl are we talking about lifting Maybe into some other Monad?
22:29 redhands_ joined #perl6
22:33 ][Sno][ joined #perl6
22:42 meisl anyways, I'll get some sleep now. g'night perl6
22:43 meisl eli-se: thx, even though I didn't understand eveything, I got plenty of inspiration :)
22:48 FROGGS joined #perl6
22:50 andreoss joined #perl6
22:51 fhelmberger joined #perl6
22:53 redhands_ left #perl6
22:56 zengargoyle joined #perl6
23:07 mr-foobar joined #perl6
23:14 tinyblak joined #perl6
23:17 timotimo what did i miss today?
23:17 timotimo i was afk for many of the hours
23:22 timotimo well, anyway, we have a release, yay! thank you, FROGGS++ :)
23:25 sjn_phone joined #perl6
23:33 cognominal joined #perl6

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo