»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
Set by moritz on 22 December 2015.
00:01 vendethiel left 00:04 labster joined 00:14 vendethiel joined
kurahaupo stevieb9: we should have a Perl conference in Australia, we have camels ... 00:23
stevieb9 kurahaupo: I'd rather have it in the Great White North, as that'll allow me to get the camel off my back, which would be the cost of travel ;) 00:25
it is on my roadmap though tbh, to travel to Australia, as I'm a huge outdoor person 00:26
diakopter you're too huge for indoors? 00:27
00:27 kid51 joined
Zoffix :P 00:27
stevieb9 diakopter: my desire for being outdoors is ;)
00:28 TakinOver joined
diakopter now I miss all the nick sexiness 00:28
stevieb9 I camp in the mountains in the winter. I photograph things in places in the mountains that most people couldn't imagine going to
00:29 kid51 left, Zoffix is now known as sexy-coder-girl
sexy-coder-girl waves to diakopter 00:29
:)
00:29 kid51 joined, sexy-coder-girl is now known as Zoffix
stevieb9 diakopter: there, fixed 00:29
lol
diakopter :o
00:29 jonadab joined
Zoffix TIL hibernate on stuff run on VirtualBox doesn't work 00:30
00:31 MadcapJake joined, safinaskar joined
safinaskar what language rakudo written in? 00:32
Zoffix safinaskar, Perl 6
safinaskar Zoffix: so, rakudo build-depends on itself?
Zoffix safinaskar, heh :) Well, it uses NQP perl6.party/post/Perl-6-is-written-in...-Perl-6
diakopter Perl 6, lots of nqp (a small subset of Perl 6), lots of C
MadcapJake Perl 6 and NQP
Zoffix Hm, actually that article ain't that useful. 00:33
safinaskar thanks, reading
diakopter C and NQP vastly outweigh the Perl 6, afaik
Zoffix Language chart strongly disagrees :) github.com/rakudo/rakudo 00:34
MadcapJake iiuc, the VM is in C, the parser is in NQP, and the semantics are in Perl 6
diakopter Zoffix: I think you're forgetting the NQP and MoarVM repos 00:35
00:35 vendethiel left
Zoffix diakopter, but the question was "what language rakudo is written in" :) 00:35
safinaskar is this possible to build rakudo without rakudo binary available? and without any full-featured perl 6 compiler? 00:36
diakopter -_-
MadcapJake most languages are bundled with their VM though
Zoffix safinaskar, yes it is.
MadcapJake safinaskar: every time you build it, that's how it's done
diakopter I'm quite sure the questioner wanted to know about Perl 6 as a whole
safinaskar Zoffix: okey, so what you need? NQP compiler/interpreter?
AlexDaniel github.com/perl6/doc/issues/599
safinaskar diakopter: yes 00:37
diakopter: but it seems rakudo is default compiler for perl 6, so i am asking about it
Zoffix safinaskar, just Perl 5 and C compiler
MadcapJake safinaskar: so NQP is a lower-level Perl 6 without any syntax sugaring and that language gets bootstrapped in C
Zoffix safinaskar, this my alias for rebuilding of perl6: update-perl6 is aliased to `rm -fr ~/.zef; rm -fr ~/.perl6; rm -fr ~/.rakudobrew/; git clone github.com/tadzik/rakudobrew ~/.rakudobrew; rakudobrew build moar; rakudobrew build zef;'
safinaskar, and I had to add this to PATH: export PATH=$PATH:~/.rakudobrew/bin:~/.rakudobrew/moar-nom/install/share/perl6/site/bin/ 00:38
s/PATH/.bashrc
And that brews rakudo on MoarVM
diakopter where is the github language graph 00:39
MadcapJake safinaskar: check out rakudobrew source or rakudo-star make files if you're interested in how it's bootstrapped
Zoffix diakopter, the colored line below the "commits braches releases..." click on it
AlexDaniel it lies 00:40
most of the time
diakopter yeah, here it subsumes nqp into Perl 6
MadcapJake that's my fault :( 00:41
I think
depending on if they are using my language-perl6fe for heuristic purposes
diakopter well it's fine, as long as you know most of it is nqp, and most of the (large) nqp repo is in NQP
so I stand by my claim 00:42
MadcapJake (which I'm not sure that they do, I think that linguist actually uses internal heuristics for filetype detection)
github.com/github/linguist/blob/06....yml#L2795 00:43
Zoffix Yeah, and that gets a lot of Perl 5 wrongly as Perl 6 (github.com/kraih/mojo/pull/804 github.com/github/linguist/issues/2149) 00:44
diakopter lolz
safinaskar: so to answer your question, you need Perl 5, git, and a mainstream C compiler 00:47
safinaskar AlexDaniel: thanks for creating issue (i commented it)
Zoffix safinaskar, well, you can build perl 5 from source too ( perlbrew.pl ). It's written in C 00:48
safinaskar okey, so c -> perl 5 -> perl 6, right? no cyrcilar dependencies and everything from human-written files, right? 00:49
Zoffix The trust trust thing kinda assumes you're willing to read thousands if not millions of line of code for something :P
Especially since perl is installed pretty much on every *nix 00:50
MadcapJake safinaskar: no
safinaskar MadcapJake: ?
MadcapJake perl 5 is only involved in scripts for building, the actual bootstrapping is C -> NQP -> NQP + Perl 6 -> Perl 6 00:51
Zoffix I think the question is Is this possible to build rakudo using only human-written non-generated text files and C and C++ compilers and nothing more? 00:52
safinaskar MadcapJake: cool. thanks
Zoffix \o/
safinaskar Zoffix: yes and MadcapJake answered it
diakopter safinaskar: no, you don't need to build Perl 5
safinaskar: you just need to have it installed 00:53
and the make utility
(or nmake on Windows)
00:55 Zoffix left
dj_goku_ isn't there an initiative to remove a few dependencies for building and build them in NQP/Perl6? 00:56
AlexDaniel dj_goku_: not sure if there was, but well volunteered! 00:59
dj_goku_ haha 01:01
diakopter hard to imagine losing any of those (C or Perl 5 or make)
01:01 tardisx left
dj_goku_ I am currently just learning perl6. :D I have a project in mind already. 01:01
safinaskar thanks everybody 01:02
01:02 safinaskar left
grondilu #128156 01:11
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=128156
grondilu ^ignore this. That was just me getting the link. 01:12
01:14 vendethiel joined 01:16 BenGoldberg joined 01:21 Actualeyes joined 01:25 molaf joined
timeless timotimo: what module? 01:29
timotimo p6doc
huggable: p6doc
huggable timotimo, nothing found
timotimo we should have something there, but ... what? 01:30
timeless so, zef install p6doc?
01:31 kid51 left
timeless ok, so that put it into /home/timeless/hg/perl6/rakudobrew/moar-nom/install/share/perl6/site/bin but my path has ~/.rakudobrew/bin/ in the path 01:33
what's the rhyme/reason it didn't go into that place? 01:34
timotimo if you're using zef, then yes. afterwards you need to rakudobrew rehash to make the symlink appear 01:36
timeless ah
ok, I didn't know about rehash 01:37
where was I supposed to find out about it?
timotimo hm, the rakudobrew readme should have stuff about it 01:38
timeless it doesn't :)
timotimo ok. then just rakudobrew with no arguments ought to say a bit about it
timeless it mentions that it exists, but that's hardly a hint that I should use it.. 01:39
timotimo hm.
*shrugs*, i don't use rakudobrew
timeless i'm +1 to adding it to the README
timotimo i have that perl6/site/bin in my path instead
having support for post-install hooks in panda and zef may be interesting 01:40
timeless +1
timotimo so that it can rehash automatically when a binary gets installed
i'm not going to do the design work for that, though
01:47 ilbot3 joined 01:57 vendethiel left 01:58 abruanese joined
Xliff Hrm! 02:00
Ran into another endless loop.
libxml2 does some crazy stuff that looks to be confusing GC. 02:01
Yeah. Think I'll stop there for the night. 02:05
timotimo it shouldn't. but you may have to "anchor" a few things "down" so they don't get reclaimed and overwritten
Xliff Oh? How so? 02:06
Especially considering the underlying lib likes to keep its own lists of pointers.
Which might also be in use by rakudo.
I "got passed" this already, today. However the fix I used earlier doesn't appear to be working now. 02:07
timotimo only things that get created by things like CStruct.new or something will be reclaimed when the GC doesn't find a path to it any more
Xliff Well, I'm doing TDD.
timotimo test drven, yeah?
Xliff So most of the things that are used are retrieved from libxml2 with few exceptions. 02:08
Yes. Test driven.
timotimo that shouldn't be so problematic, then
Xliff Almost certain the problem starts here: github.com/Xliff/p6-XML-LibXML/blo...ort.t#L173 02:11
Which refers to here: github.com/Xliff/p6-XML-LibXML/blo...de.pm#L351 02:12
timotimo if you "use nqp;" you can throw around nqp::force_gc() everywhere
Xliff Yeah, but the gc is what's causing the problem. Donno if I wanna do that.
timotimo it might make the problem appear closer to its source 02:13
Xliff If I comment out the "$elem.removeAttributeNode( $tattr );" the script will run to the end with no problems.
But I think I'm dealing with a corrupted linked list in libxml2 which is causing rakudo's GC to go nuts. 02:14
Even so, I've gone from 17 tests to almost 35. I think I will get some Z's and approach it fresh, tomorrow. 02:15
There are some XS calls I'm curious about that I have yet to grok which might be the key to fixing things.
Thanks for the help timotimo++ 02:16
timotimo i'm sorry i'm not terribly helpful, though
Xliff It's Nativecall.... I knew what I was getting into! =)
timotimo :)
Xliff <- NC masochist.
I really should see someone about that.
o7 #perl6! 02:17
timotimo take care
02:24 mohae_ joined 02:27 noganex joined 02:33 Sqirrel joined 02:52 kurahaupo_ joined 02:53 vendethiel joined
dalek c: fd659f8 | (Wenzel P. P. Peppmeyer)++ | doc/Language/faq.pod:
link to rakudo homepage
03:01
timeless oh, wow 03:05
so, Devel::Trace is really a pretty simple script, w/o perldoc? 03:06
03:06 kurahaupo_ left
timeless github.com/Altai-man/perl6-Devel-T.../Trace.pm6 03:06
03:08 kurahaupo joined, kurahaupo left, kurahaupo joined 03:11 grondilu joined 03:13 kerframil left 03:18 BenGoldberg left
dalek c: f59187e | (Wenzel P. P. Peppmeyer)++ | doc/Type/Num.pod:
doc NaN
03:22
timeless is that person on irc? ^ 03:30
gfldex <-- 03:31
timeless gfldex: did that actually work for you? when I tried it, I didn't see it in the generated html
gfldex it takes about 30min to build the docs
there is a timestamp in the footer 03:32
timeless you can prune the docs to one or two files
gfldex i can but the build process doesnt
besides i got my own html renderer that's a wee bit faster
timeless sure, but it works for testing
03:32 ugexe joined
timeless this is what i was using to test a change like what you pushed www.irccloud.com/pastebin/TYiCATmm/ 03:33
03:37 vendethiel left 03:38 Actualeyes left 03:42 kerframil joined 03:43 huggable left, huggable joined 03:45 cpage_ left 03:46 cpage_ joined, cpage_ left 03:47 vendethiel joined
dalek c: c486510 | (Wenzel P. P. Peppmeyer)++ | doc/Type/Num.pod:
better index entry for NaN
03:49
c: 8495700 | (Wenzel P. P. Peppmeyer)++ | doc/Type/ (3 files):
fix and add links to NaN
03:49 ugexe left 03:51 shmibs joined 03:52 ugexe joined
dalek c: 2bfb500 | (Wenzel P. P. Peppmeyer)++ | doc/Type/Num.pod:
fix typo
04:03
04:06 llfourn_ joined 04:08 vendethiel left
dalek c: ff74bc4 | (Wenzel P. P. Peppmeyer)++ | doc/Language/classtut.pod:
add index entry for is to classtut
04:11
04:12 Cabanossi joined 04:24 vendethiel joined, cpage_ joined 04:30 jdv79_ is now known as jdv79 04:48 ssotka joined 04:50 vendethiel left 04:53 vendethiel joined 05:02 Actualeyes joined 05:08 Actualeyes left 05:12 buharin joined
buharin hello my friends 05:12
05:23 Actualeyes joined 05:31 cooper_ joined 05:33 cooper_ left 05:34 cooper_ joined 05:44 llfourn joined 05:46 llfourn_ left 05:51 cooper_ is now known as cooper 05:58 vendethiel left 06:00 wamba joined 06:02 domidumont joined 06:05 vendethiel joined 06:06 domidumont left 06:07 domidumont joined 06:19 sno joined 06:23 Actualeyes left 06:39 Khisanth joined 06:41 Actualeyes joined 06:46 CIAvash joined 06:48 vendethiel left 06:51 rurban joined, breinbaa1 is now known as breinbaas 06:56 moritz_ is now known as moritz 06:58 vendethiel joined 07:02 RabidGravy joined, rurban_ joined
RabidGravy boom! 07:07
07:11 espadrine joined 07:15 cgfbee joined 07:16 jack_rabbit left
moritz bang! 07:17
nine bong? 07:18
moritz nine: I expected no less from you :-) 07:19
07:23 ssotka left 07:26 maddingu1 is now known as maddingue, jack_rabbit joined 07:27 masak_ is now known as masak, Praise joined, Praise left, Praise joined
masak gøød mørning, #pørl6 07:27
07:28 kurahaupo left
buharin hi :) 07:29
07:29 zakharyas joined
buharin I am happy to be with you 07:29
guys
masak and gals and bots 07:30
07:31 Jonis_ is now known as Jonis
moritz we need a productive prefix or postfix that makes a word genderless 07:31
07:34 espadrine left 07:35 trnh joined, dakkar joined 07:36 trnh left
tadzik this somewhat reminds me of the South Park episode about changing the flag 07:36
like, will we someday have people so gender-neutral in their minds that they won't even know that "guy" and "gal" (and "bot") may actually refer to different kinds of people 07:37
masak tadzik: what you're describing is called "Finnish" and "Estonian" :) 07:40
tadzik: when I was growing up, I kept hearing this story about my grandfather answering the door, and two officials asked if they could talk to his wife. "No, he is not at home," said my grandfather. 07:41
tadzik: (why? because Estonian only has a gender-neutral pronoun, and so translating sometimes simply results in he/she noise.) 07:42
07:42 darutoko joined
masak tadzik: of course, the story was probably much funnier back in the 60s when it was suitable scandalous to entertain the notion of same-sex marriage in most circles. 07:43
suitably*
07:43 huggable left, g4 joined, huggable joined
tadzik :) 07:45
people of the future since the 60s 07:46
07:53 mr-foobar joined 07:57 abraxxa joined 08:01 abraxxa left 08:05 abraxxa joined 08:06 vendethiel left 08:07 a3r0_ is now known as a3r0
masak I won't make it to YAPC::Europe this year :/ 08:08
08:09 vendethiel joined
masak I've managed to get to all YAPC::Europes since 2008, so this will be a first 08:09
in quite a while 08:10
anyway, I've decided to submit a talk, not to YAPC::Europe, but to my own as-yet-unnamed private Perl conference with the same prestige and glamour as YAPC::Europe, but only one attendant and one speaker 08:11
nine moritz: sorry to hear :( 08:12
masak hey, I'm over here
08:14 _mg_ joined, stevieb9 left
masak the title of my talk is (provisionally) "Strapping Young Language", and it's about the -- ongoing -- 007 effort to parse and run itself 08:14
08:17 Actualeyes left 08:18 jnthn_ is now known as jnthn
tadzik I didn't make it to last year's, and I'm still a bit on the fence with Cluj 08:18
I actually cancelled a talk submission just before the 2nd acceptance wave hit 08:19
nine I'll be there but I won't submit any talks this year. Total lack of energy :/ 08:20
08:20 _mg_ left
masak if anyone else wants to submit talks to my personal conference, I will consider it, but my acceptance criteria are pretty steep, so you'd better come well-prepared with a good reason for me to accept you :P 08:20
jnthn o.O :)
masak also, if anyone wants me to help name my conf, I'll gladly accept help 08:21
jnthn ain't sure he can meet that high bar :P
masak jnthn: I dunno, have you done anything of significance within the Perl community? :P
jnthn: you're a bit of an unknown, so that's not working in your favor... :P
jnthn Not really...wrote some little VM thingy, did a few compiler patches...
masak is suddenly afraid he didn't put enough ":P"s on that 08:22
jnthn :P
nine masak: no risk, no fun ;)
08:22 _mg_ joined
tadzik masak: I assume "masacon" is already considered? :P 08:22
masak tadzik: it was not. now is being considered by the High Committee. 08:23
08:23 andreoss joined
jnthn Heh, thanks to 007 thing and your name I came up with... Bond, Discussion, Software, Masak :P 08:24
nine masak: isn't "masak's normal day at home" or short "manodaho conference" closer to the truth? ;)
masak jnthn: I see what you did there
tadzik :D:D:D
masak jnthn: would be more fitting if it were a Python conference *ba doom dish* 08:25
moritz masak: will you be live streaming your conference? 08:26
masak moritz: I'm considering making a recording, and then having it be stuck in editing for eight months. 08:27
nine masak: so you even want to publish faster than most conferences? Nice!
dalek c: 08c8bb6 | parabolize++ | doc/Type/Cancellation.pod:
document Cancellation #589
08:28
masak it's also possible I end up in a room of my house that has no video recording equipment set up
moritz we could consider doing an internet live conference thingy at some point 08:30
masak This Just In: live-streaming may actually be a possibility
Stay Tuned™
moritz like, with Google Hangouts or something like that 08:31
08:31 _mg_ left
masak well, it turns out my employer might be buying some equipment, and this would be a good test for it 08:31
moritz what a crazy random happenstance
08:32 _mg_ joined 08:34 _mg_ left, sortiz joined 08:35 ocbtec joined 08:37 _mg_ joined
sortiz \o #perl6 08:38
08:39 Emeric joined 08:41 _mg_ left
andreoss why there's no x86 build of the latest rakudo-start for windows? 08:44
moritz because nobody did them so far 08:47
08:49 abraxxa left
sortiz I got an sporadic failure under "hyper": "Internal error: unhandled dyncall argument type" 08:50
08:50 _mg_ joined
andreoss is there an instruction for building msi file for rakudo star? 08:51
08:52 vendethiel left 08:55 _mg_ left, vendethiel joined, _mg_ joined 08:59 _mg_ left 09:03 _mg_ joined
dalek c: d6ca213 | (Wenzel P. P. Peppmeyer)++ | doc/Language/typesystem.pod:
doc is trait in typesystem
09:04
c: 6036651 | (Wenzel P. P. Peppmeyer)++ | doc/Type/Cancellation.pod:
Merge branch 'master' of github.com/perl6/doc
09:04 _mg_ left 09:05 abraxxa joined, iH2O joined, _mg_ joined 09:08 _mg_ left 09:12 mr-foobar left 09:16 donaldh joined 09:19 rindolf joined 09:21 _mg_ joined 09:22 rvchangue joined, Zero_Dogg joined 09:23 _mg_ left
andreoss rakudo-star is trying to download modules from internet during installation 09:25
should it be so? 09:26
moritz no, that's a bug in star 09:27
09:27 safinaskar joined 09:28 _mg_ joined
gfldex m: Mu.^methods.grep({.name ~~ 'WHAT'|'WHERE'}).say 09:30
camelia rakudo-moar c7cd00: OUTPUT«(WHERE)␤»
gfldex where does .WHAT come from?
nine gfldex: it's a bit like a macro 09:31
it's not a real method
09:31 _mg_ left
psch it's a hardcoded methodop in Perl6::Grammar, currently 09:31
although ISTR that it's to be turned into a real macro eventually
09:32 donaldh left
andreoss moritz: panda is doing it 09:36
trying to get some metadata
jnthn Thing it's actually handled in Actions, after parsing it as a method call
*Think
andreoss also using non-existent --unlink option for wget 09:37
jnthn Not sure we'll ever truly do it as a macro, because bootstrapping.
psch right, it's in %deftrap iirc, which maps the matched token to nqp ops
gfldex $past.op('what'); <-- found it!
09:38 darutoko left, vendethiel left
jnthn .HOW and .WHO are similar 09:39
09:39 vendethiel joined
gfldex m: Mu.^methods.grep({.name ~~ 'WHAT'|'WHERE'}).say # i'm a bit unhappy about that 09:39
nine Would making those real macros actually have advantages?
camelia rakudo-moar c7cd00: OUTPUT«(WHERE)␤»
jnthn nine: Intellectual beauty...so essentially "no" ;P 09:42
09:44 iH2O left
dalek c: 027d023 | (Wenzel P. P. Peppmeyer)++ | doc/Type/Metamodel/MethodContainer.pod:
accuse .^methods of omitting WHAT
09:46
masak jnthn, nine: since methods are late-bound, if they're macros they can't actually be methods. they'd have to be postfix ops or something. 09:48
jnthn masak: Yes, we'd have to treat them that way 09:49
And I note that'd get icky with given 'foo' { .WHAT.say }
'cus there's nothing to postfix there
masak ick, yes
hadn't thought of that
that one'd have to be a macro term...
jnthn Maybe we need a word for macro-esque things to de-confuse them with things that truly make sense to do as macros 09:50
masak I've been saying this for a long time ;)
"macro-esque" worksforme, fwiw
jnthn 'cus so far I can see close to zero actual win in trying to get this case to be done in terms of real macros
masak TimToady seems to be well aware that he doesn't *actually* mean "macro" when he calls these "macro-ish" 09:51
jnthn gfldex: That's doc commit is kinda misleading because .WHAT simply is not a method. It's a special form handled by the compiler.
masak but rather "specially picked up by the compiler and treated differently"
jnthn It'd be better just to say that than claim they *are* introspection methods (because they aren't, and won't be because they can't be) 09:52
masak "special form" is also a fine description, rather than "macro-ish"
dalek c: fd61951 | (Wenzel P. P. Peppmeyer)++ | doc/Type/Metamodel/MethodContainer.pod:
don't call non-methods methods
09:57
safinaskar does rakudo depend on std.pm6 and viv? does it need it for compilation? 10:01
gfldex no
10:02 vendethiel left
safinaskar gfldex: thanks 10:03
10:05 wamba left, wamba joined 10:06 safinaskar left 10:07 vendethiel joined
DrForr Well, the news is out now :) If I get even 3 people I'll be surprised :/ 10:07
10:07 labster left 10:10 rurban1 joined, rurban2 joined 10:12 rurban3 joined 10:13 rurban4 joined, rurban left, rurban5 joined 10:14 rurban1 left 10:15 devtom30 joined, grondilu left 10:16 rurban2 left 10:17 rurban3 left, rurban4 left 10:20 rurban joined 10:21 rurban1 joined
Woodi_ so, if we are into photo terminology like roll, macro (and lenses used somewhere) then few are still free: zoom (a bit opposite of macro), shutter, "field of view", mirror, prism (that can be already used ;)), plane, dial, aperture, lever, knob and probably more :) 10:21
10:21 rurban2 joined, rurban3 joined 10:22 rurban4 joined, rurban5 left 10:23 rurban5 joined, rurban5 left
Woodi_ subtypes: "where" is equivalent of: sub foo ($x) { if $x <= 0 { fail }; ... } ? 10:23
10:23 wamba left 10:24 wamba joined, rurban left
gfldex if you ignore introspection and possible compiler magic, then yes, they are equivalent 10:25
10:25 rurban1 left
Woodi_ right, main type is probably checked too... 10:25
10:25 rurban2 left 10:26 rurban3 left 10:27 rurban4 left 10:29 donaldh joined 10:31 ufobat joined 10:33 Woodi_ left 10:34 Woodi joined 10:36 devtom30 left
DrForr Given something like constant X = 3; my @x = X, 2; # @x.WHO reports 'Int', is there a way to determine that the value came from a constant? 10:43
Er, @x[0].WHO.
10:46 kaare_ joined, zakharyas left
gfldex m: my $Y = 42; constant X = 3; say X.VAR.^name, $Y.VAR.^name 10:46
camelia rakudo-moar c7cd00: OUTPUT«IntScalar␤»
gfldex DrForr: ^^^
10:47 CIAvash left 10:50 vendethiel left, Bucciarati_ is now known as Bucciarati 10:52 vendethiel joined
DrForr Cool, thanks. 10:52
10:54 rurban_ left 10:56 vibha joined 11:02 _mg_ joined 11:12 kid51 joined 11:14 vendethiel left 11:18 vendethiel joined
gfldex DrForr: there maybe custom container types that are writeable tho. You may have found the limits of introspection. 11:18
DrForr I was hoping to get some sort of type, or at least an indication of an attribute. 11:22
gregf_ DrForr: try changing the value and if its immutable then its a constant :| #ugly 11:25
DrForr (realizing that 'constant' isn't a type but an attribute helps, my concentration is a bit scattered at teh moment.
s/.$/)/
gregf_ m: constant A = 100;try { A = 200; CATCH { say "a constant"; }} #like that, awful 11:26
camelia rakudo-moar c7cd00: OUTPUT«a constant␤Cannot modify an immutable Int␤ in block <unit> at <tmp> line 1␤␤»
11:27 _mg_ left
gregf_ m: my $Y = "foo"; say $Y.VAR.^name 11:27
camelia rakudo-moar c7cd00: OUTPUT«Scalar␤»
jnthn constant just binds a value to a symbol; by runtime all you have is a symbol pointing to a value. 11:29
dalek osystem: 462d064 | (Alexey Melezhik)++ | META.list:
Add sparrowdo to ecosystem

See github.com/melezhik/sparrowdo
osystem: a6a4645 | azawawi++ | META.list:
Merge pull request #219 from melezhik/master

Add sparrowdo to ecosystem
DrForr I need to rethink the rationale behind using constants in this case then, the concept I'm toying with may not map well to p6. I didn't think it did initially, so this really is just further proof. I can do most of what I want with strings. 11:31
11:31 rurban_ joined 11:40 kid51 left 11:42 wamba left 11:43 huggable left, donaldh left, huggable joined 11:44 wamba joined 12:02 obarb is now known as brabo
masak wasn't aware of the difference between X and $X constants 12:03
12:04 domidumont left 12:05 Sqirrel left
buharin hi :) 12:08
moritz masak: what about the difference between X and and $X chromosomes?
hi buharin :-)
gfldex $X chromosomes are mutable :)
masak moritz: I bet Monsanto is involved somehow, wanting to profit from our $DNA 12:09
buharin I go chance to push perl6 to small buisness
12:10 jameslenz joined
buharin but need a good web framework 12:10
masak well volunteered!
buharin: at this juncture I would try out a good Perl 5 web framework 12:11
because you would get several orders of magnitude better quality, speed, and stability
thanks to the stellar work of nine, though, you can still do this while using Perl 6 12:12
theoretically
Woodi and HN reported yesterday that how DNA string is *folded* is also important :) I wonder is it influential on boxers... :)
buharin masak: yeah I think about it because that only I know it is Bailador but it is not ready for commercial use 12:13
Woodi buharin: buharin++ ! :)
masak buharin: I recently switched from Bailador to HTTP::Server::Tiny for a web app I was using 12:14
buharin oh nice
masak buharin: the selling point for the latter for me was how nicely Supplies had been integrated into Server-Sent Events
a match made in heaven <3
Woodi first would be nice to have professional/commercial grade/secure/modern _log in_ framework... 12:16
masak Woodi: I hear many Perl 5 web frameworks have this 12:17
DrForr someone needs to push what they have to the ecosystem...
12:18 donaldh joined
jdv79 what do they have? 12:19
buharin could you show me Perl6 site sample? 12:20
I am intrested how advance I can use it?
masak buharin: this is a simple-but-working (board game) app: github.com/masak/nex/blob/master/app.pl
notably, I don't yet have log-in/auth
DrForr Well, they (I) need to finish up the wiki code before heading overseas for a talk, but got distracted by Markdown.
masak but it *is* pure Perl 6
jdv79 is the p6sgi effort still a thing? 12:21
DrForr (yes, there's a Markdown translator in the p6 ecosystem, I managed to miss it.)
jdv79: I've seen the pod, I'm not sure how much work has gone into it as of late.
12:22 user9 joined
buharin huh well 12:22
I should try :D
as I checked Swift there are created two good web frameworks 12:23
jdv79 hmm
buharin so fast
but Perl6 community is quite tiny
I would like to use something like Python Flask in Perl6 12:24
I really liked it, however I amn't web dev in root
jdv79 Iniline::Python?
*Inline
masak buharin: it's people like you, with an itch to scratch, that go on to create the next Flask-in-Perl 6 12:27
buharin it takes ages ;D 12:29
DrForr buharin: FWIW I got Dancer2 running with Inline::Perl5 without a lot of hassle. I don't know how networking and concurrency works with Inline::Python (if it does) but it's not entirely out of the realm of possibility :) 12:30
masak buharin: which is why I'm telling you *now* so you'll have a head start
buharin I have never been pioneer 12:31
DrForr First time for everything ;) 12:32
buharin haha :D
if I can rely on yours review
I would
NEveDko hi! what about webgui cms? however, it's quite old and perl5. but there is kickstarter project to finish rewrite which was abandoned by original authors (plainblack.com)
DrForr NEveDko: Well volunteered? :) 12:33
buharin: I'd be interesetd.
*interested
masak buharin: I would certainly help review
NEveDko DrForr: not much :) last time I checked
buharin masak: thnks :-) 12:34
perlpilot guten tag #perl6
BrokenRobot m: class Foo { method CALLME ($a) {say "o hai $a"}}; say Foo("meow")
camelia rakudo-moar c7cd00: OUTPUT«Cannot find method 'Foo' on object of type Str␤ in block <unit> at <tmp> line 1␤␤»
BrokenRobot wat?
masak gut'n t'g perlpilot 12:35
BrokenRobot Shouldn't this attemt to call the CALLME method and not Foo on Str?
NEveDko here it is...www.kickstarter.com/projects/20833...nt-managem
DrForr BrokenRobot: Foo.new("meow"); # ?
12:36 zakharyas joined
BrokenRobot DrForr: that'd just pass "meow" to new method. 12:36
NEveDko i kinda like the idea. perhaps it's worth to consider rewrite into perl6
BrokenRobot m: say Int(42)
camelia rakudo-moar c7cd00: OUTPUT«42␤»
BrokenRobot ^ I want this with my own class
masak m: class Foo { method CALL-ME ($a) {say "o hai $a"}}; Foo.new()("there")
camelia rakudo-moar c7cd00: OUTPUT«o hai there␤»
masak BrokenRobot: ^
BrokenRobot ohh
masak m: class Foo { method CALL-ME ($a) {say "o hai $a"}}; Foo("there")
camelia rakudo-moar c7cd00: OUTPUT«o hai there␤»
BrokenRobot Ah
masak++
moritz method CALL-ME($MAYBE) { } 12:37
DrForr Oh, scrottie's target. And it was originally PHP.
BrokenRobot NEveDko: don't we already have Bee-something that no one cares about? :) 12:38
pearlbee.org/
DrForr *cough* 12:39
BrokenRobot I guess I shouldn't say no one cares about, but rather, I've never met a single person using it.
DrForr Look at the latest committer :)
perlpilot Just because you made a commit doesn't mean you're using it ;) 12:40
BrokenRobot laughs
DrForr Four sites up and running with it, though I'll be the first to admit it's badly in need of TLC. 12:41
BrokenRobot DrForr: well, I guess my point is it's not the lack of CMS/blogging platforms that prevent Perl from competing with Wordpress :)
DrForr Allow me to reiterate the the Perl mantra: "We suck at marketing."
NEveDko BrokenRobot never heard of it :) looks nice 12:42
DrForr The handlers need a chainsaw taken to them, and properly implemented DBIx::Class. 12:44
12:44 bonsaikitten is now known as DrEeevil
DrForr blogs-perl-org is in better shape codewise, but not by much. 12:45
BrokenRobot It's a pain in the ass to use.
NEveDko btw, while we are debating web... is perl6 as client-side language (like javascript) in browsers ever happen? is it good idea? 12:46
masak I gave up years ago trying to log into blogs.perl.org to comment
12:46 vendethiel left
DrForr github.com/drforr/blogs-perl-org - not the current site, but will be soon. 12:46
masak NEveDko: pmurias is working on a rakudo js backend
pmurias++, I should say
BrokenRobot NEveDko: it won't happen, as it'd require many browser vendors deciding to implement a parser for no good reason. But there is an aforementioned work in progress to make Perl 6 compile into JavaScript 12:47
12:48 vendethiel joined
masak I simply assumed that was what was meant 12:48
surely people aren't still attempting to *replace* JavaScript in any sense?
JavaScript has already won
BrokenRobot See! It's that kind of attitude is why we're stuck with JavaScript of all the things :) 12:49
12:49 Actualeyes joined
BrokenRobot DrForr: so it'll be running on PearlBee instead of MovableType? 12:49
DrForr Yep.
masak BrokenRobot: no, the attitude isn't the problem -- people have tried to replace JavaScript.
BrokenRobot DrForr++
masak BrokenRobot: see Java applets, Flash, Dart... 12:50
BrokenRobot masak: that was just a joke :)
Java applets
BrokenRobot shudders at the memory
masak and Java applets had a bigger PR budget than JavaScript ever had
gfldex does the following mean NYI or DEPRICATED? github.com/rakudo/rakudo/blob/nom/...ts.pm#L445 12:53
BrokenRobot Does anyone remember where the stuff about making your object behave like a hash is documented? Like AT-KEY or something like that? 12:57
moritz gfldex: it's simply a trait that hasn't been declared
BrokenRobot never mind. recalling the method name gave me a good search term: docs.perl6.org/language/subscripts#AT-KEY 12:58
NEveDko BrokenRobot: I remember seeing that project mentioned on pl6anet.org... Question is, if perl6 in browser can bring some must-have funcionality compared to JS.
gfldex BrokenRobot: doc.perl6.org/language/variables#Sigils got an example, you will have to read the rakudo src for advanced stuff 12:59
BrokenRobot NEveDko: like what? 13:00
There's probably a billion frameworks that implement everything that Perl 6 offers.
The Object Model maybe 13:02
NEveDko BrokenRobot like "My favourite language finaly on client side! Finaly, I don't have to do JS" :)
Woodi NEveDko: Perl6 is just language like JS. "web features" are rather framework thingies...
donaldh o/
yoleaux 13 Apr 2016 15:12Z <hoelzro> donaldh: irclog.perlgeek.de/perl6/2016-04-13#i_12330426
BrokenRobot NEveDko: I think the majority of choices wouldn't be made by developers themselves. 13:03
"I can hire a Perl 6 dev and have them do fullstack" is more like it
BrokenRobot &
dalek c: a8fadeb | (Wenzel P. P. Peppmeyer)++ | doc/Language/variables.pod:
turn tabs into whitespaces
13:04
gregf_ wow, a robot that broken can think o.O
*thats
*and 13:05
NEveDko Woodi: But if you do complex site you cannot avoid coding, can you? At least some changed in code.
13:06 bjz joined
donaldh Debugging precomp on JVM is near impossible 13:06
Woodi btw. I learned yesterday about what exactly CSRFs are and have just one thought: WEB IS DOOOMNED!!1 you *need to* verify *optional* headers or duplikate tokens into cookies and other storage just for CSRF... and there are nore things like XSS and JS :) 13:09
13:09 lnrdo_ joined, lnrdo_ left, sufrostico joined
masak Woodi: en.wikipedia.org/wiki/And_yet_it_moves 13:10
Woodi <img src="admin.somewhere.org/?userAdd=hckr&a...s=abc"> <- works on page load :>
moritz Woodi: clever framework authors have added CSRF protection to their code 13:11
Woodi masak: my point is we should start perl6 web frameworks with basic components lik login, sessions, ...
moritz Woodi: do it!
nobody objects
it's just that nobody codes on-demand either
masak Woodi: I find your point unarguable :) 13:12
as in, you have my full blessing to start at that end
Woodi moritz: my problem is: I do not know new web technologies/requirement, like things 2001+
but thanx for incentive and blessing :) 13:14
dalek c: 1957f8e | (Wenzel P. P. Peppmeyer)++ | doc/Language/typesystem.pod:
we don't doc what will not work inside a class
13:15
c: fad1877 | (Wenzel P. P. Peppmeyer)++ | doc/Language/phasers.pod:
add will trait to index
BrokenRobot Woodi: sounds like a perfect execuse to learn them :)
masak as much as I like people contemplating entirely new efforts, I think it's just as valuable or maybe even more valuable when people add to existing efforts
one of the things I enjoy watching the most is cross-pollination between mature web frameworks, like Angular, React, Ember... 13:16
BrokenRobot m: my $a = "Te"; my $b = "st"; my $m = try { need "$a$b"; ::("$a$b") }; say $m.WHAT 13:21
camelia rakudo-moar c7cd00: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Undeclared routine:␤ need used at line 1␤␤»
BrokenRobot Any way of making that work? Basically, I have strings like "Foo" and "Bar" and I want to load modules "Foo::Meow::Foo" and "Foo::Meow::Bar" 13:22
They're classes in separate files. So in the above I'd want to do $m.new after loading and get Foo::Meow::Foo object for example 13:23
13:25 skids joined
[Coke]_ wakes up 13:25
13:25 [Coke]_ is now known as [Coke]
gfldex m: my $a = "Te"; my $b = "st"; my $TEST = $a~$b; my $m = try { require $TEST; }; say $m.WHAT 13:26
camelia rakudo-moar c7cd00: OUTPUT«(Any)␤»
13:28 bjz left
BrokenRobot m: my $t = "Test"; require $t 13:28
camelia rakudo-moar c7cd00: OUTPUT«Could not find Test in:␤ /home/camelia/.perl6␤ /home/camelia/rakudo-m-inst-1/share/perl6/site␤ /home/camelia/rakudo-m-inst-1/share/perl6/vendor␤ /home/camelia/rakudo-m-inst-1/share/perl6␤ CompUnit::Repository::AbsolutePath<67734160…»
BrokenRobot didn't know we had `require` along with `need` and `use` 13:29
moritz m: m: my $t = "Test"; require ::($t)
camelia ( no output )
sortiz m: my \Test = (require ::("Te"~"st")); say Test.WHAT; 13:30
camelia rakudo-moar c7cd00: OUTPUT«(Test)␤»
13:30 Zero_Dogg left
sortiz BrokenRobot, require is at runtime, need and use at compile time. 13:30
BrokenRobot Thanks.
gfldex m: my $t = "Test"; require ::($t); plan 1
camelia rakudo-moar c7cd00: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Undeclared routine:␤ plan used at line 1␤␤»
13:30 Zero_Dogg joined
BrokenRobot gfldex: it doesn't import symbols 13:32
star: my $t = "DBIish"; require ::($t); my $m = ::($t).new; say $m.^methods
camelia star-m 2016.04: OUTPUT«(err errstr connect install-driver install_driver installed-drivers)␤»
13:33 domidumont joined
sortiz m: my \Test = (require ::('Te'~'st') <&ok>); say Test.WHAT; ok 1; # With import 'ok' 13:35
camelia rakudo-moar c7cd00: OUTPUT«(Test)␤ok 1 - ␤»
jdv79 gist.github.com/anonymous/c090b60c...adcbf0391b 13:36
why?
gfldex m: my $var = 'Test'; my \Test = (require ::($var) <&ok>); say Test.WHAT; ok 1; # With import 'ok' 13:37
camelia rakudo-moar c7cd00: OUTPUT«(Test)␤ok 1 - ␤»
13:38 darutoko joined 13:43 bjz joined 13:47 dj_goku joined 13:49 yqt joined 13:50 ptolemarch joined 13:51 melezhik_ joined 13:55 kerframil left 13:59 g4 left 14:04 jack_rabbit left
Xliff_zzz m: say "found" if [1, 2, 3, 4].grep({ 2 }); 14:10
camelia rakudo-moar c7cd00: OUTPUT«found␤»
Xliff_zzz m: say "found" if [1, 2, 3, 4].grep({ 9 });
camelia rakudo-moar c7cd00: OUTPUT«found␤»
Xliff_zzz m: say "found" if [1, 2, 3, 4].grep({ $* eq 9 });
camelia rakudo-moar c7cd00: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Undeclared routine:␤ eq used at line 1␤␤»
Xliff_zzz m: say "found" if [1, 2, 3, 4].grep({ $* == 9 });
camelia rakudo-moar c7cd00: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unsupported use of $* variable; in Perl 6 please use ^^ and $$␤at <tmp>:1␤------> 3say "found" if [1, 2, 3, 4].grep({ $*7⏏5 == 9 });␤»
Xliff_zzz m: say "found" if [1, 2, 3, 4].grep({ $_ == 9 });
camelia ( no output )
Xliff_zzz m: say "found" if [1, 2, 3, 4].grep({ $_ == 2 });
camelia rakudo-moar c7cd00: OUTPUT«found␤»
perlpilot Xliff_zzz: That's some trick where you talk to the bot in your sleep :) 14:19
moritz it's called a bot. Seen it before :-)
moritz wonders if bots live in the botanic garden :-) 14:20
moritz not really productive anymore 14:21
masak .oO( do bots dream of IRC sheep )
perlpilot hopefully it's not a ship named Botanic traveling near bergs of some sort 14:22
masak .oO( unkickbannable ) 14:23
14:24 acrussell joined
Xliff perlpilot: I know right. I have returned with caffeine and am reborn! 14:24
perlpilot Xliff: btw, were you looking for say "found" if [1, 2, 3, 4].grep(* == 2); # earlier? 14:25
Xliff: I was curious what the $* stuff was about
14:28 lucs_ is now known as lucs, FROGGS joined
geekosaur coding while at least half asleep? :p 14:28
Xliff Actually, I that was me trying to use grep without quite attaining consciousness. 14:29
masak m: say "found" if any(1, 2, 3, 4) == 2
camelia rakudo-moar c7cd00: OUTPUT«found␤»
Xliff geekosaur++
masak: Oooh! Even better.
geekosaur: Actually more like 3/4 asleep to be honest. :/ 14:30
\o FROGGS
FROGGS o/
yoleaux 14 Jun 2016 17:46Z <lizmat> FROGGS: could you explain what ac0dcdd fixes (e.g. in the ChangeLog) ?
14:31 Sgeo joined
Xliff FROGGS: Running into a weird GC issue while porting XML::LibXML 14:32
FROGGS .tell lizmat this describes ac0dcdd very well: github.com/rakudo/rakudo/blob/nom/...angeLog#L9
yoleaux FROGGS: I'll pass your message to lizmat.
FROGGS Xliff: how so?
Xliff github.com/Xliff/p6-XML-LibXML/tree/06elements 14:33
14:33 zakharyas left
Xliff When running what I have ported of t/06elements.t I hit an endless loop when running "$elem.removeAttributeNode( $tattr );" 14:33
I've tracked it to GC code, but I have no idea why that is happening. I ran into it before, but thought I had fixed it. 14:34
Now I'm not so sure.
14:35 zakharyas joined, cdg joined
FROGGS gimme a sec 14:35
sortiz FROGGS, BTW I pushed two trivial commits to XML::LibXML. One for a weird CArray creation problem. 14:36
Xliff No worries.
FROGGS sortiz: ohh nice, that's a workaround for the issue I was talking to jnthn :o) 14:37
Xliff Hmm... how can I pull those into my fork?
14:38 vendethiel left
BrokenRobot m: say "found" if 2 ∈ 1, 2, 3, 4 14:39
camelia rakudo-moar c7cd00: OUTPUT«found␤»
BrokenRobot m: say "found" if 2 ∈ 1, 5, 3, 4
camelia rakudo-moar c7cd00: OUTPUT«found␤»
BrokenRobot m: say "found" if 2 ∈ <1 5 3 4>
camelia ( no output )
BrokenRobot Bug?
FROGGS Xliff: I think I've read something about being able to do that on the github page
BrokenRobot m: say "found" if 1, 5, 3, 4 ∋ 2 14:40
camelia rakudo-moar c7cd00: OUTPUT«found␤»
BrokenRobot m: say "found" if (1, 5, 3, 4) ∋ 2
camelia ( no output )
14:41 vendethiel joined
BrokenRobot Ah, never mind. the 4 ∋ 2 becomes an element in a list and list is true 14:41
sortiz FROGGS, dunno if that bug is reported, but with that form works well. :-)
FROGGS sortiz: dunno either
Xliff FROGGS: Thanks. I'll search for it. 14:42
FROGGS Xliff: Internal error: zeroed target thread ID in work pass <-- that one?
BrokenRobot Xliff: checkout your fork, then do git pull --rebase URL/of/other/repo 14:43
Xliff Yeah. I've been running into that.
BrokenRobot Unless they added it in 2016, there's no way to do that on GitHub without deleting the fork and reforking
sortiz Xliff, Umm, I've seen that sporadically even with panda, never reproducible. 14:44
Xliff BrokenRobot: Actually, this worked -- help.github.com/articles/syncing-a-fork/ 14:47
Was able to merge changes directly into my branch.
BrokenRobot Xliff: isn't that just a more complicated method of what I showed, except it creates a merge commit? 14:49
huggable: dunno
huggable BrokenRobot, ¯\_(ツ)_/¯
FROGGS BrokenRobot: seems I misremember... I believed there was a news entry that said that is it possible now on the page directly
BrokenRobot Was it possibly the ability to squash multiple commits on PR merge? That is recent. 14:50
geekosaur ...on 1 April...
BrokenRobot m: say so 2 ∈ <2>
camelia rakudo-moar c7cd00: OUTPUT«False␤»
Xliff BrokenRobot: Slightly. I wanted a merge commit, not a rebase. 14:51
FROGGS no, I thought it was about pulling in upstream commits...
BrokenRobot Xliff: cool 14:52
FROGGS I mean, that should be doable when creating a pull request in your clone with switched bases
jnthn: Heap corruption detected: pointer 0x7f364b387020 to past fromspace
jnthn: scared? :D
14:53 stevieb joined
shadowpaste "xliff" at 217.168.150.38 pasted "Endless Loop Backtrace" (25 lines) at fpaste.scsys.co.uk/523531 14:54
Xliff FROGGS: That backtrace varies depending on how long I let it run, but it never leaves MVM_interp_run() 14:55
FROGGS I dont see that behaviour here... but the vm is in a bogus state so that doesnt not matter much
timotimo it would be very strange if it'd ever leave MVM_interp_run, except if it exits 14:56
14:56 vibha left, pmurias joined
timotimo please rebuild your moarvm with passing --debug=3 to its configure script 14:56
if you "up" to a MVM_ function, you can "print MVM_dump_backtrace(tc)" and get a perl6-level traceback of where you've stopped the interpreter 14:57
FROGGS now it hangs in:
==3871== at 0x4FD9200: MVM_repr_at_key_o (reprconv.c:452)
==3871== by 0x4FF69E0: try_get_slot (CStruct.c:298)
==3871== by 0x4FF69E0: get_attribute (CStruct.c:387)
timotimo that ought to help a lot more than the C-level backtrace
14:58 melezhik_ left
jnthn FROGGS: Yeah, though at least that error means "we spotted something got screwed up" rather than just SEGVing :) 15:00
FROGGS: There's some GC debug support you can turn on that may catch it earlier
15:01 khw joined
FROGGS jnthn: is that an env var or a flag I have to edit in a header file? 15:02
jnthn FROGGS: Flag in a header file
FROGGS kthx
jnthn gc/debug.h iirc
15:05 vendethiel left
Xliff Weird! 15:06
FROGGS: Found it... it was a parameter type check that was causing the loop.
So replacing "method removeAttributeNode(xmlNode $an!)" with "method removeAttributeNode($an!)" solved the problem. 15:07
15:07 buharin left 15:08 buharin joined 15:11 Khisanth left 15:15 lizmat joined
BrokenRobot What are types like IntStr, NumStr, RatStr called? 15:22
15:23 vendethiel joined
jdv79 isomorphs? or something that ridiculous sounding. 15:23
doesn't sound quite right
15:23 domidumont left, sufrostico left
BrokenRobot Ah docs.perl6.org/language/glossary#Allomorph 15:23
jdv79 ah
15:25 Khisanth joined
FROGGS isomorphs is something that Kirk would say :o) 15:26
15:35 sufrostico joined 15:39 sno left 15:42 daxim joined 15:43 huggable left, huggable joined 15:44 sjohnson` is now known as sjohnson, vendethiel left 15:46 ponbiki_ is now known as ponbiki 15:48 AlexDaniel joined 16:02 ssotka joined, donaldh left 16:05 kurahaupo joined
BrokenRobot TIL GitHub lets you specify Issue templates: github.com/MadcapJake/language-per...issues/new 16:09
16:10 dogbert17 joined
tadzik neato! 16:10
16:13 kurahaupo left 16:14 kurahaupo joined 16:24 smash_ is now known as smash 16:25 domidumont joined
Xliff Ahh... now I need to start learning nqp. 16:28
16:30 xinming joined 16:33 rurban_ left
timotimo learn how to nap? 16:35
tadzik powernap is the only thing known to mankind better than powerchords
timotimo what happens when you nap hugging your guitar? 16:36
16:36 labster joined
DrForr powernqp. 16:36
16:41 darutoko left
gnull m: my @fibo = 0, 1, *+* ... *; say @fibo[^10] 16:42
camelia rakudo-moar c7cd00: OUTPUT«(0 1 1 2 3 5 8 13 21 34)␤»
gnull m: my $fibo = 0, 1, *+* ... *; say $fibo[^10]
camelia rakudo-moar c7cd00: OUTPUT«Memory allocation failed; could not allocate 1146880 bytes␤»
gnull wtf?
16:42 ptolemarch left 16:43 ptolemarch joined
timotimo it's doing it eagerly 16:43
gnull hello everyone, btw :)
timotimo so it's maxing out on memory and crashes
BrokenRobot m: my $fibo = lazy 0, 1, *+* ... *; say $fibo[^10]
camelia rakudo-moar c7cd00: OUTPUT«(0 1 1 2 3 5 8 13 21 34)␤»
16:47 dakkar left 16:54 zacts joined 16:56 abraxxa left 16:57 rjbs joined 17:02 AlexDaniel left 17:04 rubio joined
rubio I get the following error when I try to start a debug session (perl6-debug-m): "Unhandled exception: ctxlexpad needs an MVMContext". Can someone give me a hint as to what I can do to get this to work? 17:06
I'm trying to debug the C::Parser::Grammar module 17:07
17:07 vendethiel joined
gregf_ m: sub fibo($n, @arr){!$n ?? @arr !! fibo($n-1, @arr.push(@arr[*-1]+@arr[*-2]));};say fibo(5,[1,1]) 17:10
camelia rakudo-moar c7cd00: OUTPUT«[1 1 2 3 5 8 13]␤»
dalek c: 01e959b | (Jan-Olof Hendig)++ | doc/Type/Baggy.pod:
Added docs for Baggy.grab
17:11 yqt left
DrForr That sounds vaguely obscene :) 17:11
17:12 Josh_ joined
dogbert17 :) 17:12
17:21 cooper left 17:22 cooper joined, cooper left, cooper joined, Josh_ left 17:23 dupek joined
dupek hey guys, rakudo-star is something like perl6 implementation manager 17:24
i mean moar
jvm
etc.
moritz dupek: rakudo-star is a distribution, which means it ships with a compiler, modules and some docs 17:25
perlpilot if that's a question, the answer is "no"
what moritz++ said
dupek huh
what is moan then?
moritz if you want something that builds rakudo for you, in different versions and different backends, look for rakudobrew
dupek moar
moritz moar is a virtual machine 17:26
the recommended backend for rakudo
dupek ok
geekosaur there is also a jvm backend, but it's not working quite right currently
dupek java sucks
tadzik java is a simple, example language attached to a very good virtual machine 17:28
dupek yayaya
if Java have no pointers then why there NullPointerException 17:29
?
perlpilot huggable: hug dupek 17:31
huggable hugs dupek
perlpilot dupek: you looked like a hug might be necessary. :) 17:32
jnthn Because Java had references, which are waaay better than pointers. But if they screw up...well, we better blame it on pointers. ;P
BrokenRobot dupek: wiki.theory.org/YourLanguageSucks
dupek jnthn, ya thats good explanation 17:33
geekosaur basically JVM has pointers, Java tries to hide them behind references (which are mostly better behaved) but it fails sometimes leading to JVM-level NPEs 17:34
parabolize Should I close github.com/perl6/doc/issues/589 ? Should someone else who has reviewed 08c8bb6 ? What is the correct etiquette with fixing issues? 17:35
jnthn fwiw, I wasn't being entirely serious...I can totally imagine it just being somebody not really thinking carefully about the naming :)
food &
dupek geekosaur, stop justify Java 17:36
BrokenRobot parabolize: yeah, close it. The etiquette is you can use "Fixes #444" or "Closes #444" in the commit message and GitHub will auto-close it. The only exception would be very large changes that you'd want people to review in a form of a PR
geekosaur what makes you think I am justifying anything, aside from your irrational hate?
dupek geekosaur, I didn't say I hate java
I just say it sucks 17:37
;]
geekosaur you don;t need to say it out loud
your behavior so far is sufficient
dupek huh, I asked simple question about Java
and you can't explain me 17:38
tadzik and yet you say "stop justify" when you got the answer. Peculiar
dupek and then you attack me about hating
17:38 fhorck joined
BrokenRobot huggable: hug everybody 17:38
huggable hugs everybody
geekosaur so why are you attacking me for "justify java"? especially when that was not what I did?
17:39 fanksy joined, Zero_Dogg left, Zero_Dogg joined
BrokenRobot dupek: did you have more questions about MoarVM? 17:39
dupek no
BrokenRobot OK. 17:40
nemo say... is there an ubuntu ppa w/ an up to date rakudo for 14.04 LTS ?
14.04 probably being the last ubuntu I'll ever use
BrokenRobot gave up on it with whatever came out after Edgy 17:41
Bodhi Linux FTW!
17:41 cdg left
nemo BrokenRobot: well. I use gentoo on a few machines, but ubuntu is pretty common due to it being one of the two distros supported by the workplace 17:42
and no huge desire to run RHEL
not sure what I'll do once 14.04 is EOL'd... probably switch to Devuan and cross my fingers every time they push a .deb 17:43
BrokenRobot: looks like Bodhi is basically Ubuntu LTS, so the PPA thing still stands 17:45
BrokenRobot: have you found one? 17:46
BrokenRobot: problem w/ some of the ubuntu derivatives like mint is installing up to date stuff is a real pain for a # of reasons. not sure if bodhi has improved the process
BrokenRobot I just rakudobrew
dupek zed is good? 17:47
zef
BrokenRobot update-perl6 is aliased to `rm -fr ~/.zef; rm -fr ~/.perl6; rm -fr ~/.rakudobrew/; git clone github.com/tadzik/rakudobrew ~/.rakudobrew; rakudobrew build moar; rakudobrew build zef;'
dupek: yes
nemo BrokenRobot: so.. there are some things I'm fine w/ doing my own builds of
BrokenRobot: perl is not high on the list
dupek ok
nemo esp if I'm to use it on a bunch of machines
BrokenRobot heh
parabolize why is everyone removing ~/.rakudobrew when the update rakudo? Isn't that self defeating? At the very least it means you update all your perl6 versions at once. 17:49
when they*
BrokenRobot parabolize: around Christmas "nuking rakudobrew" was the only way to move forward with new version due to a huge pre-production change. 17:50
I guess that stuck around :)
BrokenRobot isn't even sure what happens if you don't nuke it anymore :D
nemo I do find the github pattern of "blow away the repo and update" 17:51
pretty funny
geekosaur it hasn't been necessary since then, though
nemo I find git terribly unintuitive and convoluted compared to, oh, mercurial, and one of the things that keeps biting me is failure to update to latest (aside from just general command complexity)
reminds me of the xkcd comic
geekosaur blew it away once to get past the breakage, and has been using rakudobrew's update since then without problems 17:52
tadzik the funniest thing about rakudobrew is that people mostly don't care about the multiple-rakudos part, they just use it for "finally, I can update rakudo with a single command" 17:53
17:55 spider-mario joined, jjido joined
geekosaur if multiple rakudos were actually useful in practice... 17:56
nemo tadzik: I imagine there aren't many people out there who want multiple versions of their compiler most of the time. I briefly needed 2 versions of fpc for debugging purposes but ditched that ASAP
compiler/interpreter
geekosaur the main reason I'd want that is rakudo-jvm, which is kinda broken currently
nemo xkcd.com/1597/ the aforementioned xkcd
17:57 cooper left 17:58 zakharyas left, cooper joined, cooper left, cooper joined 17:59 cooper left
stevieb nemo: lol. Took me a fair while to get to the point I didn't need to do that to fix any issues. I used hg before that, and don't remember ever needing to do such 17:59
nemo stevieb: these days when I interact w/ git it is using the hg bridge ☺ 18:00
stevieb: unless I'm doing a one-off and maybe an rm -rf 😉
perlpilot git is totally intuitive ... I don't know what you guys are talking about 18:01
;)
stevieb perlpilot: oh, I'm not complaining at all. It just took a while to get used to things moving from hg. I'm perfectly content with git, in fact I always have been.
18:01 jjido left
tadzik it's like with unix – it's quite user-friendly, just selective about who its friends are :) 18:02
nemo bitbucket.org/durin42/hg-git
my fav hg command is hg grep --all they really need to make all the default IMO
ok. anyway. enough channel hijack 18:03
I take it there's no PPA then
perlpilot I tried git, bzr, and hg at the same time around early 2006 and decided git fit my brain a little better (and at the time I think it was faster or less buggy that the others too) and I've not used the others since then
nemo: I don't know of one, but if you find one (or make one), do share
stevieb I'm pretty sure I was using cvs and svn back then 18:04
nemo stevieb: yeh, I went rcs → cvs → svn → hg
stevieb: well, we still use svn quite a lot @ work
perlpilot me too except s/hg/git 18:05
nemo mostly due to, well...
bitquabit.com/post/unorthodocs-aba...to-sanity/
perlpilot I don't think I've used svn since 2009 or so
nemo the mapping from svn to hg is simply a lot better
also synchronisation between the two
stevieb me too, except for rcs. We just switched from svn => git this past quarter @ $work
nemo stevieb: we toyed w/ DVCS a bit, but there was no good reason for it
stevieb: the tooling for SVN is still quite good, and there was no desire to fragment the repo 18:06
stevieb: but holy crap does git suck at http by default
mst I ran some fairly big svn repos, and it worked basically fine, but I leaned heavily on svk for merging
nemo spent way too long on that
mst then when that broke, git-svn
now every time I try and deal with svn I end up crying because I miss rebase
stevieb nemo: svn is good, but all of my personal code is in git, and I devel python at $work, so now I can use the same IDE (for perl5 at least w/Camelcade plugin) with the same repository types 18:07
nemo stevieb: I probably spent several days trying to see if we could reasonably do an svn/git sync as well as the svn/hg one, and decided it was way too painful
mst OTOH right now I'm facedesking really hard because of multiple clones of a repo for $customer and then the master is different again
stevieb mst: "facedesking" lol, never heard that one before
nemo mst: svn really is stupid-simple for people to learn. The very very simplist being, did you know you can literally just "mount" an SVN repo in windows as a remote folder ? (using webdav) 18:08
tadzik you haven't? It makes quite a sound in an office space :P
mst it comes somewhere between trout.me.uk/areyousure.jpg and trout.me.uk/bunny.jpg
stevieb bah... wanted to say I use PyCharm IDE for my python + perl5 (Camelcade now had debugging!)
nemo mst: they think they are just copying files in and out, updating, deleting, but its just autocommit
mst: tracking for free on folks who are preeeetty clueless about that in general
mst nemo: yes, I know what mod_dav_svn is
nemo mst: well sure. most do, but I had no idea windows had built in support for it 18:09
was news to me
mst: nor that w/ autocommit on it would all "just work"
mst it was news to me about ten years ago :D
nemo mst: ok, about same time for me ☺
nemo checks 'sact date
perlpilot nemo: webdav being neat doesn't make up for poor merging support
mst svk's merging worked, but they insisted on writing their own anyway 18:10
perlpilot Though ... I understand that merging in svn isn't as painful now as it once was
mst when I asked the devs they said "well, svk was a separate project"
and, like, well, yes, but it was open source and ALREADY WORKED
nemo mst: ah. it was news to me 6 years ago ☺
mst nemo: I *think* about a decade, but obviously my memory gets fuzzy that far back
nemo mst: I checked revision log on that repo 18:11
mst but I ran svn repositories for a couple hundred cpan dists for a while
so I ended up being really quite good with it
Xliff Heh! That xkcd... I've been there.
mst (including being able to rebase using svnadmin and perl -pe ... no, I don't recommend it)
nemo I'm sure there's a time when I'll have to giv up on bitbucket.org/durin42/hg-git , suck it up, and actually learn how to use it properly 18:12
buut, I'm in no rush to do so
mst honestly, I first learned git because it was clear that lots of cpan modules were going to use it, and I needed to be able to unfuck people's mistakes
nemo but then, why would I be in #perl6 otherwise. I mean clearly I should be doing everything in node.js or something
mst as with vi, once I got past the 'aha' moments I fell in love
nemo mst: it just feels so clunky to use compared to mercurial 18:13
mst the thing about git is you have to stop trying to use it like anything else and get a feel for how it does things, and then it gets a lot more powerful
nemo buuut that could be due to decades of svn and cvs and rcs, what can I say
maybe if I was coming at it fresh I wouldn't feel so
mst: I also maybe don't spend enough time on VCS to care enough. That could be it... 18:14
mst I found it really clunky until I stopped fighting it, and figured out workflow that took advantage of git
nemo also not a big fan of social anything so github had no huge appeal
mst this was pre-github
18:15 fanksy left
b2gills I think git is easier to figure out after you know more about its internals ( at an abstract level ) 18:15
perlpilot nemo: you and I seem to have similar revision control systems background, but I went with git over hg. So ... I'm going to say it's other factors than git itself. :)
mst nemo: anyway, key take-aways: "learning git more will annoy the crap out of you and I don't blame you for delaying doing so", plus "once you do learn more, you may find that it doesn't annoy you nearly so much" 18:16
b2gills I used to regularly do a bunch of changes then do 「git add -e」, and check if I did it right with 「git gui」 18:17
nemo mst: mm. yeah, totally plausible, just, no compelling reason to do so so far, since the mercurial bridge works fine, and I seem to get about same feature set
mst: but maybe someday!
and hg *does* map a lot better to svn, so we lose less data on the sync
b2gills nemo: can it do 「git add -e」?
that is edit the diff that will become the commit 18:18
nemo b2gills: hm. that sounds like a really bad way to pick and choose parts of the diff
I honestly have not ever had the desire to do that
mst nemo: sure. just saying that, *eventually*, I was pleasantly surprised :)
perlpilot nemo: It's a nice option when you *need* it.
mst ah, see, this is the thing about git
nemo heh. the man page doesn't recommend it even 18:19
mst a bunch of the features are something you'll never have had the desire to do
nemo had to look it up
mst but once you've used them, you get upset in their absence
nemo staged. This can be quicker and more flexible than using the interactive hunk selector. However, it is easy to confuse
oneself and create a patch that does not apply to the index. See EDITING PATCHES below.
mst the way git rebase works, for example
nemo mst: I'm not saying the bridge can't do it, I really have no idea
mst nemo: I'm not commenting about the bridge at all
perlpilot b2gills: how often do you conflate changes such that you need "git add -e" ?
b2gills Sometimes the worst tool in the toolbox is the best tool for the job
stevieb in the docs, many of the param types in definitions have a ":D" or ":D:" suffix. can someone explain what these mean, or point me to the doc I may have missed that explains them? 18:20
mst nemo: please stop taking my comments as antithesis to yours, my goal is synthesis :)
perlpilot b2gills: I mean, "git add -p" is useful, but I've only ever needed "git add -e" like one time (maybe)
nemo mst: I wasn't taking as antithesis, no worries. does git rebase do anything significantly different from histedit?
mst: not that I've had much reason to do either one
perlpilot b2gills: Oh, I guess I've occasionally editted the hunk using "git add -p" too, so that's largely the same 18:21
mst histedit appears to not be designed to deal with history with merges
b2gills perlpilot: It is usually only a few changes that are very closely related, such that they could actually be one commit if I didn't care about the history 18:22
mst nemo: ok, so, basically, all I can really say here is "I don't think you understand rebase, but also I don't think I can explain it to you, it was an 'aha' moment for me after which it became obvious why I loved the feature, but no explanation I read beforehand helped much"
nemo: kinda similar to my first encounter with lexical closures many years ago in that respect, if you see what I mean 18:23
nemo mst: TBH no idea what it is so I guess no idea what I'm missing. I was asking that merely in the context of: www.mercurial-scm.org/wiki/GitConc...ence_table 18:24
parabolize stevieb: it requires the parameter to be defined. doc.perl6.org/type/Signature#Constr...ned_Values
nemo mst: which I've turned to many times when I needed to get something done in git
mst nemo: right. the thing is, I don't think there is equivalence here, as such
histedit appears to provide rebase -i, which I like occasionally
but what I really care about is 'git rebase master'
aha, so there's a different extension - www.mercurial-scm.org/wiki/RebaseExtension 18:25
nemo: you stopped reading that table too early :)
nemo mst: ah. I already have the rebase extension enabled 18:26
mst: I've used it... eh.. once or twice 18:27
not very often
nemo shrugs
mst I use it all the time so I don't end up with pointless merge commits
nemo mst: I'm generally a fan of that. I've heard of good arguments for merge commits, in terms of avoiding losing that merge info
mst: although most of time I avoid pointless merge commits by staying in sync ☺ 18:28
if there's no reason to do that, due to having done enough on a separate tree, it's probably best to have a merge commit anyway
in general not a huge fan of rewriting history
b2gills I like 「git merge --no-ff --ff-only」 it leaves a clean history
mst yes, that's my preferred approach for significant changes 18:29
nemo mst: oh... wrt that hg grep --all - is there a git equiv? 'cause when I do have a git repo, the most common reason for me to have it, is to search the commits for something
mst: would be nice to have an easy thing to remember to do that search
mst: like... hg grep --all SomeWTF.*foo x.c y.c z.c 18:30
dalek osystem: 4155c25 | (Zoffix Znet)++ | META.list:
Add Quantum::Collapse

Collapse allomophic types into their components: github.com/zoffixznet/perl6-Quantum-Collapse
mst I've no idea what said hg invocation does
nemo mst: searches history for a regex
b2gills run 「git help grep」 18:31
nemo b2gills: I tried that
b2gills: couldn't get it to search all history
so thought I'd ask people familiar w/ it, since the subject came up
b2gills The thing is they would have to know both systems
I have never used it, though it could be faster than the way I normally find what I'm looking for 18:32
nemo b2gills: m8y.org/tmp/temp.txt minus the colourising
mst nemo: git grep search_for $(git rev-list --all) maybe? 18:33
nemo hm
nemo tries in a git repo
mst: search_for being the regex?
mst yeah
nemo kk
nemo tries on the Starbound repo
stevieb parabolize: thanks much!!
nemo mst: O_o 18:35
mst: no. that can't be right
mst: seems to have returned basically everything
nemo tries another string
mst: and. heh. is still running.
parabolize nemo: git log -S
nemo that looks more promising 18:36
nemo aborts the mst thingy
hm.
parabolize: not bad, now I just need it to actually print out the line
parabolize: I have the revsets now 18:37
maybe dump the diff then grep
18:37 yqt joined
nemo parabolize: doesn't support regex unfortunately 18:37
parabolize: but. good enough for quick and dirty purposes. thanks. anything more involved I'll do my tried 'n' true hg-git 😃 18:38
parabolize maybe the -G flag 18:39
or -S --pickaxe-regex 18:40
nemo parabolize: swapped those 2 and it worked nicely 18:41
git log --pickaxe-regex -S BOM.*ZWNBSP .
quick test
hm... I wonder if the . worked as expected. let's see 18:42
it did. sweet
I gotta make an alias for that
just need to add the extraction of the actual change lines
hm... now how to do that 18:43
huh. that's weird
parabolize I don't understand what you want. 18:44
nemo parabolize: git diff -c revhash from the log above should give changes from that changeset right?
parabolize you want the full diff? you can use the -p flag
nemo parabolize: when I searched for my test string, it was an unchanged context line O_o maybe if I add "^[+-].*" to all my searches 18:45
let's try that
hrm. not getting anything now 18:46
parabolize: I want something like m8y.org/tmp/temp.txt - the colourising (not visible there) would be nice but not important
change history, with line, and whether it was a removal or addition 18:47
and ideally the pattern colourised in the line
18:48 finanalyst joined
finanalyst @search ninefox gambit 18:48
mst finanalyst: wat
finanalyst sorrrrry, wrong irc
mst finanalyst: trout.me.uk/areyousure.jpg
finanalyst mst: LOL! 18:49
dalek c: 4f52547 | (Zoffix Znet)++ | doc/Language/testing.pod:
cmp-ok cannot take custom operators as string

Mention &[op] notation.
18:50
parabolize nemo: git doesn't seem to like it when you join the -S with other flags 18:51
git log --pickaxe-regex -p -S
pochi m: sub foo() returns List of Int { return 1,2,3 } 18:52
camelia rakudo-moar c7cd00: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤List cannot be parameterized␤at <tmp>:1␤------> 3sub foo() returns List of Int7⏏5 { return 1,2,3 }␤»
pochi is that a permanent thing, or will Lists be able to be parameterized at some point?
BrokenRobot m: sub foo() returns Array of Int { return [1,2,3] } 18:53
camelia ( no output )
BrokenRobot hm.
geekosaur I think lists are deliberately unstructured type-wise? 18:55
nemo parabolize: I kinda gave up on it. no worries. isn't super crucial. I usually have hg installed and can easily convert the clone most of the time 18:56
burnt enough channel history ☺
18:58 acrussell left 18:59 acrussell joined 19:00 girafe joined 19:02 cdg joined
dogbert17 m: my $bf = (eggs => 2, bacon => 3).BagHash; say $bf.grabpairs(1).WHAT; say $bf.grabpairs(*).WHAT; # why (List) and (Array) instead of (List) and (List) ? 19:06
camelia rakudo-moar c7cd00: OUTPUT«(List)␤(Array)␤»
dogbert17 this feels wrong 19:07
timotimo maybe it should actually be a Seq?
19:07 Emeric left 19:08 Emeric joined, Emeric is now known as begi
dogbert17 timotimo: compare with this ... 19:08
m: my $bf = (eggs => 2, bacon => 3).BagHash; say $bf.grabpairs(1).WHAT; say $bf.grabpairs(5).WHAT;
camelia rakudo-moar c7cd00: OUTPUT«(List)␤(List)␤»
19:08 _mg_ joined
begi I've a little question : when should I use "fail," and when should I use "die" ? 19:09
moritz just use die
dogbert17 moritz: any comments on my examples above ?
moritz dogbert17: not really 19:10
dogbert17 :(
moritz dogbert17: but if the type constraint is List, it's OK to return a subclass thereof
begi moritz: in fact, i don't know what are the advantages to use "fail"... So should I *always* use "die"?
BrokenRobot begi: fail returns a Failure that can be defused 19:11
stevieb so, I want to count the number of iterations with succ() between "aa" and "be". I know a string is immutable, but I can't find a workaround to do what I want here. Can someone please point out the perl6ish way to accomplish this?
dogbert17 moritz: I asket because I saw your name in design.perl6.org/S32/Containers.html#QuantHash :)
stevieb "my $x="aa"; my $c=0; while $x ne "be" {$x.succ; $c++; $c.say}"
Xliff *sigh*
Hit another loop.
moritz begi: IMHO yes. I know some theretical advantages of fail vs. die, but I don't think they make much sense right now
19:12 jjido joined
BrokenRobot m: sub foo { "zomfg!" }; my $x = foo; say (so $x) ?? $x !! "did not work"; 19:12
camelia rakudo-moar 2126ed: OUTPUT«zomfg!␤»
moritz m: say ('aa', *.succ ... 'be').elems
camelia rakudo-moar 2126ed: OUTPUT«31␤»
BrokenRobot m: sub foo { fail "zomfg!" }; my $x = foo; say (so $x) ?? $x !! "did not work";
camelia rakudo-moar 2126ed: OUTPUT«did not work␤»
moritz stevieb: ^^
m: say ('aa' ... 'be').elems
camelia rakudo-moar 2126ed: OUTPUT«10␤»
moritz nope, succ doesn't seem to be the default 19:13
BrokenRobot m: say 'aa' ... 'be'
camelia rakudo-moar 2126ed: OUTPUT«(aa ab ac ad ae ba bb bc bd be)␤»
BrokenRobot m: say 'aa' .. 'be'
camelia rakudo-moar 2126ed: OUTPUT«"aa".."be"␤»
BrokenRobot m: say eager 'aa' .. 'be'
camelia rakudo-moar 2126ed: OUTPUT«(aa ab ac ad ae ba bb bc bd be)␤»
19:14 _mg_ left
stevieb m: say (<aa>, *.succ ... <be>).elems 19:15
camelia rakudo-moar 2126ed: OUTPUT«31␤»
stevieb moritz: sweet! thanks!
moritz I still like Euler's algorithm with the series operator 19:16
19:16 acrussell left, zakharyas joined
moritz m: say (42, 36, &infix:<%> ... 0)[*-2] 19:16
camelia rakudo-moar 2126ed: OUTPUT«6␤»
Xliff Hmmm.... What happened to "af"?
And "b0 - b9"
19:17 AlexDaniel joined
Xliff m: say 'aa'.. 'af' 19:17
camelia rakudo-moar 2126ed: OUTPUT«"aa".."af"␤»
Xliff m: say 'aa' ... 'af'
camelia rakudo-moar 2126ed: OUTPUT«(aa ab ac ad ae af)␤»
BrokenRobot Xliff: it goes each letter separately
moritz m: say list 'aa' .. 'af'
camelia rakudo-moar 2126ed: OUTPUT«(aa ab ac ad ae af)␤»
moritz m: say list 'aa' .. 'ef'
camelia rakudo-moar 2126ed: OUTPUT«(aa ab ac ad ae af ba bb bc bd be bf ca cb cc cd ce cf da db dc dd de df ea eb ec ed ee ef)␤»
BrokenRobot stevieb: keep in mind you have a potential for infinite loop there, if the start string is less than end string
Xliff Ahh
BrokenRobot stevieb: *more than
moritz or if your end string isn't completely alphabetic, for example 19:18
'a', *.succ ... '+';
BrokenRobot Halting Problem basically :)
moritz m: say ('a', *.succ ... '+')[^100].elems
camelia rakudo-moar 2126ed: OUTPUT«100␤»
19:19 pmurias left, pmurias joined
stevieb BrokenRobot: thanks for that, I'll keep it in mind 19:19
19:22 acrussell joined
shadowpaste "xliff" at 217.168.150.38 pasted "Endless MVM_dump_backtrace" (4788 lines) at fpaste.scsys.co.uk/523566 19:22
Xliff timotimo / FROGGS: ^^ Backtrace from latest endless loop. 19:23
timotimo are you .perl ing a big data structure?
dalek c: 5299b4f | (Jan-Olof Hendig)++ | doc/Type/Baggy.pod:
Added docs for Baggy.grabpairs
19:24
FROGGS Xliff: that sounds like you call .perl on a recursive structure
timotimo yeah, even though we have a "perlseen" thing that's supposed to make loops in recursive structures non-problematic 19:27
19:29 zacts left
timotimo i'm not actually sure perlseen should be recursing, though? 19:31
19:31 acrussell left
Xliff FROGGS: It's possible, although I am not expressly calling .perl anywhere. 19:32
And I do see perlseen getting called several times in that backtrace. 19:33
The last time this happened was due to a parameter type check. Let me see if I can resolve this one.
19:34 acrussell joined
FROGGS Xliff: sorry that I cannot help right now :/ 19:35
19:36 andreoss left
Xliff No worries. timotimo asked for the backtrace earlier, but I managed to isolate the problem. 19:37
This makes the 3rd time I've run into something like this.
19:38 domidumont left
timotimo Xliff what worries me is that there's no line in that backtrace that'd come from your code 19:38
so if you're not calling .perl, and nothing else is calling .perl either ... what's going on? 19:39
mst ninjas.
Xliff I'm with mst. 19:40
timotimo: When I isolate this thing, I will let you know.
timotimo maybe the print is breaking off before it reaches the bottom
19:40 zacts joined 19:43 huggable left, huggable joined 19:44 TEttinger joined 19:45 sufrostico left, ocbtec left
Xliff Hrm. There's a recursive call that was working before but isn't for that call. 19:51
s/call\.$/routine./
20:02 sufrostico joined
AlexDaniel BrokenRobot: what about changing your nickname back to Zoffix? :D 20:07
20:10 itaipu joined 20:14 pmurias left 20:15 pmurias joined 20:19 vibha joined
BrokenRobot AlexDaniel, what do you mean back? It was never Zoffix. It was sexy-coder-girl that you didn't like :) 20:19
dogbert17 Anyone know how much heap perl6 grabs when starting a script? Does it depend on the amount of free memory? 20:20
20:39 finanalyst left 20:40 kaare_ left 20:44 johnjohn101 joined 20:46 rindolf left
tony-o dogbert17: isn't that configurable in the script called 'perl6' ? 20:52
20:54 jameslenz left
tony-o `cat ~/.rakudobrew/jvm/perl6` 20:54
20:56 dupek left, daxim left
dogbert17 tony-o: thx, does that mean it's only applicable when running under the jvm? 20:58
20:59 jjido left 21:01 jjido joined
tony-o i'm not familiar enough with starting just moarvm to know how that works 21:02
21:02 zakharyas left 21:07 jjido left
Xliff What's the best way to NULL check for NativeCall? 21:07
21:08 jjido joined 21:09 firstdayonthejob joined 21:10 begi left 21:13 firstdayonthejob left 21:14 firstdayonthejob joined, setty1 joined 21:15 jjido left, jjido joined 21:16 rindolf joined 21:17 cpage_ left 21:18 acrussell left, cpage_ joined 21:28 rudi_s_ is now known as rudi_s 21:37 skids left 21:38 rindolf left
timotimo Xliff: just ask for the result's .defined 21:50
dogbert17: rakudo grabs as much memory as it needs for start-up. and that is currently a bit more than it should be. but we've made noticable improvements in the past, and will continue doing such in the future
21:51 setty1 left 21:54 fhorck left
sortiz m: use NativeCall; my $ptr = Pointer.new(0); say so $ptr.defined, so +$ptr; # Xliff, this is the only special case, for all others what timotimo says. 21:57
camelia rakudo-moar 2126ed: OUTPUT«TrueFalse␤»
22:03 grondilu joined 22:05 kid51 joined
Xliff sortiz: So $ptr.defined should be safe for return values from C-libs? 22:06
sortiz Xliff, Yes. And I prefer 'with($foo) { ... }' than 'if $foo.defined {...}' 22:08
22:09 pmurias left
Xliff sortiz: Thanks. Your preference has been noted. 22:09
22:11 pmurias joined
dogbert17 timotimo: thx for the information, so it's nothing that the user can control then like in java? 22:11
Xliff sortiz: Um... is there 'without($foo){ ... }' ?
sortiz Btw, I've seen that almost all methods in XML::LibXML lacks the invocant declaration 'Foo:D:', in particular 'gist' needs one, to avoid recursion in case of undetected errors when undefined.
Yep. There is.
Xliff kk
geekosaur java's behavior is a bug imo. it should be dynamic, not eat-as-much-as-you-can-on-start 22:12
timotimo dogbert17: you can up front just initialize a gigantic list of numbers, that'll use up some heap space for you 22:13
dogbert17 timotimo: sure, so the heap can grow dynamically then or does it have a fixed size after program start? 22:14
timotimo no, it grows dynamically 22:15
there's the nursery, which is 4 megabytes for each thread at the start and 4 extra megabytes after each collection
and there's the gen2, which is a bunch of big pages of same-sized objects with a free-list going through them 22:16
dogbert17 I became curious after profiling a small script which spent 10-15% of the running time doing GC
that is, if I understood the profiler output correctly ... 22:17
timotimo on top of that, many things are malloced, like the storage of dynamic arrays and such, internal stuff, too
if it says that it spent 15% time doing GC, then yeah
did you look at the GC tab? was there a lot of red? or maybe 100% red, 100% orange, 100% red, 100% orange?
22:18 mr-foobar joined
timotimo one thing where the gc behavior is just 100% terrible is when you split a gigantic string into a gigantic amount of pieces 22:18
because having a nursery and a second gen is based on "things are either going to die early, or live long", but when you do like 50 collections where all you do is allocate strings and put them into the list, you're getting 100% live-long objects 22:19
dogbert17 timotimo: well, I am using comb
timotimo so what happens is it fills up the nursery's 4 megabytes and runs a collection trying to free up space
it frees up exactly 0 space 22:20
so it runs again, this time moving all things from the nursery into the second gen. then the nursery is empty
that process repeats until the split finishes
comb on a very long string will have the same behavior, likely
dogbert17 here's GC no 2: 65KB / 4328KB / 4194007KB ... 17791 gen2 roots
timotimo i forgot what order the numbers in 22:21
dogbert17 retained/promoted/freed 22:22
timotimo OK
that actually looks sensible
dogbert17 isn't the freed number a bit high though
timotimo in perl6, a big amount of objects die very young 22:23
we don't have escape analysis, for example, so a lot of Scalar container objects end up on the heap instead of on the stack. those will usually die extremely fast
dogbert17 yes but, my math might be wrong, but isn't that 4 gigs
timotimo oh? wait, that doesn't make sense :D 22:24
m: say 4194007 / 1024 22:25
camelia rakudo-moar 2126ed: OUTPUT«4095.709961␤»
dogbert17 compare with GC no 1: 781KB / 0KB / 3315KB ... 12180 gen2 roots
22:25 cpage_ left
timotimo okay, must be a bug, then 22:26
dogbert17 could be
maybe a division with 1024 has been forgotten somewhere
johnjohn101 perl 6 is looking cool. looking at larry wall's presentation 22:27
timotimo oh, which is that? 22:28
johnjohn101 www.youtube.com/watch?v=kwxHXgiLsFE
timotimo ah, that one! 22:29
i liked that, yeah :)
22:30 Zoffix joined
johnjohn101 larry wall can explain perl better than anyone! 22:30
amazing the thought put into perl 6 and then the unjustified crap that the community gave to it
programming community not perl community 22:31
timotimo oh, ok
well, there was trouble in the perl community itself, too
22:31 jjido left
Zoffix Do we have a good explanation of single arg rule? 22:31
timotimo people saying "perl6 made me the laughing stock of my friends" or "perl6 killed perl5" or whatever
22:32 jjido joined 22:33 TakinOver left
masak timotimo: I think much of that is due to Perl 6 being a bigger risk-taking than most language projects, and so it's easy to laugh instead of learning about it. 22:34
timotimo i really don't trust myself doing any analysis on that situation
22:36 TakinOver joined
Zoffix m: my $list = 1,; .say for $list, $list.WHAT 22:36
camelia rakudo-moar 2126ed: OUTPUT«1␤(Int)␤»
johnjohn101 masak: i got the feeling they expected it done in 8 years and not any longer
Zoffix m: my $list = (1,); .say for $list, $list.WHAT
camelia rakudo-moar 2126ed: OUTPUT«(1)␤(List)␤»
timotimo aööööööööööööööööööö
Zoffix This kinda doesn't exactly match the claim that lists are created with commas: docs.perl6.org/language/list#Literal_Lists
timotimo ....... cat on the keyboard 22:37
AlexDaniel there's no video from OSCON, right? 22:39
timotimo that was really recently, right?
AlexDaniel yea 22:40
timotimo haven't seen anything from there yet
22:40 girafe left
jjido m: my $list = 1, ; say $list.WHAT 22:40
camelia rakudo-moar 2126ed: OUTPUT«(Int)␤»
jjido ok 22:41
Zoffix jjido, are you marcel?
jjido Zoffix: !!!!
22:41 ocbtec joined
jjido no 22:42
masak timotimo: your cat kind of sounds like a fotball fan.
jjido I am me
masak 'night, #perl6
Zoffix Denis Bredelet.
night
22:43 cdg left 22:44 cdg joined
jjido time for zzz 22:45
22:45 jjido left, sufrostico left 22:46 ocbtec left 22:47 itaipu left, itaipu joined 22:48 Zoffix left 22:49 cdg left, sufrostico joined
sortiz m: (my $f = 1,).WHAT.say; $f.WHAT.say; (my $s = 1).WHAT.say; $s.WHAT.say; # Claim proved, is matter of precedence. 22:53
camelia rakudo-moar 2126ed: OUTPUT«(List)␤(Int)␤(Int)␤(Int)␤»
23:02 vibha left 23:05 spider-mario left
AlexDaniel oh noes… don't tell me that we are going to have another womble-like thread 23:10
23:11 jameslenz joined 23:12 rubio left 23:13 skids joined
AlexDaniel www.youtube.com/watch?v=Nx7v815bYUw 23:14
23:19 itaipu left 23:38 sno joined 23:39 RabidGravy left
BooK Cannot iterate object with P6opaque representation # where can I find what this means? 23:41
23:43 huggable left
AlexDaniel BooK: well, generally it means that the error message is LTA 23:43
BooK LTA?
AlexDaniel Less Than Awesome
BooK ok :-) 23:44
23:46 wamba left
AlexDaniel BooK: if you manage to reproduce it with a couple of lines then feel free to submit a bug report 23:49
geekosaur or in a bit more detail, it means internals are leaking out where they shouldn't and it should at the very least be giving you a more meaningful error. it could also well indicate a bug in perl6 23:50
BooK I'm writing a subclass of Version 23:53
before 781c6cd8f3ebc8d113b2a058ce00d4d5e1b3f917 my work in progress code "worked" (fsvo worked) 23:54
or at least did not throw that error
I should compile the relevant rakudo, I guess 23:55