»ö« 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.
00:04 leprevost joined 00:07 pjcj left, pjcj joined 00:08 lestrrat left 00:09 lestrrat joined 00:24 leprevost left 00:29 lichtkind_ joined 00:30 lichtkind left, lichtkind_ is now known as lichtkind 00:39 ggoebel left 00:41 pjcj left 00:43 lichtkind left 00:45 tokuhirom left, tokuhirom joined 00:46 jaldhar left, havenn left 00:49 pjcj joined 00:50 tokuhirom left 00:51 jaldhar joined 01:02 leprevost joined 01:07 s1n left 01:08 scott_ joined, scott_ is now known as Guest91692 01:21 s1n joined 01:27 gsr joined 01:29 am0c left 01:34 lestrrat left, lestrrat joined 01:35 jaldhar left 01:38 s1n left 01:41 gsr left 01:45 raiph left 01:56 Chillance left 02:05 Guest28222 left 02:21 orafu left, orafu joined 02:23 spaceships joined 02:31 araujo left 02:37 araujo joined, araujo left, araujo joined 02:44 takesako left 02:51 japhb joined 03:10 spaceships left 03:28 DreamingInCode left 03:33 bbkr_ joined 03:34 bbkr left 03:40 alester_ joined, alester_ left
araujo is there exist a substitution operator or something? 03:51
04:00 localhost left
PerlJam araujo: subst? 04:01
04:01 localhost joined
araujo PerlJam, I was searching for replacing a pattern (substr is for index right?) 04:02
PerlJam not substr, subst 04:03
04:05 sisar joined
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
04:45 NamelessTee joined
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
04:59 Araq joined
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
05:11 Araq left
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
05:17 leprevost left 05:18 birdwindupbird joined
japhb sorear, ah, so rewriting sections of mixed code to single-layer code mostly for maintainability and reduced effort in future iterations? 05:18
05:19 simcop2387 left, simcop2387 joined
sorear japhb: yes 05:20
TimToady made disappointed comments. I am unsure what to make of them. 05:21
05:22 adu joined
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
05:34 xjiujiu joined
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
05:43 mattp_ left, mattp_ joined, adu left 05:44 adu joined 05:46 tyatpi joined 05:47 takesako joined 05:50 kaleem joined
japhb sorear, ah yes, I believe I understand the problem. It will be interesting to see how that attempted simplification turns out. 05:51
05:52 adu left
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
06:00 NamelessTee left, replore_ joined
sorear The worst part of all of this is that I feel like a bad person for even entertaining the idea 06:10
06:13 brrt joined 06:24 jaldhar joined, benabik left, benabik joined 06:35 brrt left
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
06:40 wtw joined
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
06:53 cognominal left 06:54 cognominal joined
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
07:00 domidumont joined 07:01 xdbr left
jnthn morning, #perl6 07:04
moritz \o
07:04 xdbr joined
masak lol good moritz jnthn! 07:05
sorear o/ jnthn 07:06
07:12 erkan joined, erkan left, erkan joined
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
07:41 tyatpi left 07:43 replore_ left
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
07:49 kaleem left
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...
07:52 kaleem joined
masak huh. ufobuilder. the things people come up with... :) 07:52
07:53 [hds] joined
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
08:06 cognominal left, cognominal joined
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
08:14 fhelmberger joined
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.
08:24 NamelessTee joined 08:30 kresike joined
kresike hello all you happy people ! 08:30
masak kresike! \o/ 08:36
kresike masak, o/
08:38 dakkar joined 08:45 jrockway_ left, jrockway joined 08:48 daxim joined
tadzik moritz: yes, I removed it 08:48
masak: ufobuilder was a PoC Pies implementation 08:49
masak ok. 08:53
08:53 brrt joined 08:56 NamelessTee left, NamelessTee joined
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
09:13 ab5tract joined
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
09:53 cognominal left 09:54 cognominal joined
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
10:03 thou joined
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? :)
10:10 Guest91692 left
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
10:15 bonsaikitten left
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 :-)
10:16 lestrrat left 10:17 lestrrat joined
masak arguably "b" makes more sense than "p". 10:18
moritz at least the capital B :-)
10:20 bonsaikitten joined 10:22 drbean left 10:24 drbean joined 10:27 tests joined
tadzik could someone install znc on feather? 10:48
jnthn -> station 10:55
11:00 brrt left 11:04 drbean left 11:07 drbean joined 11:08 ab5tract left 11:13 tyatpi joined
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++
11:17 sisar left 11:18 MayDaniel joined 11:19 JimmyZ joined 11:34 benabik left 11:39 snearch joined
[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.
11:53 xjiujiu left 11:58 benabik joined
moritz r: my %h; %h<mog>.push: 1; say %h.perl 12:02
p6eval rakudo dca0fa: OUTPUT«("mog" => [1]).hash␤»
12:03 bluescreen10 joined
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␤»
12:04 brrt joined
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/
12:07 brrt left
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.
12:10 cognominal left, cognominal joined 12:14 JimmyZ_ joined 12:15 cognominal left, cognominal joined
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
12:15 JimmyZ left, JimmyZ_ is now known as JimmyZ
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␤»
12:19 tyatpi left
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
12:20 brrt joined, xinming_ joined
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 :-)
12:23 xinming left
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
12:31 mdupont_ left 12:32 drbean left 12:33 fglock joined
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
12:34 drbean joined
masak not sure outsiders care about 'ported from ng branch', but I don't see how it hurts either. 12:34
12:35 snearch left 12:36 eiro joined
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
12:43 wolfman2000 left
masak I'll be happy to blame jnthn++ for ever worse atrocities in the future. 12:43
12:45 adu joined
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
12:51 bluescreen10 left
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
12:55 daxim left
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
13:03 cognominal left
masak referring # unless you're RFC 1945 :) 13:03
13:04 PacoAir joined
moritz is later than 1945 :-) 13:04
13:04 cognominal joined
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
13:06 leprevost joined 13:07 bluescreen10 joined, Psyche^ joined
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*
13:10 Patterner left, Psyche^ is now known as Patterner
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
13:11 stol_ joined
moritz (the shallower breathing, not the hyperventilating) 13:11
13:11 stol_ is now known as kj
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.
:)
13:39 leprevost left
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.
13:49 cognominal_ joined
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
13:52 cognominal left
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()␤»
13:53 kaleem left, n0den1te joined 13:54 drbean left
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
13:55 benabik left
cognominal_ yes, but I keep forgetting it. 13:55
13:55 benabik joined
n0den1te r: Int.perl.say 13:55
p6eval rakudo dca0fa: OUTPUT«Int␤»
13:55 drbean joined, bonsaikitten is now known as DrEeevil
n0den1te "~" doesn't stringify? 13:55
13:56 DrEeevil is now known as bonsaikitten
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 :-)
13:57 leprevost joined
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
13:58 benabik left, benabik joined
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
14:03 lestrrat left
dalek blets: 26cc707 | (Herbert Breunung)++ | docs/appendix-g-glossary.txt:
format fix in ternary entry
14:03
14:03 n0den1te is now known as isBEKaml 14:04 lestrrat joined
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.
14:08 buubot_backup left
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.
14:10 wtw left
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)
14:16 lestrrat left
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
14:17 lestrrat joined
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? :-)
14:29 buubot_backup joined
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
14:29 PacoAir left
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
14:45 isBEKaml left
PerlJam wp == wordpress for me :) 14:51
moritz wordpedia :-)
14:55 slavik1 joined
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 :)
15:02 mikemol joined, tests left
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.
15:28 MayDaniel left 15:29 thou left 15:30 derrazo joined, derrazo left 15:31 fgomez left
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.
15:36 sisar joined, fglock left
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.
15:39 kaleem joined 15:43 fgomez joined 15:44 thou joined
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.
15:50 kaleem left 15:55 BinGOs left 15:57 JimmyZ left
PerlJam TimToady: so, changing at the end is okay, but not in the middle? 15:59
16:00 brrt left, sergot joined
sergot hi o/ 16:00
16:00 SDKLive joined
kresike bye all 16:00
16:00 kresike left
SDKLive hi all 16:01
16:01 [hds] left
masak hi, SDKLive 16:01
SDKLive i m new to perl
16:01 BinGOs joined
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
16:19 SDKLive left
sisar "It ended up that Everybody blamed Somebody when Nobody did what Anybody could have done. " 16:20
16:22 lestrrat left 16:23 lestrrat joined, cognominal_ left 16:24 cognominal joined
adu moritz: like the number 16:33
16:35 lichtkind joined
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
16:38 itz joined
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
16:50 PacoAir joined 16:54 thou_ joined, thou left 16:58 kaare_ joined 17:00 sporous left, sporous joined
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
17:10 icwiener joined 17:11 kj left
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
17:15 birdwindupbird left, aindilis left
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
17:19 bbkr_ left
adu I could call it vindent 17:20
17:22 wolfman2000 joined, adu left 17:25 adu joined, kresike joined
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
17:46 tyatpi joined
kresike lichtkind, help with what ? 17:51
could You somehow upload the perl6 book into my brain :) 17:52
17:54 cognominal left, cognominal joined
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
17:56 cognominal left
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
17:57 cognominal joined 17:58 stol_ joined, cognominal left
kresike moritz, useless, without a device behind it you cannot do anything with it 17:58
17:58 stol_ is now known as kj, cognominal joined
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
18:02 dakkar left
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 :)
18:03 stepnem left 18:07 stepnem joined
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
18:37 sudokode is now known as zendeavor 18:38 zendeavor is now known as sudokode 18:41 spider-mario joined 18:43 [particle]1 joined 18:44 mikemol left 18:45 [particle] left 18:48 pyrimidine joined
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
19:04 NamelessTee left 19:05 thou_ left 19:06 spider-mario left 19:09 thou joined 19:12 birdwindupbird joined
felher w 19:13
19:14 araujo left
diakopter no one from #perl6 (except chromatic), afaict, commented on the Slashdot story yesterday that had tons of Perl6-related threads 19:17
19:17 mdupont left
PerlJam diakopter: URL? 19:18
diakopter developers.slashdot.org/story/12/05...0-released
lots of Perl 6 comments there
19:20 fhelmberger left 19:22 araujo joined, araujo left, araujo joined
PerlJam I do not like the tenor of those perl6 comments. 19:25
19:25 havenn joined 19:27 zby_home joined
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
19:28 havenn left
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...
19:29 thou_ joined
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␤»
19:33 thou left
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
19:35 mikemol joined
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."
19:44 brrt joined
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
19:51 leprevost left
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
19:56 pmurias joined
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
19:56 shinobicl joined
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
19:58 fibo joined 19:59 icwiener left
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
20:05 derrazo joined 20:06 itz left
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
20:07 araujo left
moritz python, ruby and php have a much larger startup time, which is a more realistic target 20:08
20:08 itz joined
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␤␤»
20:10 mikemol left
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
20:22 derrazo left
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
20:26 bluescreen10 left, araujo joined
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.
20:32 snearch joined
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! :)
20:33 brrt left
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
20:35 snearch left
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. :)
20:36 brrt joined
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
20:37 birdwindupbird left
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 :)
20:38 adu left
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
20:39 kaare_ left
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/
20:41 NamelessTee joined
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/
20:42 sergot left 20:43 localhost left
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
20:57 ggoebel joined
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 =)
21:01 libertyprime left
kresike night all o/ 21:02
masak nijt, kresike
au \o
21:02 kresike left
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 :)
21:03 libertyprime joined 21:04 libertyprime left
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. :)
21:05 Facefox left
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.
21:08 libertyprime joined
[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
21:09 rsimoes joined, brrt left
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
21:10 zipf joined
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
21:20 ggoebel left
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␤␤»
21:25 ggoebel joined, thou_ left 21:29 daxim joined 21:31 adu joined
skids gist.github.com/2771728 # <--- Fun with Proxy and CStruct attributes. 21:31
21:32 adu left
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 :)
21:37 [particle]1 left 21:39 PacoAir left
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
21:47 flussence_ joined
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
21:50 flussence left, flussence_ is now known as flussence
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.
21:54 fibo left
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
21:56 frettled left
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.
22:00 Facefox joined
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.
22:09 zby_home left
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 :)
22:21 adu joined 22:31 DreamingInCode joined
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
22:33 zipf left
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.
22:34 adu left
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
22:39 NamelessTee left
sisar afk 22:39
22:39 sisar left
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.
22:50 DreamingInCode left, DreamingInCode joined 22:53 fgomez left 22:59 ggoebel left 23:02 fgomez joined 23:08 [particle] joined 23:13 mtk left 23:17 shinobicl left 23:19 cognominal_ joined 23:22 cognominal left 23:27 kj left, pmurias left 23:33 benabik left 23:35 DreamingInCode1 joined 23:36 DreamingInCode1 left 23:37 DreamingInCode left 23:41 DreamingInCode joined 23:45 ponbiki joined 23:47 libertyprime left 23:49 libertyprime joined