»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend!
Set by sorear on 4 February 2011.
araujo is there exist a substitution operator or something? 03:51
PerlJam araujo: subst? 04:01
araujo PerlJam, I was searching for replacing a pattern (substr is for index right?) 04:02
PerlJam not substr, subst 04:03
PerlJam Give me a minute to finish this email on my DNS woes and I'll conjur an example 04:05
araujo hehe thanks PerlJam 04:07
PerlJam r: "This is my string".subst(/string/, "fish"); 04:10
p6eval rakudo dca0fa: ( no output )
PerlJam oops
r: say "This is my string".subst(/string/, "fish");
p6eval rakudo dca0fa: OUTPUT«This is my fish␤»
PerlJam r: say "This is my string".subst(:g, /is/, "at"); 04:11
p6eval rakudo dca0fa: OUTPUT«That at my string␤»
araujo thanks PerlJam++ 04:14
:)
PerlJam, I thought the s/pattern/replacement/ syntax was supported before? 04:15
PerlJam oh, it is ... 04:16
r: my $a = "This is my string"; $a ~~ s:g/is/at/; say $a;
p6eval rakudo dca0fa: OUTPUT«That at my string␤»
PerlJam There's also an assignment syntax that looks interesting ... 04:19
r: $_ = "hello"; s[h] = "j"; .say
p6eval rakudo dca0fa: OUTPUT«jello␤»
araujo I was missing the :g there
:P
hehe 04:20
nice
though probably subst will suit better here 04:22
:)
moritz good morning 04:29
sisar \o 04:31
japhb o/ 04:42
I've been snowed under by a big $day_job project, so haven't been able to backlog -- any big news from the last couple weeks? 04:43
moritz japhb: rakudo had quite some new features in its compiler release. sorear is going to rewrite parts of niecza in C# (currently p6) 04:44
sorear japhb: sorear's classes have ended for the term and ey will be able to spend much more time on perl6 04:46
japhb moritz, Oooh, cool. Fetching the release announcement ... 04:48
sorear, Ah, excellent! What parts are you rewriting, and why? (/me guessing "performance" ...)
sorear japhb: Complicated reasons. Performance is only part of the story 04:53
it might help performance
japhb Oh? This is really peaking my interest now. Do you have your plans written down somewhere, or a good log link to read? 04:54
moritz, wow, you're right, that is quite the impressive ChangeLog. (The release announcement undersells it considerably, if you ask me.) 04:56
moritz well, we only ever pick 3 to 6 items out of the changelog for the release announcement 05:00
sorear japhb: Plans are in flux. So far, everyone who has asked has gotten a different answer.
japhb: Where is the changelog? 05:03
japhb moritz, Hmmm. That seems kindof restrictive. I mean, I understand wanting a zoomable level of detail, and the release announcement can easily be the most "zoomed out" LOD, but a big release is a big release, and deserves a little fanfare.
sorear, *chuckle*
sorear, For Rakudo? docs/ChangeLog
sorear, so I guess even if plans are in flux, I'm still curious what the basic motivation is? Why convert high-level code to low-level code (or medium-level, if you prefer), when the project will remain mixed-level, if not for performance? (I can imagine a couple possibilities, but they seem a bit out there.) 05:05
Hmmm. Trying to catch up via 'git log' is an exercise in confusion. Too many commits with messages like "first hacky shot at foo" or "beginning to implement bar", without any detail about what does and doesn't work. Of course, I bet I'm guiilty of doing the very same thing. :-/ 05:08
(That was regarding the Rakudo 'git log', not niecza) 05:09
sorear japhb: The only reason to have modules in a high level language is to save hassle, and... I don't think that's happening 05:16
I feel like far too much of my time is going in to keeping the bootstrap and various glue layers working
japhb sorear, ah, so rewriting sections of mixed code to single-layer code mostly for maintainability and reduced effort in future iterations? 05:18
sorear japhb: yes 05:20
TimToady made disappointed comments. I am unsure what to make of them. 05:21
TimToady just wishes that p6 would be as mature as C# :) 05:22
sorear also 05:23
japhb Hmmm. I can understand the disappointment. It's an interesting data point -- and will be more interesting when you get enough done to see if your hunch was correct. :-)
sorear because the niecza compiler is perl6, it needs to be compiled using an older version of niecza 05:24
but niecza versions are tightly coupled to runtime versions, so the compiler process needs two runtime libraries loaded
and both the compiler and the user code have independant settings with independant systems of types 05:25
there are four places data can exist during compilation
by moving to pure C# and eliminating the bootstrap, there will only be two places for data to exist
which means less code dedicated to shuffling data around without doing meaningful operations on it 05:26
TimToady maybe if we designed a 05:27
VM that was specifically for Perl 6...oh wait... 05:28
bonsaikitten TimToady: maybe one could make it a bit more generic so it could run other bytecode-oriented things? :)
TimToady there's an idea
let's start with an object-oriented assembly language 05:29
what could possibly go wrong? :D
sorear meh, someone tried that already, didn't work well enough for my tastes 05:36
:)
bonsaikitten TimToady: hmm, maybe an abstract assembler like MIX / MMIX ? 05:37
japhb sorear, ah yes, I believe I understand the problem. It will be interesting to see how that attempted simplification turns out. 05:51
sorear it seems the largest proportion of the problems exist when compiling the setting, so I could also try eliminating the setting instead... that's less p6 code 05:59
sorear The worst part of all of this is that I feel like a bad person for even entertaining the idea 06:10
japhb sorear, I understand the feeling, but I suspect the reality will be more nuanced: You're probably going to end up discovering all the ways that this is *not* as simplifying as it sounds. Which I think will be really valuable data, both for other implementers and for possible tweaks to the language or setting. 06:39
masak morning, #perl6 06:41
phenny masak: 21 May 22:41Z <diakopter> tell masak see the r: LTA errors in irclogs
masak oki
masak is still a few days back in the backlog
japhb o/ 06:42
sorear masak! 06:43
masak \o/ 06:48
tadzik \o/ 06:50
masak r: $_ = "I zah nac cheezburger?"; s[ :s \w+ <( \w+ \w+ )> ] .= flip; .say 06:55
p6eval rakudo dca0fa: OUTPUT«===SORRY!===␤Missing assignment operator␤at /tmp/K3Mk8H1cgu:1␤»
masak aww :/
r: $_ = "I zah nac cheezburger?"; s[ :s \w+ <( \w+ \w+ )> ].=flip; .say 06:56
p6eval rakudo dca0fa: OUTPUT«===SORRY!===␤Missing assignment operator␤at /tmp/S0_lmGNboZ:1␤»
masak r: $_ = "I zah nac cheezburger?"; s[ :s \w+ <( \w+ \w+ )> ] = 'can haz'; .say
p6eval rakudo dca0fa: OUTPUT«I can hazcheezburger?␤»
masak oh!
r: $_ = "I zah nac cheezburger?"; s[ :s \w+ <( \w+ \w+ )> ] = 'can haz '; .say
p6eval rakudo dca0fa: OUTPUT«I can haz cheezburger?␤»
masak r: $_ = "I zah nac cheezburger?"; s[ :s \w+ <( \w+ \w+)>] = 'can haz'; .say
p6eval rakudo dca0fa: OUTPUT«I can haz cheezburger?␤»
sorear masak: s.=flip is not an actual Perl 6 feature, it only exists in niecza at the moment 06:57
masak something about assignment to s[] makes me inexplicably giddy.
sorear: you mean the spec doesn't actually state or imply that .= should work there?
sorear std: s[\W] .= perl 06:58
p6eval std 8632387: OUTPUT«===SORRY!===␤Undeclared routine:␤ 'perl' used at line 1␤Check failed␤FAILED 00:00 42m␤»
masak ooh tjs.azalayah.net/new.html 06:59
it's too visually similar to the compiler features table... but I like where this is going. 07:00
jnthn morning, #perl6 07:04
moritz \o
masak lol good moritz jnthn! 07:05
sorear o/ jnthn 07:06
dalek ar: 067fc69 | moritz++ | skel/Configure.pl:
forgot one version update
07:12
jnthn Q. How do you know a Star release is in progress? A. At least one "oops, I forgot to update this piece of duplicated information" commit flies by. 07:14
moritz++ for getting started on it :)
jnthn really thinks we need something that takes a bit more of the manual work out of producing Star releases. 07:15
masak looks for, but doesn't find, the "YA THINK" rage face 07:17
er, "YA THINK?"
sorear gist.github.com/2767337 I am now swapping 07:28
sorear goads masak into asking probing questions. 07:30
masak don't feel dirty. cheating is technique. :)
I don't have any probing questions. I just think it's an interesting direction. might yield some advantages that we don't see right now. 07:31
sorear masak: yeah, I also think that since Rakudo is moving towards bootstrapping, Niecza moving away would help explore design space 07:36
masak exactly. 07:39
moritz "The setting is not compiled, it's all C# code: How will bounded serialization cope with version skew then? 07:44
"
which version skew?
tadzik: is ufobuilder gone? 07:46
seems like 07:47
dalek ar: 9619c1b | moritz++ | skel/tools/build/Makefile.in:
ufobuilder is gone

do not try to install it anymore
Woodi hallo 07:50
masak Woodi! \o/ 07:52
Woodi perl6 -v gives 'This is perl6 version 2012.04.1 built on parrot 4.3.0 revision 0'. Would be nice if it say 'Star' somewhere, at least it is helpful for me...
masak huh. ufobuilder. the things people come up with... :) 07:52
masak ufo is meant as a tool for developers. it's not for end users of a module. 07:53
moritz Woodi: I've opened github.com/rakudo/star/issues/7 for you
Woodi btw. backlogging yesterday evening makes me think we starting to be short on goals, clearly visible goals... 07:54
moritz: thanx :)
moritz I can't speak for everybody, but I have very clear goals
masak well, depends what you mean. 07:55
Woodi masak: ufo is realy usable, simple and clean to use tool...
masak it could be argued that at some point, we should do a similar kind of thrust and goal-picking as with Star in 2009.
sorear btw, tomorrow I'm going to draft a letter to Mark Overmeer, if noone beats me to it 07:56
masak ++sorear
moritz sorear: on what topic?
masak Woodi: heh! ufo is bloated with featuritis and probably does about twice of what it should :) 07:57
moritz ... except for the really interesting things :(
sorear moritz: having cpan6.org redirect to modules.perl.org or something else
Woodi but gets works done in few secs :)
moritz in particular, it doesn't get dependencies right
masak moritz: intra-module dependencies?
moritz masak: yes 07:58
masak do you have a concrete example?
moritz in JSON::Tiny, when I edit Grammar.pm, Tiny.pm doesn't get recompiled on 'make test''
though now that I think of it, my Makefile might be old. Lemme re-check 07:59
Woodi btw. my problems on segfaulting with blib/* on OpenBSD gone now and I think it probably was too long patch for gmake or something...
sorear I have been informed by a friend of mine (who is possibly going to try to hire me next week) that cpan6.org and Overmeer is currently one of the loudest voices visible from outside the p6-bubble, and is sending an unintentionally negative message 08:00
moritz that's interesting to hear 08:01
masak yes, very.
sorear gist updated with some new thoughts 08:05
sorear another thought which is crossing my mind is, how feasible would it be to eliminate the C# globals like Kernel.IntMO and force all boxing to go through something less direct? 08:13
sorear towards the question of "how little hell can break loose if two COREs are allowed to coexist in a compartment?" 08:15
eh. sleep&
masak 'night, sorear. 08:18
dream of heading in yet-untried directions.
kresike hello all you happy people ! 08:30
masak kresike! \o/ 08:36
kresike masak, o/
tadzik moritz: yes, I removed it 08:48
masak: ufobuilder was a PoC Pies implementation 08:49
masak ok. 08:53
masak is finally backlogged 08:57
next time I'm away, I'd appreciate it if everyone refrained from speaking so much. :P
masak .oO( was it something I said...? ) 09:08
kresike masak, you either sleep less, or put a borg implant in your head and be here while sleeping :) 09:09
masak that sounds fantastic. 09:11
kresike .oO( when does this masak character find time to write books about perl6 if he's online and working on developing it all the time ? ) 09:12
masak metaphors related to time are odd. you neither "have time" or "find time". it keeps flowing through you, like a stream-based database, or the twitter firehose. 09:14
the only thing you can do is "seize the day". :)
kresike One whole day ? That's a lot of time ... 09:16
Can't you "seize" say an hour or just a few minutes ?
masak you can seize any free contiguous period of time for any purpose. 09:18
I hope everyone has seen rjbs.manxome.org/rubric/entry/1959 -- HN thread: news.ycombinator.com/item?id=4006150 09:19
moritz rjbs++ 09:23
Woodi can someone blog about latest Star ? there are things I have _no_idea_ how to sort them :) my list: lib.pm, roundrobin, how to use tag names, use with positional, why Real must be role, version literals. or maybe 2 blogs ? :) 09:42
masak sounds worthwhile. 09:43
sounds like something we should do on a regular basis, actually. 09:44
moritz fwiw I've can't remeber ever needing roundrobin 09:45
I simply implemented it because it's in the specs and in the tests
masak roundrobin sounds a bit like "oh, but someone might want *this* semantics that we didn't put into infix:<Z>" -- "who, exactly?" -- *waves hands* 09:54
moritz aye 09:55
masak r: .say for roundrobin(1, 2, 3; 4, 5, 6) 09:57
p6eval rakudo dca0fa: OUTPUT«1␤4␤2␤5␤3␤6␤»
masak \o/
r: my @a = <a b c d e>; my @b = <f g>; .say for roundrobin(@a, @b) 09:58
p6eval rakudo dca0fa: OUTPUT«a␤f␤b␤g␤c␤d␤e␤»
moritz r: .say for roundroubin(<a b c>; <X Y>; 3, 4)
p6eval rakudo dca0fa: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&roundroubin' called (line 1)␤»
moritz r: .say for roundrobin(<a b c>; <X Y>; 3, 4)
p6eval rakudo dca0fa: OUTPUT«a␤X␤3␤b␤Y␤4␤c␤»
masak "Did you mean: &roundrobin" :P
dalek ar: 15013ee | moritz++ | skel/docs/UsingPerl6-draft.pdf:
update Using Perl 6 to 2012.05 snapshot
10:00
ar: 281ce87 | moritz++ | skel/docs/announce/2012.05:
prepare release announcement
moritz everybody, please review and improve the announcement
and please do it *before* I release :-)
RC tarball forthcoming soon 10:01
felher moritz: basic support for Version literlas <--- should Version start upper case? 10:05
jnthn Version is a type name
So I guess so
I hope it's spent "literals" too ;)
moritz hopes it's spelled "literals" too :-) 10:06
felher Yes, it is :)
masak I hope it's spelled "spelled", too ;) 10:07
jnthn :P
moritz eats some spelled bread. Erm wait, spelt! 10:09
better spelt than spoiled
sjn what typo f bread is that? :)
moritz r: sub typo-f($x) { $x.WHAT.gist }; class Spelt is Str { }; my $x = nqp::box_s('bread', Spelt); say typo-f($x) 10:11
p6eval rakudo dca0fa: OUTPUT«Spelt()␤»
sjn itym "It's a correctly Spelt bread" :) 10:13
moritz r: sub typo-f($x) { $x.WHAT.gist }; class Spelt is Str { }; my $x = Spelt('bread'); say typo-f($x)
p6eval rakudo dca0fa: OUTPUT«No such method 'Spelt' for invocant of type 'Str'␤ in <anon> at src/gen/BOOTSTRAP.pm:799␤ in any <anon> at src/gen/BOOTSTRAP.pm:796␤ in block <anon> at /tmp/TfQKJis3Q_:1␤␤»
sjn (or alternatively, my jokes are too convoluted :-P)
masak sjn: like pretzels. 10:14
moritz somehow it always hurts my eyes to see the word "pretzels" 10:15
moritz because I come from a region where people regularly confuse and interchange 'b' and 'p', but always pronounce it as 'b' 10:15
and it's spelled with a 'B' in German :-)
masak arguably "b" makes more sense than "p". 10:18
moritz at least the capital B :-)
tadzik could someone install znc on feather? 10:48
jnthn -> station 10:55
dalek blets: 84339ac | raiph++ | docs/appendix-b-grouped.txt:
Rename Callframe Methods section to Callframes. Fill out Callframes section.
11:16
blets: f2a093d | (Herbert Breunung)++ | docs/appendix-b-grouped.txt:
Merge pull request #10 from raiph/patch-1

Rename Callframe Methods section to Callframes and fill out section. raiph++
[hds] r: my %h; %h<mog>.defined; 11:47
p6eval rakudo dca0fa: ( no output )
moritz [hds]: you need to produce output, with say() or print() or so 11:48
[hds] moritz: yep, forgot that bit. (-;
but is that the correct way to check if a key has been assigned a value?
moritz well
[hds] r: my %h; say %h<mog>.defined;
p6eval rakudo dca0fa: OUTPUT«False␤»
moritz r: my %h; %h<mog> = Int; say %h<mog>.defined 11:49
p6eval rakudo dca0fa: OUTPUT«False␤»
moritz I've assigned a value, but it's not defined
[hds] hmmmmm, right.
moritz if you're not happy with that output, use
r: my %h; %h<mog> = Int; say %h.exists('mog')
p6eval rakudo dca0fa: OUTPUT«True␤»
[hds] moritz: is there a better way of doing that?
moritz according to spec, that should be %h<mog>:exists;
but rakudo doesn't implement that part yet :( 11:50
[hds] r: my %h; %h<mog> = []; say %h<mog>.defined;
p6eval rakudo dca0fa: OUTPUT«True␤»
[hds] that's good enough for me. (-:
masak well, something can be undefined but still exist as a key. 11:51
undefined as a value but still exist as a key, I should say.
moritz r: my %h; %h<mog>.push: 1; say %h.perl 12:02
p6eval rakudo dca0fa: OUTPUT«("mog" => [1]).hash␤»
masak r: say now 12:03
p6eval rakudo dca0fa: OUTPUT«Instant:1337688247.873362␤»
masak r: say now R- now
p6eval rakudo dca0fa: OUTPUT«0.02538074␤»
masak r: my $t = now; my @a; push @a, $_ for 1..100; say now - $t 12:04
p6eval rakudo dca0fa: OUTPUT«0.0763741␤»
masak r: my $t = now; my %h; %h{$_} = $_ for 1..100; say now - $t 12:04
p6eval rakudo dca0fa: OUTPUT«0.0292684␤» 12:05
masak use hashes for all your array needs. they're faster. :P
moritz r: my $t = now; my @a; loop (my $i = i; $i <= 100; $i++) { @a.push: $i }; say now - $t
p6eval rakudo dca0fa: OUTPUT«Cannot call 'Real'; none of these signatures match:␤:(Mu:U \$v, Mu *%_)␤␤ in method Real at src/gen/CORE.setting:674␤ in sub infix:<<=> at src/gen/CORE.setting:2437␤ in sub infix:<<=> at src/gen/CORE.setting:2437␤ in block <anon> at /tmp/4t5wMHgLOr:1␤␤»…
moritz erm, what? 12:06
masak submits rakuodbug
pmichaud good morning, #perl6
phenny pmichaud: 21 May 18:33Z <jnthn> tell pmichaud 56d136a takes a crack at extending LTM transitivity into protoregexes. It adds time to build the NFA (a good bit for term), but OTOH seems that we trim a load more early. We'd probably do better if <ident> got an NFA - suggestions?
masak moritz: oh!
moritz: my $i = i
moritz oh.
r: my $t = now; my @a; loop (my $i = 1; $i <= 100; $i++) { @a.push: $i }; say now - $t
p6eval rakudo dca0fa: OUTPUT«0.05333191␤»
moritz masak++
\o pmichaud 12:07
masak right. hashes are still faster, but some of the speed penalty is from the for loop.
pmichaud! \o/
moritz Rakudo Star release candidate at moritz.faui2k3.org/tmp/rakudo-star-....05.tar.gz 12:07
masak moritz++ 12:08
pmichaud phenny: tell timtoady how strongly do you feel about RT #113026 (irclog.perlgeek.de/perl6/2012-05-21#i_5619358). I thought about it some overnight, and auto-detecting modifications to the array during iteration seems contrary to immutable iterators. 12:10
phenny pmichaud: I'll pass that on when timtoady is around.
felher Rakudo iterators are immutable? How does that work? Instead of asking a iterator to increment its position, i ask for a new iterator which has a higher position? 12:15
moritz well, they are immutable in the sense that whenever you ask for an iterator, you'll get an iterator that will return the same elements each time 12:16
it doesn't mean they are actual value types that never change internally
masak right. "immutability as far as you are concerned" might be a more exact description. ;) 12:17
felher Ah, makes sense :) thnx
pmichaud the case I'm wondering about it something like
moritz remebers "that" session in Oslo :-) 12:18
pmichaud r: my @a = <a b c d e f>; for @a { @a[9] = 'j'; .say };
p6eval rakudo dca0fa: OUTPUT«a␤b␤c␤d␤e␤f␤»
pmichaud the only way the 'for' iterator can learn about the 'j' is if it first passes through the 'lazy' part of the array somehow. 12:19
moritz more indirection, even slower? 12:20
pmichaud essentially, yes. 12:20
masak smiles happily at the output of 'panda list' 12:21
pmichaud in some sense it would mean that arrays and lists never are truly "fully generated", if there's always the possibility that pushing elements needs to affect existing iterators.
anyway, afk for a bit -- @kids to @school 12:22
masak pmichaud, moritz: ISTR a p6l thread from years back where it was basically decided that for loops did a snapshot and looped on that.
I don't trust my search-fu enough to find that thread again, sadly.
moritz lol, p6l :-)
masak moritz: the RC seems to work well here. 12:28
moritz masak: great. Any obvious mistakes in the announcement? 12:29
masak++ # testing the RC
masak moritz: release announcement looks good. 12:33
moritz \o/
I'll wait a bit before releasing, to give others the option to test it too
masak not sure outsiders care about 'ported from ng branch', but I don't see how it hurts either. 12:34
eiro hello world! 12:36
masak eiro! \o/ 12:37
kresike hi eiro
did you use perl6 to write that ? :) 12:38
masak r: say "hello world!"
p6eval rakudo dca0fa: OUTPUT«hello world!␤»
kresike masak, eiro's version was much cleaner :) 12:39
masak is delighted at p6eval's response time nowadays
moritz jnthn++ is largly to blame for that 12:42
masak I'll be happy to blame jnthn++ for ever worse atrocities in the future. 12:43
dalek blets: 22a6721 | (Herbert Breunung)++ | docs/ (3 files):
explain, link and pave way for the ternary operator
12:45
felher Yeah. I'm starting to use nom in little every-day-scripts, because i don't have to wait 15 seconds everytime i hit <CR> anymore. That's just amazing :) 12:47
masak it's a force multiplier. 12:48
masak so is getting features well-documented, error messages clear, and implementations available on various Linux distros. 12:52
moritz aye.
felher :)
moritz Currently I think that our really, really weak spot is documentation
we have progressed in most other areas (compiler features, resource usage, error messages, module system) 12:53
masak I think you're right.
[Coke] +# 05/21/2012 - rakudo++ (22246); niecza (91.54%); pugs (34.81%)
(slight drop by niecza, more failures)
masak moritz: I'd like to arrange a hackathon where we fix this.
moritz: one weekend of focused hacking by ~5 people should work in getting something significant in place. 12:54
moritz masak: count me in (modulo time/travel costs, as always)
masak and meeting up might combat the extreme thanklessness of working on documentation solo.
masak dubs this future hackathon "the u4x hackathon", just because :) 12:55
moritz I remember working on the book when I didn't feel like the only one. It was great
masak moritz: part of the reason I'm not working on the book is that it's non-trivial to build. 12:55
the bar is higher than it need be.
moritz masak: the HTML version is trivial to build 12:56
masak ok.
good to know.
moritz 'make html'
works without the whole latex craziness
masak excellent. 12:57
moritz it might currently miss the pictures, but iirc we only have one or two anyway 12:58
Juerd 14:56 < moritz> works without the whole latex craziness 13:00
PerlJam moritz: FYI, the book is bubbling up my list of things to do. As crazy as it sounds, I'm hoping (again) we can generate something "publishable" this year :-)
Juerd grins
moritz Juerd: I'm not refering to merely needing latex and one, two packages 13:01
Juerd Two packages. Oh my.
moritz "not [...] merely" 13:03
masak referring # unless you're RFC 1945 :) 13:03
moritz is later than 1945 :-) 13:04
masak so you should get it right :P 13:04
masak .oO( keep up! )
:P
Juerd We'll be stuck with "Referer" for ever. 13:06
moritz and, what was it, something_CREAT 13:08
masak creat(2)
linux.die.net/man/2/creat
moritz O_CREAT, O_EXCL, O_TRUNC in man 2 open
masak well, software engineering has expanded in the past few decades into a space where identifiers can breathe properly. 13:09
moritz afaict in rakudo we still look up variables by name quite a bit 13:10
so your programs actually do use less resources if you use short variable names :-)
masak pfeh.
felher *lol*
masak in other news, if you take shallower breaths, the air will last longer. 13:10
recommended practice is to hyperventilate really rapidly. 13:11
moritz I wonder if that one is actually true
moritz (the shallower breathing, not the hyperventilating) 13:11
masak I have no idea. 13:12
if it helps for the analogy, take something that's obviously true: toothpaste, even when used once, works even the day after. so you can save it in a small cup and save some resources! 13:13
only need to buy half as much toothpaste. 13:14
moritz well, I never said it's a good idea to use short variables, or that the savings are big :-)
masak I know, I know.
:)
brrt moritz: thats probably not true (about the shallower breaths) 13:45
masak indeed. feels like hyperventilating would use up oxygen faster, not slower. 13:46
moritz brrt: yes, I guess the body just takes what oxygen it needs. If it can't, you'll become unconscious pretty quickly
brrt supposing you still breathe enough for normal metabolism, you'll simply exhale relatively more co2
hyperventilating makes you dizzy because it makes the blood less acidic 13:47
not much to do with o2, a lot with co2
anyway, rant off :-) 13:48
masak interesting.
masak I was once told that air in a room with people and no ventilation feels "used up" not because the o2 runs out, but because it becomes somewhat saturated with co2. 13:49
moritz yes, c02 becomes poisonous for the human body much faster than the O2 reduction becomes threatening
benabik Your body has basically no way to measure oxygen... It kinda guesses based on CO2 levels. 13:50
You learn a lot about gas exchange and the like when you do SCUBA. 13:51
moritz it has to do with the bindinig affinity of Hemoglobin to O2 and C02
and because CO has such a high affinity, it's toxic
cognominal_ p6: 'a' ~~ /a/; say ~$/.WHAT
p6eval rakudo dca0fa: OUTPUT«use of uninitialized value of type Match in string context in block <anon> at /tmp/gWZAhVgVyY:1␤␤␤»
..pugs: OUTPUT«Error eval perl5: "if (!$INC{'Pugs/Runtime/Match/HsBridge.pm'}) {␤ unshift @INC, '/home/p6eval/.cabal/share/Pugs-6.2.13.20120203/blib6/pugs/perl5/lib';␤ eval q[require 'Pugs/Runtime/Match/HsBridge.pm'] or die $@;␤}␤'Pugs::Runtime::Match::HsBridge'␤"␤*** Can't locate P…
..niecza v17-23-gfb775fb: OUTPUT«␤»
moritz rakudo++ 13:52
moritz niecza++ has the same result, but without warning. Odd 13:52
cognominal_ p6: 'a' ~~ /a/; say $/.WHAT 13:53
p6eval pugs: OUTPUT«Error eval perl5: "if (!$INC{'Pugs/Runtime/Match/HsBridge.pm'}) {␤ unshift @INC, '/home/p6eval/.cabal/share/Pugs-6.2.13.20120203/blib6/pugs/perl5/lib';␤ eval q[require 'Pugs/Runtime/Match/HsBridge.pm'] or die $@;␤}␤'Pugs::Runtime::Match::HsBridge'␤"␤*** Can't locate P…
..rakudo dca0fa, niecza v17-23-gfb775fb: OUTPUT«Match()␤»
cognominal_ I am always confused with the string value of a type. :( 13:54
moritz cognominal_: (nearly) all types stringify to the empty string 13:55
n0den1te r: say ~Int
p6eval rakudo dca0fa: OUTPUT«use of uninitialized value of type Int in string context in block <anon> at /tmp/hcgEyuGIO4:1␤␤␤»
moritz and warn
just like undef in p5
cognominal_ yes, but I keep forgetting it. 13:55
n0den1te r: Int.perl.say 13:55
p6eval rakudo dca0fa: OUTPUT«Int␤»
n0den1te "~" doesn't stringify? 13:55
masak n0den1te: it does. 13:56
n0den1te: but you get a warning when you try to do it on a type object, which was what cognominal_ did.
n0den1te masak: so should MyType.perl.say
moritz r: say Int.^name 13:57
p6eval rakudo dca0fa: OUTPUT«Int␤»
n0den1te masak: I may be wrong, but that one looks inconsistent to me.
masak reads about redox reactions, and wishes he could go back in time a few centuries and explain these things to an alchemist
n0den1te masak: redox? macros? :D
moritz masak: that and the periodic table :-)
n0den1te Yeah, you're *that* guy. 13:57
masak n0den1te: .perl and stringification aren't the same thing.
n0den1te: :P
cognominal_ I would prefer it to return Int:U for example
moritz but Int !~~ Int:U 13:58
brrt backlog: the whole 'poisonous' thing of CO2 is because it forms the blood acid-base buffer system 13:58
and proteins are rather sensitive to acidity
cognominal_ I meant "Int:U"
moritz cognominal_: but where would that be useful? 13:59
n0den1te brrt: if you're talking of enzymes as proteins, then yeah - but then, I'm no biochemist. :P
cognominal_ r: say Int ~~ Int:U 14:00
p6eval rakudo dca0fa: OUTPUT«True␤»
masak r: say Int:U ~~ Int:D
p6eval rakudo dca0fa: OUTPUT«True␤»
masak r: say Int:D ~~ Int:U
p6eval rakudo dca0fa: OUTPUT«True␤»
brrt all proteins :-) because the charge on amino acids depends on the acidity of the enviroment, and protein folding depends on the charges of amino acids
masak the smilies are probably transparent to smartmatching.
moritz cognominal_: we have the .Str/.gist distinction precisely because we want something (.gist) that returns more debugging info, and something (.Str) that doesn't clutter up our strings
masak: they are simply ignored anywhere except in signatures 14:01
known limitation
dalek blets: 4e3f84c | (Herbert Breunung)++ | docs/appendix-g-glossary.txt:
linkfixes in nav menu
moritz r: my Int:D $x = Int;
p6eval rakudo dca0fa: ( no output )
masak moritz: ok.
n0den1te we are dying a slow death because we got degenerate enzyme reactions. :) 14:02
cognominal_ I know there is a rational and that I keep forgetting it.
brrt n0den1te: thats one way to see it
dalek blets: 26cc707 | (Herbert Breunung)++ | docs/appendix-g-glossary.txt:
format fix in ternary entry
14:03
cognominal_ ...probably because it makes me unconfortable. 14:04
masak isBEKaml: I'm not sure that's entirely fair to enzymes. :) most of the reactions keep us alive for years and years. 14:05
isBEKaml masak: sure, yeah. Just tell them to reuse all that wasted energy in reactions! :P 14:06
masak enzymes are often extremely energy-efficient at what they do. Nature has had billions of years traversing configuration spaces. 14:07
cognominal_ speaking of RNA and proteins, I am reading Koonin, E. V. 2011. The Logic of Chance: The Nature and Origin of Biological Evolution.
masak cognominal_: looks interesting. 14:08
isBEKaml masak: I can see that coming from atleast 2 sources I read. One was the big encyclopedia of a book for biotechnologists (don't remember the name) and the other from Dawkins. :) Not to take anything away from you, ofcourse. 14:09
cognominal_ avoid the kindle version.
cognominal_ I lack physical space and I keep being burnt buying kindle. :( 14:10
Even displayed on a iPad, it is shit.
isBEKaml cognominal_: sure looks interesting. I vaguely remember sifting through pages in a bookstore... 14:12
.oO(Where did enzymes get into #perl6? )
14:14
moritz through breathing, I believe :-)
cognominal_ genomics is (so far) an epic failure as helping fighting disease but it is great to understand evolution.
moritz we do breathe while hacking
masak they've been here for years! o.O
cognominal_: how is it an epic failure? (not challenging this, just curious) 14:15
isBEKaml bah, #perl6 is all 1 and 0s
moritz cognominal_: is it? (genomics being an epic failure fighting diseases)
cognominal_: got any more material about that? 14:16
isBEKaml moritz: I think he's referring to the whole genome sequencing exercise than the attempt to tackle diseases.
moritz cognominal_: I kinda thought that it helped a lot, albeit indirectly (ie helped understanding some biochemstry, which then in turn lead to better medication)
isBEKaml moritz: not that genome sequencing has been a failure, it's just too complex to be tackled by a select group of people, even as they are competent at what they do. 14:17
moritz I know that some people said things along the lines of "once we got the human genome sequenced, we can just identify all diseases and engineer medications for them" 14:18
brrt i kind of agree with the genomics statement
cognominal_ moritz: that's the point. It has been sold as solving problems when it is just a precondition to solve them.
brrt people in the 90s believed that if they knew the whole genome they would know all diseases
moritz cognominal_: ok, that I can readily agree with
adu hi
cognominal_ I am searching a Craig Venter quote about that.
brrt moritz beat me too it
masak hi adu! 14:19
moritz hello adu
adu :)
moritz: SMOE
masak yeah, just reading out the base pairs doesn't cure desease. I agree too :)
moritz people also believed some crazy stuff about Perl 6 solving all their computing problems :-)
isBEKaml *lol* 14:20
moritz adu: SMOE?
masak what, you mean it won't!?
cognominal_ Also, we have discovered we need to understand the proteome of stuff living in our guts as well to do any progress to understand human biology. That enlarges the problem space a lot.
adu Simple Matter of Engineering
masak I've spend all this time on Perl 6, and now you're telling me it won't even solve the Halting Problem?
moritz adu: ah, right. :-)
masak: it might give you the proverbial shotgun :-) 14:21
kresike moritz, perl5 already did that :o)
masak .oO( Perl 6 gives you enough shotguns to hang yourself )
moritz I'm kinda fond of that quote (don't know the exact words, or who uttered it): if Perl 5 gives you a swiss army chain saw, perl 6 gives you the swiss army 14:22
kresike masak, now the problem is tying them together
adu cognominal_: guts are complicated
isBEKaml masak: Perl6 gives you enough needles to pierce yourself with. It's just that you won't feel anything until you die. :P
adu moritz: I said that
moritz adu: you did? adu++
#perl6: resolving questions about quotes by having the original author present :-) 14:23
adu but I think my exactish words were: if Perl5 is a swiss army knife, then is Perl6 the entire swiss army?
irc logs might also help 14:25
moritz yes; *handwave*
isBEKaml adu: moritz++ set up these irclogs. :)
masak moritz++ 14:26
adu moritz++
isBEKaml moritz: selective amnesia? ;)
cognominal_ moritz++
adu isBEKaml: is that the lazy version of shooting yourself in the foot?
moritz isBEKaml: what? did we talk about anything earlier?
isBEKaml adu: that's what I was alluding to. glad you caught it. :D 14:27
moritz: no, you forgot about irclogs. :P
moritz I did? :-)
cognominal_ moritz: reading stuff like www.spiegel.de/international/world/...4,00.html, it seems that genomics will help design synthetic cells to replace huge factories we currenly used to produce many molecules. 14:29
masak isBEKaml: I thought moritz was referring to his irclog when he said "*handwave*" above. 14:30
moritz was 14:31
isBEKaml masak: late realisation, yeah. 14:32
cognominal_: what's APoE? 14:34
adu makes coffee 14:38
isBEKaml cognominal_: never mind. found it. Apoliprotein E, apparently - Wiki says it's the gene that's mostly the main culprit behind brain/neural diseases like Alzheimer's. 14:39
masak isBEKaml: "Wiki" is not an unambiguous shortening of "Wikipedia". there are thousands of wikis in the world, of which Wikipedia is but a very important one. 14:40
I've seen people use "wp" as a short form. 14:41
cognominal_ I say wp as a short for wikipedia
isBEKaml masak: yes, lazy fingers. too much typing all day. :(
masak finds WikiPathways: www.wikipathways.org/index.php/Pathway:WP430 14:43
PerlJam wp == wordpress for me :) 14:51
moritz wordpedia :-)
adu karma adu 14:56
aloha adu has karma of 5.
adu yey 14:57
masak \o/ 15:01
courtesy of the entire swiss army. :)
adu I noticed that commit messages have username increments 15:02
moritz yes
give us patches, get karma in return :-)
adu maybe I should contribute something :)
masak commits are a tolerated way to subvert the karma system :) 15:03
TimToady superverts the karma system :) 15:04
phenny TimToady: 12:10Z <pmichaud> tell TimToady how strongly do you feel about RT #113026 (irclog.perlgeek.de/perl6/2012-05-21#i_5619358). I thought about it some overnight, and auto-detecting modifications to the array during iteration seems contrary to immutable iterators.
TimToady phenny: tell pmichaud I feel pretty strongly, but I think I don't want as much as you guys think I want. You can read a file that is growing, and it only matters when you hit the current end, no the end when you started. Buffering is fine, snapshotting existing elements is fine. Just go back and see if it has grown when you hit the end. 15:34
phenny TimToady: I'll pass that on when pmichaud is around.
TimToady phenny: tell pmichaud It's only one extra check for any array that hasn't grown. Arrays and lists can both be defined lazily; the issue isn't immutability here, but policy toward changing your mind; the API disallows it with a list, but changing existing elements of an iterating array is merely erroneous. 15:38
phenny TimToady: I'll pass that on when pmichaud is around.
Woodi :wq 15:47
hugme hugs Woodi, good vi(m) user!
TimToady phenny: tell pmichaud I think this is an area where a tagmemic "you can use an array as a list" is warranted; it's a relatively cheap check; it enables a bit more cargo-cult learning (a Perl feature, you'll recall); and it preserves the abstract idea of the array's identity longer 15:48
phenny TimToady: I'll pass that on when pmichaud is around.
PerlJam TimToady: so, changing at the end is okay, but not in the middle? 15:59
sergot hi o/ 16:00
kresike bye all 16:00
SDKLive hi all 16:01
masak hi, SDKLive 16:01
SDKLive i m new to perl
masak SDKLive: how do you like it so far? 16:01
SDKLive: are the perl people treating you well? are you getting the help and nourishment you require? :)
SDKLive came to perl irc for the first time 16:02
it feels good
masak ooh!
r: say "welcome, SDKLive! »ö«" 16:03
p6eval rakudo dca0fa: OUTPUT«welcome, SDKLive! »ö«␤»
SDKLive so what is the best way to lern perl ?
masak a combination of reading stuff and trying stuff out, I would say.
be sure to check out learn.perl.org/
also www.onyxneon.com/books/modern_perl/index.html
SDKLive any good books with good examples you people recommend
masak and of course shop.oreilly.com/product/9780596004927.do 16:04
sisar SDKLive: just to be sure, you are aware of the difference between perl and perl6 ?
masak beyond that, it depends what you need.
SDKLive thx for the help 16:05
masak no problemo
SDKLive what perl 6 ?
masak hope you got what you came for.
Perl 6 is a branch of the very popular Perl language.
SDKLive what about perl 6 ? when its going come in action
masak whenever you run it on your computer. :)
r: say "here I am!"
p6eval rakudo dca0fa: OUTPUT«here I am!␤»
masak r: say [+] 1, 2, 3, 4 16:06
p6eval rakudo dca0fa: OUTPUT«10␤»
moritz (rakudo is the name of a Perl 6 compiler)
SDKLive hmm..
masak r: class Frog { method croak { say "croooaaak!" } }; Frog.new.croak
p6eval rakudo dca0fa: OUTPUT«croooaaak!␤»
sisar SDKLive: www.perl6.org/. And this channel is mainly for #perl6. Thogh we don't mind perl at all :)
And you might also want to checkout #perl 16:07
masak at your own peril.
sisar masak: #perl is perilious ?
sorear good * #perl6
flussence
.oO( it's perlious... )
masak sisar: opinions differ. I can't be there for long. too abrasive.
sisar sorear: p/ 16:08
masak sorear! \o/
sisar *o/
flussence: :)
masak .oO( sisar waves and gets hit by a snowball )
masak ==> le shoppe
SDKLive hey perl 6 got released or what? 16:09
PerlJam perl 6 was being held prisoner?
moritz SDKLive: we've had monthly releases for the last ~30 months
SDKLive ok
that means its getting better monthly.. 16:10
sisar SDKLive: it is incorrect to say perl6 has been released or not, it is more correct to say if a compiler has been released or not, since there are multiple compilers for perl6
eg. rakudo, niecza, pelrito, pugs, etc. 16:11
SDKLive ok i didnt know about that
every compiler will have different purpose
PerlJam
.oO( I'll have 2 pelritos and a large Dr Pepper )
16:12
sisar SDKLive: perl6.org/compilers/ "Perl 6 is a language specification, and just like C or C++ there are multiple compilers for the language."
PerlJam SDKLive: I don't know about different purpose, but different focus.
SDKLive ok 16:13
PerlJam SDKLive: They all have a common purpose (implement Perl 6 spec), but each go about it in different ways.
SDKLive PerlJam: this is interesting
sisar SDKLive: so let me say this, welcome to #perl6 ! 16:14
moritz it's like in politics. Everybody agrees that something must be done about unemployment, but not everybody agrees on the right approach :-)
SDKLive thank you for the welcome.. 16:15
sisar .oO (this remind of that story about four men called Anybody, Somebody, Nobody and Everybody )
PerlJam moritz: right approach?!? Give people jobs! Problem solved! ;)
moritz sisar: "Nobody spat in my face and Everybody laughed" -- that one? :-) 16:17
SDKLive thank you everybody for the support 16:18
bye
sisar moritz: I was thinking about : www.corsinet.com/braincandy/hlife.html
sisar "It ended up that Everybody blamed Somebody when Nobody did what Anybody could have done. " 16:20
adu moritz: like the number 16:33
dalek blets: e2203d0 | (Herbert Breunung)++ | docs/appendix- (2 files):
ternary op made me think what belongs where, A <> G
16:36
blets: bbf5621 | (Herbert Breunung)++ | docs/appendix- (2 files):
explain arity
sorear [Coke]: ping 16:39
[Coke]: lichtkind is here :) 16:40
adu moritz: www.shadowstats.com/alternate_data/...ent-charts … people can't even agree on the number 16:47
sorear adu: do not forget that moritz is Austrian; presumably they have better data there ;) 17:01
adu heh
SGS is U.S.
moritz is not Austrian 17:07
adu moritz: European? 17:08
German? 17:09
adu how would I go about writing a formatting tool? 17:14
moritz German, yes 17:15
adu like p6indent or p6fmt
moritz adu: that kinda depends on your goals
adu: if you're fine with only formatting valid Perl 6, then I'd suggest you use one of the existing parsers to parse it
moritz adu: then get a parse tree from that, walk it recursively, and format it 17:15
adu my goals would be to parse some modifications to the language, like infix operators, and be somewhat configurable, like FilePackages=false 17:16
if FilePackages=true, then it would allow class X; but warn if FilePackages=false
kinda how c-indent has options 17:17
maybe have output options to, so class X; is rewritten as class X { … } with certain options enabled 17:18
or visa versa
lichtkind sorear: yes 17:19
adu I could call it vindent 17:20
kresike hi all 17:26
lichtkind hai kresike
kresike hello lichtkind 17:27
dalek blets: 6f6ceeb | (Herbert Breunung)++ | docs/appendix-b-grouped.txt:
renaming table back to "callframe methods" because its about them and if you want rename it, fix backlinks from A too
17:35
blets: 94eb17c | (Herbert Breunung)++ | docs/appendix-g-glossary.txt:
add next 2 G terms
blets: 2c4811e | (Herbert Breunung)++ | docs/appendix- (2 files):
backlink arity and count
lichtkind kresike: can I help?
dalek blets: 2a00cea | (Herbert Breunung)++ | docs/appendix-g-glossary.txt:
having one syntax for "See also:" like in A
17:38
kresike lichtkind, help with what ? 17:51
could You somehow upload the perl6 book into my brain :) 17:52
moritz cat UsingPerl6.pdf > /dev/brain 17:54
:-)
kresike moritz, /dev/brain No such file or directory :) 17:55
moritz kresike: create one :-). mknod to the help
kresike hmmm, maybe I could ask the borg to implant me with a USB 3.0 port ... 17:56
sorear >> /dev/brain, rather?
kresike sorear, lol
kresike I guess the previous version wouldn't erase much important data ... 17:56
my name maybe, or date of birth, but not much else 17:57
kresike moritz, useless, without a device behind it you cannot do anything with it 17:58
kresike maybe ln -s /dev/null /dev/brain 17:58
btw, is it considered rude for beginners like me to use p6eval ? 18:00
PerlJam kresike: nah, just don't over-use it (like some of the regulars tend to do even :) 18:01
kresike: btw, you can also /msg it
kresike PerlJam, yes, I'm doing that ... I'm too shy :) 18:02
PerlJam kresike++ 18:03
kresike I got the three implementations to give me three different outputs, I consider that a milestone :)
kresike karma kresike 18:09
aloha kresike has karma of 1.
kresike weeee
moritz p6: say (1..200).pick
p6eval niecza v17-23-gfb775fb: OUTPUT«70␤»
..rakudo dca0fa: OUTPUT«199␤»
..pugs: OUTPUT«108␤»
moritz p6: say <good fast cheap>.pick(2); # a good ol' favorite 18:10
p6eval pugs: OUTPUT«fastgood␤»
..rakudo dca0fa, niecza v17-23-gfb775fb: OUTPUT«cheap good␤»
kresike moritz, :)
p6eval has a serious problem of split personalities 18:11
it's harder to get the three implementations to give the same output then the other way around 18:12
adu kresike: 1 impl giving 3 outputs? 18:20
gfldex r: say 'output' xx 3; 18:22
p6eval rakudo dca0fa: OUTPUT«output output output␤»
gfldex that wasn't all that hard 18:23
kresike no comment :) 18:25
felher Say i have a class Vector. Can i declare an operator (say "+") within that class, so that "+" has direct access to the private attributes of instances of Vector, and still use it from the outside-world? Or do i have to make a method "add" and define "+" outside of the class and make it use that method? 18:48
PerlJam felher: no and no.
diakopter r: say 33 <== 44 18:49
p6eval rakudo dca0fa: OUTPUT«3344␤»
PerlJam (well, we could argue over the semantics of "direct access to the private attributes" a bit and make that first one "yes" :)
gfldex perl6 classes have no friends :( 18:50
PerlJam gfldex: that's not really true either. They have "trust" relationships that are analogous to friends.
gfldex: see S12:1389 18:52
felher PerlJam: The second "no" isn't related to "add a method and define an operator on the outside", is it? Because i don't see any problems with that? :) 18:53
PerlJam felher: The second "no" was more about "have to" than not :)
TMTOWTDI after all
felher PerlJam: Ah, i see :) 18:54
PerlJam: thanks :)
PerlJam++
kresike PerlJam, what is the number 1389 in S12:1389 ? 18:56
PerlJam kresike: line number, if you look at irclog.perlgeek.de/perl6/2012-05-22#i_5624307 you'll see that it's a link to the appropriate part of the synopsis 18:57
kresike PerlJam, thanks, I got the Synopsis chapter 12 part, just couldn't figure out the number. 18:58
dalek blets: a9d1cb9 | (Herbert Breunung)++ | docs/appendix- (2 files):
level up callframe emthods
19:02
felher w 19:13
diakopter no one from #perl6 (except chromatic), afaict, commented on the Slashdot story yesterday that had tons of Perl6-related threads 19:17
PerlJam diakopter: URL? 19:18
diakopter developers.slashdot.org/story/12/05...0-released
lots of Perl 6 comments there
PerlJam I do not like the tenor of those perl6 comments. 19:25
felher I forgot: how do i get a hash to not stringify its keys? And will that be the default one day? 19:27
colomon PerlJam: Wish I had time to explain on there how usable Perl 6 is right now... 19:28
flussence felher: the syntax is "my X %hash{Y}", where X is the value type and Y is the key type. I think "Any" works there... 19:29
r: my %hash{Any} = { 3/8 => 'bar' }; say %hash.perl;
p6eval rakudo dca0fa: OUTPUT«("0.375" => "bar").hash␤»
flussence maybe not...
flussence r: my %hash{Str} = { 3/8 => 'bar' }; say %hash.perl; 19:29
p6eval rakudo dca0fa: OUTPUT«("0.375" => "bar").hash␤»
flussence r: my %hash{Num} = { 3/8 => 'bar' }; say %hash.perl; 19:30
p6eval rakudo dca0fa: OUTPUT«Nominal type check failed for parameter '$key'; expected Num but got Str instead␤ in method STORE_AT_KEY at src/gen/CORE.setting:6037␤ in block <anon> at src/gen/CORE.setting:5935␤ in block <anon> at /tmp/8jsk9nNeXV:1␤␤»
flussence r: my %hash{Num} = ( 3/8, 'bar' ); say %hash.perl;
p6eval rakudo dca0fa: OUTPUT«Nominal type check failed for parameter '$key'; expected Num but got Rat instead␤ in method STORE_AT_KEY at src/gen/CORE.setting:6037␤ in method STORE at src/gen/CORE.setting:5937␤ in block <anon> at /tmp/vU4lUrV3hl:1␤␤»
colomon r: my %hash{Rat} = { 3/8 => 'bar' }; say %hash.perl;
p6eval rakudo dca0fa: OUTPUT«Nominal type check failed for parameter '$key'; expected Rat but got Str instead␤ in method STORE_AT_KEY at src/gen/CORE.setting:6037␤ in block <anon> at src/gen/CORE.setting:5935␤ in block <anon> at /tmp/tNbx3f3zCh:1␤␤»
flussence oh, it was that => doing autoquoting
colomon oh
flussence r: my %hash{Num} = { (3/8) => 'bar' }; say %hash.perl;
colomon r: my %hash{Rat}; %hash{3/8} = "bar"; say %hash.perl;
p6eval rakudo dca0fa: OUTPUT«Nominal type check failed for parameter '$key'; expected Num but got Str instead␤ in method STORE_AT_KEY at src/gen/CORE.setting:6037␤ in block <anon> at src/gen/CORE.setting:5935␤ in block <anon> at /tmp/wDZNFu_uBT:1␤␤»
rakudo dca0fa: OUTPUT«(3/8 => "bar").hash␤»
flussence yep, colomon's is right 19:31
colomon ;)
felher thanks :)
colomon r: my %hash{Real}; %hash{3/8} = "bar"; say %hash.perl; 19:32
p6eval rakudo dca0fa: OUTPUT«(3/8 => "bar").hash␤»
colomon r: my %hash{Real}; %hash{3} = "bar"; say %hash.perl;
p6eval rakudo dca0fa: OUTPUT«(3 => "bar").hash␤»
colomon r: my %hash{Real}; %hash{3} = "bar"; say %hash.keys[0].WHAT 19:33
p6eval rakudo dca0fa: OUTPUT«Int()␤»
colomon r: say (3/8 => "bar").perl
p6eval rakudo dca0fa: OUTPUT«3/8 => "bar"␤»
colomon r: say (3/8 => "bar").key.WHAT
p6eval rakudo dca0fa: OUTPUT«Rat()␤»
flussence (I vaguely recall a conversation after key types were added mentioning Hash.perl was lacking...) 19:34
diakopter PerlJam: well, I think those comments are very representative of popular opinion/perception.
colomon sure, but popular opinion doesn't have a clue... 19:35
diakopter I'm not sure I agree with that 19:36
colomon Well, let me put it like this: *I* am currently doing real world productive work using Perl 6. 19:37
diakopter the first negative-toned comment I see asserts that widespread adoption is a long ways off. 19:38
that one could be argued until it happens; no one really knows. 19:39
the next negative comment asserts that Perl 6's major failing is breaking backwards compatibility. 19:40
colomon Actually, as much as anything I'm complaining about chromatic here: "no implementation is anywhere close to practically useful." 19:41
diakopter however, it assumes that breaking backwards compatability also implies the lack of ability to use Perl 5 CPAN modules. As pugs clearly demonstrated, that's not necessarily true.
moritz www.perlmonks.org/?node_id=971823 19:43
diakopter The next one says "I do want perl 6 -- I'm just not holding my breath for it to be usable very soon for real-world projects. ... perl 6, which has been almost-usable-for-real-work for 5 years."
PerlJam moritz++ 19:45
diakopter That's definitely debatable depending on your definition of real-world projects. If you need threads, you can't use rakudo. If you can't/won't use Mono or .NET (like chromatic), you can't use niecza.
flussence is he a "can't" or a "won't"? :) 19:46
diakopter won't
maybe can't too, I don't know
moritz he has license/patents concerns
(as if parrot didn't infringe any patents...) 19:47
diakopter The next complains/asserts that Perl 6 is too big to ever complete. This is certainly true by the definition of the full spec as written, as TimToady recently said on channel, but for a 1.0.0 release of the Synopses, it's not true, as that will happen sometime. 19:48
PerlJam I'm not sure that participating in such discussions is helpful nor do I believe rehashing them here is helpful. I think "no one from #perl6 participating" was and is the right move. 19:49
diakopter The next asserts that multiple implementations cause confusion. This is true, and unfortunate.
Why is it not helpful to rehash them here? In order to respond to assertions/perception, analyzing them is required. 19:50
dalek nda: 7c2667a | (Carl Mäsak)++ | bin/panda:
[bin/panda] Make projects come out in alphabetical order
nda: 3cccd5d | tadzik++ | bin/panda:
Merge pull request #14 from masak/patch-1

  [bin/panda] Make projects come out in alphabetical order
diakopter chromatic complains that Rakudo wants VM-independence, implying that it's impossible for him to understand why. What's wrong with the obvious explanation - independence from parrot? 19:52
PerlJam diakopter: perhaps I'm just tired.
diakopter: chromatic doesn't see the need for "all the extra work" or something like that. 19:53
flussence random unrelated question - I found myself writing ":.method" the other day hoping it'd produce :method($_.method), but it doesn't. Is there any DRY-ish way to do that?
diakopter he doesn't think it's worth it. he thinks investing the effort in improving parrot would be time better spent. 19:54
diakopter next, 3 refreshingly positive comments about Perl 6 from different folks. 19:56
pmurias diakopter: chromatic refuses to use a Perl6 on either the JVM or .NET
pmurias diakopter: so he doesn't see the point for VM independence 19:56
diakopter pmurias: that's a good point, too. 19:57
PerlJam flussence: I don't think so. 19:58
moritz flussence: I don't think so either, and so far I haven't had a use case for it 20:00
flussence: usually if you want to call method .foo to fill a named parameter :foo, going through .capture and/or signature unpacking might (mind you, I said "might") be an option 20:01
diakopter the next comment says "Ultimate glue? That's why I'm interested in Perl 6. It's supposed to be able call C/C++ library functions directly. No more need for wrapper libraries, which is the majority of CPAN. No need for SWIG, which I find bloated." ... which makes me quizzical
pmurias diakopter: why quizzical? 20:03
diakopter the next comment is based on a misunderstanding about Perl 6 deprecating and supplanting perl.exe. Probably also a common misconception.
pmurias: I didn't realize such capability was a spec'd feature
pmurias diakopter: it's not 20:04
flussence bleh, messing with signatures is too complicated. I'll just do it the long way :)
felher diakopter++ #for doing the work and posting the interesting, perl6 related post here :)
diakopter pmurias: that's all I'm saying - that I didn't think it was spec'd, even if it's available on rakudo.
they said "supposed to", which I interpreted as "spec'd" 20:05
diakopter the next assertion says in part "The '-e' of Perl 6 will probably stay so slow that it will not be as useful as Perl 5 as a simple tool for small tasks." 20:06
that remains to be seen, imho. It takes a lot of work to optimize that much. 20:07
moritz well, it'll be very hard to beat p5 at startup time
moritz python, ruby and php have a much larger startup time, which is a more realistic target 20:08
cognominal p6: sub a($a, $b) { say "$a $b" } ; a(<a b> ) 20:09
p6eval niecza v17-23-gfb775fb: OUTPUT«Unhandled exception: No value for parameter '$b' in 'a'␤ at /tmp/8XX2TxKLGK line 0 (a @ 1) ␤ at /tmp/8XX2TxKLGK line 1 (mainline @ 2) ␤ at /home/p6eval/niecza/lib/CORE.setting line 3855 (ANON @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting line 3856 (mo…
..pugs: OUTPUT«pugs: Extra space found after &a (...) -- did you mean &a(...) instead?␤»
..rakudo dca0fa: OUTPUT«Not enough positional parameters passed; got 1 but expected 2␤ in sub a at /tmp/MJXZFtwPUd:1␤ in block <anon> at /tmp/MJXZFtwPUd:1␤␤»
cognominal r: say <a b>.WHAT 20:10
p6eval rakudo dca0fa: OUTPUT«Parcel()␤»
cognominal p6: sub a($a, $b) { say "$a $b" } ; a(|<a b> )
p6eval pugs: OUTPUT«*** ␤ Unexpected "<a"␤ at /tmp/VAOrIqk1_T line 1, column 36␤»
..rakudo dca0fa, niecza v17-23-gfb775fb: OUTPUT«a b␤»
felher Strings are immutable, right? So "class C { has Str $.foo }" doesn't allow someone outside of the class to change anything about $.foo? 20:12
masak felher: right, but not for the reason you give. 20:14
felher: it's because you didn't make the attribute accessor 'is rw'.
sisar Trued to install LWP::Simple, but got: gist.github.com/2628829. When it say "Parse errors: No plan found in TAP output" what does it mean?
masak r: for my $/ (); 20:15
p6eval rakudo dca0fa: OUTPUT«===SORRY!===␤Contextual %*PARAM_INFO not found␤»
masak submits LTA error diakopter++ rakudobug
r: for our $:: ();
p6eval rakudo dca0fa: OUTPUT«===SORRY!===␤ResizablePMCArray: index out of bounds!␤»
masak submits LTA error diakopter++ rakudobug
felher masak: well, yeah. Str needs to be immuteable and $.foo must not be 'is rw'. If Str isn't immutable there might be a function .convert-to-upper-case, which changes $.foo, even though $.foo isn't 'is rw' :) 20:16
geekosaur sisar, "Non-zero wait status: 139" means it segfaulted
the other error actually follows from that since the test framework didn't get a chance to run and therefore didn't output the expected TAP-formatted information 20:17
sisar geekosaur: oh. How can I debug segfaults ?
geekosaur uhhhh
masak felher: troo. Str objects are immutable in that sense, yes. the only way to "change" a Str is to get a new one. 20:18
felher masak: great :)
thnx :) 20:19
masak pzh :)
phenny: en ru "please."?
phenny masak: "пожалуйста." (en to ru, translate.google.com)
masak пж :) 20:20
geekosaur anyone else want to comment on debugging rakudo segfault with panda? (on an unspecified platform...)
sisar on Ubuntu
moritz one problem is that we kinda conflate containers and values 20:21
when you write sub inplace(Str $x is rw) { }
then that can only bind to a scalar container containing a Str
but we never mention that container in the signature
moritz or phrased differently, the containers aren't really first-class citizens, in the sense that we usually try hard to hide them 20:23
which works great most of the time, except that it confuses everybody when it comes to mutating containers that hold immutable values
felher I just think of 'is rw' as passing a pointer to the pointer, instead of a pointer to the object. So the pointer the passed pointer points to may be changed :) This works most of the time. 20:28
masak felher: actually, there are still unresolved difficulties in that area. 20:29
I wish we could resolve them satisfactorily. but it seems real tricky.
felher masak: difficulties such as? 20:30
masak let's see if I can remember them.
the spec says that readonly array variables are readonly "one level deep". that is, you can't push etc to the array itself; nor can you twiddle with its elements. 20:31
mj41_ hi, P5-to-P6 question: $self->SUPER::some_method() in P6 ?
masak mj41_: nextsame() if you're in that method. 20:32
mj41_: otherwise, hm.
mj41_ masak: thanks 20:32
masak did that help? oh, good.
moritz you can also write self.Explict::Class::Name::method()
masak oh, I thought that was just for roles.
moritz works for superclasses too, iirc 20:33
TimToady but don't, use nextsame instead
masak r: class A { method foo { say "OH HAI" } }; class B is A { method bar { self.A::foo } }; B.new.bar
p6eval rakudo dca0fa: OUTPUT«OH HAI␤»
dalek blets: 6bce3f6 | moritz++ | docs/tablet-3-variables.txt:
clear up some things about item context. Avoid the word "reference" where possible
masak huh, works! :)
PerlJam What's the use-case though? When do you *want* to break out of normal dispatch into *another* method's super? 20:33
masak r: class A { method foo { say "OH HAI" } }; class B { method bar { self.A::foo } }; B.new.bar
p6eval rakudo dca0fa: OUTPUT«Cannot dispatch to a method on A because it is not inherited or done by B␤ in method dispatch:<::> at src/gen/CORE.setting:790␤ in method bar at /tmp/RZ6W84SCnj:1␤ in block <anon> at /tmp/RZ6W84SCnj:1␤␤»
masak hee.
PerlJam: that's what I was wondering too. 20:34
masak turns back to felher
felher: so, the elements are immutable too.
dalek blets: ccaa474 | moritz++ | docs/tablet-3-variables.txt:
fix a precedence bug
20:35
masak now, imagine something like 'sub foo(@a) { @a[3] = 42 }; my @x = 1..4; foo @x' 20:35
this should fail according to that model.
r: sub foo(@a) { @a[3] = 42 }; my @x = 1..4; foo @x; say @x[3] 20:36
p6eval rakudo dca0fa: OUTPUT«42␤»
masak it doesn't. rakudo doesn't implement that.
n: sub foo(@a) { @a[3] = 42 }; my @x = 1..4; foo @x; say @x[3]
p6eval niecza v17-23-gfb775fb: OUTPUT«42␤»
dalek blets: 007c3b4 | moritz++ | docs/tablet-3-variables.txt:
avoid ambiguous wording
masak neither does niecza.
there's a reason for that; it's tricky. :)
masak the same kind of trickiness shows up when you want to mark an array attribute as readonly, and its elements should also be, and one level down. 20:36
masak felher: you'll note that @x in the above isn't readonly at all (and that's correct), but @a is readonly, because it's a parameter. but they're *the same array object*, which is where the tricky sits. 20:37
so somehow that indicates the need for a level of indirection of some sort -- a *view* of an array that can be readonly. 20:38
but it's not allowed to get in the way. it has to be entirely transparent to use.
moritz lichtkind: in the tablets it says multiple times that there are "no more references" in Perl 6, but they keep appearing everywhere in the text
felher masak: yeah, i see. Thanks a lot for that explanation :)
masak felher: and here the paths end. I wish we would solve this, because it's a bit embarrassing that the spec says one thing and we implement another. but it's like we want to but can't, because no-one's figgered out how. 20:39
masak in fact, this was a bit tricky to get right for scalars, too. but a few iterations we have it right, thanks to pmichaud++ and probably jnthn++ too. 20:40
diakopter mind is boggled by s3.amazonaws.com/apple-campus2-pro...ittal3.pdf
masak s/a few iterations/a few iterations later/
felher Hm... this makes me wonder. Is Scalar a class too? Just as Array is a class for @? 20:41
Woodi just writed something, maybe it can help ? 79.187.154.250/ I hope, it is accessible...
moritz felher: it is, but usually you don't see it
felher: because the Scalar container forwards basically all methods to its contents, even .WHAT 20:42
sergot good night o/
felher moritz: Ah, okay. I think i'd find it quite hard to grok if it were not :) 20:43
s/if it were not/if there isn't something like Scalar for scalars/ 20:44
masak [backlog] what does "tagmemic" mean, really? 20:49
I usually google these things, but something tells me I might get a better answer by asking. 20:50
the humoristic effect of www.corsinet.com/braincandy/hlife.html seems to rest on the fact that it's hard to read according to the premise of the first paragraph. 20:52
for somebody who is perfectly able to take the first paragraph at its word, it's a rather unremarkable, pointless, repetitive story :) 20:53
au also, "S got angry about that because it was E's job" was kinda non sequitur. :) 20:57
lichtkind moritz: yes some parts are very dated, but the almost completed index A and B should be fine 20:58
masak au: yeah, it doesn't even make much sense when misread in the way obviously intended :) 20:59
au "this sentence no sense" 21:00
masak :D
oh btw, "this sentence no verb" is an autopun.
tadzik :P 21:01
I think you accidentally a word
au would "this sentence no autopun" be an autopun?
diakopter cries
tadzik :P
arnsholt The Russel's paradox of autopuns =)
kresike night all o/ 21:02
masak nijt, kresike
au \o
sorear felher: you can do multi infix:<+>($l, $r) is export { ... } inside the class, it will ahve direct-ish access to the attributes and will be usable from outside 21:02
masak au: ...no. mentioning autopuns does not an autopun make. 21:03
au but if it's not an autopun as you explained, wouldn't it be describing itself accurately?
masak it could be argued to be unproblematically self-referent, though :)
au concurred 21:04
masak we might have to agree to disagree on whether it's an autopun. I'm actually not entirely sure.
I notice that I am confused. :)
sorear diakopter: chromatic is a Parrot person who takes Rakudo's VM independance moves as personal affronts 21:05
masak it just seems to me that "this sentence no autopun" contains a clear *mention* (of autopuns), but no clear *use*.
tadzik well said
diakopter au: I made a more-complexly-worded version of that the other day and masak definitively said it wasn't an autopun, so congrats ;)
[Coke] hey, au.
sorear moritz: iirc, pugs has startup time in the millisecond range 21:06
au masak: yeah. the use relies on auto-completion of russel's paradox on the reader's behalf
masak diakopter: I wasn't sure whether you cried because you were thinking of au's sentence or whether you were reminded of that recent defeat :)
au \o [Coke]
felher sorear: awesome! Thnx :)
au $ time pugs -e0
0m0.066s
diakopter reminded
masak au: it's not uncommon for such auto-completion to figure in autopuns. they're very culturally rooted. 21:07
masak hugs diakopter
au to pun <- still holds the record of shorted autopun ever
*shortest
masak :P
diakopter: I think the fault lies with me for explaining badly.
[Coke] "damn you autocorset." 21:08
masak *lol*
sorear pugs: sub foo(@a) { @a[3] = 42 }; my @x = 1..4; foo @x; say @x[3]
p6eval pugs: OUTPUT«42␤»
sorear o/ au!!! 21:09
lichtkind moritz: i make my changes rather topic wise, so once i get to the reference thing it will be cleansed in all tablets 21:10
au o/ ⇈ sorear
sorear .u ⇈ 21:11
phenny U+21C8 UPWARDS PAIRED ARROWS (⇈)
jnthn evening, #perl6
masak jnthn! \o/
sorear paired arrows? /me wonders if that's intended for molecular orbital diagrams
au it's the tetration symbol, actually
masak au: what are you working on these days? are you still at SocialText?
sorear had dozed off but is now back in the present
au # en.wikipedia.org/wiki/Knuth%27s_up...w_notation 21:12
masak: yeah. attending socialtext f2f meeting atm. still retainer @ socialtext and apple
plus obra's checkmarkable.com
masak ooh 21:13
he twittled about that not long ago. 21:14
au "youtube for checklists, inspired by the p5p release process"
masak will check it out. (har har) 21:15
au nice remark
sisar jnthn: how to debug rakudo+panda segfaults ?
jnthn sisar: What platform are you on? 21:16
sisar jnthn: Ubuntu
jnthn whips out the Visual Studio debugger in these situations... :)
sisar: Well, then run it under gdb.
sisar: It should give a backtrace. 21:17
Lemme know if you need guidance.
sisar jnthn: i simply tried `gdb panda install LWP::Simple` and it said "/home/siddhant/.perl6/bin/panda": not in executable format: File format not recognized". (my gdb-fu is limited to debugging small c programs) 21:18
jnthn sisar: you'll need to 21:21
gdb perl6
r /home/siddhant/.perl6/bin/panda install LWP::Simple
then when it explodes, type bt
sisar ok, will try that. 21:22
thanks
shinobicl niecza: my Date $d; 21:24
p6eval niecza v17-23-gfb775fb: OUTPUT«===SORRY!===␤␤Malformed my at /tmp/agCyYgWyXN line 1:␤------> my⏏ Date $d;␤␤Parse failed␤␤»
skids gist.github.com/2771728 # <--- Fun with Proxy and CStruct attributes. 21:31
masak skids: cool. 21:32
looks like there are a few potential rakudobugs in there. 21:33
jnthn More NYI than bugs.
diakopter r: gist.github.com/2771728
p6eval rakudo dca0fa: OUTPUT«1958-10-24␤2012-10-10␤2012-10-10␤2012-11-11␤»
daxim in a grammar, what's the straight-forward way to describe a repeated token/rule separated by commas, no trailing comma? e.g. data foo bar { fnord quux {3}, {34}, {356} } 21:34
I imagine there must be some idiom for that
skids There's a special construct, but I don't remember it offhand.
masak daxim: <rule>+ % <sep> 21:35
jnthn <the_rule>+ % ','
daxim I knew I could count on yall
masak :)
sisar Well, this is weird. URI was built and passed all test when running under gdb ! No segfault ! 21:41
s/running/intalling using panda 21:42
tadzik rebuild it, try again
sisar tadzik: you want a segfault, don't you :p
tadzik yes :) 21:43
dalek blets: fd28b7e | (Herbert Breunung)++ | docs/ (3 files):
explain terminators
blets: 0db0540 | (Herbert Breunung)++ | docs/tablet-3-variables.txt:
Merge branch 'master' of github.com:perl6/tablets
tadzik also, it will work
both URI and Panda compile non-deterministically for some reason
sisar will the backtrace help in any way ? 21:44
jnthn Sometimes they do. 21:45
lichtkind moritz: seen you changes now, these were once true, its almost the oldest parts of the tablets 21:46
PerlJam lichtkind: tablet 0 bothers me. 21:48
lichtkind: It looks like it takes ideas of Perl 6 from the future and transports them to 2000 21:49
lichtkind: or, let's say ... that's not how I remember it.
masak 's interest gets piqued 21:50
masak github.com/perl6/tablets/blob/mast...istory.txt in case others are interested. 21:50
I'm sorry, I find it very hard to tell what the text is about. 21:52
it feels like a draft of some kind.
PerlJam I've attributed the ... quirkiness to an impedence mismatch between languages. 21:55
sisar jnthn: Wht causes the error mentioned at nqp/src/6model/serialization_context.c:105 ? Because that is the non-deterministic error which we get when installing modules.
*What
dalek blets: d95593e | (Herbert Breunung)++ | docs/tablet-3-variables.txt:
fix whole array section
21:56
masak PerlJam: no, it just doesn't feel all that focused. it could be made a lot clearer, I think. 21:57
lichtkind PerlJam: i hardly started tablet 0
masak there you go, then.
lichtkind PerlJam: feel free to edit it
masak or start anew. 21:58
PerlJam: ooc, were you there at the conf where Perl 6 was announced?
sorear who here was? 21:59
PerlJam no, I was not actually at TPC
sorear other than TimToady
sisar masak: is there any video or transcript of that announcement ?
masak sisar: I've seen a transcript, yes.
don't remember where. it's probably out there on the web somewhere.
sorear hmm, I was thinking of the coffee mug incident
jnthn sisar: Well, that bit of code is just doing a bounds check on an index lookup. 22:00
masak sorear: that wasn't the announcement, though.
sorear the proper announcement may have seen more people
masak yes.
jnthn sisar: It's only really interesting if we know what is below it in the call stack. 22:00
PerlJam masak: As I usually do though, I was participating vicariously via IRC and other avenues.
sisar jnthn: should that error leak out? 22:01
i mean, it does not even mention any line no. or anything.
masak PerlJam: I'd be interested to hear about your recollection of that day. 22:02
jnthn sisar: There's no sensible line number it could report really
sisar: It means "the calling code tried to access an object at an index that does not exist"
sisar: It should never happen.
sisar: And it's going to be the C callstack that is interesting, I expect. 22:03
sisar how can i get more information for the cause?
jnthn Not the HLL one
sisar: If you have the gdb skills you could set a breakpoint at the error.
And then look at the call stack at that point.
I don't know gdb enough to tell you how to do that.
sisar i was not able to reproduce the segfault i and tadzik++ were hoping for 22:04
jnthn Yeah. It feels like some kind of heap corruption. :/ 22:05
sisar well, brekapoints i know. But given the complexity of perl6/nqp, i doubt i'll be able to do anything
jnthn sisar: If you put a breakpoint on that error, and can get it to fire, the call stack may well mean something to me. 22:06
sisar ok, i'll try to get a calltrace.
masak 'night, #perl6 22:07
jnthn sisar: OK. Please gist it if you do 22:08
I'm teaching tomorrow so must go and sleep very soon.
sisar jnthn: sure.
jnthn OK, thanks :) 22:10
jnthn -> sleep
PerlJam masak: I don't know if I could give you an honest recollection any more. For instance, I do remember hearing/reading about the coffee mug incident as if it happened in "legendary" style. ("Jon Orant smashed a coffee mug and we all stopped arguing then he said 'blah blah blah'") But then I also remember hearing about how many coffee mugs were actually involved and how much forethought went into the whole thing. 22:11
sorear orwant 22:16
PerlJam aye, that guy :)
sisar well before i run `gdb perl6` don't i need to compile pler6 for gdb-debugging first? Hoq do I do that? 22:33
sisar *perl6 22:33
*How
diakopter sisar: I think I heard somewhere it's the default 22:34
maybe I'm wrong
sisar diakopter: ok.
sisar diakopter: familiar with gdb ? 22:35
diakopter no :(
sisar no problem.
diakopter: nqp is also "compiled" for gdb-debugging ? 22:36
diakopter I don't know. I just remember others being instructed to try using gdb, and nothing was mentioned about special builds of parrot, nqp, or rakudo 22:37
sisar diakopter: ok. 22:38
sisar afk 22:39
benabik Parrot builds with debugging by default and nqp/Rakudo use the same options as Parrot. 22:40
diakopter memory didn't fail me for once 22:41
phenny: tell sisar < benabik> Parrot builds with debugging by default and nqp/Rakudo use the same options as Parrot. 22:45
phenny diakopter: I'll pass that on when sisar is around.