»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by masak on 12 May 2015.
00:11 jack_rabbit joined 00:15 vendethiel joined
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:35 vendethiel left 00:44 tinyblak joined 00:50 tinyblak left 00:53 laouji joined 00:58 jack_rabbit left 01:16 aborazmeh joined, aborazmeh left, aborazmeh joined, al2o3-cr left 01:22 lichtkind left 01:25 jferrero joined 01:52 colomon left 01:53 colomon joined, adu joined 01:54 vendethiel joined
raydiak ...and on day 4 of the 5-day housesitting, I figure out how to reliably stay connected to the wireless router 01:54
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
21 May 2015 06:31Z <FROGGS> japhb: there is already that bit of code: github.com/MoarVM/MoarVM/blob/4102...uct.c#L242
raydiak pretty brain-dead simple in this case, actually...leaving a ping to my server running every 5 seconds in the background 01:56
no pans or tin-foil required :)
japhb Sigh ... WAPs, why do you so often suck so much? 01:57
raydiak shakes fist at verizon mifi :P 01:59
01:59 adu left 02:02 jack_rabbit joined
skids Because they have to have the lastest pnp consumer bullcrap features and can't just do one thing and do it well. 02:02
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:08
skids Either that or it was only ever tested with chatty clients because they epect everyone to be sending SSDP hails constantly. 02:09
raydiak yeah all the usual windows network spam probably keeps it alive for most people :) 02:10
raydiak is eating a steak in a room with three dogs and is getting looked at like *he's* for dinner... 02:11
02:12 xiaomiao left 02:16 xiaomiao joined
jdv79 look at them as dinner? 02:16
02:19 dayangkun joined 02:20 dayangkun left
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 02:21 itz joined, vendethiel left
skids 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>
ha ha skids :) 02:23
<end camera pan on raydiak's untouched steak; fade out; roll credits> 02:24
02:27 colomon left, chenryn joined 02:28 colomon joined 02:30 rmgk_ joined, rmgk is now known as Guest27572, Guest27572 left, rmgk_ is now known as rmgk 02:47 cibs joined 02:48 tinyblak joined 02:53 noganex joined 02:57 noganex_ left 03:10 gerry_ joined 03:41 gerry_ left 03:48 Sqirrel left
zostay m: my Int $a = 42 if False; $a 03:56
camelia ( no output )
zostay m: my Int $a = 42 if False; $a.perl
camelia ( no output )
zostay m: my Int $a = 42 if False; say $a.perl
camelia rakudo-moar 2b08d6: OUTPUT«Int␤»
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 04:03 Calibellus left 04:05 chenryn left 04:15 laouji left 04:31 ][Sno][ joined, [Sno] left
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
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. :)
dalek kudo/nom: 7a606e3 | TimToady++ | docs/ChangeLog:
various things that happened
04:44
04:49 chenryn joined 04:57 gerry_ joined 05:01 gerry_ left 05:02 jack_rabbit left 05:04 jack_rabbit joined 05:05 laouji joined 05:13 quester joined 05:14 tinyblak left 05:20 rindolf joined 05:21 raiph left 05:23 jack_rabbit left 05:24 skids left 05:26 jack_rabbit joined 05:32 gerry_ joined 05:33 avalenn joined 05:41 jack_rabbit left, tinyblak joined 05:43 FROGGS joined
FROGGS morning #perl6 05:44
TimToady mornin', I added some things to the Changelog since it looked like release was postponed a day 05:46
FROGGS TimToady++
I have a list of things to add (114 entries), though I prefer your wording of course... 05:47
m: class T { has $!foo is rw }
camelia rakudo-moar 7a606e: OUTPUT«useless use of 'is rw' on $!foo in any at src/Perl6/World.nqp:2499␤»
TimToady maybe some time we .tc all these messages 05:49
FROGGS yes, makes sense
(from a German POV)
05:51 Foxcool joined 05:52 Foxcool left, Foxcool joined 05:55 jack_rabbit joined 05:56 domidumont joined 06:00 gerry_ left 06:01 domidumont left, domidumont joined 06:03 gerry_ joined 06:04 aborazmeh left, gerry_ left 06:07 diana_olhovik_ joined 06:10 chenryn left 06:12 gerry_ joined 06:13 chenryn joined 06:16 gerry_ left 06:22 jack_rabbit left 06:24 gerry_ joined, sue__ joined 06:26 rindolf left 06:37 gerry_ left
masak morning, #perl6 06:44
moritz \o
masak I think I slept through the release. was there a release?
FROGGS masak: there was 1/3rd release 06:45
masak: I just released MoarVM, and will release and/rakudo in a bit
masak ok. 06:47
dalek kudo/nom: 5cf700f | FROGGS++ | docs/ROADMAP:
remove NFG (as being done) from ROADMAP
masak why the delay, ooc?
masak hasn't backlooged
FROGGS masak: I cannot upload MoarVM tarballs and jnthn was afk... 06:48
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:49
moritz oh, we now have Polish changelogs? :-) 06:51
masak .oO( szejnzh logky ) 06:54
06:55 abraxxa joined 06:58 RabidGravy joined 07:00 abraxxa left
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.␤»
FROGGS m: use MONKEY-TYPING
camelia ( no output )
masak .oO( Please use 'use "use MONKEY-TYPING" instead'. ) :P 07:01
FROGGS hehe 07:02
masak FROGGS: you know how it's considered a sentence smell in English to end a sentence with a preposition?
well, surely then, using *two* prepositions would be more smelly, yeah? 07:03
there's this example scenario where a dad walks upstairs with a book he chose, to read to his daughter as a goodnight story.
and the daughter furrows he brows and asks
"what did you bring that book that I don't want to be read out of up for?" 07:04
four-preposition sentence. :)
er
"read to out of up for". five. 07:05
FROGGS 'What'ya fell over for?' -- Stan
masak example courtesy of www.amazon.com/Language-Instinct-Mi...061336467/ IIRC 07:06
(which book comes highly recommended, Pinker++)
FROGGS masak: ooc, why are you telling me that?
masak FROGGS: just reminded of that book and that example by the recursive 'use' thing above...
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
stack them and then pop them at the end of the sentence
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
and the students just sit there, trying frantically to map all the verbs back to what was said earlier in the sentence
moritz masak: though most politicians who construct such sentences don't properly finish them
masak augh
07:09 spider-mario left
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
moritz might be a speciality of some topics
understandable :-)
try to feed Kant into Google Translate on occasion :-) 07:10
masak haha
masak wonders what Kant would've thought about Google Translate
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
masak did I tell y'all I've met Hofstadter? 07:11
moritz you did?
masak I was in the audience for a talk he gave at Uppsala uni.
moritz oooh
masak I asked him a question about AI.
don't remember how I phrased it, but basically "will we have (strong) AI soon?"
his answer was "of course" and "of course not" :) 07:12
moritz :-)
FROGGS hehe
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 :-)
nwc10 and take longer than you expect, even ...
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)
moritz I think the concept of "understanding" will blur 07:14
07:14 abraxxa joined, ][Sno][ left
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
still, somehow, I'm glad I asked :)
moritz if you have a huge neural network, and feed it enough stuff, will it understand it?
will you even know if it does? 07:15
masak moritz: did you see the most recent neural network scandal (Flickr)?
moritz masak: no
masak goes hunting for it
money.cnn.com/2015/05/21/technology...index.html
so... I rest my case :/ 07:16
not the first time this happens. Amazon had some really offensive book recommendations a couple years back.
moritz well, these are cases where it's pretty clear the algorithms are pretty far away from "understanding" 07:17
but if the networks gets 3 to 6 orders of magnitudes betters, and the algorithms more intelligent
and they tag as well as a 4 year old, or maybe a 6 year old
can we then know if it has "understanding"? 07:18
xiaomiao heh, 'understanding' in translation ... even humans fail that
"The pressure takes place in Germany" # quote from a contract with a value of a few MEur
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
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? :-)
masak xiaomiao: I'm currently reviewing a document that had "increase user viscosity" when it meant "increase user retention".
xiaomiao masak: that ... uhm ... eeeew 07:20
masak moritz: I can imagine that computers will at some point overtake children (and adults).
moritz: they could with chess, so...
xiaomiao masak: statistically yes, but in corner cases it'll be extra fun
moritz right
masak corner cases are always fun. 07:21
07:24 Ven joined
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
masak hi, Ven \o
Ven is there a way to change the "greediness" of `~`? 07:28
say, I write '(' ~ ')' <xyz> – I'd like perl6 to check for ')' instantly, and not try anything else if it matches instantly
DrForr The way I understand ~ it'd have to match <xyz> beforehand, which could expand to something containing ')'. 07:31
token xyz { '(' 'xyz' ')' } token TOP { '(' ~ ')' <xyz> } "((xyz)' ~~ /<TOP>/ # for instance? 07:33
FROGGS Ven: jnthn has it on his todo 07:34
DrForr Never mind then :)
dalek kudo/nom: bfb1ac2 | FROGGS++ | docs/ChangeLog:
add more changes, reorganize changelog
Ven DrForr: well, I think '(' [ ')' | <xyz> ')' ] should LTM
FROGGS: would that be a special syntax, or is that the expected semantics?
FROGGS Ven: the syntax stays 07:35
Ven: the consensus is that it will backtrack
Ven I'd like it not to backtrack at all, and just go "the fast lane" :)
FROGGS (not quite what you said though)
Ven I mean, I'd be okay with a different syntax
FROGGS '(' ~? ')' <xyz> # ? 07:36
07:36 sue__ left
Ven no idea :-) 07:36
DrForr While I'm watching the channel :) who should I talk to about adding Readline to the ecosystem page? 07:37
07:37 zakharyas joined
masak DrForr: what's your github user name? 07:37
DrForr Guess :) 'drforr' 07:38
moritz DrForr: accept the invitation I just send you
DrForr: then do it yourself :-)
DrForr Will do.
masak oh, two invitations, then.
moritz++ # faster
DrForr Heh. I've already got the project checked out somewhere :) 07:39
masak github.com/perl6/ecosystem is what you want 07:40
DrForr Yeah, I think I already made my edits, but I'll do it from scratch. 07:41
dalek kudo/nom: 6b7bcaf | FROGGS++ | docs/ChangeLog:
deduplicate mentioning $?FILE change
07:44
07:48 g4 joined, g4 left, g4 joined 07:49 quester left, darutoko joined
dalek kudo/nom: dc62c49 | FROGGS++ | docs/announce/2015.05.md:
add announcement for 2015.05
07:50
kudo/nom: f6b1398 | FROGGS++ | docs/release_guide.pod:
update release table
07:51
07:55 tinyblak left
dalek kudo/nom: 24ea588 | FROGGS++ | docs/announce/2015.05.md:
update list of contributors++
07:55
07:55 tinyblak joined
FROGGS pleas review the announce and the changelog 07:55
dalek p: ccefa77 | FROGGS++ | / (2 files):
bump VERSION to 2015.05
07:57
07:57 telex left 07:58 telex joined
lizmat good *, #perl6! 08:03
FROGGS hi literal
err
hi lizmat
lizmat so, is "use 'use MONKEY-TYPING'" enough of a bother to change ?
FROGGS no 08:04
lizmat ok, then I will not change it :-)
FROGGS it is technically correct after all :o)
lizmat
.oO( but but, we want more than technically correct! :-)
FROGGS I know 08:05
but not now
lizmat in any case, it will be gone by September
FROGGS which is soon ó.ò
masak yeah, I just thought it was funny :) no reason to fix anything 08:06
"technically, it's correct" sounds like the beginning of some mansplaining :P
FROGGS "mansplaining"?
08:06 chenryn left
FROGGS ahh 08:07
masak FROGGS: twitter.com/CoralineAda/status/601...8717367296
dalek osystem/drforr-readline: ccfef63 | drforr++ | META.list:
Add perl6-readline to ecosystem
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
moritz cognominal: you mean "Segmentation fault" isn't an error message? :-) 08:09
(just kidding)
FROGGS uhh, it shall not segfault :o(
masak "7. thy shall not segfault"
FROGGS aye
08:10 Sqirrel joined, tinyblak_ joined
lizmat "construst hashes" 08:10
shouldn't that be "construct hashes" ?
moritz masak: is that from the list of rules from becoming an all-powerful overlord? :-) 08:11
dalek osystem: ccfef63 | drforr++ | META.list:
Add perl6-readline to ecosystem
osystem: 4187c00 | drforr++ | META.list:
Merge pull request #46 from perl6/drforr-readline

Add perl6-readline to ecosystem
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
moritz s:2nd/from/for/
lizmat FROGGS: do we have a name for the release yet ? 08:12
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
lizmat: we have, Dresden
lizmat okidoki
FROGGS lizmat: do you propose something else?
08:14 tinyblak left, fhelmberger joined
cognominal FROGGS: I don't see that. Only a mere segfault 08:14
lizmat FROGGS: not yet
08:14 laouji left 08:15 laouji joined
FROGGS cognominal: can you run perl6-gdb-m next time? so we might know what causes the segfault 08:16
cognominal yes 08:17
lizmat FROGGS: the "construst hashes" is in the ChangeLog, hence my question 08:22
FROGGS ahh, missed your question :o) 08:24
DrForr Hrm, looks like I'll be able to make it for the P6 tutorial @ YAPC. 08:25
dalek kudo/nom: 50abd69 | FROGGS++ | docs/ChangeLog:
fix typo in changelog, lizmat++
08:27 laouji left, virtualsue joined
lizmat I wonder if we shouldn't include contributors to roast in the contributor overview as well 08:28
especially since roast *is* defining the language
moritz if you do so, include nqp and moarvm as well
lizmat there you go, yes
wouldn't that make sense?
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
ok, I'll have a stab at it
and let's see if I can make Perl 6 of it at the same time :-) 08:30
08:30 laouji joined
masak DrForr: no, your reply didn't re-open #125226. 08:30
DrForr: lizmat++'s reply changed it from "new" to "open". 08:31
(that happens automatically on the first reply, IIUC)
I rejected the ticket, and it remains rejected.
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:32
masak aye 08:33
DrForr That's the problem with "principle of least surprise" - It really depends upon who's being surprised. 08:34
08:35 rindolf joined 08:37 Foxcool left 08:43 Foxcool joined 08:48 dakkar joined 08:52 espadrine_ joined, espadrine_ is now known as espadrine
Ven
.oO( I'm surprised it works )
08:58
09:01 danaj joined
masak I guess "least surprise" means something like "least surprise to an average user" 09:05
09:06 FROGGS left
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
lose
lizmat RabidGravy: mind if I add you to CREDITS then? so this won't have to be done manually in the future ? 09:09
09:09 FROGGS joined
RabidGravy yep, fine 09:09
:)
lizmat FROGGS: not to late to commit a doc patch ? 09:10
FROGGS lizmat: you can still commit (non breaking stuff) to rakudo, yes
lizmat ok, will patch both then :-)
FROGGS lizmat++
I just uploaded the nqp tarball...
trying to get the contribs on moar, nqp and roast now 09:11
lizmat by rewriting tools/contributors.pl ? 09:12
FROGGS yes
lizmat ok, I'll stop doing that then as well
FROGGS heh
dalek kudo/nom: 8c894fd | lizmat++ | / (2 files):
Merge RabidGravy and Jonathan Stowe
09:13
masak this is a great reason to add people to CREDITS :P 09:16
lizmat for the commit message ? 09:17
09:17 Ven left, mohij joined
lizmat wonders whether this is something for timotimo: www.thedodo.com/hoodie-with-pouch-...67753.html 09:18
it might keep his cat from wandering over the keyboard :-) 09:19
FROGGS awwww
dalek kudo/nom: db5cb76 | FROGGS++ | docs/announce/2015.05.md:
also add cotributors of moar,nqp and roast
09:23
FROGGS gah, typos!
DrForr Too late for --amend?
FROGGS --amend is nice until you pushed 09:24
09:30 cognominal left 09:31 cognominal joined 09:33 laouji left
dalek kudo/nom: c9d5ec2 | FROGGS++ | tools/contributors.pl:
update contributors.pl to include moar, nqp and roast
09:34
kudo/nom: efd3b1b | FROGGS++ | docs/announce/2015.05.md:
again, add more contributors
09:35
nwc10 are we a lynch mob? justinhileman.info/article/git-pretty/
09:36 laouji joined
lizmat FROGGS: mind if I rewrite contributors.pl to Perl 6 ? 09:36
FROGGS lizmat: no, go ahead 09:37
|Tux| Semicolon form of 'module' without 'unit' seen at: 09:39
/pro/3gl/CPAN/rakudobrew/moar-nom/panda/ext/File__Find/lib/File/Find.pm, line 3
masak and so
|Tux| /pro/3gl/CPAN/rakudobrew/moar-nom/panda/ext/Shell__Command/lib/Shell/Command.pm, line 1
masak it begins 09:40
|Tux| and a few more of those
no new RT's I follow fixed 09:41
FROGGS |Tux|: that's expected and will vanish soon
RabidGravy five character patch in most places I think :) 09:42
|Tux| just doning some feedback again
masak |Tux|: which RT is at the top of your priority list?
or s/priority/urgency/, perhaps
FROGGS |Tux|++
|Tux| RT#124191 and RT#124394
FROGGS lunch &
masak heh, of course he chose two :P 09:43
I was going to add "and when I say 'which RT', that means at most *two*..." :P
|Tux| next in line would be RT#123978
09:44 mohij left
|Tux| but I expect a "won't fix" as possible answer there 09:44
masak yeah, 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?
|Tux| RT#123888 possibly being related to RT#123978
masak |Tux|: rt.perl.org/Ticket/Display.html?id=124394 is fixed.
been fixed since Apr 26. 09:46
|Tux| I didn't mention that one today, did I? :)
masak <|Tux|> RT#124191 and RT#124394
|Tux| tux.nl/Files/20150522114625.png
masak that was the second of your top one priority RTs.
|Tux| must have been scrolling while viewing
number 11 and 12 09:47
masak |Tux|++ # organized
|Tux| 124191 and 124298
masak 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
I do not want to be a constant nuisance :P
masak searches the backlog for it 09:49
09:49 virtualsue left
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
masak wonders if anyone except jnthn is going to dare crack open a problem pre-marked as "precompilation bug" 09:53
09:54 mohij joined
lizmat masak [Tux] : fwiw, I think that problem has more to do with @*INC sanitation then anything else 09:55
which we all hope to fixe before the next release
*fix
it was getting to close to the current release to try and fix something so deep with such a big ecosystem fallout 09:56
that I stopped working on it last weekend
|Tux| I was not complaining. Just answering questions 09:57
lizmat yeah, I know... I'm just saying it *is* on the radar 09:58
|Tux| good 09:59
lizmat, you did not answer my *mail* regarding replacing regex with grammar
any thoughts on that?
lizmat huh? when was that ? 10:00
ah, 5th of may, found it 10:01
10:04 RabidGravy left, [Sno] joined
lizmat [Tux]: I think you need to post that more widely 10:05
I don't have any significant thoughts about that other than using a Grammar for it seems overkill
|Tux| like to PM or even wider? (/me does not do blogs)
lizmat no, just on perl6-language or so
|Tux| I am not on that list I think 10:06
lizmat or maybe even perl6-user
there's not a lot of traffic on that (yet) 10:07
FROGGS: is there a reason you're doing both ../MoarVM *and* nqp/MoarVM ? 10:10
10:13 mohij left 10:15 bjz joined 10:16 andreoss joined 10:20 bjz left 10:27 virtualsue joined
jdv79 jdv79 and Justin DeVuyst are the same person 10:29
masak .oO( says who? ) :P
colomon citation, please. 10:30
;)
jdv79 both are in the contrib list - that's why i mention it
dalek kudo/nom: fab519c | (Carl Masak)++ | docs/announce/2015.05.md:
jdv79 and Justin DeVuyst are the same person

  jdv79++
masak fix'd
lizmat for now, but not for the next release :-( 10:31
:-)
masak jdv79: mind if I also add you to the CONTRIBUTORS file?
er, CREDITS
jdv79 whatever fixes it for real 10:32
|Tux| lizmat, ENOFREETIME to also join perl6-users and translate that suggestion for now
My love turned 0x32 today :)
lizmat adding your name to CREDITS
ah, that's a nice age, I remember it well!
dalek kudo/nom: d1d2523 | (Carl Masak)++ | CREDITS:
add jdv79
masak fix'd for real
lizmat :-) 10:33
FROGGS lizmat: my repos are all on the same level, and others have rakudo/nqp/MoarVM
masak jdv79: feel free to add more details to that file if you want
10:33 laouji left, chenryn left
jdv79 cool, thanks 10:33
10:33 laouji joined
lizmat FROGGS: but wouldn't you say that a release manager would run this script in a "normal" user release 10:33
aka, with an nqp and an nqp/MoarVM ?
FROGGS lizmat: I doubt that 10:34
lizmat: I dont run the tools/contributors.pl or the tai-seconds script in the extracted tarball 10:35
because that comes earlier, and has nothing todo with tarball testing
lizmat true
FROGGS lizmat: also, in the extracted tarball scenario you probably dont have the git repo's anymore
lizmat but although I have both a ../MoarVM and a ../nqp, I also have a nqp and a nqp/MoarVM
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 andreoss left
FROGGS lizmat: it dedups the authors by name 10:36
so, no harm done
dalek kudo/nom: 89439d2 | FROGGS++ | tools/build/NQP_REVISION:
[release] bump NQP revision
10:40
kudo/nom: 7b0ce69 | FROGGS++ | VERSION:
[release] bump VERSION
10:41 laouji left 10:43 laouji joined
lizmat FROGGS: running build and spectest 10:45
FROGGS me too 10:46
lizmat yeah, but not on OS X :-)
FROGGS true :o)
10:49 dayangkun left
masak the .reals method in Complex 10:52
we've talked about this before, but never reached consensus
it's a spectacularly bad name for what it actually does
it can wait until after release of course, but I would like to suggest it be renamed to .parts
FROGGS .oO( uppercase it )
masak FROGGS: :P 10:53
colomon m: say (3/4).nude
FROGGS that's what we usually do, no? :D
camelia rakudo-moar d1d252: OUTPUT«3 4␤»
masak I'd suggest .components, but it's a bit long
colomon m: say (3 + 4i).reals
camelia rakudo-moar d1d252: OUTPUT«3 4␤»
lizmat t/spec/S02-names/pseudo.rakudo.moar (Wstat: 0 Tests: 142 Failed: 0)
TODO passed: 79
masak under that naming scheme, it should be called .reim
lizmat strange flapper just now in spectest
colomon m; say (3 + 4i).reim
m: say (3 + 4i).reim
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␤␤»
lizmat FROGGS: test / spectest clean on Moar 10:54
FROGGS lizmat: awesome, thank you
again "Tests out of sequence" for one test file, sigh 10:55
lizmat FROGGS: yeah, but I'm afraid we can't let that be a stopper 10:56
FROGGS I know
10:56 bjz joined
FROGGS I just wonder 10:56
lizmat it's just something that has been lurking in the background for many months now
and which jnthn is slowly unearthing now
it's just closer to the surface now :-) 10:57
FROGGS many months? it is quite new to me
lizmat *that* particular type of flap is new indeed
but we've had flappers for many months now, and they're fewer now than before, is my impression 10:58
make test clean on JVM, running spectest now
10:58 laouji left
FROGGS I run another spectest and then will judge if I skip t/spec/integration/advent2013-day14.t 10:59
11:00 Ven joined, xfix joined
lizmat argh, just found that pipe() is not paying attention to $*CWD 11:01
probably been there for several releases already
FROGGS huh? 11:02
how did you find out?
the contribs script?
lizmat no, sub indir in io_operators.pm
I mean, in combination with 11:03
pipe
while rewriting contributors.pl
FROGGS yes, that's what I mean
11:04 laouji joined
FROGGS rebuilds the tarball 11:06
lizmat hmmm.. seems to be related to gather ?? 11:09
11:09 mr-foobar joined
lizmat $ 6 'indir "nqp", { pipe("pwd").lines.say }' 11:09
/Users/liz/Github/rakudo.moar/nqp
$ 6 'say indir "nqp", { gather for pipe("pwd").lines { take $_ } }' 11:10
/Users/liz/Github/rakudo.moar
FROGGS confirmed 11:11
lizmat not related to pipe(), but gather:
$ 6 'say indir "nqp", { $*CWD }'
"/Users/liz/Github/rakudo.moar/nqp".IO
$ 6 'say indir "nqp", { gather { take $*CWD } }' 11:12
"/Users/liz/Github/rakudo.moar".IO
I guess that's the same issue really as with start { }
11:12 andreoss joined
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…»
lizmat $ 6 'say (indir "nqp", { start { $*CWD } }).result'
"/Users/liz/Github/rakudo.moar".IO
yup, same o same o
FROGGS "/home/camelia/file#/home/camelia/rakudo-inst-2/share/perl6/lib" **shudder**
andreoss p6doc is broken because of it
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…»
FROGGS m: say @*INC.map(CompUnitRepo.new(*))».IO
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
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…»
FROGGS andreoss: that's the correct way
11:17 Sqirrel left 11:18 virtualsue left
FROGGS I'm not happy with the cur specs in @*INC, but I have no idea what might be better instead 11:19
it is like we are lacking an obvious api
lizmat the API is really "use lib" and nothing else
FROGGS and 'use lib' is just a tiny part of what we need
andreoss should i fix it in p6doc?
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
it is not all about 'use lib'
lizmat: I am not sure
moritz andreoss: ys please
*yes
FROGGS that's part of the problem I have
lizmat fwiw, I'm seeing some spectest failures on JVM :-( 11:21
FROGGS we need to sketch a lot scenarios
hmpf
I'm still rebuilding
andreoss++ 11:22
lizmat: we should add real world scenarios to roast, and then figure out how to solve them 11:24
lizmat agree
although I'm not too sure it should be roast
but yeah, somewhere 11:25
FROGGS thinking of: panda, I::P5 (C libs), dist A provides resources for dist B
lizmat: we need to make sure that we test that often enough
|Tux| does anyone have a public accessable *32bit linux available?
11:25 laouji left
FROGGS all of these involve testing -I, -M, 'use lib' and other stuff... so it pretty much belongs to roast 11:26
11:26 laouji joined
FROGGS |Tux|: only a local VM, why? 11:26
|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
feels like a gap in my testing range :]
11:27 AlexDaniel joined
FROGGS testing ancient 32bit systems... that's like testing hpux... ohh wait 11:27
:P
|Tux| still tests with perl5.6.1 11:28
and I got a request for pcre-8.36 for HP-UX 11.00 only last week!
FROGGS wow 11:29
|Tux| I shipped 11.00 CD images to Italy after a loooooong discussion with HP:
11:29 Sqirrel joined
|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:30
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
:}
legally was the word I was looking for 11:32
FROGGS at least the customer got the support :o)
|Tux| and he was very happy
FROGGS, could you do a final check on hmbrand.home.xs4all.nl/Text-CSV_XS-1.18.tgz on that 32bit system? 11:33
I'll make a new virtualbox later locally so I don't have to ask again 11:34
FROGGS gimme a sec
|Tux| it passes on 32bit HP-UX 10.20, so I have good hopes here
FROGGS lizmat: can you gist your jvm spectest fallout? 11:35
lizmat I will when it's done
|Tux| X-mas!
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
Result: PASS
|Tux| thnx
FROGGS you're welcome
dalek c: 89b2d19 | andreoss++ | bin/p6doc (2 files):
Traversing @*INC correctly
colomon t/spec/S02-types/bag.t failing badly on OS X… 11:38
or… seems like it’s doing something really weird with the TAP and breaking my prove? 11:39
lizmat looks ok to me
All tests successful.
Files=1, Tests=193, 2 wallclock secs ( 0.06 usr 0.01 sys + 1.33 cusr 0.07 csys = 1.47 CPU)
FROGGS colomon: for me too
colomon: only in a spectest run though it seems
colomon lizmat: 11:40
11:40 laouji left
colomon t/spec/S02-types/bag.rakudo.moar (Wstat: 0 Tests: 194 Failed: 1) 11:40
Failed test: 193
Parse errors: Tests out of sequence. Found (1) but expected (48)
Tests out of sequence. Found (48) but expected (49)
Tests out of sequence. Found (49) but expected (50)
Tests out of sequence. Found (50) but expected (51)
Tests out of sequence. Found (51) but expected (52)
Displayed the first 5 of 148 TAP syntax errors.
lizmat colomon: can you repeat that ?
colomon lizmat: already have about four times
FROGGS something is fishy there 11:41
colomon ok 16 - ...with the right elements
1..2
ok 1 - code dies
ok 2 - right exception type (X::Assignment::RO)
ok 17 - Can't assign to an element (Bags are immutable)
etc
lizmat colomon: what's fishy there ?
that's a subtest 11:42
colomon (that one came from calling prove directly instead of using make
)
lizmat I don't see the fishyness
11:42 laouji joined
colomon Well, “ Found (1) but expected (48)” is coming because a subtest starts after test 47 11:42
FROGGS hmmm 11:43
lizmat so it would seem the indent of the subtest 11:44
is lost 11:45
FROGGS ups 11:46
Test.pm line 73 and 74... shall these be a single say statement?
in case we flush after print
11:47 laouji left
FROGGS I'll just change it 11:47
11:48 laouji joined
colomon lizmat: oh, the indent is being broken by this message: 11:48
WARNING: unhandled Failure detected in DESTROY:
Cannot call 'DELETE-KEY' on an immutable 'Bag'
in block at t/spec/S02-types/bag.rakudo.moar:48
in block <unit> at t/spec/S02-types/bag.rakudo.moar:12
in any <unit-outer> at t/spec/S02-types/bag.rakudo.moar:1
FROGGS colomon: my upcomming patch with probably fix that 11:49
11:50 Ven left
lizmat FROGGS: gist of spectest fails on JVM: gist.github.com/lizmat/0bcfcec02b38237ba4d8 11:50
looks like 8013195a2d913ecb5dd682de is to blame for this new behaviour 11:55
dalek kudo/nom: 8f8cc0e | FROGGS++ | lib/Test.pm:
.say aver line of TAP ouput in one go

Otherwise warnings or other messages can slip in between the indentation of a subtest or can get in between a 'nok ' and 'ok'.
lizmat FROGGS++
FROGGS colomon: can you retry with this patch?
aver >.<
lizmat still I think the warning in this case is wrong 11:56
FROGGS j: say $~MAIN
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 …»
colomon FROGGS: building... 11:58
12:03 Ven joined
lizmat perhaps we should revert 8013195a2d913ecb5dd ? 12:06
FROGGS looks 12:07
lizmat must be afk now &
12:07 molaf joined
FROGGS lizmat++ # thanks for your help 12:07
12:07 pauluu joined
Ven .tell brrt interesting piece of JIT code in LuaJIT github.com/LuaDist/luajit/blob/mas...t_narrow.c 12:09
yoleaux Ven: I'll pass your message to brrt.
12:17 lizmat left 12:18 lizmat joined
FROGGS would be nicer if spectesting jvm would not take *that* long 12:20
12:20 smls joined
smls Hi 12:21
FROGGS hi smls 12:22
smls It appears that Rakudo's start-up time has significantly improved during the last two months!
FROGGS smls: aye 12:23
smls $rakudodevs++
FROGGS mostly jnthn++ and lizmat++ I believe
smls Shuddav'e guessed ;)
FROGGS :o)
andreoss m: say $*SPEC.tmpdir; say $*TMPDIR 12:26
camelia rakudo-moar 8f8cc0: OUTPUT«"/tmp".IO␤"/tmp".IO␤»
andreoss m: say $*SPEC.rootdir; 12:31
camelia rakudo-moar 8f8cc0: OUTPUT«/␤»
12:34 chenryn left
FROGGS m: try { EVAL 'A::B' } 12:43
camelia ( no output )
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␤␤»
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␤␤»
timotimo o/ 12:49
FROGGS hi timotimo
ohh, it is not soo wrong after all 12:50
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:53
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␤␤»
dalek kudo-star-daily: 2c2cbeb | coke++ | log/ (9 files):
today (automated commit)
13:00
andreoss what the differecne between my proto and proto ? 13:04
moritz the 'my' 13:05
FROGGS lol
moritz well, really
'my' affects scoping
'proto' doesn't
a "proto token" is still method-scoped 13:06
but a "my proto token" is lexically scoped
they are orthogonal directions, really
andreoss paste.debian.net/182051/
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:07
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
21 May 2015 06:32Z <FROGGS> jnthn: are you around in about 12 hours to upload the moarvm release tarball?
13:08 mr-foobar left
timotimo ohai jnthn 13:08
andreoss does 'my method' make any sense?
Ven \o jnthn
FROGGS hmmm, thy shall not use relative time spans in yoleaux messages
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 :-) github.com/LuaDist/luajit/blob/mas...t_narrow.c
13:09 mr-foobar joined
jnthn Ven: Yeah, sadly there's more to VM design that copying neat ideas from all the others. :) 13:10
Ven ;-)
.oO( you need to copy memory as well! )
andreoss m: class Bar { my method hi { say 'hi' } }; my $x = Bar.new; $x.hi;
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␤␤»
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␤␤»
jnthn Wow, the analysis in the comments is still a cool read though :)
timotimo aye 13:12
13:13 tinyblak_ left, tinyblak joined
Ven is still glad jnthn found a use of that link 13:15
13:18 laouji left 13:20 abraxxa left
andreoss so can i have proto BUILD? 13:30
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?
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...
FROGGS okay....
m: A::B
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␤␤»
jnthn andreoss: I'm not sure if they're working or "working" :)
std: A::B
camelia std 28329a7: OUTPUT«5===SORRY!5===␤Undeclared name:␤ 'A::B' used at line 1␤Check failed␤FAILED 00:00 134m␤»
FROGGS that's meant to say: Could not find symbol '&B'
and it fails to call fail in Stash.pm
jnthn STD thinks it's meant to be discovered at compile time...
FROGGS turning the fail() into nqp::die() works 13:33
jnthn hmm
"fails to call fail"?
FROGGS there is a single fail() call, that has the correct error message
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␤␤»
jnthn hmmm
FROGGS could also be that backtrace printing is busted here
JimmyZ jnthn: irclog.perlgeek.de/moarvm/2015-05-17#i_10617824 # in case you missed it
jnthn m: say A::<&B>.WHAT
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␤»
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
I missed it :P
jnthn JimmyZ: Well, it's not a PR, but "submitted" by remote :) 13:36
13:41 Woodi joined
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␤»
andreoss m: say ({ * }).perl;
camelia rakudo-moar 8f8cc0: OUTPUT«-> ($_? is parcel) { #`(Block|53230464) ... }␤»
FROGGS m: say Nil.DEFINITE
camelia rakudo-moar 8f8cc0: OUTPUT«False␤»
jnthn FROGGS: Well, if it's the backtrace printing, what does --ll-exception say? 13:47
FROGGS $ perl6-m --ll-exception -e 'A::B'
Cannot find method 'postcircumfix:<( )>'
at src/gen/m-BOOTSTRAP.nqp:2740 (blib/Perl6/BOOTSTRAP.moarvm::97)
jnthn: so it is not that
13:50 rindolf left
jnthn FROGGS: Getting builds of latest things 13:51
13:54 bjz left 13:55 bjz joined
[ptc] was it intended that the .gpg file for nqp be uploaded? (just asking) 13:55
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
timotimo may have wanted to --ascii-armor?
FROGGS moritz: and I can --verify that file
moritz huh, it's 4.7MB in size
timotimo where is that?
oh, that's not a detached signature then
moritz rakudo.org/downloads/nqp/nqp-2015.05.tar.gz.gpg
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
i thought that detached, ascii-armored signatures were "the norm"
13:58 muraiki joined
FROGGS I have no idea what the norm is 13:58
timotimo but i'm quite probably not up to date on that frontier
moritz timotimo: yes, that's what I wanted to achieve (detached, ascii)
FROGGS I can create these afterwards 13:59
[ptc] FROGGS: ok, just wondered. It seemed sort of out of place in the directory listing
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
timotimo well, what's the command to detach the tarball from the signature file if it's not detached already?
FROGGS moritz: without --sign?
moritz FROGGS: -b implies --detach-sign
erm, is short for
dalek kudo/nom: 507da73 | moritz++ | docs/release_guide.pod:
Release guide: created detached, ASCII-armored signature

  timotimo++, [ptc]++
14:01
timotimo thank you moritz
dalek kudo/nom: e5bc03b | FROGGS++ | src/core/Backtrace.pm:
unbust S03-operators/range.t on jvm, usev6++
14:02
p: aa8dcf6 | moritz++ | docs/release_guide.pod:
Release guide: created detached, ASCII-armored signature

  timotimo++, [ptc]++
14:07 RabidGravy joined
jnthn FROGGS: Well, can confirm it's returning Any 14:08
FROGGS jnthn: what exactly? looking up &fail? 14:09
jnthn FROGGS: No, the Stash.AT-KEY
m: GLOBAL::.package_at_key('A').WHO.AT-KEY('&B', :$global_fallback).WHAT.say
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␤»
jnthn m: GLOBAL::.package_at_key('A').WHO.AT-KEY('&B', :global_fallback).WHAT.say
camelia rakudo-moar 8f8cc0: OUTPUT«(Failure)␤»
jnthn oh
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␤␤»
jnthn star: sub foo() { fail 'omg' }; foo().()
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␤␤»
jnthn That's what's changed.
We get the Failure, but invoking it doesn't throw it
FROGGS ohh!
jnthn laundry room, but bbi10
FROGGS k
might be this: github.com/rakudo/rakudo/commit/20...f95d1ce7d5 14:11
14:12 adu joined 14:13 adu left
FROGGS if I am right, then this wont be needed anymore: github.com/rakudo/rakudo/commit/a5...2824c3ca89 14:13
\o/ 14:17
14:18 tinyblak left
dalek kudo/nom: 3617107 | FROGGS++ | src/core/Failure.pm:
Revert "use more modern FALLBACK instead of .^add_fallback"

This Fallback mechanism seems not reliable in all cases. Reverting this should make a5496e0 obsolete too.
This reverts commit 20c3ae349b3b0935442f70da418c87f95d1ce7d5.
14:19
FROGGS jnthn++
[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 kudo/nom: 30766c1 | FROGGS++ | t/spectest.data:
skip certain tests for release
[ptc] any ideas what that means and where it's coming from?
jnthn FROGGS: Thing is, the FALLBACK kinda was an improvement... 14:23
dalek ast: f160dec | FROGGS++ | S0 (2 files):
skip certain test for rakudo release
jnthn (the regression asdie)
*asside
FROGGS jnthn: yes, understand :o) 14:24
jnthn Anyway, will look into that in the future. :)
I'm surprised it makes a difference.
FROGGS yeah, I just want to finish that bloody release :o)
timotimo something about wrong closure contents?
like $!exception? does that survive properly? 14:25
well, it's in a method, so it should not reach some sort of self outside
er, wait
i'm looking at the one that's in there now, not the one that was in there before
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
that doesn't seem likely
jnthn timotimo: No, probably some MOP subtlety
timotimo bleh :(
FROGGS I'm doing the last spectest for today hopefully 14:28
jnthn FROGGS++
14:28 lizmat left 14:29 lizmat joined
[ptc] FROGGS++ 14:31
FROGGS[mobile] jnthn: maybe the fallback gets Mu and the pointy in the fallback wont cope with it? 14:32
smls moritz: Why is sub exit documented under type Any? 14:34
14:35 rindolf joined, FROGGS left
moritz smls: presumably because it takes Any as argument 14:41
smls: though one could argue that it should be Any(Int), and thus documented in Int
smls: or somewhere completely different, if you have better ideas :-)
control.pod
smls the docs say it takes Int()
m: say &exit 14:42
camelia rakudo-moar e5bc03: OUTPUT«sub exit (Any $status = { ... }) { #`(Sub|61980536) ... }␤»
smls hmm
moritz erm yes, Int()
moritz gets the coercion arguments wrong, again
smls do we have precedent for functions documented outisde of class pages? 14:43
moritz yes, lots of operators in operators.pod
and those are just funnily-named subs
smls :)
14:45 fhelmberger left 14:48 g4 left 14:49 fhelmberger joined
nwc10 FROGGS: ASAN is still friends with you 14:49
14:50 FROGGS joined 14:52 tinyblak joined 14:54 fhelmberger left
[Coke] www.bbc.co.uk/newsbeat/article/3284...-new-icons - sick emoji, yo. 14:55
jnthn Darn, still no butterfly... 14:58
I guess I'll settle for face palm and bacon... 14:59
tadzik ߐꀼRߗR AYR(
...well, on my screen it looks nothing like a camel
jnthn Mine either :P
timotimo gnome-terminal just asked me if i'd allow it to install a font 15:01
and it installed the font needed for those characters
damn, gnome3, you're becoming slick
tadzik Wow, neat
But, do you see a camel? :p 15:02
timotimo not really
what is "RߗR AYR("?
.u RߗR AYR(
yoleaux U+0020 SPACE [Zs] ( )
U+0028 LEFT PARENTHESIS [Ps] (()
U+0041 LATIN CAPITAL LETTER A [Lu] (A)
timotimo these are just regular characters?
tadzik ߐ뀂 15:03
moritz .u ߗ
yoleaux U+07D7 NKO LETTER CHA [Lo] (ߗ)
nwc10 a6
tadzik Doesn't look like a camel either
Emoji sucks
timotimo not quite, no
tadzik ߐ 
tadzik gives up
timotimo i see a stylyzed, round tree with a bit of ground
tadzik It was supposed to be a dragon 15:04
Finally a reason to use irc on a phone!... not
15:09 domidumont left 15:11 kurahaupo1 left 15:12 gfldex joined 15:17 molaf_ joined 15:21 molaf left 15:23 Ven left 15:27 kurahaupo1 joined 15:32 skids joined 15:33 Ven joined, brrt joined 15:36 Ven_ joined 15:37 ab5tract_ joined 15:40 Ven left
FROGGS spectest passed on both jvm and moar \o/ 15:43
jnthn \o/ 15:44
FROGGS++
Ven_ FROGGS++! 15:46
jnthn Has there been some epic slowdown to...all of CORE.setting building?
ohhh 15:47
ignore me
My env had MVM_SPESH_DISABLE in it
15:48 smls left 15:53 skids left 15:54 brrt left, Ven_ left
FROGGS release got tagged 15:56
15:59 brrt joined 16:02 zakharyas left 16:04 cognominal left
FROGGS THE RELEASE IS DONE - feel free to break all the things 16:10
16:10 virtualsue joined
brrt \o/ 16:12
yoleaux 12:09Z <Ven> brrt: interesting piece of JIT code in LuaJIT github.com/LuaDist/luajit/blob/mas...t_narrow.c
brrt FROGGS++
16:13 eli-se joined
brrt .tell Ven thanks 16:13
yoleaux brrt: I'll pass your message to Ven.
eli-se hi! 16:17
brrt hi 16:19
16:22 ab5tract_ left 16:27 Sqirrel left 16:28 brrt left 16:31 zeleiadi joined
tony-o_ paultcochrane? 16:33
moritz tony-o_: that's [ptc] in here 16:36
tony-o_ moritz: ty 16:37
[ptc] tony-o_: you looking for me? 16:38
tony-o_ yea was wondering if i should expect an onslaught of PRs :-)
[ptc] well I'm up to "g" in the alphabet at present :-)
tony-o_ are you cloning all of the modules?
16:39 dakkar left
[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
my plan is to slowly work through all the modules I find which have unit declarator issues
it's been an interesting ride so far :-)
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
moritz [ptc]: are you aware of the perl6-all-modules repo?
[ptc] moritz: no. hrm 16:41
moritz (which I haven't updated in a while, tbh)
[ptc]: I've blogged about it here: perlgeek.de/blog-en/perl-6/2015-all...a-box.html
[ptc] github.com/paultcochrane/check-ecosystem is the script I've been working on, if anyone's interested
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
moritz compiles a rakudo to be able to run his script
maybe we should have a pl6anet.org/ -to-twitter bot
[ptc] not a bad idea
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:43
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
[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?
moritz tony-o_: it uses git subrepo
tony-o_: which is, afaict, a bit of meta data wrapping around git subtree 16:46
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
tony-o_ that was pretty useful to me to find some examples i was looking for a month or so ago
moritz (over submodules, that is)
[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
has there been any work done on that?
tony-o_ link?
[ptc] one could test for outdated or deprecated features etc automatically 16:49
much like how CPANTS does it
16:49 zeleiadi left 16:50 fhelmberger joined
moritz [ptc]: well, modules.perl6.org has badges for certain things 16:50
[ptc]: though iirc mostly related to meta data
[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:52
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
... just me thinking out loud ...
16:55 fhelmberger left, tinyblak left
PerlJam FROGGS++ (release) 16:56
moritz FROGGS++ # indeed
[ptc] agreed! FROGGS++
arnsholt *lesigh* Writing grammars is one of those things that is a lot harder than it looks 17:00
FROGGS[mobile] arnsholt: *nod* 17:01
17:01 diana_olhovik_ left 17:02 telex left 17:04 telex joined
lizmat FROGGS++ 17:08
dalek rl6-roast-data: 4d7c057 | coke++ | / (9 files):
today (automated commit)
17:13
lizmat $ 6 '"e".IO.open(:w).close; say +("e".IO.lines)' 17:14
0
$ 6 '"e".IO.open(:w).close; say +(pipe("cat e").lines)'
1
the latter seems inconsistent to me, right ?
17:15 espadrine left
geekosaur the question being, which part is wrong? 17:17
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...
geekosaur newline is most likely to me, since various things like to assume a line ends with a newline 17:19
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
(...and not impossible that something is in e.g. libuv) 17:20
lizmat $ 6 '"e".IO.open(:w).close; say pipe("cat e",:!chomp).lines[0].chars' 17:24
0
so no newline, just an empty string
I guess it is something low level
the JVM has the same behaviour 17:25
so at least it's consistent
17:26 rmgk left
japhb lizmat: try dumping the return value of pipe("cat e") as a .perl'ed Buf? 17:26
lizmat pipe() only gives an IO::Handle 17:27
do you mean pipe().lines ?
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␤»
lizmat aka, grep(*) would be the same as .grep({$_})
which makes much more sense now that "0" is also true 17:31
17:33 cognominal joined, domidumont joined 17:36 andreoss left
jnthn m: say (Any,"a").grep(?*) 17:38
camelia rakudo-moar 30766c: OUTPUT«a␤»
jnthn I prefer the explicitness of that one, I think
lizmat ah,,, yes, nice
hadn't thought about that one... :-) 17:39
OTOH, if * is for $_ + whatevercode generation
then one *could* expect that * would be equivalent to {$_}
which it is not, atm 17:40
FROGGS m: say Any ~~ *
camelia rakudo-moar 30766c: OUTPUT«WhateverCode.new␤»
FROGGS m: say so Any ~~ *
camelia rakudo-moar 30766c: OUTPUT«WhateverCode.new␤»
lizmat will use ?* for now
17:41 eli-se left
lizmat jnthn: any ideas about the pipe().lines always returning at least 1 line with a Str type object in it ? 17:41
17:42 Sqirrel joined
jnthn lizmat: I think .get returns Str at eof... 17:42
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
*lines method
it's *exactly* the same code path
it feels more like eof is set too late in the case of pipe() 17:44
nwc10 FROGGS++ 17:47
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
jnthn: so I'll add CALL-ME?
or we need to adjust the condition when FALLBACK triggers 17:54
17:56 ssqq joined
FROGGS I'll add CALL-ME 17:57
jnthn FROGGS: Add CALL-ME 17:58
.oO( maybe)
And then we can keep FALLBACK too
FROGGS aye
dalek kudo/nom: 1cb6c15 | FROGGS++ | src/core/Failure.pm:
reinstate new FALLBACK mechanism for type Failure

But since is meant to not trigger as a fallback for .CALL-ME and
  .postcircumfix:<( )>, we need to add one of these on our own.
18:03
18:08 eli-se joined
FROGGS[mobile] nap & 18:13
18:17 FROGGS left
AlexDaniel that's so cool: smoke.perl6.org 18:36
just like the profiler is 18:37
timotimo o/ 18:38
18:41 oetiker joined
[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?
[Coke] Last I checked, star builds were failing horribly. re-checking... 18:44
github.com/coke/rakudo-star-daily/...odules.log 18:45
18:45 pauluu left, domidumont left
[Coke] same failure mode, everything is "could find..." 18:45
er, could NOT find...
18:47 AlexDaniel left
[Coke] has a moment, digging. 18:47
ugh. submodules suck, have I mentioned that? 18:48
moritz [Coke]: they certainly do 18:49
ok, looks like star is still copying stuff to the install location, but that's not enough anymore 18:51
so, we have two options: 1) fix it or 2) change star to use panda for bootstrapping
18:52 TimToady joined
[Coke] DRY, use panda. 18:52
Although we are trying to make star relocatable, yes? 18:53
not sure if panda will work, but if it can, great.
moritz well, first we'd need a relocatable rakudo, no?
[Coke] er, we're making star installable? 18:54
either way, maybe panda isn't quite the right fit, is what I'm saying.
moritz well, currently one need to install before testing the modules anyway, no? 18:55
*needs
and with "currently" I mean "before The Big Breakage" 18:56
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 }; …»
b2gills m: sub example ( $a where * >= 1 = 1 ){ $a.say }; example 5
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
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␤␤»
itz Bailador from Task::Star fails
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;
camelia rakudo-moar 1cb6c1: OUTPUT«===SORRY!===␤Cannot find method 'has_compile_time_value'␤»
tony-o_ m: multi sub prefix:<\>\>>(Bool $bool) { >> $bool, "text"; }; multi sub prefix:<\>\>>(Bool $bool, Str $text) { "$text $bool".say; }; >> False;
camelia rakudo-moar 1cb6c1: OUTPUT«Memory allocation failed; could not allocate 133936 bytes␤»
moritz tony-o_: precedence 19:11
tony-o_ does the Str one need to come first?
moritz m: multi sub prefix:<\>\>>(Bool $bool) { >>($bool, "text") }; multi sub prefix:<\>\>>(Bool $bool, Str $text) { "$text $bool".say; }; >> False;
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␤␤»
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␤»
moritz tony-o_: no, prefix binds tighter than the comma
tony-o_ m: multi sub prefix:<\>\>>(Bool $bool, Str $s) { "$s $bool".say; }; multi sub prefix:<\>\>>(Bool $bool) { >> (False, 'test'); }; >> False;
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␤␤»
tony-o_ ah ^
i'm sure there is a mechanism somewhere to loosen it up?
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…»
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;
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 ssqq left, spintronic joined, ssqq joined 19:20 oetiker left
moritz when I have an IO::Path object that is a directory, how do I append a file name? 19:23
tony-o_ $*SPEC.catpath 19:24
moritz uhm, there's no method for that in IO::Path?
raydiak .child
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
camelia rakudo-moar 1cb6c1: OUTPUT«text False␤»
tony-o_ raydiak++
raydiak (or maybe that's how it should be when looser than comma...idk) 19:25
:)
tony-o_ now once i scrub my own module from the error output, we'll have a parallel perl6 tester 19:26
not that we're champing at the bit for one..
raydiak ooh nice, tony-o_++
moritz m: say from-json('[1]').perl 19:27
camelia rakudo-moar 1cb6c1: OUTPUT«[1]␤»
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
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
tony-o_ japhb: looks like something like this might do the trick /hilight -full -color %G -actcolor %Y tea 19:29
you'd need to tweak the options though, that will color it green
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';
camelia rakudo-moar 1cb6c1: OUTPUT«hi␤»
moritz m: say 'did it work, tony-o_?' 19:32
camelia rakudo-moar 1cb6c1: OUTPUT«did it work, tony-o_?␤»
tony-o_ m: say 'hi';
camelia rakudo-moar 1cb6c1: OUTPUT«hi␤»
spintronic m: say 'hi';
camelia rakudo-moar 1cb6c1: OUTPUT«hi␤»
tony-o_ m: say 'hi'; 19:33
camelia rakudo-moar 1cb6c1: OUTPUT«hi␤»
tony-o_ hm
dalek kudo/nom: e1cc780 | lizmat++ | tools/contributors.pl6:
Perl 6 version of contributors helper script
19:34
tony-o_ m: say 'hi';
camelia rakudo-moar 1cb6c1: OUTPUT«hi␤»
tony-o_ m: say 'hi';
camelia rakudo-moar 1cb6c1: OUTPUT«hi␤»
tony-o_ m: say 'hi';
camelia rakudo-moar 1cb6c1: OUTPUT«hi␤»
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
jnthn cognominal: Me either... :)
Also it's a colon too few :)
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 ) {...}␤»
moritz m: method clone (::T $self: --> T ) {...}
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 ) {...}␤»
cognominal or my specs depot is corrupted?
moritz m: unit class A; method clone (::T $self: --> T ) {...}
camelia ( no output )
japhb m: method clone (::T $self --> :(T --> Any) ) {...}
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) ) {...}␤»
japhb m: method clone (::T $self --> &:(T --> Any) ) {...}
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) ) {...}␤»
tony-o_ japhb: /hilight -mask -full -color %K camelia!*@*
that is pretty close, it just does the nick instead of the full line though
lizmat suggestions / comments on github.com/rakudo/rakudo/commit/e1cc7809a1 welcome 19:37
it was after all my first real P5 -> P6 translation of any size
japhb tony-o_: Hmmm, a good start though, thank you.
tony-o_ japhb: bugs.irssi.org/index.php?getfile=266
if you apply that to your highlight and add the argument -line to that hilight you should be good to go
[Coke] lizmat++ 19:38
moritz lizmat: looks fine
raydiak cognominal: nope not a problem on your end: design.perl6.org/S32/Basics.html#Any
jnthn lizmat: Nice use of .Bag...I need to remember that more often. :)
lizmat afk, will backlog&
japhb m: say "hello" 19:39
camelia rakudo-moar 1cb6c1: OUTPUT«hello␤»
japhb gah, didn't work
19:39 diana_olhovik joined
japhb m: say "hello" 19:39
camelia rakudo-moar 1cb6c1: OUTPUT«hello␤»
[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.
cognominal github.com/perl6/specs/blame/maste...s.pod#L101 that's the result of a "bloodbath" :) 19:40
[Coke] gist.github.com/coke/56d55fe25a28abe7f55b
dalek ar/panda-bootstrap: c106f7c | moritz++ | tools/star/gen-panda-bootstrap.p6:
Add a tool for generating a panda bootstrap file from all modules.

Still very much a work in progress, and not used yet.
cognominal ...or more probably survived it 19:41
japhb m: say "hello" 19:42
camelia rakudo-moar 1cb6c1: OUTPUT«hello␤»
japhb *sigh*
Thanks tony-o_, [Coke]
tony-o_ japhb: i'd rebuild irssi with the patch but i'd ruin my uptime
japhb heh
japhb decides lunch is in order
dalek ecs: 4932a71 | moritz++ | S32-setting-library/Basics.pod:
Correct signature, cognominal++

also remove a redundant multi
cognominal thx 19:44
moritz, below it explicitely says there are two variants and perpetuates the double --> 19:47
19:48 rindolf left
cognominal it seem there is some deliberate intentionality here, but I can't figure what it is. Maybe safer ask TimToady 19:48
19:53 ssqq left
moritz cognominal: well, but the first one is just a degenerate case of the second one 19:54
maybe I need to take a second look 19:55
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␤␤»
tony-o_ m: sub r :hidden-from-backtrace { die 'dead'; }; r;
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␤»
tony-o_ m: sub r is hidden-from-backtrace { die 'dead'; }; r;
camelia rakudo-moar e1cc78: OUTPUT«dead␤ in block <unit> at /tmp/Z7pqCwDLNO:1␤ in any <unit-outer> at /tmp/Z7pqCwDLNO:1␤␤»
tony-o_ m: { sub is hidden-from-backtrace { die 'dead'; } }.() 19:57
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'; } }.()
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␤»
tony-o_ m: (sub is hidden-from-backtrace { die 'dead'; }).()
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␤»
tony-o_ can i hide an anon sub from backtrace?
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 FROGGS left
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␤ …»
tony-o_ m: my $r = sub { die 'dead'; }; ($r is hidden-from-backtrace).();
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
20:02 FROGGS joined
tony-o_ guess not 20:02
20:04 AlexDaniel joined, H2O1 joined 20:05 H2O1 left
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␤␤»
jnthn 'night o/ 20:08
tony-o_ jnthn: ty
and night
20:10 diana_olhovik left
eli-se I just wrote a video game in COBOL. :( 20:11
.oO(Inline::COBOL)
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:13
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:16 molaf_ left 20:20 darutoko left 20:23 xfix left
eli-se master of puppets 20:24
20:25 raiph joined
raydiak great album 20:25
eli-se I couldn't disagree less. 20:26
I tried but failed miserably.
raydiak :)
tony-o_ haha 20:27
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
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:30
masak it's very 80s to talk about MVC frameworks, too :) 20:31
PerlJam Which C compiler do you guys use? Turbo C or Microsoft C? (that's about as 80s as I could muster) 20:34
20:34 FROGGS left
tony-o_ borland 20:34
*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 :)
PerlJam "Borland C" wasn't a thing until the 1990s 20:36
eli-se PerlJam: C doesn't yet exist.
I still use GnuCOBOL.
PerlJam eli-se: we do not speak of the dark times ;) 20:37
eli-se wrote this: gist.github.com/rightfold/53b4add706c60bef7693
[Coke] POKE 53280, 0
tony-o_ borland made turbo c, i thought
raydiak masak: what did they use MVC for back then? networked business apps or something?
eli-se buttons in mainframe TUIs 20:38
jercos MVC doesn't really need a network >.>
PerlJam tony-o_: aye. their C offering was called "Turbo C" until the early 1990s when they rebranded as "Borland C" or "Borland C++"
I think that's also when they dropped Pascal, but I don't remember as I'd stopped writting it by then
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
PerlJam raydiak: GUIs
raydiak ah... 20:40
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
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:43
I guess part of it seems to be that there a a variety of variations on the basic idea 20:44
masak definitely. 20:45
muraiki Super Borland C++ Turbo Championship Edition
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:46
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
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
masak sounds interesting.
muraiki also, learning smalltalk early on really spoiled me in terms of development environments :P
both of those books I mentioned are free. something to do on a weekend :)
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:49
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.
(and that was the first time I'd touched smalltalk in over a decade)
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
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
20:51 FROGGS joined
muraiki and yeah, it's all built around reusable components instead of templates 20:51
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
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
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:54
masak :) 20:57
21:01 Akagi201 joined
japhb Is it OK to hate everything about modern web development *without* trying Seaside first? 21:01
eli-se yes
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
eli-se web development is horrible regardless of everything
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
overdetermined*
tony-o_ masak: i do too from a theory perspective, i think it's a pita in practice
muraiki haha 21:04
tony-o_ mojo is pretty nice, probably the nicest thing i've used in a while
better than express ..
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++
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
eli-se Well, it's Perl. :)
Perl woohoo!
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
eli-se masak: stackful coroutines
21:07 meisl joined
tony-o_ stackful coroutines? 21:07
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.
raydiak also hopes that masak is right and it converges on "nice" :)
tony-o_ i wrote a load balancer in node
eli-se See Julia, GHC, Go and Erlang for examples.
meisl hi all 21:09
eli-se tony-o_: what for? HTTP?
tony-o_ eli-se: callback hell lol
eli-se: for anything using sockets
eli-se Cool.
mst <3 promises/futures
meisl eli-se, tony-o: CPS rules :) 21:10
eli-se stackful coroutines or bust
dalek kudo/nom: 250b18f | lizmat++ | docs/release_guide.pod:
Use Perl6 version, no longer need Date::Simple
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.
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 ?
meisl "continuation passing style"
tony-o_ *goes off to read* 21:12
meisl but as eli-se said, better not done by humans ;)
eli-se I actually once wrote a compiler that generated CPS JS code.
21:12 espadrine joined
tony-o_ ah, this is what node does .. 21:12
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􏿽xE9quentiels (which might not be legitimate french)
man and then I just misspelled CSP
it's time for bed
tony-o_ haha
muraiki but it's only 5:13PM...
eli-se It emitted CPS for every jump instruction (including subroutine calls).
meisl muraiki: you mean "communicating seq processes"?
muraiki yeah
since we were talking about stackful coroutines
but yes, I'm familiar with continuation passing style 21:14
I'm just rambling because I'm tired. sorry
meisl np :)
eli-se: CPS transform is definitely a worthwile step in optimizing things 21:15
eli-se: guess you did proper tail-calls then? 21:16
eli-se do you mean from CPS to non-CPS?
meisl: nah, I just let it stack overflow.
But implementing it would have been trivial.
meisl no, opposite dir of course
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"?
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
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.
meisl eli-se: dito (re CPS transform) 21:18
tony-o_ muraiki: i find it useful once in a while
eli-se meisl: here it is :P VM: github.com/rightfold/gamma/blob/ma.../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)
eli-se call instructions use CPS. 21:20
(in the interpreter; not in the bytecode)
meisl eli-se: interesting, thank you
eli-se there's also a compiler in that repository.
meisl eli-se: errm, what language is this?
eli-se LiveScript
meisl so gamma is written in LiveScript, right? 21:21
eli-se Yes!
muraiki " and the syntax is a weird mix of those found in F#, Go, Rust and Scala!" o_O
eli-se warning: project is abandoned 21:22
but hello world works.
meisl well, functional heritage
eli-se: how long?
masak eli-se: why abandoned?
eli-se 19 days
meisl ah...
eli-se not interested/boring/web development 21:23
meisl eli-se: c'mon, make it self-hosting!
eli-se no :( I already have another programming language to work on :(
meisl (ie: write gamma in gamma)
which?
eli-se this one: github.com/mill-lang/mill 21:24
all the example programs work
muraiki eli-se: have you seen: onilabs.com/stratifiedjs
eli-se HOLY GUACEMOLE
meisl hehe, I see "MAIN { ... }" - so there's *some* connection to p6 21:25
eli-se BLOCKING I/O AWESOME
muraiki: thanks! :D
muraiki :) so I think it got a bit of press in the follow-up to the controversial "The emperor􏿽x92s new clothes were built with Node.js" post: notes.ericjiang.com/posts/751
lizmat jnthn moritz : Is there a specific reason why role Dateish does not have the year/month/date attributes ?
jnthn moritz : but instead, they're in class DateTime *and* class Date ? 21:26
jnthn moritz : could that be for hysterical raisins ?
muraiki great mental image
meisl eli-se: re mill - could you expand on the influence of perl, plz? (is it perl5 or p6 already? which concepts precisely?) 21:27
eli-se pretty much the only things I took from Perl were magic variables and the concept of phasers. 21:28
and maybe the "use" keyword
meisl phasers - oh... so you too mix&match compile time and runtime? 21:29
eli-se nah
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
meisl oh, CHECK for tests is nice
eli-se e.g. github.com/mill-lang/mill/blob/dev...q.mill#L23
oh right, I took POD from Perl as well 21:31
meisl yeah, ic - thumbs up for that
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.
but you can put them in dedicated test modules, sure.
meisl ah, ok 21:34
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
similar to Eiffel and D 21:36
meisl right, that's what I was thinking about
what's that Eiffel guys name, again?
eli-se proc f(x: Z) { } is in fact syntactic sugar for proc f(x: Any) require isa?(x, Z) { } 21:37
major difference with Perl 6 (IIRC) is that violating contracts results in undefined behaviour when in release mode.
meisl difference of what with p6? 21:38
masak I can sort of see the rationale behind that.
eli-se masak: AFAIK in Perl 6 if a precondition fails you unconditionally get an exception
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.
masak eli-se: right.
haven't thought about whether you can catch such an exception.
I'd expect you could, though.
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␤␤»
masak m: my $x = 0; { PRE { $x == 5 }; say "OH HAI" }; CATCH { default {} }
camelia ( no output )
masak seems you can :)
m: my $x = 0; { PRE { $x == 5 }; say "OH HAI" }; CATCH { default { say .^name } }
camelia rakudo-moar e1cc78: OUTPUT«X::Phaser::PrePost␤»
meisl eli-se: so you mean mill would (as of now) just behave strangely, whereas p6 would throw, right?
eli-se in release mode it could do anything including nasal demons, yes.
meisl ifc 21:41
eli-se terminating the program is perfectly fine behaviour, and also what the implementation currently does.
meisl *ic*
tony-o_ m: say 'hello' 21:43
camelia rakudo-moar e1cc78: OUTPUT«hello␤»
21:43 ggoebel left
tony-o_ m: say 'hello' 21:44
camelia rakudo-moar e1cc78: OUTPUT«hello␤»
tony-o_ m: say 'hello'
camelia rakudo-moar e1cc78: OUTPUT«hello␤»
21:44 espadrine left
tony-o_ m: say 'hello' 21:45
camelia rakudo-moar e1cc78: OUTPUT«hello␤»
masak m: my $x = 0; { PRE { $x == 5 }; say "OH HAI" }; CATCH { when X::Phaser::PrePost { .resume } }
camelia rakudo-moar e1cc78: OUTPUT«OH HAI␤»
tony-o_ m: say 'hello'
camelia rakudo-moar e1cc78: OUTPUT«hello␤»
eli-se tony is stuck in a loop.
tony-o_ m: say 'hello'
camelia rakudo-moar e1cc78: OUTPUT«hello␤»
tony-o_ i'm testing out dimming in irssi
eli-se /msg camelia
masak tony-o_: have you considered doing that on privmsg? 21:46
tony-o_ i didn't know i could
eli-se now you do!
masak Today You Learned ;)
tony-o_ i'm all kinds of smarter now
masak \o/
tony-o_ haha
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}:
meisl eli-se: appears to me right now that you cannot do it just like documentation (~> "literate programming", POD, "right there") 21:48
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 kudo/nom: 51e529d | lizmat++ | src/core/Temporal.pm:
Privatize Date/DateTime attributes

They were already a mixed bunch, probably because in the past, classes could not see private attributes defined in roles. Should make date / time handling quite a bit faster.
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 muraiki left
meisl yes, I like to have such things rather explicit, and "right there" 21:51
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?
eli-se you can't keep code clean without competence and discipline
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
and to keep code of high quality you must be able to change it, otherwise it'll rot.
just like brushing teeth!
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):
yoleaux tony-o_: I'll pass your message to japhb.
eli-se you can specify contracts in a fine-grained manner, and you can write unit and integration tests
meisl (competence and discipline assumed, but those alone aren't enough, IMHO)
tony-o_ oops
eli-se it's not really new wrt other tools such as Eiffel and Perl 6
except perhaps exception specifications, which unlike Java can be used with higher-order functions without pain. 21:55
and default to the broadest possible exception specification ("throws everything") to reduce immense pain
meisl hmm, what do you mean that, "exc spec" with higher-order fns? 21:56
masak it's fun to design languages
eli-se for example: proc f(g: Sub) throw E { … }. Here, f can only throw exceptions of type E.
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?
eli-se yes
meisl can we combine this?
I mean exc type + from where it is thrown 21:58
eli-se not yet
didn't think of that.
don't see when that'll be useful though
but certainly possible to implement.
meisl well, just the nearest thing to ask :)
what kind of type system do you have? 21:59
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
meisl (btw: I'd say "throws" there, rather than "throw")
masak eli-se: what's a prism? I know what lenses are. do you have a URL?
meisl yeah, me too
jercos a prism's a type shaped like a glass triangle obviously :p 22:01
eli-se masak hackage.haskell.org/package/lens-3...Prism.html
meisl jercos: sure, as Erik would tell you...
eli-se it's like a lens except the value may be absent.
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...
masak aha. 22:03
'night, #perl6
dalek kudo/nom: 2e63ee4 | lizmat++ | src/core/Temporal.pm:
Don't use junctions to determine validity of units
lizmat gnight masak
eli-se meisl: types are somewhat discussed in github.com/mill-lang/mill/blob/dev...lldata.pod
lizmat and good night #perl6!
eli-se the document is old and probably bad.
meisl good night, masak
eli-se goodbye masak
goodbye lizmat
meisl eli-se: will go into that, thank you 22:04
right now: I understand lenses in the context of list abstractions, à la Erik Meijer, "Lenses, Bananas, ..." - is that the right path? 22:07
eli-se In Haskell syntax: "data Lens a b = Lens (a -> b) (a -> b -> a)" 22:11
i.e. getter/setter pair for immutable structures
22:12 BenGoldberg_ joined, RabidGravy left
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.
the getters of those lenses extract the respective fields
the setters return a new User value with the respective fields updated 22:15
lenses can be composed to update nested structures, which is neat.
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
(I assume) 22:17
eli-se fields are immutable unless prefixed with $
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.
hence setters return new struct values
meisl sure, "functional". But these were lenses, where's the prisms?
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 >.>
tony-o_ m: try { fail "dead"; };
camelia ( no output )
meisl union like in "union type"?
eli-se e.g. in union Option { Some(value: Any); None } there's a prism for "value" 22:20
a value of Option is either Some(x) or None
meisl yes, or "Maybe". but I still don't get what the prism is... 22:21
*maybe* let me ask like so: given a Prism a b - what can you do with it? 22:22
(hope I got that right, two type params or not?)
eli-se getter of prism returns Option(T) instead of T 22:23
meisl and setter produces...?
geekosaur the setter is the constructor Some 22:25
I think. (the lens stuff makes my head hurt... mostly because the form I most see is couched in category theory terms) 22:26
meisl but it's not a plain Maybe (or "Option") - Some just produces a Maybe - no union (or "Either") 22:27
are we talking about lifting Maybe into some other Monad? 22:28
22:29 redhands_ joined 22:32 virtualsue left 22:33 ][Sno][ joined, [Sno] left
meisl anyways, I'll get some sleep now. g'night perl6 22:42
eli-se: thx, even though I didn't understand eveything, I got plenty of inspiration :) 22:43
22:47 FROGGS left 22:48 FROGGS joined 22:50 andreoss joined 22:51 fhelmberger joined 22:53 redhands_ left 22:56 fhelmberger left, zengargoyle joined 22:57 mr-foobar left 23:01 eli-se left 23:04 meisl left 23:07 mr-foobar joined 23:14 tinyblak joined 23:15 kaare__ left
timotimo what did i miss today? 23:17
i was afk for many of the hours
23:18 tinyblak left
timotimo well, anyway, we have a release, yay! thank you, FROGGS++ :) 23:22
23:23 pmurias left 23:25 sjn_phone joined 23:32 cognominal left 23:33 cognominal joined 23:39 sjn_phone left