»ö« 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.
flussence rakudo: sub a { ... }; say a.perl 00:00
p6eval rakudo cad076: OUTPUT«undef␤»
flussence those shouldn't be different, right?
ash_ rakudo: Exception.perl.say
p6eval rakudo cad076: OUTPUT«Exception␤»
TimToady rakudo: say a { ... }; say a.WHAT 00:01
p6eval rakudo cad076: OUTPUT«Could not find sub &a␤ in main program body at line 22:/tmp/dgmBeSUQjv␤»
TimToady rakudo: sub a { ... }; say a.WHAT
ash_ src/builtins/Exception.pir#93 has .return ('undef')
p6eval rakudo cad076: OUTPUT«Failure()␤»
ash_ that might be it...
maybe?
maybe its a pir level exception
TimToady koobee
masak src/builtins/Exception.pir, line 93. 00:02
flussence yeah, builtins/Exception.p-... beat me to it :)
ash_ thats one of the only places i see it in the source as a string
is that right? or should that return say... "Exception" or a Mu? 00:03
masak yeah, probably.
TimToady or Nil
masak now that there's a bit more traffic on the channel, I'd like to repeat my offer of some Yapsi LHF: irclog.perlgeek.de/perl6/2011-02-08#i_3268755 00:04
00:04 lamstyle joined
TimToady rakudo: say (1+2i).fmt("%7.3f") 00:04
p6eval rakudo cad076: OUTPUT«Not enough arguments supplied for the given format string␤ in 'Cool::sprintf' at line 2732:CORE.setting␤ in 'sprintf' at line 2766:CORE.setting␤ in 'Cool::fmt' at line 2554:CORE.setting␤ in main program body at line 22:/tmp/0G1BeFRg4R␤»
TimToady there's some LHF I think
masak submits rakudobug 00:05
ash_ is that even possible? 00:06
masak sure.
ash_ to print a complex number as a 7.3f?
masak should Complex be Cool? why?
TimToady the point is that .fmt tends to distribute formats over multiple values
PerlJam I guess that means both the real and imaginary components are 7.3f ?
00:07 masak left
TimToady so it should turn it into .fmt('%7.3f+%7.3fi') or some such 00:07
rakudo: say (1,2,3).fmt("%7.3f") 00:08
p6eval rakudo cad076: OUTPUT« 1.000 2.000 3.000␤»
ash_ is there a 'i' for formats?
for complex values
00:08 masak joined
TimToady no, that's just a literal there 00:08
ash_ maybe i am thinking about it wrong, but f would coerce into a real number i'd expect... 00:09
masak ash_: .fmt is defined on Array, Hash, Pair...
00:10 shi left
masak ash_: it dwims for structural types. could do the same for Complex. 00:10
TimToady rakudo: my $c = 1+2i; printf("%7.3f+%7.3fi", $c.re, $c.im);
p6eval rakudo cad076: OUTPUT« 1.000+ 2.000i»
flussence .fmt('%d') will work if the imaginary part == 0, just checked
TimToady little formatting problem with that
masak actually, I'll retract my rakudobug. 00:11
I'd like this to be spec'd first.
TimToady :P
PerlJam too bad you can't send an email to specbug :)
00:11 cdarroch left
TimToady rakudo: my $c = 1+2i; printf("%7.3f+%-7.3fi", $c.re, $c.im); 00:12
p6eval rakudo cad076: OUTPUT« 1.000+2.000 i»
TimToady heh
00:12 masak left
TimToady rakudo: my $c = 1+2i; printf("%7.3f+%.3fi", $c.re, $c.im); 00:12
p6eval rakudo cad076: OUTPUT« 1.000+2.000i»
TimToady not sure that makes sense though 00:13
is there any prior art for complex printf formats?
00:15 masak joined
ash_ none in C99... #checking elsewhere 00:15
PerlJam Google didn't turn up anything other than formatting the real and imaginary parts separately
TimToady rakudo: say (1,2).fmt("%7.3f+%7.3fi") 00:18
p6eval rakudo cad076: OUTPUT«Not enough arguments supplied for the given format string␤ in 'Cool::sprintf' at line 2732:CORE.setting␤ in 'sprintf' at line 2766:CORE.setting␤ in 'Cool::fmt' at line 2554:CORE.setting␤ in <anon> at line 2803:CORE.setting␤ in 'Any::join' at line 1␤ in 'List::fmt' at
..line 280…
TimToady rakudo: say (1,2).fmt("%7.3f+","%7.3fi")
p6eval rakudo cad076: OUTPUT« 1.000+%7.3fi 2.000+␤» 00:19
ash_ ruby will let you just do %s which just calls to_s, so... they look like "(1+1i)"
so... far... nope prior art i can find
TimToady well, sure, but there's no justification :)
rakudo: say (1+2i).fmt("%s") 00:20
p6eval rakudo cad076: OUTPUT«1 + 2i␤»
TimToady ooh, spaces
masak spaces++ 00:21
TimToady rakudo: say ~(1+2i).^methods
p6eval rakudo cad076: OUTPUT«new reals isNaN Real Bool Complex Str perl abs exp ln sqrt roots polar sin asin cos acos tan atan sec asec cosec acosec cotan acotan sinh asinh cosh acosh tanh atanh sech asech cosech acosech cotanh acotanh ACCEPTS Numeric Int Rat Num succ pred log log10 to-radians
..from-radians sig…
TimToady rakudo: say ~(1+2i).^methods(:local)
p6eval rakudo cad076: OUTPUT«new reals isNaN Real Bool Complex Str perl abs exp ln sqrt roots polar sin asin cos acos tan atan sec asec cosec acosec cotan acotan sinh asinh cosh acosh tanh atanh sech asech cosech acosech cotanh acotanh ACCEPTS Numeric Int Rat Num succ pred log log10 to-radians 00:22
..from-radians sig…
TimToady is there a method that pulls out .re and .im as a list
00:22 leprevost left, rgrau left
flussence .reals 00:23
00:23 leprevost joined
PerlJam that's so misnamed 00:23
TimToady say (1+2i).reals.fmt("%7.3f")
masak what PerlJam said. 00:24
TimToady rakudo: say (1+2i).reals.fmt("%7.3f")
p6eval rakudo cad076: OUTPUT« 1.000 2.000␤»
masak considers getting a #perl6 badge "API naming curmudgeon"
wtf, .reals exists?!
TimToady it should obviously be named .reim
masak submits rakudobug
PerlJam masak: yeah, I thought he was joking too
masak++ 00:25
masak whoever named that function, come talk with me at the end of the day. :)
PerlJam TimToady: .re+im :)
flussence I'm of the opinion that Rat and Complex should use the same name for this list thing, but *
TimToady rakudo: say (1+2i).nude
p6eval rakudo cad076: OUTPUT«Method 'nude' not found for invocant of class 'Complex'␤ in main program body at line 22:/tmp/zJoJMNE7FJ␤»
masak flussence: only if you can beat both .nude and .reim in general cuteness :) 00:26
PerlJam .nude kind of works for them all (you're having a peek underneath their classy clothes to see them naked) 00:27
TimToady but what if you have a complex rat?
or a rat with a complex?
masak PerlJam: I wouldn't like having .nude on Complex...
flussence .List or .Array would technically fit, but I can imagine such things confusing a lot of users. 00:28
masak that'd be as if *we* hadn't gotten the pun.
flussence: no please no
flussence not a serious suggestion :)
PerlJam I tend to think "components" when I'm looking at the innards of a Complex (or Rat)
TimToady "Can opener is required to open this can."
masak flussence: that's the same kind of thinko as arbritary rules for scalarifying lists.
00:29 brill joined
TimToady whistles 00:29
masak :D
maybe there's a more general problem that calls for a solution?
something like "list all the public attributes"?
PerlJam $complex.list works for me :)
@($complex) would be the same too I think 00:30
TimToady $complex.naughty-bits
wolverian .guts
masak PerlJam: my "you think it's cute now" lamp is lit on Complex.list
PerlJam wolverian: people might have difficulty with Rat.guts 00:31
flussence there's .^attributes for the general case, that's not very easy to use for this though 00:33
masak and those people would be perfectly ok with Rat.nude? :)
TimToady we already have naked mole rats
masak flussence: also, .^attributes makes no distinction between private and public attrs. 00:34
PerlJam .reals makes me with for we could mix modifiers like this: .fmt for .reals given $complex; # :)
masak 'for .reals' :P
PerlJam s/with/wish/
flussence why can't we have ^attributes(:public|:private|:all) then, like ^methods does? :(
PerlJam actually ... s/with for/wish/
masak PerlJam: you can, if you put parens around the first for loop. 00:35
ash_ masak: is that going to change ever? .^attributes i mean, just wondering, not that its a bad thing i guess just curious
TimToady rakudo: say (1+2i).map({.re,.im}).fmt("%7.3f")
PerlJam yeah, but parens spoil it just a little
p6eval rakudo cad076: OUTPUT« 1.000 2.000␤»
masak flussence: that's probably a good idea.
flussence I know you can filter them with a map, but :thingies is nicer to look at
masak yeah.
guess it's jnthn's call.
one'd have to be careful not to discriminate "public" attributes that are implemented as private attributes with an explicit accessor. 00:36
flussence S12:2261 looks relevant to that 00:42
(that method list there looks unnecessarily complicated to me) 00:45
00:49 molaf left 00:51 vmspb left
masak gets back to looking at what's wrong with .trans 00:51
PerlJam rakudo: 1-2i 00:53
p6eval rakudo cad076: ( no output )
PerlJam rakudo: say 1-2i
p6eval rakudo cad076: OUTPUT«1 + -2i␤»
PerlJam anyone care if I make that output 1 - 2i ?
or, does anyone have any objections I should say 00:54
masak I was sitting here wondering if I should bring it up... :)
so, +1 from me
coldhead the terser form saves bandwidth and soothes mathematicians 00:55
masak rakudo: say "!$_!" for 1.trans((1..26) => (14..26,1..13)), 2.trans((1..26) => (14..26,1..13)) 00:56
p6eval rakudo cad076: OUTPUT«No candidates found to invoke for method 'increment_index' on object of type 'LSM'; available candidates have signatures:␤:(Mu : Regex $s;; *%_)␤:(Mu : Str $s;; *%_)␤␤ in 'Cool::next_substitution' at line 2466:CORE.setting␤ in 'Cool::trans' at line 2512:CORE.setting␤ in
..main pro…
masak oh, right.
masak pushes his commit
00:56 ash_ left 00:58 brill left
masak as soon as the above commit propagates to p6eval, I'll be able to show that the output of the above is "!14!\n!15!\n" (as expected), whereas if I do it as (1, 2)>>.trans(...), it comes out as "!14!\n!!\n". 01:00
er, s/above //
01:01 benabik_ joined, benabik_ left
dalek kudo: 184bf7f | masak++ | src/core/Cool-str.pm:
[core/Cool-str] s/Str/Cool/ inside .trans

Courtesy of Håkan Kjellerstrand.
01:01
01:02 benabik_ joined 01:03 molaf joined 01:05 ash_ joined, felliott joined 01:06 felliott left
masak hm, this would be handled by !dispatch_dispatcher_parallel in src/glue/dispatch.pir ... 01:07
it looks like perfectly innocent PIR code.
"I notice that I am confused."
01:08 dukeleto left, dukeleto joined 01:09 aesop joined
masak doing the calls one after the other gives the desired result. doing the calls one after the other using the postfix_prefix_metaoperator Texas thingy doesn't give the desired result. there's nothing obviously wrong with the code that handles the dispatch. 01:09
01:09 dukeleto left
masak broods 01:09
01:09 dukeleto joined
masak rakudo: say "!$_!" for ("a", "b")>>.trans(("a", "b") => ("A", "B")) 01:11
p6eval rakudo cad076: OUTPUT«!A!␤!b!␤»
masak rakudo: say "!$_!" for ("a", "b")>>.trans(["a", "b"] => ["A", "B"])
p6eval rakudo cad076: OUTPUT«!A!␤!B!␤»
masak that's probably a clue.
masak re-reads S05
01:12 brill joined 01:13 benabik_ left
masak TimToady: S05:4138 -- why would I want to sort a bunch of Pairs, if these are sent to an LTM anyway? 01:13
feels like a very unrealistic example.
PerlJam great. A *simple* change to rakudo and now my build gives a segfault.
masak oh wait. there is cause for .sort -- "In the case of two identical sequences the first in order wins." 01:15
TimToady but %mapping can't produce that 01:16
masak oh, right.
TimToady unless %mapping is bound to something not very hashy
feel free to fix
masak fixes
01:17 BinGOs joined, edenc joined
dalek ecs: 44aa7e1 | masak++ | S05-regex.pod:
[S05] removed redundant .sort

Sorting a bunch of pairs going into an LTM that disregards order is kinda silly.
01:17
masak next on the agenda... 01:18
what should happen in the above case, with ("a", "b") instead of ["a", "b"]?
S05 explicitly requests "Array objects", but it just seems that people will do this and expect the same result with Seq, or whatever the type is for ("a", "b"). 01:19
rakudo: say ("a", "b").WHAT
p6eval rakudo cad076: OUTPUT«Parcel()␤»
masak Parcel.
ETOOMANYTYPESPRETENDINGTOBELIST
ash_ i agree masak, there are a bunch of things that seem to be lists but not, i find it confusing at times to be honest 01:20
masak confusing? yeah!
flip side is, I guess, that if we accept a Parcel, then we have to have a plan for tackling named things. 01:21
("a", :c, "b")
Tene finally reads about (?PARNO) and (?&NAME) in perlre
Tene really wants to use perl 6 grammars at work, but is still stuck on 5.8.4 on many hosts 01:22
in the process of upgrading, but it's slow...
ash_ is there a perl5 module that approximates grammars? 01:23
perlbrew?
masak ash_: try search.cpan.org/~dconway/Regexp-Gra...rammars.pm 01:24
Tene ash_: Better for me to spend my effort actually upgrading our infrastructure.
masak although 5.12 partially provides what Regexp::Grammars did for older Perls, IIUC.
rakudo: say "!$_!" for 1.trans((1..26) => (14..26,1..13)), 2.trans((1..26) => (14..26,1..13)) 01:25
p6eval rakudo cad076: OUTPUT«No candidates found to invoke for method 'increment_index' on object of type 'LSM'; available candidates have signatures:␤:(Mu : Regex $s;; *%_)␤:(Mu : Str $s;; *%_)␤␤ in 'Cool::next_substitution' at line 2466:CORE.setting␤ in 'Cool::trans' at line 2512:CORE.setting␤ in
..main pro…
masak ETOOSOON
ah, well. 01:26
'night, #perl6.
PerlJam good night masak
ash_ night
01:26 masak left 01:34 asarch joined 01:36 envi joined 01:43 eternaleye left 01:44 orafu joined 01:46 eternaleye joined, jimbob joined 01:58 jimbob left 02:00 charsbr__ left, sECuRE left 02:02 ryan_ joined 02:04 noganex left 02:05 felliott joined 02:06 noganex joined
dalek ecs: bf8cb5a | larry++ | S05-regex.pod:
spec set ops and parens for character classes

This is in support of TR18 1.3 requirements.
02:07
02:07 pochi left
ryan_ is perl6 doing anything with google summer of code? 02:07
02:07 kjeldahl joined, kjeldahl_ left
TimToady dukeleto++ is organizing that 02:09
02:11 charsbr__ joined 02:16 leprevost left 02:18 asarch left 02:22 pochi joined 02:26 am0c joined 02:33 whiteknight left 02:34 ash_ left 02:43 rhr left 02:45 rhr joined 02:46 stkowski left
ryan_ Thanks TimToady 02:47
02:48 ymasory_ joined 02:53 ymasory_ left 02:59 lukas___ left 03:13 ryan_ left 03:14 eternaleye left 03:15 eternaleye joined 03:16 arlinius joined 03:42 simcop2387 left 03:48 simcop2387 joined 03:52 satyavvd joined 03:56 colomon joined 04:16 eternaleye left, eternaleye joined 04:21 am0c left, envi left, edenc left, drbean left, shortcircuit left, sftp left, wooden left, pothos left, uniejo left, Eevee left, flatwhatson left, VXZ left, tty234 left, benabik left, pnu left, Tene left, satyavvd left, charsbr__ left, _ilbot left, kjeldahlw left, pyrimidine left, ofir left, barika left, cotto_work left, BinGOs left, cosimo left, wiseguyxp left, coldhead left, skangas left, thepler left, ponbiki left, Tedd1 left, Sarten-X left 04:22 Vlavv_ left, justatheory left, [Coke] left, mkramer left, ruoso left, takadonet left, huf left, varna left, felliott left, dukeleto left, aesop left, mtk left, _jaldhar left, Su-Shee left, aindilis left, cafesofie left, PacoLinux left, ymasory left, s1n left, sjohnson left, Lorn left, Hackbinary left, patch left, mdxi left, rhr left, kjeldahl left, nadim_ left, literal left, hudnix left, jonnie left, gottreu left, robinsmidsrod left, ashleydev left, cognominal left, Gothmog_ left, jferrero left, solarion left, felipe left 04:24 Su-Shee joined 04:25 Su-Shee is now known as 17SAAWXCD, satyavvd joined, rhr joined, am0c joined, charsbr__ joined, kjeldahl joined, envi joined, edenc joined, BinGOs joined, dukeleto joined, aesop joined, cosimo joined, drbean joined, flatwhatson joined, wiseguyxp joined, Sarten-X joined, coldhead joined, Vlavv_ joined, ashleydev joined, VXZ joined, nadim_ joined, _ilbot joined, justatheory joined, skangas joined, mtk joined, _jaldhar joined, Gothmog_ joined, Su-Shee joined, kjeldahlw joined, aindilis joined, ymasory joined, pyrimidine joined, cafesofie joined, shortcircuit joined, thepler joined, PacoLinux joined, [Coke] joined, literal joined, sftp joined, hudnix joined, wooden joined, ofir joined, jferrero joined, Hackbinary joined, jonnie joined, solarion joined, tty234 joined, barika joined, mkramer joined, pothos joined, ponbiki joined, s1n joined, ruoso joined, Tedd1 joined, uniejo joined, benabik joined, pnu joined, takadonet joined, sjohnson joined, huf joined, gottreu joined, cotto_work joined, Tene joined, Lorn joined, Eevee joined, PZt joined, ascent_ joined, LoRe joined, snarkyboojum joined, hugme joined, lopaway joined, starcoder2 joined, llabthgie joined, TimToady joined, necrodearia joined, tomaw joined, ddima joined, nrr joined, Grrrr joined, cschimm1 joined, gabiruh joined, chitragupt joined, sorear joined, yves joined, revdiablo joined, peters_mops joined, perigrin joined, krakan_ joined, jpr5 joined, nsh- joined, patch joined, varna joined, larsen joined, Khisanth joined, jnthn joined, calvino.freenode.net sets mode: +v hugme, mathw joined, betterworld joined, frooh joined, stepnem joined, Bucciarati joined, mj41 joined, mdxi joined, robinsmidsrod joined 04:28 BinGOs left, cosimo left, wiseguyxp left, coldhead left, skangas left, thepler left, ponbiki left, Tedd1 left, kjeldahl left, kjeldahlw left, kjeldahlw joined, kjeldahl joined, Su-Shee left
sorear good * #perl6 04:28
04:28 ymasory_ joined 04:29 hudnix left, hudnix joined, cognominal joined, pmichaud_ joined, BinGOs joined, cosimo joined, wiseguyxp joined, coldhead joined, skangas joined, thepler joined, ponbiki joined, Tedd1 joined 04:30 kaare__ joined, kaare_ left
Tene SOREAR 04:31
Yes, good *.
sorear phenny: tell masak I said github issue numbers were non-monotonic once. I haven't brought it up since then because it turned out to be wrong. 04:34
phenny sorear: I'll pass that on when masak is around.
sorear TimToady: niecza has a slightly different iterator implementation from Rakudo which is much faster. Think I should push for it to be specced instead? :) 04:35
Tene sorear: I do. 04:37
04:37 agentzh joined
TimToady fast is good 04:43
at least until it's bad
there's always fast and wrong :) 04:44
sorear Tene: ? 04:45
"SOREAR"
Tene sorear: Just a vague greeting. 04:46
sorear "fast and slightly wrong" may become "fast and right" 04:48
once there's more consensus on what cheats are actually needed, the spec can be loosened
probably noone would have thought to include nondeterministic rounding if C were designed top-down, but it turned out to be needed 04:49
04:51 stifynsemons joined 04:52 drbean left, stifynsemons left 04:53 stifynsemons joined
dalek ecs: a99b93d | larry++ | S05-regex.pod:
more level 1 Unicode conformance verbiage
04:55
sorear so, I'm generally happy to cut corners if I think there's an essential benefit to it 05:01
05:07 ymasory_ left 05:11 felipe joined
sorear TimToady: so you regard { $<foo> = 2 } as a cheat? 05:17
TimToady yeah 05:18
sorear What do you think of Niecza's $<foo> = {2} block binding syntax?
TimToady it can probably de-cheat at need more handily than the assignment within a block 05:20
sorear cannot parse "de-cheat at"
does S05:1605 describe a third operator precedence grammar? 05:21
TimToady that binding can be implemented on immutable cursors more easily, if it needs to be
since we have control of the internal cursor propagation at that point
sorear niecza has mostly-immutable cursors
I changed niecza's STD.pm6 to use $<foo> = {2} syntax
05:22 arlinius left
TimToady STD's are immutable most of the time too 05:22
sorear although it's not quite completely compatible - no good way to set <sig> etc
niecza's are completely immutable except for &make
the &make mechanism could in principle be extended to $<foo> = 2 05:23
TimToady we can use something other than assignment within a block
sorear I mean $<foo> := 2
TimToady $¢ = $¢.addname('foo',42)
then the new cursor doesn't have to be the same as the old one 05:24
or it can cheat if it likes, and return itself
but that can be an internal policy
sorear What are the semantics of assigning to $¢?
TimToady ref to Cursor 05:25
in P5 terms
basically construct a new cursor out of the old one
could implement some internal COW semantics 05:26
sorear I'm thinking the reasonable way to do this is to make $¢ be bound to something with set magic
TimToady or maybe we have enough static info to decide in advance
don't know what you mean by "set magic" 05:27
you do have to be careful to revert the bindings if you revert to an earlier cursor
strictly immutable cursors never have to be concerned about that 05:28
05:28 mtk left
TimToady STD cheats mostly only in stretches it knows can't backtrack 05:28
sorear TimToady: I mean set magic in the Perl 5 sense 05:31
variables that run special code when assigned to
TimToady I don't think tying the cursors is going to speed anything up :/ 05:32
05:36 mtk joined
sorear TimToady: What sort of precedence grammar is created ca. S05:1605? 05:39
05:41 arlinius joined
TimToady I think it should either be flat, or follow the same precedence as the correspondingly named operators in S03 05:43
sorear TimToady: can you explain the new semantics of ? in terms of %*BINDINGS and $*PLURALITY?
sorear looks forward to implementing the new regex stuff 05:44
TimToady I think the key is at viv:4238 05:48
it shouldn't set PLURALITY to 2 on a simple ? 05:49
sorear 4238 is a comment here
TimToady hmm, in RE_quantified atom, walk()
first local there
_walk, actually 05:50
line sez: local $::PLURALITY = 2;
that assume any quantifier forces plurality 05:51
*assumes
sorear Under what conditions should a read return Nil?
As opposed to Any
TimToady as long as it comes out undefined somehow, I guess I'm not too picky 05:52
but Any tends to mean more like "uninitialized" while Nil tends to mean more like "missing" 05:53
the difference is that Any interpolates in a list as Any, while Nil turns into () 05:54
and if you print out "Nil" it looks emptier to people :) 05:55
sorear TimToady: Does Nil come in interpolating and non-interpolating flavors like [] / @([]) ? 06:00
TimToady Nil is more like () than like [], so I suspect not 06:05
06:05 kaare__ is now known as kaare_
szabgab building rakudo failed on linux :( 06:06
starting again
parrot failed to build: pastebin.com/nSrjEnNN 06:12
dukeleto o/ 06:19
szabgab hmm, running --gen-parrot and then make realclean several times seemed to help cleaning it up and nowthe parrot generation worked 06:21
06:23 cjk101010 joined 06:30 arlinius left
szabgab oh good, I have running perl 6 again on my computer, now I can go back doing something else :) 06:31
06:31 woosley joined 06:54 arlinius joined
sorear out 06:54
06:57 Mowah joined 07:00 cafesofie left, eternaleye left, cafesofie joined 07:03 stifynsemons left 07:12 mayuresh joined, mayuresh left, hugme left 07:13 pmichaud_ left, pmichaud joined 07:14 tadzik joined, hatseflats joined 07:16 eternaleye joined 07:28 cosimo left
snarkyboojum I enjoy reading these sorear/TimToady QA sessions :) 07:28
07:29 justatheory left 07:45 agentzh left 07:47 Chirag joined
Chirag Hello Everyone 07:47
07:47 agentzh joined
Chirag Perl 6!hmmm 07:48
TimToady howdy
07:48 eternaleye left 07:49 vutekija joined 07:52 texasman23 joined
texasman23 hi 07:52
3 07:54
07:54 texasman23 left, satyavvd left 08:01 satyavvd joined, satyavvd left 08:02 wiseguyxp left 08:04 eternaleye joined, satyavvd_ joined 08:06 17SAAWXCD is now known as Su-Shee 08:10 eternaleye left, eternaleye joined 08:11 wiseguyxp joined 08:13 Chirag left 08:14 shi joined 08:16 texasman23 joined
texasman23 hi everyone 08:17
moritz_ good morning
texasman23 where you all from
08:17 HarryS joined
texasman23 its 1am here 08:18
moritz_ most of us are from North America, Europe and Asia
though the occasional Australian does sneak in :-)
UTC+1 here
texasman23 im from usa
TimToady pmichaud is from texas, but he's probably asleep 08:19
moritz_ szabgab: when you get "This Parrot cannot read bytecode files with version ...", you should rm -rf parrot_install and cd parrot; git clean -xdf
texasman23 where's everyone? this chat looks dead 08:20
tadzik it's 9 AM in here
moritz_ tadzik: not dead at all... look at irclog.perlgeek.de/perl6/today to get an idea for the activity level here
sorry, meant texasman23
moritz_ needs to go to $work 08:21
texasman23 well there is 234 users and looks like we are the only ones talking here
08:22 texasman23 left
dukeleto sometimes talks in his sleep 08:25
moritz_: any chance we can get a backtrace for Rakudo coredump on the generational_gc branch? 08:27
08:29 Chillance joined
jnthn morning o/ 08:33
Tene dukeleto: bacek says he has a secret mystery patch for rakudo at home 08:35
jnthn dukeleto: iiuc, it's probably pointless to do so unless bacek++'s patch is applied.
Tene moritz_: it's polite, when telling people to git clean -xdf, to give them a warning that it will delete any files they may have been keeping in rakudo's root.
I've bit myself that way a few times, when leaving a short test or experiment in rakudo's root dir. 08:36
and I've found others to be far less dutiful at reading man pages than I am
08:38 wiseguyxp left
moritz_ Tene: you're right; though I want to point out that I recommended it for a parrot/ that was checked out with --gen-parrot, where the chances of own files are much smaller 08:50
dukeleto git clean and git reset are the only git commands will delete uncommitted files. Good to know. 08:52
Tene moritz_: you also want to clean the rakudo repo. the "bytecode files with version ..." are at least sometimes rakudo's .pbc 08:54
'make clean' should be sufficient there, though 08:55
moritz_ Tene: yes, szabgab++ already did that 08:57
if parrot just printed the name of the offending file, it would be much easier to diagnose
Tene What, you mean I'm supposed to read the *context* before spewing advice? That's SO much WORK... 09:00
:) 09:01
That should be a very simple patch, actually...
moritz_ I've opened a parrot ticket for that, let me find it for you... 09:02
Tene: trac.parrot.org/parrot/ticket/1833
moritz_ changes the title to include the need for the file name 09:03
09:12 lolo_91 joined 09:13 cls_bsd joined
bacek ~~ 09:18
jnthn, initial patch for rakudo nopasted to #parrot. It's a start but not enough.
jnthn bacek: Have you got a doc somewhere of where the write barriers have to be put? 09:19
I guess we're going to have to do a bunch of this in the 6model core too :)
bacek jnthn, nope. But basic idea is - if you are changing PMC guts outside of VTABLE marked with :write than you have to put it. 09:20
09:20 daxim joined
bacek For 6model I'll take a look. 09:20
jnthn bacek: By PMC guts you mean, things that the PMC holds a reference too? 09:22
bacek jnthn, yes.
moritz_ (still segfaults with the patch)
bacek jnthn, take a loot at patch. It will give you an idea.
jnthn OK, so to take, e.g.
named_to_pos_cache = pmc_new(interp, enum_class_Hash);
+ PARROT_GC_WRITE_BARRIER(interp, llsig);
SETATTR_P6LowLevelSig_named_to_pos_cache(interp, llsig, named_to_pos_cache);
Then I have to put in the write barrier just before I SETATTR? 09:23
bacek moritz_, I know. Compiling Attributes.nqp?
moritz_ compiling src/Perl6/Grammar.pm
jnthn Are the SETATTR macros special?
bacek jnthn, nope. I just put WB close to point where guts changed. 09:24
--- a/src/pmc/class.pmc
+++ b/src/pmc/class.pmc
@@ -543,6 +543,7 @@ make_class_name(PARROT_INTERP, ARGIN(PMC *SELF))
if (!PMC_IS_NULL(names))
/* remove the HLL namespace name */
VTABLE_shift_string(interp, names);
+ PARROT_GC_WRITE_BARRIER(interp, SELF);
_class->fullname = Parrot_str_join(interp, CONST_STRING(interp,
return _class->fullname;
}
This is another example.
09:25 lolo_91 left
moritz_ so, whenever heap memory is changed? 09:25
jnthn bacek: It needs to come *before* the change is made though? Or that doesn't matter?
bacek jnthn, doesn't matter. But after possible GC. E.g. allocate new PMC.
moritz_, whenever after GC can be triggered. 09:26
moritz_ I don't know what can trigger a GC run 09:29
bacek moritz_, any allocation of pmc/string.
pmc_new, str_join, etc
moritz_ does the C API declare which functions allocate new PMCs or strings? 09:34
bacek moritz_, hmm. Unlikely. 09:35
09:42 coldhead left 09:43 coldhead joined 09:45 shi left 09:48 wtw joined 09:49 shi joined 09:54 Alias_ joined 09:57 drbean joined
jnthn bacek: OK, thanks. I'll take a look at it and see how 6model works out on it. 10:08
10:12 masak joined
masak hi, zebras. 10:12
phenny masak: 04:34Z <sorear> tell masak I said github issue numbers were non-monotonic once. I haven't brought it up since then because it turned out to be wrong.
masak ok.
jnthn yayitsmasak!
masak \o/
rakudo: say "!$_!" for 1.trans((1..26) => (14..26,1..13)), 2.trans((1..26) => (14..26,1..13)) 10:17
p6eval rakudo 184bf7: OUTPUT«!14!␤!15!␤»
masak rakudo: say "!$_!" for (1, 2)>>.trans((1..26) => (14..26,1..13))
p6eval rakudo 184bf7: OUTPUT«!14!␤!!␤» 10:18
masak submits rakudobug 10:19
10:24 dakkar joined
masak rakudo: say "!$_!" for (1, 2)>>.trans([1..26] => [14..26,1..13]) 10:27
p6eval rakudo 184bf7: OUTPUT«!14!␤!15!␤» 10:28
masak could this be -- *gasp* -- an iterator-related bug?
jnthn duh duh DUUUHHH! 10:29
masak does a "melodramatic squirrel" look 10:30
10:38 agentzh left 10:45 Trashlord left 10:55 wolfram_ joined
wolfram_ TimToady: I do use complex. Would have been quite a mess to get an FFT running without. $twd is purely imaginary. 10:59
phenny wolfram_: 08 Feb 23:43Z <TimToady> ask wolfram_ /me is kinda wondering why you used evens and odds instead of the complex numbers that Perl 6 has built in...
wolfram_ That makes (^@odd).map(* * $twd)».exp a sequence of evenly spaced values on the unit circle in the complex number plane. 11:00
The even and odd are due to the way the Cooley–Tukey FFT algorithm works (butterfly graphs) 11:01
moritz_ wolfram_: you can get the evenly spaced values on the unit circle also by using (1+0i).roots($number) 11:02
rakudo: say ~(1+0i).roots(4)
p6eval rakudo 184bf7: OUTPUT«1 + 0i 6.12323399573677e-17 + 1i -1 + 1.22464679914735e-16i -1.83697019872103e-16 + -1i␤»
wolfram_ You separate a sum into it's even and odd components and discover that once you factor out a complex value, you are left with 2 smaller FFTs to calculate. 11:03
moritz_ rakudo: say (1+0i).roots(4).join(' ')
p6eval rakudo 184bf7: OUTPUT«1 + 0i 6.12323399573677e-17 + 1i -1 + 1.22464679914735e-16i -1.83697019872103e-16 + -1i␤»
wolfram_ Also remember that the input sequence of the FFT may well be comlex numbers already. Either because you do an ifft using the fft or you have a complex time domain series (-> analytic signal, Hilbert transform) 11:04
masak wolfram_++ # butterfly graph 11:07
wolfram_ moritz_: I'll have a look if that can be used. Thanks.
moritz_ rakudo: say (1+0i).roots(4)>>.polar.perl 11:09
p6eval rakudo 184bf7: OUTPUT«((1, 0), (1, 1.5707963267949), (1, 3.14159265358979), (1, -1.5707963267949))␤»
moritz_ rakudo: say (1+0i).roots(4)>>.polar>>.[1].perl
p6eval rakudo 184bf7: OUTPUT«(undef, undef, undef, undef, undef, undef, undef, undef)␤»
moritz_ urks
coldhead that looks much harder to graph
moritz_ rakudo: say (1+0i).roots(4)>>.polar.[1, 3, 5, 7].perl
p6eval rakudo 184bf7: OUTPUT«(0, 1.5707963267949, 3.14159265358979, -1.5707963267949)␤» 11:10
moritz_ rakudo: say ((1+0i).roots(4)>>.polar.[1, 3, 5, 7] X* (180 / pi)).perl
p6eval rakudo 184bf7: OUTPUT«(0, 90, 180, -90)␤»
wolfram_ Why did .[1] not work? 11:11
moritz_ rakudo: say ((1+0i).roots(8)>>.polar.[1, 3 ... 15] X* (180 / pi)).perl
p6eval rakudo 184bf7: OUTPUT«(0, 45, 90, 135, 180, -135, -90, -45)␤»
moritz_ wolfram_: because >> flattens
wolfram_ Ah, just looked at [1] and [1, 3, 5, 7]. Didn't see other changes. 11:12
moritz_ anyway, I admire compactly written algorithms that are still readable :-) 11:14
wolfram_ What's the opposite of .polar? i.e. polar to rectangular 11:15
flussence .unpolar 11:16
wolfram_ Thanks 11:17
flussence or .cis, according to S32/Numeric
wolfram_ .cis ? That's either german music (cis = c sharp) or chemistry (cis and trans) to me. 11:18
11:21 jarfhy left
masak 'cis' might here be an abbreviation for 'cos + i * sin'. 11:22
if you ask me, having both .unpolar and .cis feels a little unnecessary.
moritz_ but it's very unintuitive if you are used to exp(I arg) :-) 11:23
wolfram_ Just also looked at S32/Numeric. Cis is 1.unpolar, so here we have another way to get values on the complex unit circle. 11:24
11:26 wolfram__ joined
masak & 11:26
11:28 wolfram_ left, wolfram__ left 11:29 wolfram_ joined
tadzik why german music? Cis is international 11:29
wolfram_ moritz_: but maybe cis can be implemented to be efficient that complex exp 11:30
tadzik: thought it was c-sharp, c-flat in english at least 11:31
s/efficient that/more efficient than/ 11:32
colomon Yes, Cis is definitely not used in music in America. 11:34
wolfram_ Maybe it's cis everywhere else in the world. Just like aluminium :-) 11:36
colomon I'm never gotten the impression it's used anywhere there are English speakers. 11:37
tadzik hmm, weird 11:39
wolfram_ Fortunately americans don't use demi-semi-quavers
tadzik so you don't use bemolle either? 11:40
colomon I don't even know what it is.
tadzik it's the Flat
colomon (And that's with 28 years of playing classic music under my belt.)
tadzik F♭
daxim b-moll moll is "minor", dur is "major"
colomon I knew moll for minor, but that only ever crops up in the names of pieces of music printed overseas, in my experience. :) 11:41
11:42 satyavvd_ left
daxim do not worry, once I become emperor of the world, I will standardise on the appropriate terms 11:42
tadzik and remove timezones
wolfram_ And demisemiquavers are here: en.wikipedia.org/wiki/Thirty-second_note
11:43 Trashlord joined
tadzik phenny: "trzydzestkadwójka"? 11:43
phenny tadzik: Language guessing failed, so try suggesting one!
tadzik phenny: "trzydziestkadwójka"?
phenny tadzik: Language guessing failed, so try suggesting one!
tadzik neh
11:43 zykes- joined
daxim gesundheit! 11:43
tadzik phenny: "trzydziestka dwójka"?
phenny tadzik: "thirty two" (pl to en, translate.google.com)
tadzik close 11:44
11:53 coldhead left 12:03 kjeldahlw left 12:04 am0c left
tadzik wklej.org/id/472774/ -- what kind of syntax is that? It's nqp, from a parrot-dev mail. What are those calls doing in the class body, declaring attributes, methods? 12:04
jnthn tadzik: Something awful :) 12:08
tadzik: The way HLL::Compiler works up to npq-rx ends up trying to store attributes in a type object. 12:09
tadzik: It works out better in new nqp :)
12:10 kjeldahlw joined
tadzik as everything :) 12:10
12:16 pmurias joined
dalek ecza: adbc41e | pmurias++ | cl-backend/backend.lisp:
[cl-backends] modules set the xref, minor refactoring
12:18
ecza: ac81267 | pmurias++ | / (2 files):
[cl-backend]
12:22 mayuresh joined, mayuresh left 12:28 wolfram_ left
szabgab In the meantime I submitted a Perl 6 talk to LinuxTag Berlin, we will see if that gets accepted and then I might need update myself a bit 12:30
people start asking question ...
12:35 bluescreen joined 12:38 fhelmberger joined 12:52 stifynsemons joined 12:53 stifynsemons left 12:57 tzhs joined 12:59 ab5tract joined, mberends left
takadonet morning all 13:01
13:01 mberends joined 13:06 mberends left
masak takadonet: \o 13:11
tadzik where's hugme? :(
pmurias what does the hugme bot do? 13:14
tadzik hugs. And gives commmit bits to repos 13:15
13:15 mtk left 13:17 MayDaniel joined 13:19 mberends joined 13:23 mtk joined 13:27 mberends left 13:28 mberends joined 13:32 felliott joined 13:38 MayDaniel left 13:41 tzhs left 13:51 ab5tract left, pmurias left 13:52 Lorn left, ab5tract joined
[Coke] rakudo: (1..10).classify(*%%3).perl.say 13:55
p6eval rakudo 184bf7: OUTPUT«("Bool::False" => [1, 2, 4, 5, 7, 8, 10], "Bool::True" => [3, 6, 9])␤»
[Coke] why don't we need to put *%%3 in a block there?
masak because the * sugars in its own block.
* %% 3 corresponds to { $_ %% 3 }
[Coke] sweet. 13:56
masak very.
[Coke] and why are the booleans quoted? is it because hashes are still string-only keys?
masak aye.
[Coke] danke.
masak and even in the future, when we have other kinds of hashes, string-only will still be the default. 13:57
13:57 mberends left 13:59 kaare_ left
PerlJam greets #perl6 14:02
masak hola PerlJam
14:02 uvtc joined
uvtc Hi. What do zebras have to do with Perl 6? 14:04
PerlJam uvtc: everything!
uvtc hehe.
I don't get the joke. First thought was that maybe it had something to do with "horse of a different color". 14:05
masak like when you're doing a bootstrap, some things are there simply because they're there.
that's the explanation with the zebras.
grep the IR clogs if you're really interested, but that's basically it. 14:06
uvtc Ok, I will grep the infrared logs.
jnthn Some things inperll6 are just random. It's not always black and white.
;)
uvtc Ah. 14:07
masak trust jnthn to turn an answer into a pun ;)
PerlJam trust #perl6 to pun everything
masak "I think this situation isn't as zebra as you make it sound." 14:08
14:08 drbean left
PerlJam this is one of the few places where there's just enough ambiguity to be interesting and not enough to be confusing (at least once you understand that puns are rampant here) 14:09
14:10 awoodland joined
masak puns...? people are being explicitly ambiguous over here...? 14:11
why, this explains a _lot_... :)
14:12 felliott left
PerlJam only when its clearer to be ambiguous. 14:12
masak Welcome to #perl6. We're unambiguous here... to a first approximation. 14:13
14:13 plobsing left 14:17 felliott joined 14:21 wiseguyxp joined, uvtc left 14:26 felliott left
Su-Shee hrmpf. I would need hugme now.. 14:30
PerlJam hugs Su-Shee as a proxy 14:31
14:31 kaare_ joined
Su-Shee sighs happily. much better. ;) 14:31
sjn hugs Su-Shee by using the new hugging proxy, PerlJam
14:31 bluescreen left
PerlJam heh 14:31
Su-Shee are we implementing HUG CHAINS? :) 14:32
PerlJam Get a few more people invovled and we can start a hug pile
masak oof
Su-Shee hug chain smiley: (o)->(o)->(o)->(o)
masak a hug pile was how my mobile camera stopped working :P 14:33
flussence maybe we need a hug-tracking database while hugme's offline... 14:34
masak "needshugs"
"This ticket has been hugged properly. Resolving."
sjn what's a shug?
PerlJam "please place your hug request with #perl6 and we'll get a hug to you as soon as possible"
flussence shrugs 14:35
masak sjn: the Shug is a distant relative to the Yeti.
sjn: extremely reclusive, to the point where *nobody* has seen it.
sjn masak: cool, why do you need several of them? :)
masak they make really soft carpets.
14:35 wiseguyxp left
masak usually they leave them outside the doors of unsuspecting villagers in the middle of the night. :P 14:36
14:39 stifynsemons joined
masak hm, 'shug' sounds like a project name looking for a project :) 14:44
jnthn
.oO( Austin Powers: The spy who shug me )
14:45
So clearly it's the Perl 6 mojolicious port. ;)
_sri shagadelic 14:46
14:46 ab5tract left 14:50 stifynsemons left
dalek kudo: 03380cd | perlpilot++ | src/core/Complex.pm:
better format complex numbers
14:50
masak .oO( The Shug Who Made me a Rug ) 14:55
14:56 Vlavv_ left 14:57 wallberg joined
masak wallberg! \o/ 14:57
14:58 cjk101010 left 15:04 shi left
[Coke] PerlJam: I wonder why you did that as 2 lines. 15:07
szabgab hmm, there should be a competition between Dancer and Mojolicious , the first one that has a Perl 6implementation can claim the name shug
15:07 abraxxa joined
masak :) 15:07
PerlJam [Coke]: because that's what flowed from my head first. If you want to make it one line, feel free :)
_sri does that mean non-blocking io is implemented now?
[Coke] PerlJam: not especially. Just wondering. ;)
masak _sri: does what mean that? and implemented where? 15:08
_sri re szabgab
PerlJam _sri: does that mean you're volunteering to do it if it isn't?
:-)
szabgab if you want a shug you need to shave a yak
masak _sri: I'm not aware of anyone wanting non-blocking IO as dearly as you right now. 15:09
15:09 Vlavv_ joined
masak _sri: it *used* to be a goal of Parrot's, I think. 15:09
szabgab _sri: and I don't understand your concern, both Dancer and Mojo would have the same limitations 15:10
_sri i'm not going to attempt a port without non-blocking io, no point 15:11
masak guess you'll just have to charm someone within Rakudo/Parrot to implement it, then.
_sri tried that like two years ago
wallberg hi all
_sri tbh i've lost hope 15:12
i don't believe in perl6 anymore
masak you're entitled to that opinion.
szabgab _sri: I am confused now
did you have visitors on #mojolicious saying they don't belive in Mojolicious any more? 15:13
sorear good * #perl6
_sri szabgab: you brought the topic up
PerlJam _sri: if you had some Perl 6 code that used non-blocking IO, that would be a strong incentive for someone to implement it I think.
15:14 ab5tract joined
PerlJam _sri: also, they'd have something to test against. 15:14
15:23 pmurias joined 15:29 justatheory joined
pmichaud good morning, #perl6 15:29
Today is now our fifth snow day of the year. :-/
(fifth day of school closings due to snow)
sjn pmichaud: there's only one good word for that, and it's "tiddelibom" :) 15:30
</obscure norwegian humour>
PerlJam sjn: not that obscure. (I've heard of it before and I live in south Texas :) 15:31
sjn o_O
arnsholt sjn: It could be that Thorbjørn Egner might have stolen it. From an Englishman, for example =) 15:32
sjn arnsholt: could be :D
15:32 MayDaniel joined
sjn tries to imagine how an englishman would pronounce that word 15:32
PerlJam or it could be that the Internet had made the world just a little smaller ;) 15:33
15:33 vutekija left
pmichaud looks forward to riding "Maelstrom" in the Norway pavilion at Epcot this weekend 15:34
szabgab pmichaud: hi, was there any progress on overtaking the Texas Linux Fest by Perl skaters? 15:38
pmichaud szabgab: I haven't seen much movement on that, no. I'm sending in my talk proposal tomorrow
colomon pmichaud: If you think there's any chance you might go to see the Canada 360 movie, I've got a favor to ask of you. :)
pmichaud Maybe I'll ping the APM and DFW.pm folks again and say "hey, get moving!"
I know at least one other DFW.pm regular is planning to attend Linux fest 15:39
pmurias sorear: class Foo {...} has an entry in the stash without an xref? is that correct?
pmichaud colomon: seeing Canada 360 is likely 50/50. We'll go if we need a break from walking.... so, what's the favor?
szabgab I need to kick some * there so they will move their *
sorear pmurias: yes, it's correct
pmurias: the entry is responsible for the namespace Foo:: 15:40
15:40 justatheory left
colomon pmichaud: My memory (from 1996 or so) is that there is a scene of a bunch of musicians playing with a fiddler in Atlantic Canada in the movie. I'm wondering if it is this guy: www.youtube.com/watch?v=SS8Xllf7Nyk 15:42
pmichaud: I didn't know who he was last time I saw the film there, so it didn't mean anything to me. But he was definitely filmed in Circlevision by Disney at some point. And if it is him, I probably know some of the other musicians personally. :) 15:43
15:43 mtk left
colomon pmichaud: I was just hoping that you could keep an eye out for the scene. 15:43
15:43 [particle] left
colomon pmichaud: and let me know if I'm imagining things or not. 15:43
pmichaud colomon: looks like WDW updated the movie in 2007 15:44
colomon pmichaud: oh, interesting.
PerlJam Blah! It's rainy here today and it'll be cold later :( 15:45
pmichaud Blah! It's cold here now and it'll be even colder later. :(
PerlJam yeah, but snow is better than rain :)
15:46 wooden left 15:47 ash_ joined, wooden joined 15:50 mtk joined, [particle] joined
colomon pmichaud: anyway, if you go to O Canada, keep an eye out for fiddlers and let me know if there are still any in the movie -- particularly if one is an old guy with a beret. Danke. :) 15:52
15:52 wtw left
pmichaud will do. Searching for "Emile Benoit" and "O Canada" with google doesn't come up with any hits, though. 15:52
so I'm guessing either (1) no, or (2) completely uncredited
15:53 kjeldahlw left 15:54 plobsing joined
colomon pmichaud: we actually contacted the Disney archivist with the question a few years ago (pre-2007) and he couldn't determine one way or the other, weirdly enough. So certainly uncredited if there, I'd say. 15:55
pmichaud My brother works at WDW; I suspect he could find out easily enough. 15:56
he could certainly make it over to the Canada pavilion and check for me. He might even have access to the pre-2007 film. 15:57
15:58 Sarten-X left
colomon pmichaud: oooo.... sounds like an awful lot of work for a fairly trivial detail, though. :) 15:58
pmichaud oh, he's there all of the time. I bet he'd find it fun and interesting.
16:00 takadonet left, jferrero left 16:01 ruoso left, ruoso joined
colomon pmichaud: Well, I certainly wouldn't object to your asking him, but please make clear it's a lark, and he shouldn't bother unless he does find it -Ofun. 16:02
pmichaud here's a picture of my brother at work: 16:03
15:55 <colomon> pmichaud: we actually contacted the Disney archivist with the question a few years ago (pre-2007) and he couldn't determine one way or the other, weirdly enough. So certainly uncredited if there, I'd say.
15:56 <pmichaud> My brother works at WDW; I suspect he could find out easily enough.
oooops
pmichaud.com/sandbox/mickey-lucas.jpg # my brother is on the right
colomon that is one awesome picture!
16:04 Sarten-X joined
pmichaud yes, he loves his job. :-) 16:05
16:05 aesop left
sbp I hope Mickey wins 16:05
pmichaud in the official (retouched) version of that photo, Mickey has the green light saber and Lucas has the red one. So..... 16:06
sbp hmm :-) 16:07
16:09 ab5tract left
colomon pmichaud: that explains a lot. ;) 16:09
16:09 vutekija joined 16:11 felliott joined 16:14 Patterner left 16:16 Psyche^ joined, Psyche^ is now known as Patterner 16:19 aesop joined 16:21 woosley left 16:22 risou joined 16:23 simcop2387 left 16:27 simcop2387 joined 16:29 pmurias left, orafu left 16:30 hugme joined, ChanServ sets mode: +v hugme 16:32 orafu joined, kst` joined 16:36 alester joined, simcop2387 left 16:37 simcop2387 joined 16:42 bah_ joined
bah_ hey guys .. hope you guys are having a great day (err .. night) ... 16:43
tadzik still day 16:44
bah_ i just had a doubt that has been bugging me
tadzik notmuch, I'm perhaps the most badluck guy today. But thanks
hugme: hug me
hugme hugs tadzik
16:44 Layla_91 joined
pmichaud ..."bugged doubt"? 16:44
masak bah_: let's hear your doubt.
bah_ is it possible to pass a chunk of text to say a function .... and what we get in return is the name of the grammar that it implements ? 16:45
tadzik that implements what? 16:46
ah, parsing that function?
bah, string
bah_ lets say i i call " 1 2 + 3 *".get_grammar and i get Postfix in return 16:47
16:47 envi left
bah_ its kind of like grammar detection of the an arbitrary dsl 16:48
forgive my typos ... tiny keyboard :)
arnsholt That's not exactly simple to do 16:49
pmichaud bah_: are you assuming there's a set of predefined grammars somewhere that would be selected from?
bah_ hmm .. yes
pmichaud then it's pretty easy :) 16:50
16:50 Layla_91 left
bah_ oh .. thats awesome 16:50
pmichaud my @matches = " 1 2 + 3 * " ~~ $_ for @list_of_predefined_grammars;
er
yeah
something like that
maybe grep
my @matches = @list_of_predefined_grammars.grep( { $string ~~ $_ } ) 16:51
bah_ can it be done for a larger piece of string , which can possibly have multiple grammars in it ? 16:52
pmichaud depends on the grammar definitions, I'd think
bah_ coz i was thinking how lisp macros are comfortable with calling and using other lisp macros ... and whether the same logic can be applied to perl6 grammars 16:53
@matches = " 1 2 + 3 * " ~~ $_ for @list_of_predefined_grammars; if (@matches.size == 1) { $[0].eval} 16:54
i'll defintely polish my doubt further and come back to you pmichaud ... thanks for your time ... :) 16:57
btw when can we expect rakudo.supernova to release ? 16:58
masak bah_: you'll want 'grep' there, not 'for'.
bah_: since you want to do a single list assignment, not several.
bah_ sure .. i'll keep that in mind
masak bah_: re Supernova -- what would you like it to be that Star isn't? 16:59
bah_ yes
masak because right now, it feels like we don't exactly know that.
it wasn't a yes/no question, it was a 'what' question :)
bah_ basically the next awesome version of rakudo .. its going to be a supernova right ? 17:00
pmichaud we haven't named it yet, no.
but given that Perl 6 and Rakudo are "disruptive technologies", part of execution means that we often don't know the obvious "next step" in development 17:01
bah_ i understand
pmichaud anyway, I suspect the next release series will focus on one or more of (a) modules, (b) multiplatform, or (c) speed
masak bah_: so far, there's been a new awesome Rakudo Star release each month. from now on, they'll be coming every third month. 17:02
pmichaud we might also have a domain-specific release series, but we're not entirely clear about that. In some sense I'd be very interested in seeing a documentation/publishing/text-handling focused distribution 17:03
17:03 icwiener joined
pmichaud I don't think we're quite at a performance level where focusing on the web makes sense... but document processing could be very beneficial. As a bonus, it might help us with our own documentation and publication efforts :-) 17:03
masak works harder on his Pandoc clone 17:05
pmichaud afk 17:08
17:09 Eevee left 17:12 gottreu left
tadzik masak: niecza-powered 17:12
?
17:13 wallberg left 17:14 jferrero joined 17:24 felliott left
dalek ecs: 4ec52e3 | larry++ | S05-regex.pod:
got & and | backwards; note precedence is "normal"
17:24
17:25 felliott joined 17:27 ryan_ joined
masak tadzik: yes. 17:28
17:31 ash_ left 17:33 shi joined 17:37 Eevee joined
[Coke] Why is it .uniq and not .unique? 17:42
(I know, unix did it that way). Should it be updated to be more verbose?
17:42 vmspb joined
Eevee because terminal q is awesome. 17:43
flussence uniq is more unique
TimToady it's uniqer 17:44
flussence I dunno, there's lots of abbreviated method names, maybe this is more consistent like this
17:44 MayDaniel left
TimToady and it makes yet another four-letter word in the vocabulary 17:44
masak right. 'uniq' seems to be about the right amount of huff. 17:45
[Coke] I am very amused by the google ads server for the comb wordpress article (inc: professional lice removal!) 17:46
17:46 risou_ joined
masak :D 17:46
17:47 justatheory joined 17:48 risou left 17:49 zenog joined
arnsholt GitHub makes it easier for me to nab code from Rakudo. Yay, one supposes. ^_^ 17:51
17:52 cdarroch joined, cdarroch left, cdarroch joined 17:55 shi left 17:56 takadonet joined 17:59 shi joined 18:01 Lorn joined
[Coke] giving proper attribution and respecting licensing! 18:02
arnsholt Of course 18:05
Even though it should be available via Parrot =/ 18:09
[Coke] what is you need from parrot that isn't there?
arnsholt Can't find it at least
I'm trying to update my HLL to build and checkout Parrot from git rather than SVN 18:10
moritz_ speed!
arnsholt I asked in #parrot, but didn't get any replies
[Coke] Are you having trouble with the git commands? 18:11
moritz_ arnsholt: I think "steal from Rakudo" is a good answer :-)
[Coke] mmm. certainly rakudo already has that working.
arnsholt No, git isn't a problem. It's getting Configure.pl and friends to do it right 18:12
tools/dev/create_language.pl generates a Configure.pl that's part-way there
18:13 dakkar left
arnsholt It uses git, but it still assumes that the revision in build/PARROT_REVISION is numeric 18:13
Which seems to be messing things up
[Coke] Ok. there's no one right way to do that (and I think parrot encourages you to use an installed version, anyway), so I can see that not being in parrot.
... that's definitely worth opening a bug for.
trac.parrot.org/ 18:14
arnsholt Right. I'll do that
[Coke] arnsholt++ 18:15
arnsholt An installed Parrot has caused trouble with Rakudo in that past I think 18:16
Is that no longer the case?
[Coke] rakudo requires an installed parrot.
it just installs it into a local subdir if you don't have one yet.
benabik arnsholt: I tend to build and install them separately. I've had no problems, although I always rebuild rakudo every time I rebuilt parrot. 18:17
arnsholt Right. Maybe I'll try doing that instead
18:20 molaf left 18:21 plobsing left 18:28 impious joined 18:30 shachaf left 18:31 risou_ left 18:34 shachaf joined 18:36 jferrero left 18:37 Sarten-X left 18:44 Sarten-X joined 18:53 janosik joined 18:55 jarek-s joined, jarek-s left 18:59 orafu left, janosik left 19:01 orafu joined 19:04 icwiener left 19:05 icwiener joined 19:06 plobsing joined
masak arnsholt: you have an HLL? 19:12
masak gets curious
dukeleto arnsholt: yes, the create_language.pl and mk_language_shell.pl scripts don't yet know about the Git New World
19:13 MayDaniel joined 19:16 aindilis left, stkowski joined, aindilis` joined 19:22 rgrau joined
arnsholt dukeleto: Yeah, I sorta noticed 19:25
19:25 vutekija left
arnsholt create_language.pl sort of does, though. It runs git commands, but not correctly it seems 19:25
masak: Yeah, a Prolog 19:26
Contributions are most welcome =)
tadzik wow, Prolog
PerlJam I was thinking something more like "yuck prolog"
:)
tadzik never used it
arnsholt Prolog is awesome 19:27
tadzik I imagine it as a black box shouting "YES" "NO" repeadately
PerlJam I haven't used it in years, but I'm willing to bet it hasn't changed since I last saw it :)
arnsholt If a bit special-purpose
tadzik ...did I spell it right?
sbp repeatedly
tadzik thanks sbp
sbp yw
19:27 dual left
PerlJam tadzik: prolog is really a special purpose pattern matching engine. 19:28
allbery_b prolog is interesting, but should never be used for anything but its core relation-db competency. otherwise... it reminded me of hacking sendmail.cf before EASE
arnsholt The killer feature in Prolog is backtracking 19:29
Gives you so many useful things for free
allbery_b (in both cases I could do it, but oy. otoh at this point I've mostly forgotten the details of Prolog)
19:30 dual joined
arnsholt There's a theorem prover called leanCoP, whose core prover logic requires a whopping 555 bytes 19:30
Which is possible because all the required non-determinism is built into Prolog, of course 19:31
19:31 abraxxa left
PerlJam arnsholt: so ... why prolog exactly? Just 'cause, or do you want to hook it up to something else via parrot? 19:34
arnsholt See also james-iry.blogspot.com/2009/05/brie...rong.html: "Alain Colmerauer designs the logic language Prolog. His goal is to create a language with the intelligence of a two year old. He proves he has reached his goal by showing a Prolog session that says "No." to every query."
tadzik :D
arnsholt My prime motivation is pretty much, just 'cause =)
masak arnsholt: nice!
tadzik That reminded me of my nephew, who said "Me!" on every question 19:35
arnsholt At some point I'd like to try hook it up to Perl 6 slangs as well
tadzik then Dad asked him "who's cleaning the plates today?" Suprisingly, Mikołaj said "Daddy"
masak arnsholt: yay!
tadzik . o O ( use Prolog 'will this run?'; ) 19:36
arnsholt =D
PerlJam Was it Ovid who did the Perl 5 prolog module(s)? 19:37
in anycase, you have a perl 5 implementation to crib from :)
arnsholt Yeah AI::Prolog is Ovid's work. I've looked at his code for inspiration 19:38
But the main catalyst was a (Common) Lisp book, actually
benabik tadzik: Based on the above quote, I'd expect the answer to be 'No.', even if it did work. :-D
tadzik ;)
arnsholt It had an implementation of non-deterministic search using continuations 19:39
tadzik it should die if tests do not exist
arnsholt I promptly remembered that Parrot has native continuations and decided to try to implement Prolog on Parrot
dukeleto arnsholt: does this prolog on parrot have a repo somewhere? 19:41
arnsholt github.com/arnsholt/parrotlog 19:42
It's been a while since I worked on it, but I'm trying to get back to it 19:43
PerlJam arnsholt: can I suggest a name change? "parlog" :)
tadzik parrotlog is like Parrot Log
19:44 aindilis` left
masak "Conlog" :) 19:44
arnsholt Yeah, I'm not too happy with the name
masak: *groan* 19:45
Took me a second to get, even ^^
tadzik it still takes _me_ a second :)
oh! :) 19:46
PerlJam amateurlog was too long
arnsholt Good suggestions all 19:49
Maybe I'll change the name =)
19:51 daxim left 19:52 impious left
dalek ecs: 81058c1 | larry++ | S05-regex.pod:
define extensible boundary syntax

The Unicode folks seem to want an extensible boundary syntax with \b, but we've abandoned \b for boundary, so it's now <|x> for various values of x. (And <!|x> is the negation, so no need for <|X>.)
  <?wb> is now <|w>.
19:52
TimToady basically <|x> is a zero-width match like <?foo> but x lives in its own namespace of boundary names, not in normal rulename space 19:55
masak nod. 19:58
20:00 fhelmberger left
colomon for some reason, <|x> (above) scared me, but <|w> seems comforting and reassuring... 20:01
20:02 justatheory left
moritz_ so <|s> would be a boundary between \s and \S? 20:03
maybe I should actually read the diff
colomon It doesn't actually say in the diff, that I can see, but it seems that would make sense. 20:07
TimToady there's no general rule like that, but we could define <|s> to mean that 20:13
but we'll have to see what other boundaries the unicrazies come up with and try not to conflict... 20:14
dalek ecs: 1a7a9d9 | larry++ | S0 (2 files):
defined case folding by unicode support level
20:15
20:16 MayDaniel left
dalek ecs: 8e01231 | larry++ | S05-regex.pod:
explicitly note support for <:name(/pattern/)>
20:22
20:31 bah_ left 20:39 masak left 20:41 masak joined 20:42 benabik left
masak sorear: niecza's Makefile expects there to be something called gmcs on my computer. what is it, and where can I find it? I don't see it in the list of dependencies. 20:50
dalek ecs: 7e20743 | larry++ | S05-regex.pod:
allow LTMish characters in character classes
20:51
moritz_ masak: sudo aptitude install mono-gmcs
masak just arrived at the same thing :) 20:52
moritz_ fwiw, regarding .reals methods
the idea is that many mathematical constructs can be translated to a number of reals
for example Complex, vectors, matrices etc.
so the presence of .reals allows lexicographic ordering of those
masak yes, I see the rationale. I just don't like the name, and the rationale doesn't help for me. 20:53
ok, now niecza builds.
20:53 vmspb left 20:54 plobsing left
moritz_ masak: my point is that even if we should have a .reim method, .reals should still exists 20:55
so I kinda disagree with RT #83720 20:56
masak right. and preferably be called something else.
PerlJam moritz_: should there be a .rats too?
moritz_: what about an .ints ?
moritz_ PerlJam: Int ~~ Real and Rat ~~ Real, so "no"
masak: why should it be called something else? 20:57
masak moritz_: also, I don't necessarily see the generality you do here. what about vectors/matrices with complex numbers.
s/\.$/?/
PerlJam moritz_: why whould it be named according to its representation?
moritz_ masak: all of those have useful(-ish) represenations as lists of real numbers
masak er.
20:57 coldhead joined
masak calling it .reals seems like tying it down unnecessarily. 20:57
and I don't imagine I'm saying that just being difficult or abstraction-astronautic. 20:58
moritz_ PerlJam: because the structure of the return value is the reason for having the method
masak: what would you call it?
arnsholt Abstraction-astronautic?
masak arnsholt: caring about abstractions for their own sake 20:59
PerlJam moritz_: that seems to answer more to the reason it's a plural than why it's got "real" in the name
masak moritz_: ok, first off: here's why .reals is really bad.
arnsholt Oh, of course =)
masak moritz_: there's an *attribute* on Complex called .re, short for "real"
moritz_: having a method called .reals encroaches on that mental space, and confuses things by being plural.
[Coke] I thought .reals was a nod to "not ints" 21:00
which doesn't make it any better.
masak moritz_: it's as if an Employee class with a $.boss attribute unexpectedly had a method .bosses
[Coke] something like ".flatten" seems a better choice.
PerlJam [Coke]: or perhaps .components
or .comps
or .list
or .flat
etc. 21:01
21:01 plobsing joined
PerlJam (though I'm not enamoured of anything with "flat" in its name right now) 21:01
masak I don't see why Complex should make being viewed as a pair of numbers particularly easy. the real use of Complex is having it as one unit.
moritz_ because you want them .sort-able? 21:02
21:03 kaare_ left
PerlJam moritz_: I don't see it. Am I being myopic. 21:03
?
masak they can be .sort-able without sharing their components like that.
[Coke] If you want to sort it, seems like you'd define a sort on the attributes.
masak we've talked about sorting Complex numbers before on the channel. there's just no standard way to do it. 21:04
21:04 y3llow_ joined
masak comparing them, really. 21:04
21:04 pothos_ joined
dalek ok: 4e2ec42 | masak++ | src/images/title.svg:
put the dots in my name on the right 'a'
21:05
TimToady .values, perhaps
PerlJam 1+50i is clearly bigger than 50+i because it's got more imagination :)
masak TimToady: that's the first one I don't hate.
PerlJam TimToady: what masak said
(apparently he and I are on the exact same wavelength wrt this subject) 21:06
masak moritz_: above commit fixes title.svg -- what needs to be done to generate title.pdf?
note that .values would work for vectors and matrices as well, if one were so inclined.
21:06 pothos left, y3llow left, pothos_ is now known as pothos 21:07 y3llow_ is now known as y3llow
TimToady there's always .explode :) 21:07
PerlJam Though it will eventually lead to something like @complex.values>>.values at some point.
masak TimToady: .explode sounds more like a command than a query to me :P 21:08
PerlJam It's almost likea Capture. "give me a listy view of your components"
21:09 justatheory joined
TimToady well, if there's a list-based constructor for these, then obviously the deconstructor should be called .old :) 21:12
PerlJam heh
dalek ok: 1ba76c9 | masak++ | src/operators.pod:
[operators] lifted variable out of loop

It doesn't change with each iteration, so it might as well be defined outside of the loop.
Commit courtesy of Håkan Kjellerstrand.
21:13
PerlJam that might work in the same way that "leg" works.
moritz_ back from baby duty... .values breaks the assumption that an item behaves like a single-item list and vice versa 21:14
PerlJam I mean from the user's perspective
moritz_ masak: you need to manually generate title.pdf, iirc
masak: feel free to improve the makefile
masak just wanting to know how to generate it. not wanting to solve the general problem right now. 21:16
moritz_ masak: with, like, inkscape or so
see Makefile for inspiration about which options to use 21:17
there's already one svg -> pdf conversion in the build process
PerlJam Why should .reals be so huffmanized too?
masak subs-n-sigs.pod talks about "The first chapter" and "the second chapter", but these are currently chapters 2 and 3, respectively. is it a mistake that "Preface" is chapter 1, or should the chapter references be adjusted? 21:19
moritz_: there's no mention of inkscape in the Makefile. 21:20
hold on, there's a lib/Makefile... 21:21
PerlJam masak: perhaps those should be references to the appropriate chapter so that even if we move them around it'll still be the right thing.
masak yes, they should be LaTeX refs. 21:22
\label and \ref seems to be enough for that.
masak fixes 21:23
21:23 pmurias joined
masak moritz_: I can generate a .pdf with inkscape from the command line, but the font sizes are all wrong. possibly the typefaces as well. 21:25
moritz_ masak: I'll take a look
masak thank you.
inkscape --without-gui --export-pdf=src/images/title.pdf src/images/title.svg 21:26
that worked for me.
oh wait. can't add LaTeX cross-references, because the source code isn't LaTeX, it's PseudoPod... 21:27
clearly, I've been away from the book for too long :)
ok, making the simple change for now.
dalek ok: 2c54a9e | masak++ | src/subs-n-sigs.pod:
[subs-n-sigs] fixed chapter numbers

This is only a short-term fix; we'd really like real references here, like in LaTeX.
21:29
masak heh. speaking of which, 21:31
subs-n-sigs.pod:451 uses L<pair_forms>
but it comes out as 'pair_forms' in the PDF.
and that line was last touched in July (by chromatic). 21:32
does that mean Pseudopod has a way to work with LaTeX references, but it doesn't work?
moritz_ masak: much of the markup that chromatic touched didn't work 21:33
masak ok.
moritz_ and has been fixed by pronik++ or me
masak so what should I/we do about it?
moritz_ (int he latex emitter, mostly)
masak moritz_++ pronik++
moritz_ masak: find out how it's supposed to work, and make it work
21:34 am0c joined
masak ok. that sounds like a small project, and I want to get through this list 21:34
I'll try not to drop it, though.
I want to get back to editing the book.
PerlJam IIRC chromatic has his own Pod::PseudoPod syntax that he used for Modern Perl. Perhaps he thinks in terms of that and perhaps we can borrow whatever he used.
moritz_ masak++
I think Z<chapter_anchor> is one part 21:36
and then L<chapter_anchor>
Z<pair_forms> bekomes \label{pair_forms}, which looks correct to me 21:37
masak the L<> should then become \ref 21:38
moritz_ what does \ref expand to? chapter number?
gfldex std: grammar Foo { my $just_a_var = 0; &die.wrap({callsame}); }; Foo.parse('abc');
p6eval std 625303c: OUTPUT«ok 00:01 126m␤»
gfldex rakudo: grammar Foo { my $just_a_var = 0; &die.wrap({callsame}); }; Foo.parse('abc');
p6eval rakudo 03380c: OUTPUT«Method 'wrap' not found for invocant of class 'Sub'␤ in main program body at line 22:/tmp/Cd3g2p1Wvq␤»
masak moritz_: something like "Chapter $n"
gfldex should rakudo be able to wrap a buildin within a grammar? 21:39
PerlJam "Chapter $n: <title of chapter>" would be better
masak gfldex: the change wouldn't be lexical just because you do it inside a grammar. 21:40
gfldex i don't want it to be lexical
masak PerlJam: I don't know the extent to which LaTeX can be changed there.
PerlJam: wouldn't be surprised if it were configurable.
moritz_ I'm pretty sure it is
first make it run, then make it pretty :-) 21:41
PerlJam aye
masak gfldex: anyway, it's probably that &die is a Parrot thingie that bites you.
gfldex i don't feel very save with wrapping die either :) 21:42
21:43 Mowah left 21:48 shi left, shi joined 21:51 jevin left
masak rakudo: sub foo { say "42" }; &foo.wrap({ say "Ladies and gentlemen, the answer to the question about Life, the Universe, and Everything:"; callsame }); foo 21:54
p6eval rakudo 03380c: OUTPUT«Ladies and gentlemen, the answer to the question about Life, the Universe, and Everything:␤42␤»
masak rakudo: &die.wrap({ say "Ladies and gentlemen, the answer to the question about Life, the Universe, and Everything:"; callsame }); die "oops" 21:55
p6eval rakudo 03380c: OUTPUT«Method 'wrap' not found for invocant of class 'Sub'␤ in main program body at line 22:/tmp/K6Toy8bosi␤»
masak yep, it must be that &die is "special" somehow.
ELOOPNOTSTRANGEENOUGHYET
21:56 plobsing left
moritz_ die() is defined at PIR level 21:58
masak right.
rakudo: sub foo {}; say &foo.WHAT
p6eval rakudo 03380c: OUTPUT«Sub()␤»
masak rakudo: say &die.WHAT
p6eval rakudo 03380c: OUTPUT«Code()␤»
masak ah.
it's almost more confusing that the error is that .wrap isn't found in Sub, when .wrap is normally called on Sub objects. 21:59
Tene masak: That error is generated by introspecting the type of the die function, whose type happens to be named "Sub" 22:01
This is different from Perl 6's Sub class.
it's a parrot sub
oslt
masak yes. I know. 22:03
sometimes we're lucky enough that the name of the Parrot type differs... then the errors are less confusing :) 22:04
22:04 plobsing joined 22:10 ymasory_ joined 22:15 shi left, shi joined 22:25 szabgab joined 22:29 alester left, leprevost joined 22:30 am0c left, sjohnson left 22:33 justatheory left 22:36 ymasory_ left 22:37 s1n left
dalek d: 2b1d764 | larry++ | STD.pm6:
parse new boundary and character class syntax
22:39
22:43 am0c joined 22:44 sjohnson joined 23:00 cosimo joined
masak rakudo: multi f([]) {}; multi f(@a is copy) { say @a.pop; f @a }; f [<rocks! recursion>] 23:00
p6eval rakudo 03380c: OUTPUT«No applicable candidates found to dispatch to for 'f'. Available candidates are:␤:(Positional ())␤:(@a)␤␤ in main program body at line 22:/tmp/IvdSKUo9hJ␤»
masak aww :( 23:01
arnsholt You get to submit a rakudobug, though, don't you? =) 23:02
masak not until I'm convinced it's an error.
arnsholt Considered a best practice, aibleev
Oh, and regarding your discussion on LaTeX previously, remember that \ref can point to lots of stuff, not only chapters 23:05
But things like sections, tables and figures
23:06 cosimo left, cosimo joined 23:08 rgrau left 23:09 rgrau joined
dalek d: 8246478 | larry++ | STD.pm6:
forgot to add quoted chars to char classes
23:18
masak arnsholt: right, but as I recall, LaTeX mostly DTRT in turning the \ref into a description of whatever the \label is attached to. 23:20
arnsholt Not by default. The default is just to output the correct numbers. So if the label is for table 2.3 it'll just output 2.3 23:22
I think there are packages that provide that kind of functionality though 23:23
masak oh, ok.
well, that makes sense, I guess.
the default being minimal and locale-independent, I mean.
23:23 felliott left 23:24 pmurias left, plobsing left
arnsholt I think the main problem is that you use \label for everything 23:24
Or maybe not, now that I think more... 23:25
masak it has to distinguish types, or the numbering wouldn't work. :)
arnsholt Yeah, there's always that =)
23:26 s1n joined
arnsholt I think my TeXnical expertise is simply too limited to say why it doesn't work like that 23:26
23:26 bacek left 23:28 plobsing joined 23:29 felliott joined 23:30 justatheory joined 23:33 felliott left 23:37 s1n left 23:42 _jaldhar left, _jaldhar joined 23:43 plobsing left 23:44 Chillance left 23:48 icwiener left 23:49 drbean joined 23:51 rgrau left 23:54 felliott joined, am0c left 23:56 rgrau joined
masak 'night, #perl6 23:57
23:58 eternaleye left
sbp 'night masak 23:58
23:59 eternaleye joined