»ö« 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:05 whiteknight joined 00:06 whiteknight is now known as Guest5991 00:11 UncleFester6 left 00:23 DeltaZero joined 00:27 DeltaZero left 00:40 tokuhiro_ joined 00:59 kst joined 01:00 scott__ joined 01:15 cognominal_ joined 01:16 cognominal__ joined 01:17 cognominal left 01:20 cognominal_ left 01:25 ItchyNose joined 01:27 ItchyNose left 01:34 cognominal_ joined
colomon sorear: already had it started before I had to go play the concert tonight. 01:37
01:37 cognominal__ left 01:38 Guest5991 left
colomon r: say sprintf("%e", 100000) 01:58
p6eval rakudo 810e61: OUTPUT«1.000000e+05␤»
02:00 dayangkun joined 02:06 c1sung joined
colomon now has sprintf passing all tests again, including the new %e, %E, %f, %F, %g, and %G tests he added. This is kind of scary on some level, because he's pretty sure he doesn't actually have sprintf working correctly yet. 02:20
r: say sprintf("%10%") 02:27
p6eval rakudo 810e61: OUTPUT«'%' is not valid in sprintf format sequence '%10%'␤ in sub sprintf at src/gen/CORE.setting:2067␤ in block <anon> at /tmp/i3xhuGgoqC:1␤␤»
colomon r: say sprintf("%%")
p6eval rakudo 810e61: OUTPUT«%␤»
colomon nr: say sprintf("%10%")
p6eval niecza v19-7-g5e25209: OUTPUT«%␤» 02:28
..rakudo 810e61: OUTPUT«'%' is not valid in sprintf format sequence '%10%'␤ in sub sprintf at src/gen/CORE.setting:2067␤ in block <anon> at /tmp/WWOPBAZkA5:1␤␤»
colomon interesting... looks like rakudo is correct on that one, at least according to general definitions of sprintf
dalek ast: eb74863 | (Solomon Foster)++ | S32-str/sprintf.t:
Add a bare minimum of tests for %e, %E, %f, %F, %g, and %G.

More tests here are definitely needed.
02:31
colomon sorear: I've committed my first batch of sprintf changes locally, but I'm not going to push them until I'm more confident I haven't broken something that used to work. 02:38
02:47 odoacre joined 02:49 scott___ joined, scott__ left 02:54 tokuhiro_ left 03:02 cognominal__ joined 03:05 cognominal_ left 03:13 smash joined 03:52 eiro joined
dalek ar: 8101c73 | pmichaud++ | Makefile:
Sort MANIFEST to get sane order of files in tarball. Possible fix to RT #113992.
03:54
04:46 thou joined 05:18 birdwindupbird joined
moritz \o 05:32
05:38 daxim joined 05:39 adu joined
dalek c: 11712c1 | moritz++ | lib/Pod/To/SectionFilter.pm:
[p6doc] avoid warnings if requested method was not found
05:41
05:43 kaare_ joined 05:45 szabgab joined
szabgab communicating via email is slow 05:45
moritz: gm, I have some question regarding p6doc and the the REPL 05:46
I tought it would be nice to allow p6doc to allow ./bin/p6doc chomp 05:47
or p6doc $*PROGRAM_NAME
pr just p6doc PROGRAM_NAME 05:48
s/pr/or
moritz well, p6doc PROGRAM_NAME and p6doc routine_name might very well clash 05:49
szabgab qo the queestion 1) where should the docs for global variables go?
05:49 kaleem joined
moritz oh, you meant literal $*PROGRAM_NAME :-) 05:49
szabgab: doc/variables.pod
szabgab 2) it would be nice if p6doc could index all the pods so it will have an easy way to look up where a keyword is documented
moritz agreed 05:50
szabgab should it be p6doc --index or an external script? 05:51
oh and I think it would be nice (and probably faster?) if p6doc had and interactive mode
so you launch it and it gives you a prompt for searching and displaying docs 05:52
moritz szabgab: htmlify has some code that might be used for indexing 05:54
szabgab: I guess we'll need to factor out some of that into a module, and then ... yes, probably a separate script 05:55
szabgab: oh, and we don't have a mechanism yet for running arbitrary commands during the 'make' step, nor for installing data files
szabgab: so, fun times ahead :-)
szabgab I'll look at that though I wonder what should be considered a keyword values of =item and =head2 ?
or is there and X<> ? 05:56
moritz szabgab: as for integrating with the rakudo REPL: would be nice, but I don't have particular plans yet
szabgab can p6doc also refactored to be in a module? 05:57
moritz sure
dalek c: 8e1102b | moritz++ | lib/Str.pod:
[Str] make pod for words and flip more consistent
moritz I just started with the simplest thing that could possibly work
szabgab and stuff like dir() ?
where should that be?
05:57 kaleem left
szabgab in lib/IO.pod ? 05:57
moritz lib/IO.pod
today or tomorrow I want to try to generate per-routine html files 05:58
szabgab in the backlogs I saw that there was certain dislike regarding the pod processor I started to write but no one told *me* anything 06:00
moritz htmlify.pl lines 31 to 44 are what can be the base for indexing
szabgab what's the story? Besides me writing crappy Perl6 code?
moritz szabgab: I didn't notice dislike, just curiosity
szabgab so what is this --doc thing? 06:01
moritz that uses rakudo's built-in pod parser
szabgab and what kind of parameters can it accept?
moritz (which tadzik++ wants to refactor into a module at some point)
if you call perl6 --doc=Foo file it will try to load Pod::To::Foo and call Pod::To::Foo.render(@pod_chunks) 06:02
szabgab was there something about the case of how I wrote Pod ?
aha, this snippet of information could be added to perl6 -h :) 06:03
moritz +1
szabgab: oh, about your email about broken Pod
szabgab: I think =cut is really a left-over from the p5 days 06:04
szabgab I was searching all over in the rakudo source cod for the keywords :)
Oh that reminds me I though something about exceptions
moritz szabgab: but there's a small curiosity in p6 pod which makes it legal
you can write =ANYTHING and it is treated like =block ANYTHIING # or some such 06:05
which allows us to write =TITLE in pod/*.pod
erm, lib/*.pod
szabgab is it possible to write some simple Exception code that can be esily told to 1) either really throw the exception 2) just give a warning 3) do nothing
so I can add Exception...throw in my code and control the above behavior from the outside 06:06
moritz well
szabgab or is this a stupid idea? 06:07
moritz sub mydie($x) is hidden_from_backtrace { given $*EXCEPTION_BEHAVIOR // 'die' { when 'die' { $x.throw }; when 'warn' { warn $x }; default { } } }
06:07 am0c joined
moritz and then you can set my $*EXCEPTION_BEHAVIOR = 'warn'; on the outside 06:08
szabgab I think I saw that =ALLUPPERCASE and =alllowercase are reserved in pod6
moritz hm
szabgab moritz: thanks, I'll try that
moritz not sure if warn() and Exception objects work together yet 06:09
szabgab: if you want a Pod parser in user space with minimal effort, you look at rakudo's src/Perl6/Grammar.pm lines 193 to 389, extract that into a separate grammar, and fake up any dependencies to other parts of the grammar 06:10
szabgab moritz: thanks, I think I have plenty of material now to try to work through 06:14
06:14 kaleem joined 06:15 kaleem left
moritz szabgab: though of coure an independent interpretation of S26 would shake up ambiguties 06:16
adu hi ALL
szabgab I don't understand grammers yet, that's why I went for the plain code I have in that parser 06:17
adu crap I didn't mean caps
sry
plain code = +++awsome++
++++awesome++++
moritz szabgab: I haven't look at your code yet 06:20
szabgab: I just remember that the reason that tadzik's pod parsing code in Perl6/Grammar.pm looks "fancy" is all those indeting rules
masak morning, #perl6 06:24
jnthn morning, masak 06:25
how strange to be awake so early... :P
sorear morning masak
moritz \o masak, jnthn, szabgab 06:28
szabgab moritz: I am trying to implement a recursive &dir 06:29
but if I am not mistaken, with the current &dir I cannot do that as it is a sub and not a multi sub, right? 06:30
06:30 dayangkun_ joined
masak it should be a multi. 06:30
<szabgab> in the backlogs I saw that there was certain dislike regarding the pod processor I started to write but no one told *me* anything
wut?
did I miss this 'certain dislike' when backlogging? it sounds very un-#perl6. 06:31
szabgab maybe I misinterpreted the surprise
masak well, surprise != dislike 06:32
tadzik hello
szabgab gm
gm tadzik
06:33 dayangkun left
masak tadziku! \o/ 06:33
szabgab so is it ok if I chnage the dir to be multi in core/IO.pm ?
is that the right place to do it anyway?
masak yes. 06:34
just run the spectests before you commit ;)
there might be some silly reason it's not a multi today.
szabgab and I also see unlink and rmdir are plain 'sub' s 06:35
masak yeah; should be multis, too.
szabgab: re grammars and parsing POD; since POD is line-based the need for a grammar doesn't seem as overwhelming as otherwise.
but I bet you'll want to migrate to a grammar as it gets more complex ;)
moritz szabgab: you might need to write a custom proto sub when you make them multis, because proto auto-generation doesn't work in the setting 06:36
szabgab masak: I have one big issue in he pod parser that I am not sure yet how to handle: is when tou have =head1 and then the text is on the next line
masak: for now I'd be happy to build up a test suite for the pod parser 06:37
and figure out how the output should look
masak szabgab: sounds to me like 'and then the text is on the next line' would be eminently handled by a grammar, yes. 06:38
but it takes time to learn how to write grammars, too.
and there are fewer established guidelines, and they are less well-known.
szabgab my interest is being practical - parse the pods as they are used now
not the theoretical limits of pod-writing
anyway, I'd better disconnet and go back to my IRC-less mode or I won't get anything done today 06:40
see you another time
and thanks for the directions so far
06:41 szabgab left
jnthn commute & 06:41
06:42 dayangkun_ is now known as dayangkun
masak it's not so much about 'theoretical limits of pod-writing' as getting the parser to behave well in all known cases. 06:43
tests help with this, but few things are as valuable as a solid underlying model.
commute & 06:44
06:46 fridim_ joined 06:52 fhelmberger joined
tadzik commute 06:56
&
sorear pmichaud++ 06:58
07:05 brrt joined 07:27 muixirt joined 07:32 adu left
muixirt moritz: hi, what's the status/plans of/for perl6/doc/htmlify.pl? 07:37
moritz muixirt: hi. Did you read my blog post? 07:38
muixirt not well enough? 07:39
moritz muixirt: well, I want to create nice URLs
like doc.perl6.org/routine/$routinename
doc.perl6.org/SOMETHING
etc.
so I want to hack htmlify.pl to do that 07:40
so that's part of the plan
I also want to add some navigation links etc.
(which might involve hacking Pod::To::HTML)
muixirt: does that answer your question?
muixirt moritz: I was under the impression that htmlify already works 07:41
moritz: yes (sort of)
moritz muixirt: well yes, it generates the pod files on doc.perl6.org
muixirt: but it's less than awesom
e
daxim moritz, can you please add a notice to the footer: this is a work in progress, blah blah, about 8% done. help welcome [link]. about/how to use/instructions [link]. documentation overview [perl6.org/documentation/].
moritz daxim: well, that's part of adding documentation links etc. 07:42
muixirt interesting: my @source = dir('lib').grep(*.f).grep(rx{\.pod$}); # doesn't work here (the *.f part) 07:43
moritz muixirt: you need a sufficiently new rakudo
muixirt I have 2012.06 07:44
moritz muixirt: that's not new enough :/
07:45 dakkar joined
dalek c: f169ca1 | moritz++ | htmlify.pl:
[htmlify] refactor pod generation a bit
07:48
07:50 adam7504 joined
hoelzro hey guys, I tried installing Panda last night (Panda: 2ce433c, Rakudo: 2012.06) and I got the following error: No such method 'basename' for invocant of type 'Str' in File::Find 07:57
moritz hoelzro: rakudo star comes with panda already 07:59
hoelzro: current panda requires a newer rakudo
hoelzro huh.
moritz: thanks!
moritz hoelzro: the last panda that works with rakudo star 2012.06 is 30a73cae58bca562019250cbff76ff950c640a2c
dalek c: b0ff873 | moritz++ | htmlify.pl:
more pod creation refactoring

block, heading and item are now all available as pod-$element subroutines
08:01
hoelzro I just realized that undef is implemented as the prototypical object so that my Int $i = Int type checks. 08:05
that.
awesome.
is.
08:05 tyatpi left, adam7504 left 08:12 fhelmberger left, fhelmberger joined 08:22 huf joined
hoelzro I wrote this dumb little script, and it's failing with an interesting message: gist.github.com/3052303 08:33
the message is use of uninitialized variable $!n of type Any in numeric context in method is-counting at counter.p6:13
moritz hoelzro: that's just a warning, not a failure
hoelzro and if I change line 6 to has $.n, it works just fine
sorry, I meant warning
moritz hoelzro: faq.perl6.org/#privattr 08:34
hoelzro moritz: thanks
oooooooh
I figured I was just understanding wrong, thanks again!
daxim how do I read "so"? is that a mnemonic for something? 08:37
brrt so is boolean context
moritz daxim: as opposite of "not"
flussence: I get a curious error from Pod::To::HTML 08:39
Type check failed for return value; expected 'Str' but got 'Pod::Block::Para' in sub twine2text at lib/Pod/To/HTML.pm:136
flussence: and when I enable debugging, I get (among others)
missing a node2text multi for Pod::Heading.new(level => 1, config => ().hash, content => Array.new(Pod::Block::Para.new(config => ().hash, content => Array.new("Bool"))))
08:39 kaare_ left
moritz flussence: does that mean I'm putting a heading somewhere where a plain text block is expected instead? 08:40
(I generate the pod tree myself... )
oh yes, looks like :/ 08:46
timotimo t/panda/fetcher.t .... fatal: repository 't/' does not exist - but still "all tests succesfull"? 08:48
moritz timotimo: looks like github.com/tadzik/panda/issues/4 08:50
timotimo ah, i see
how come muevent isn't in panda yet? is there a good reason? 08:52
the api seems to be stable, no api change in at least 8 months ;) 08:53
can i tell perl to look at ./lib, too? i don't want to copy lib/* into my "system"-lib/ just to run test suites 08:56
moritz (re muevent) no idea
timotimo: perl6 -Ilib t/yourfile.t
timotimo: if you use an ufo-generated makefile, 'make test' will do that for you 08:57
(well, it sets PERL6LIB, which is equivalent)
timotimo oh, cool 08:58
moritz prove -Ilib -e perl6 -r t/ # might also work 08:59
dalek c: 7a224ae | moritz++ | sync:
add shell script to copy docs over to doc.perl6.org
09:11
c: 202b165 | moritz++ | htmlify.pl:
write per-routine HTML files
09:12
09:13 kresike joined
kresike hello all you happy perl6 people 09:13
09:15 thou left
brrt hello happy kresike 09:16
kresike hello brrt o/
09:17 dayangkun left
dalek c: 2e9729b | moritz++ | sync:
[sync] use full domain name
09:20
c: 4f074fe | moritz++ | htmlify.pl:
[htmlify] fix link
moritz r: my ($a, $b) = <a b>; say "$a#$b"; 09:22
p6eval rakudo 810e61: OUTPUT«===SORRY!===␤Confused␤at /tmp/Wl8Rb8LLrG:1␤»
moritz n: my ($a, $b) = <a b>; say "$a#$b";
p6eval niecza v19-7-g5e25209: OUTPUT«a#b␤»
moritz r: my ($a, $b) = <a b>; say "$a#{$b}"; 09:23
p6eval rakudo 810e61: OUTPUT«===SORRY!===␤Confused␤at /tmp/O9rzSrLuci:1␤»
moritz r: my ($a, $b) = <a b>; say "{$a}#$b";
p6eval rakudo 810e61: OUTPUT«a#b␤»
dalek c: 321b666 | moritz++ | htmlify.pl:
[htmlify] *really* fix link
09:26
moritz ok, URLs like doc.perl6.org/routine/count work now
they just aren't linked to from anywhere 09:27
tadzik timotimo: it's not in ecosystem?
ha, indeed
09:28 fridim_ left 09:30 Pleiades` joined
dalek c: af090f6 | (Gabor Szabo)++ | / (2 files):
indexing =head and =item elements and allowing the user to type "p6doc chomp"
09:32
c: b92758e | (Gabor Szabo)++ | / (3 files):
Merge branch 'master' of github.com:perl6/doc
moritz szabgab++ 09:34
09:36 mucker_ joined 09:38 GlitchMr joined 09:39 mucker_ left
dalek c: 9bcbe6b | moritz++ | htmlify.pl:
include routines on the front page

this might change in future when we have too many of them
09:41
09:43 mucker joined
moritz and yes, I know that the prefix:<?> link is broken 09:44
that needs proper URI escaping in Pod::To::HTML
s/proper<(/ and magical/ 09:45
dalek c: 9c873e0 | GlitchMr++ | lib/Str.pod:
Remove %m modifier properly
09:46
09:49 mucker left
GlitchMr perl6: $*OUT.WHAT 09:50
p6eval rakudo 810e61, niecza v19-7-g5e25209: ( no output )
GlitchMr perl6: say $*OUT.WHAT
p6eval niecza v19-7-g5e25209: OUTPUT«TextWriter()␤» 09:51
..rakudo 810e61: OUTPUT«IO()␤»
GlitchMr Should it be IO() or TextWriter()?
moritz I expect it'll soon become IO::Handle
GlitchMr I guess IO()
moritz don't trust S16 :-)
GlitchMr perl6: Mu.print 09:54
p6eval niecza v19-7-g5e25209: OUTPUT«Use of uninitialized value in string context␤ at /home/p6eval/niecza/lib/CORE.setting line 1263 (warn @ 5) ␤ at /home/p6eval/niecza/lib/CORE.setting line 268 (Mu.Str @ 15) ␤ at <unknown> line 0 (ExitRunloop @ 0) ␤ at /home/p6eval/niecza/lib/CORE.setting…
..rakudo 810e61: OUTPUT«use of uninitialized variable $v of type Mu in string context in block <anon> at /tmp/FnxdaiUXqM:1␤␤»
GlitchMr perl6: Mu.printers
p6eval niecza v19-7-g5e25209: OUTPUT«Unhandled exception: Unable to resolve method printers in type Mu␤ at /tmp/zj_CQVBpy_ line 1 (mainline @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting line 3918 (ANON @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting line 3919 (module-CORE @ 562) ␤ at /home…
..rakudo 810e61: OUTPUT«No such method 'printers' for invocant of type 'Mu'␤ in block <anon> at /tmp/RYnMw3Y2e2:1␤␤»
GlitchMr So, I guess that .print is in Mu? 09:55
muixirt r: circumfix:«( )»('a', 'b', 'c') #from operators.pod
p6eval rakudo 810e61: OUTPUT«===SORRY!===␤:\xAB( )\xBB cannot be resolved at compile time␤»
GlitchMr Uhmmm... why it cannot be resolved at compile time?
moritz has no idea what means 09:57
r: circumfix:<( )>('a', 'b', 'c')
p6eval rakudo 810e61: OUTPUT«===SORRY!===␤:<( )> cannot be resolved at compile time␤»
GlitchMr He called circumfix:<( )>
10:00 mucker joined
dalek c: 564243f | moritz++ | lib/Exception.pod:
document Exception
10:03
GlitchMr perl6: 42.note
p6eval rakudo 810e61: OUTPUT«No such method 'note' for invocant of type 'Int'␤ in block <anon> at /tmp/QKkIISwQJK:1␤␤»
..niecza v19-7-g5e25209: OUTPUT«Unhandled exception: Unable to resolve method note in type Int␤ at /tmp/TNvqeGRvs9 line 1 (mainline @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting line 3918 (ANON @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting line 3919 (module-CORE @ 562) ␤ at /home/p6…
GlitchMr perl6: '42'.note
p6eval niecza v19-7-g5e25209: OUTPUT«Unhandled exception: Unable to resolve method note in type Str␤ at /tmp/L2p9zf7hVp line 1 (mainline @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting line 3918 (ANON @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting line 3919 (module-CORE @ 562) ␤ at /home/p6…
..rakudo 810e61: OUTPUT«No such method 'note' for invocant of type 'Str'␤ in block <anon> at /tmp/6XC4YRj4fz:1␤␤»
dalek c: fdc5992 | GlitchMr++ | lib/Mu.pod:
Fix whitespace
10:05
c: 71e0f14 | GlitchMr++ | lib/Mu.pod:
Add printing methods to Mu
c: f4aa1c3 | (Gabor Szabo)++ | .gitignore:
gitignore the temporary index file so we wont commit it by mistake
c: 3b8af6d | (Gabor Szabo)++ | lib/variables.pod:
add some more variables
c: da65497 | (Gabor Szabo)++ | / (2 files):
index the X<> tags as well and display the whole section. Use as p6doc '$_' and p6doc '$*OS'
c: 48f27ec | (Gabor Szabo)++ | / (3 files):
Merge branch 'master' of github.com:perl6/doc
c: 2c8b442 | (Gabor Szabo)++ | lib/Mu.pod:
Merge branch 'master' of github.com:perl6/doc
GlitchMr "Merge branch 'master' of github.com:perl6/doc"
moritz GlitchMr: note that say and print also both have sub forms, and that they differ in the way the stringify things 10:06
GlitchMr I still don't know how to avoid this error. Somehow I avoid it on GitHub on Windows, but what about avoiding it when I don't use it?
dalek c: 37dfbc1 | (Gabor Szabo)++ | lib/variables.pod:
add more X<> tags
moritz GlitchMr: it would be nice if you could add that do the docs you just inserted
GlitchMr: (re branch merges) that happens when somebody does 'git pull' instead of 'git pull --rebase'. In this case it was Gabor, not you 10:07
GlitchMr I know, but sometimes I do it in other repositories
But thanks
<moritz> GlitchMr: note that say and print also both have sub forms, and that they differ in the way the stringify things 10:09
Also, how they differ?
I guess it's some edge case, but still
10:09 scott___ left
moritz GlitchMr: faq.perl6.org/#say 10:10
nr: print Int
p6eval rakudo 810e61: OUTPUT«use of uninitialized variable $v of type Int in string context in block <anon> at /tmp/07uLZFSoif:1␤␤»
..niecza v19-7-g5e25209: OUTPUT«Int()»
moritz r: say Int
p6eval rakudo 810e61: OUTPUT«Int()␤»
moritz rakudo++ is correct here
10:11 mucker left
GlitchMr r: say Mu.Str 10:12
p6eval rakudo 810e61: OUTPUT«use of uninitialized value of type Mu in string context in block <anon> at /tmp/8dGCffuLQF:1␤␤␤»
10:16 tyatpi joined
muixirt so what's wrong with circumfix:«( )»('a', 'b', 'c') 10:18
moritz I have no idea
10:24 Psyche^ joined, Psyche^ is now known as Patterner
dalek c: e973f74 | (Gabor Szabo)++ | lib/ (2 files):
start writing IO.pod
10:26
sisar hi #perl6 !
moritz \o sisar
dalek c: 32cd75a | GlitchMr++ | lib/Mu.pod:
Fix .print and .say description
10:27
c: c7b75de | GlitchMr++ | lib/Mu.pod:
Add stringification methods on Mu.
GlitchMr perl6: print circumfix:«( )»('a', 'b', 'c')
p6eval niecza v19-7-g5e25209: OUTPUT«===SORRY!===␤␤Undeclared routine:␤ 'circumfix:«( )»' used at line 1␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 1402 (die @ 5) ␤ at /home/p6eval/niecza/src/STD.pm6 line 1147 (P6.comp_unit @ 37) …
..rakudo 810e61: OUTPUT«===SORRY!===␤:\xAB( )\xBB cannot be resolved at compile time␤»
sisar still fails to grasp why @moritz++ et al write docs in pod then html-ify them
I guess I'm missing some important point here.
moritz sisar: what else should I do?
GlitchMr sisar, because POD is parsable 10:28
There is p6doc tool which doesn't use HTML (at least I think so)
moritz sisar: write code in HTML, and then parse it for the command line client, and turn it back into plain text?
sisar moritz, GlitchMr: no (more)
moritz sisar: and my time is too valuable to manually HTML-escape the code I write
GlitchMr Or less
my $pager = %*ENV<PAGER> // ($*OS eq 'MSWin32' ?? 'more' !! 'less');
But seriously, what's this? 10:29
sisar ooc, ain't there a html parser for terminal ?
gah, that was written poorly
daxim does `lynx -dump` count?
sisar ooc, ain't there a html renderer for terminal ?
arnsholt GlitchMr: It selects the appropriate program to display a long file 10:30
moritz GlitchMr: www.slackbook.org/html/file-commands-pagers.html
sisar: for which terminal?
sisar daxim: i'm sorry, i don't know anything about lynx, let me check it out
GlitchMr Well, I just don't like OS specific code...
But whatever
daxim lynx.browser.org/
sisar daxim: thanks, let me look 10:31
arnsholt Sometimes you can't avoid OS-specific stuff
GlitchMr Especially as I have "less" on my Windows installation
arnsholt Especially to handle the differences between Windows and Unix
daxim www.greenwoodsoftware.com/less/
moritz GlitchMr: there's no sub form of Str
GlitchMr: because it would collide with the type Str 10:32
sisar GlitchMr: in a conversation here in IRC, how would one indicate that "Hey, this sentence is not enough, i want to say more before you comment on it" in an OS neutral way ?
dalek c: 02d2a9e | GlitchMr++ | lib/Mu.pod:
There is no Str sub
daxim perhaps add an ellipsis at the end… 10:33
so you know I'm going to finish in the next line
or perhaps not
does it matter?
tadzik append (more) at the end?
pm usually does that
GlitchMr Hello (more)
world.
sisar :-) 10:34
tadzik: that's what i did, but GlitchMr++ got confused by that :)
daxim then you have to make it look like in nethack --MORE-- 10:35
GlitchMr Well, (more) in short sentence is well...
daxim You die.
DYWYPI?
sisar retreats back in confusion 10:36
daxim nethackwiki.com/wiki/DYWYPI
GlitchMr Do you want your possessions identified?
10:47 seldon joined 10:51 muixirt left
dalek c: 396295f | GlitchMr++ | lib/Int.pod:
Add integer methods.
10:59
GlitchMr Also, I have noticed a small problem 11:01
doc.perl6.org/
11:01 cognominal__ left
GlitchMr prefix:<?> link doesn't work 11:01
11:01 cognominal__ joined 11:06 fridim_ joined
moritz GlitchMr: irclog.perlgeek.de/perl6/2012-07-05#i_5786510 11:24
GlitchMr Proper URI escaping...
31<GlitchMr>30 ,eval encodeURIComponent('prefix<?>') 11:25
18<YIBotDev> 'prefix%3C%3F%3E'
Something like this I guess
moritz GlitchMr: there's no need for those Int method, since they are all inherited from or provided by other roles
(in the abstract, at least; the implementation details aren't relevant for user documentation)
dalek c: cb9871d | moritz++ | htmlify.pl:
recursive dirwalking
11:27
moritz nr: say gist(1.2) 11:30
p6eval rakudo 810e61, niecza v19-7-g5e25209: OUTPUT«1.2␤»
dalek c: 18953db | moritz++ | lib/Mu.pod:
[Mu] communicate intent of methods Str and gist
GlitchMr Thanks, moritz++ :) 11:31
dalek c: 5a48dad | moritz++ | lib/Int.pod:
[Int] remove methods again

they are all (at least notionally) provided by superclasses or roles
We need some way to also display those methods along with a class, but repeating them in every class is definitely the wrong way
  -- it simply does not scale
11:33
c: d8168af | moritz++ | README:
document that methods from superclasses should not be included
11:34
GlitchMr But, yeah, Perl 6 needs good documentation 11:36
timotimo that's almost an universal truth in software development and such
especially in open source software ;)
moritz GlitchMr: sorry for reverting one of your commits; its a bit of a danger when contributing to an early stage project
GlitchMr No problem
moritz GlitchMr: other than that one, I really liked your patches so far
GlitchMr Well, it's Git 11:37
It's always possible to revert or improve things
11:39 spider-mario joined
dalek c: e5b9ea7 | moritz++ | TODO:
add a TODO list for known missing types
11:42
11:44 tyatpi left 12:05 cognominal__ is now known as cognominal 12:19 mikemol joined
dalek c: 7ce5e95 | moritz++ | htmlify.pl:
fix escaping of routine names
12:20
c: 036f15f | moritz++ | htmlify.pl:
properly handle multi-joined type names
c: 1c81143 | moritz++ | lib/X/AdHoc.pod:
document X::AdHoc
moritz n: say Match ~~ Capture 12:24
p6eval niecza v19-7-g5e25209: OUTPUT«False␤»
dalek c: b59ba22 | moritz++ | lib/IO.pod:
[IO] small language fixes
12:26
12:43 tyatpi joined 12:52 mikemol left 12:54 PacoAir joined 12:57 mucker joined 13:00 tyatpi left 13:01 daxim left
moritz todays' autopun spotted in the perlmonks chatterbox: [Corion] Aah, the Blame Game! I would play too, but [tye]'s preventing it! 13:01
13:06 cognominal left, cognominal joined
[Coke] just skips all backscroll, thanks to adu and diakopter. 13:10
Happy day after beer and blowing things up day from the US. 13:11
moritz [Coke]: today's backscroll (as the IR clog splits it up) is free of finance/politics stuff :-)
[Coke] ah, thanks. 13:15
GlitchMr perl: my *star = sub { "A star!" }; star 13:16
13:17 sergot joined
sergot hi o/ 13:17
GlitchMr wrong channel
lol
[Coke] moritz++
colomon nr: say sprintf('%-10s', 'string') 13:25
p6eval rakudo 810e61, niecza v19-7-g5e25209: OUTPUT«string ␤»
colomon nr: say sprintf('%-10d', 42) 13:26
p6eval rakudo 810e61: OUTPUT«42 ␤»
..niecza v19-7-g5e25209: OUTPUT« 42␤»
colomon nr: say sprintf('%-010d', 42)
p6eval rakudo 810e61: OUTPUT«42 ␤»
..niecza v19-7-g5e25209: OUTPUT«0000000042␤»
colomon wishes he had a handy C REPL... 13:27
arnsholt Hmm. Maybe you could set up something like that with some LLVM/clang magic? 13:28
moritz root.cern.ch/drupal/content/cint 13:29
colomon neugierig.org/software/c-repl/
moritz colomon: I was about to post that next :-)
colomon alas, their link for code doesn't seem to work? 13:30
13:32 tyatpi joined 13:34 bluescreen10 joined 13:35 mucker left
[Coke] hates reading #p5p. Coke wonders why he's doing it 13:37
13:38 skids joined 13:48 telex joined
arnsholt "Or just use it as a simple calculator, content in knowing it is much faster than your neighbors using irb, like driving a Ferarri on city streets." ^_^ 13:58
kresike "Ferrari on city streets" = "the strongest chick magnet ever" :) 14:00
moritz wonders how much of that is /urban/ legend
[Coke] wonders how one causes small land fowl to be magnetized. 14:02
seldon By feeding them iron. 14:05
dalek c: 821d556 | moritz++ | htmlify.pl:
[htmlify] small code simplification
14:07
brrt wondered for a very long time why small land fowl should be magnetic at all 14:11
before he read what kresike said
14:12 atrodo joined
kresike wonders how much wondering he has started 14:13
seldon I wonder if a magnetic chicken delivery system would make a farmer's life easier. 14:14
colomon egg delivery, maybe. can't see how chicken delivery would help....
seldon Maybe if only one gender were magnetic, you could build automatic chick sexing machines. 14:15
moritz thinks that large kitches could benefit from a magnetic chicken delivery system
seldon Do Ferraris only work on female chicks?
[Coke] imagines an egg rail gun.
seldon Careful, that might backfire. 14:16
kresike rotfl
[Coke] only really useful on halloween.
moritz [Coke]: it'd have to accellerate very carefully :-)
seldon And you'd have egg all over your face.
moritz well, or for unloved politicians
seldon ...which would be several hundred meters behind your body at that point.
moritz especially if it also supports tomatoes
seldon What about pumpkins? 14:17
kresike what about cakes ?
moritz I don't think the standard cake is aerodynamically optimized for railgun firing
seldon I would buy at a baker who delivered his cake by railgun. 14:18
moritz wants a city-wide people delivery system based on trebuchets on the sender side and big nets on the receiver sides 14:19
arnsholt Perhaps tube-mail is a more viable option than railguns? =)
Or trebuchets, for that matter
seldon Couldn't you combine tube mail and railguns? 14:20
moritz at least trebuchets don't exclude people with pacemakers and defibrilators :-)
seldon Yeah, trebuchets suck.
arnsholt I don't think you could make a railgun-powered tube-mail system 14:21
seldon Oh, you wrote "exclude". I read "explode".
moritz seldon: :-)
seldon Okay, so you could use trebuchets as a backup source of kinetic power. 14:22
I believe they'll be harder to hook up to the tube mail system than railguns, though.
14:23 sergot left
kresike we can conclude that getting from a Ferrari on city streets to trebuchets exploding people with pacemakers takes a lot of wondering :) 14:23
moritz it just takes a few geeks :-)
seldon moritz: How would you feel about replacing the trebuchet with a ballista?
moritz seldon: bad. I like trebuchets. 14:24
r: say Parcel ~~ Positional 14:25
p6eval rakudo 810e61: OUTPUT«True␤»
pmichaud good morning, #perl6
seldon Morning
moritz good am, pm
huf fire the trebuchet from a ballista 14:27
seldon That's one big ballista. 14:28
14:28 fglock joined
huf or a small trebuchet 14:28
seldon Where'd be the fun in that?
huf baby trebuchets are cute!
14:29 MayDaniel joined
seldon I think it would be better to fire a bunch of ballistas from a trebuchet. 14:29
Not for the purposes of tube mail, though. 14:30
huf that'd be "bute-mail" 14:31
wait, no, tube it is
seldon brute mail, perhaps.
sisar just spotted blog.livedoor.jp/dankogai/archives/50312761.html 14:32
Don't ask me how ;)It's in Japanese !
moritz if you're interested in Japanese Perl 6 stuff, search for 'perl6' on twitter 14:33
dalek c: 85cc9db | moritz++ | lib/Parcel.pod:
initial Parcel documentation
14:34
seldon I wonder what ε(     v ゚ω゚) means.
sisar moritz: oh ! 14:35
seems like people are using Perl6 in Japan and blogging about it ! Nice !
moritz now if only we could encourage more interaction between the English and Japanese Perl 6 communities...
sisar do we have any Japanese speakers here ? 14:36
pmichaud moritz: ping 14:38
moritz pmichaud: pong
pmichaud for the 2012.06 star release, did you create the tarball by hand, or use the 'make release' command to do it?
colomon Firing ballistas from a trebuchet totally sounds like something that should have happened in my old RPG "Blaze of Glory". (Because for a split second there, if stabilized correctly, the ballista would have a really good shot at the target, right?) I'm surprised the players never thought of it....
moritz pmichaud: I created the tarball by hand. I wasn't even ware of a 'make release' command 14:39
pmichaud aha
moritz *aware
pmichaud okay, that explains a bit then :)
moritz we clearly need a release guide 14:40
and I've meant to write one for months
pmichaud moritz++ pmichaud--
I've meant to write one for longer than that. I'll write one.
sisar Pins the tab twitter.com/#!/search/realtime/perl6
pmichaud checks his calendar
I'll commit to doing the 2012.07 star release. 14:41
14:41 vmspb joined
moritz \o/ 14:41
pmichaud I'll also commit to having the guide written up so others can try it.
As part of this month's release I also want to publish a Windows/MSI distribution. 14:42
(and a process for doing that regularly also) 14:43
moritz: okay, thanks. :)
moritz pmichaud: what's the singificance of running 'make tarball' instead of tar xcf rakudo-star-2012.06.tar.gz rakudo-star-2012.06/ ?
pmichaud well, for one, the manual tar command ends up including all of the .git directories :-) 14:44
moritz oh
kresike bye all
moritz that'd explain its size
14:44 kresike left
pmichaud 'make release' also creates the MANIFEST 14:45
and builds the tarball directly from the MANIFEST
moritz pmichaud: starting from 2012.04, I've started to tag the star releases 14:46
pmichaud okay
moritz I'm not aware of any problems this might have caused
pmichaud tagging shouldn't be an issue
moritz (iirc the github download page used to mix up tag-based tarballs and "real" downloads, or so, and thus confused our users) 14:47
pmichaud how does tagging assist there, ooc? 14:48
14:48 brrt left, brrt joined
moritz it doesn't. It's just interesting historical information. 14:49
pmichaud okay.
14:52 HarryS joined
moritz completely different question: exactly what methods does the Positional role supply? 14:53
14:54 tokuhiro_ joined
pmichaud just 'of', afaik. 14:58
Positional is used primarily as a constraint
moritz that seems a bit weak, API-wise
pmichaud what are you expecting it to do?
moritz intuitively I'd expect Positional (and thus the @ sigil) to guarantuee .[] indexing, iteration and the ability to flatten 14:59
at least
pmichaud sure, but Any also guarantees .[] indexing
iteration is guaranteed by the Iterable role 15:00
moritz yes, but it only supplies a rather weak form of it
dalek c: 7fd6d67 | (Gabor Szabo)++ | lib/IO.pod:
add documentation about file test operators
c: 0144fda | (Gabor Szabo)++ | / (7 files):
Merge branch 'master' of github.com:perl6/doc
pmichaud not everything that is Iterable is Positional
thus flattening is handled by the Iterable type 15:02
moritz does Positional imply support for list assignment? 15:03
pmichaud no.
my %h = 1, 2, 3, ...
(although %h is not Positional, there) 15:04
moritz erm
a counter example would be to name a Positional type which doesn't support list assignment
15:05 skids left
pmichaud Range 15:05
moritz good one
dalek c: ddc9f0c | moritz++ | lib/Int.pod:
[Int] mention Int literals
15:06
pmichaud the Positional type basically says "can bind to @-variable", and implies an ability to do .[] more than the basic Any form.
colomon r: say sprintf('%20.2g', -3.1415e30) 15:10
p6eval rakudo 810e61: OUTPUT« -3.1e+30␤»
colomon n: say -3.1415e30 15:11
p6eval niecza v19-7-g5e25209: OUTPUT«-3.1415E+30␤»
colomon r: say -3.1415e30
p6eval rakudo 810e61: OUTPUT«-3.1415e+30␤»
15:20 szabgab joined
szabgab r: say IO::Path.new(dir => "a/b/c").perl 15:22
p6eval rakudo 810e61: OUTPUT«Could not find symbol 'IO::&Path'␤ in block <anon> at /tmp/M9DuMc6wK3:1␤␤»
szabgab oh
it worked on my rakudo
r: say IO::Dir.new(dir => "a/b/c").perl 15:23
p6eval rakudo 810e61: OUTPUT«Could not find symbol 'IO::&Dir'␤ in block <anon> at /tmp/rIrVPXqzMP:1␤␤»
tadzik szabgab: safe mode, I think
szabgab ok, anyway this say IO::Path.new(qqrq => "a/b/c").perl 15:24
also worked
which surprised me
should a class limit the keys I can supply to the attributes? 15:26
*shouldn't >
pmichaud szabgab: in general, any method is expected to be able to accept keys it doesn't understand.
in the case of .new, it might need to also deal with keys for attributes in super/sub classes. 15:27
szabgab oh right, that tripped me in Moose as well 15:28
15:28 fhelmberger left, thelazydeveloper joined
szabgab anyway I suddenly have to go and take my daughter to some show, back later 15:29
15:30 szabgab left 15:41 fglock left 15:43 GlitchMr left 15:44 skids joined 15:46 Andrew joined, Andrew is now known as Guest9231 15:48 alester joined, am0c_ joined
colomon r: say sprintf("%05f", -1.1) 15:51
p6eval rakudo 810e61: OUTPUT«-1.100000␤»
colomon r: say sprintf("%020f", -1.1)
p6eval rakudo 810e61: OUTPUT«-000000000001.100000␤»
geekosaur hm, shouldn't obsolete syntax go away at some point? 15:52
hoelzro ]jobs
oops
wrong window =/
geekosaur leading zero as a printf-spec option flag has problems and was deprecated, I thought 15:53
[Coke] geekosaur: double check the spec?
geekosaur [Coke], I don't mean the perl6 spec, I mean the *printf* spec. specifically the original (ANSI C) 15:54
which noted the conflict inherent in using '0' as a formatting flag and deprecated it. yet nobody else has deprecated it. the conflict is considered a feature in every language other than ANSI C? 15:55
seldon It's not deprecated in C99.
geekosaur ...realy? thought ANSI introduced the deprecation in the first place. maybe they gave up
seldon Well, I don't have a copy of C11 here, but it's very much there in C99, and no deprecation notice. 15:56
pmichaud even if C deprecates it, it still exists in Perl 5, which is the printf on which Perl 6 is currently based.
seldon Compare ISO/IEC 9899:1999 7.19.6.1 (6)
geekosaur whatever, forget I said anything. it's still a wart but I guess everyone gave up on trying to fix it 15:57
seldon How is it a wart? 15:59
Ulti www.perl6.org/archive/rfc/63.html in the $SIG{__DIE__} section on here the paragraph just ends mid sentence... 16:01
out of interest what is going to be done about problems with localising a sig die handler, as I ran into a lot of problems recently with a library globally swallowing die 16:02
is it just going to be left up to people not doing something stupid?
16:03 brrt left
pmichaud Ulti: I suspect handlers in Perl 6 are dynamically scoped. Synopsis 17 speculates there's a %*SIG variable that contains the currently active handlers. 16:05
moritz doesn't know how a dynamic variable can sanely map to something that is actually per-process 16:06
pmichaud the process-level handler might be something that does the dynamic mapping 16:07
moritz it still doesn't make any sense to me 16:08
consider %*ENV, which is probably the easiest to understand
16:08 sergot joined, sergot left
moritz if you create a new { my %*ENV = (PATH => "foo") } 16:08
does it change the per-process environment variables? 16:09
if so, how does the compiler know how to do that?
my special-casing the name %*ENV ?
pmichaud the model I was using would set up the per-process env variables to match %*ENV whenever doing something that would "leave" the Perl 6 realm 16:10
16:10 thou joined
moritz and if it doesn't change the per-process environment variables, what's the use of having a dynamic variable for it? 16:10
pmichaud (nom does something entirely different, I notice, but I haven't wanted to go through and mess with it yet)
moritz that would make NCI calls and calls to other languages on the same VM quite expensive
pmichaud I agree, I didn't say it was a good model :) 16:11
moritz you'd have to re-check $*CWD, %*ENV, $*PID and all the other variables before each invocatio
n
pmichaud I'm not sure there really is a $*CWD, fwiw. 16:12
the only places it appears in the synopses are all speculative, afaict 16:13
16:15 dakkar left
geekosaur moritz, for envars I can see it; it changes a stash which is only referred to when spawning external subprocesses, in which case you can certainly use a lexical instead of a process-wide stash. there is of course the question of extrenal libraries that use envars, but (a) those can be problematic anyway (b) %*GLOBAL::ENV or something? 16:17
16:21 simcop2387 left
dalek ar: d794b43 | pmichaud++ | Makefile:
Update creation of MANIFEST in 'make release' target to better handle files with leading dot.
16:23
moritz geekosaur: indepently of whether env vars are affected or not, that model seems to assume that IO only happens through very limited channels 16:24
16:24 simcop2387 joined
moritz geekosaur: and I believe that to be false, in the light of calls across different languages 16:24
pmichaud sounds like a spec ticket :) 16:25
moritz also it changes the cost to O(system calls + process state changes) when it coudl be O(process state changes)
pmichaud: ok, I'll open one
geekosaur cross-language call could certainly be made to fit. (I'm not arguing for this, just noting that it is doable. there would certainly be overhead) 16:26
pmichaud the overhead could be minimized to some extent by keeping track of the identity of the %*ENV object used to populate the current process environment. But yes, there's still a check. 16:27
geekosaur (I have actually had a use for that kind of environment management. Not nearly often enough for its overhead to be standard, I think) 16:28
dalek c: 7edf743 | pmichaud++ | lib/Parcel.pod:
[Parcel] Add 1-element Parcel example.
16:31
pmichaud should the p6doc IO documentation have a note that we expect IO to undergo further changes? 16:32
16:33 snearch joined
moritz yes 16:33
pmichaud in p6doc I disagree somewhat with 5a48dad (removing methods that override superclass methods). Whenever a method has a unique semantic, I think it needs documenting. 16:34
16:35 colomon joined
pmichaud since Int.Bool is different from List.Bool, they should both be documented. 16:35
(although Int.Bool might really be Numeric.Bool, in which case I withdraw my objection)
moritz it is Numeric.Bool, at least notionally 16:36
pmichaud okay, I just misread the commit log then.
moritz++
moritz same for Str and gist
16:38 mucker joined
sisar just spilled [Coke] over my touchpad :/ 16:38
sisar curse Coke
;p
oh, the cola not the drug ! 16:39
flussence I've read somewhere that the acid in that stuff makes it an effective drain unblocker. You probably don't want it getting in your laptop... 16:40
moritz github.com/perl6/specs/issues/14
sisar flussence: :) don't worry, i activated my ninja-mode, and cleaned is JIT :) 16:41
moritz oh, and the phosphorus might dope your chips :-)
seldon flussence: Your source may be questionable. 16:42
sisar looks up chemical composition of Coke
moritz (if implanted by an ion beam, not by merely spilling coke on it)
water, sugar, phosphoric acid # 3 most important components, chemically speaking
seldon It looks like a variation of the "cola will dissolve a tooth overnight" urban legend. 16:43
moritz I'm sure it does... if you cook it under pressure at 200°C for the night :-) 16:45
sisar huh. My coke bottle just says "Contains Caffeine" in all caps, but doesn't say how much caffeine. I used to think they are supposed (by regulation) to mention it on the bottle. 16:46
sisar looks up Food and drinks Regulations rules of his country
dalek c: 31dc410 | pmichaud++ | README:
Add a wishlist section to README. (This could be factored to somewhere else; but the README is short enough that it makes sense here for now.)
16:54
16:54 tokuhiro_ left 16:55 tokuhiro_ joined 16:57 domidumont joined
sorear good * #perl6 16:58
17:01 tokuhiro_ left, domidumont left
sisar realises that finding the law on a specific question is not one of his skills :| 17:03
sorear: hi !
szabgab++ (twitter.com/szabgab/status/220893466543140869 ) 17:06
dalek kudo/nom: 58d9852 | pmichaud++ | src/core/IO.pm:
Update IO.s to return file size.
17:12
pmichaud 58d9852 seems to resolve some todo's spectests, but I won't be able to get to them for a few hours. Others are welcome to beat me to that. :) 17:14
afk
17:16 xinming joined 17:19 sisar joined 17:24 birdwindupbird left 17:25 atrodo_ joined, atrodo left, atrodo_ is now known as atrodo 17:26 domidumont joined 17:29 Guest9231 left 17:31 oshanz joined 17:36 am0c_ left 17:38 oshanz left 17:43 atrodo left, atrodo joined
dalek kudo/nom: 6ec88fa | duff++ | src/core/Main.pm:
Set $PROCESS::ARGFILES after command line processing
17:56
masak good evening, #perl6 18:01
18:02 PZt joined
colomon \o 18:02
seldon o/ 18:03
masak dinners 18:05
jnthn evening o/ 18:08
sorear good day masak, jnthn, colomon, seldon
welcome to #perl6, seldon, I do not think I have seen you here before
seldon I only started with perl6 a few days ago. 18:09
colomon sorear: seldon has been providing very helpful feedback on sprintf details. 18:11
seldon blushes. 18:12
18:13 fgomez joined
colomon okay, so here's a very real question for sprintf in perl6 -- what happens if you use an unsigned format but pass a negative number? 18:15
rn: say sprintf("%b", -1)
p6eval rakudo 6ec88f, niecza v19-7-g5e25209: OUTPUT«11111111111111111111111111111111␤»
colomon that's just crazily wrong in a world of bigints
seldon %b doesn't have to be unsigned, does it? -6 could come out as -110. %u is tricky though, if you want to support it. 18:21
sorear colomon: perl 6 should not have any unsigned formats imo. 18:23
%u is needed in C because only of the lack of runtime types
18:23 domidumont left
colomon sorear: in C (and in p6 specs), %b, %o, %x, etc are all unsigned formats 18:23
But I'm inclined to agree we ought to respec them as signed. 18:24
18:25 domidumont joined
seldon %b doesn't exist in C. But there is the question of whether all C format strings should be supported in perl6. If so, one could ditch only the unsigned constraints and make %u an alias of %d. 18:25
As well as %ld, %lld and whatnot.
colomon I'm inclined to dump %ld, %lld, and whatnot. :) 18:26
18:26 mucker left
seldon If you don't want to preserve compatibility to C, dump %u as well. 18:26
colomon that's where my brain is going at the moment, yup.
18:27 mucker joined
colomon we've already lost (for instance) %p 18:27
seldon It's probably best to start that way. You can later still decide to add things, but dumping them is harder.
colomon forgiveness is easier than permission? 18:28
seldon ?
sorear dropping things tends to break compatibility 18:29
colomon seldon: I'm giving people a quick chance to objet before I just start deleting things from the spec. ;)
seldon Ah.
colomon *object 18:30
sorear de-lete! de-lete! de-lete!
colomon let's see, where did I put the spec on my computer?
seldon Somewhere under /var?
:P 18:31
colomon ~/tools/specs, actually
masak yeah, I have a good feeling about seldon. he seems compatible with our cultural features and quirks. :)
I might be biased, because apparently he played my adventure game yesterday :P 18:32
colomon dang it, forgot to pull before starting to edit. 18:33
timotimo stash, pull, pop?
seldon I still have to fence that butterfly, masak. 18:34
colomon pop? I used stash apply
timotimo stash pop will remove the entry from the stash additionally
colomon timotimo: ah. learn something every day 18:35
masak .oO( fence that butterfly? is that slang for pushing drugs? :P )
guys, I love my job. jnthn and I have been spending a whole day in a meeting room in a relaxed atmosphere with our laptops, walking back and forth between our chairs and the whiteboard, literally figuring out how to write better software. 18:36
dalek ecs: 7ccf428 | (Solomon Foster)++ | S32-setting-library/Str.pod:
Make unsigned sprintf types signed, remove modifiers entirely.
masak not all days are like this. but still!
seldon I have a question about the hanoi minigame, though: How come I can move the disks around if all but the tiny disk are too heavy to carry?
masak seldon: hehehe
[Coke] "there's this machine in the wall..." 18:37
colomon seldon: with the greatest effort you can move them from one pole to another. carrying them further would just be impossible
masak seldon: I imagine that the player is only just able to shove them over to another rod.
right. what colomon said.
seldon I could roll them, though.
masak we just spare the human player all the messages about how bloody heavy the disks are.
colomon is hoping for a No-Prize. 18:38
pmichaud the disks are square. masak has been squaring the circle, too.
[Coke] "with herculean effort, you move the small disk."
masak seldon: no, rolling is not an operation of the game. :) you're still bounded by the Laws of Adventure Physics. :P
pmichaud++ # :)
seldon Okay, then.
pmichaud the disks are especially sensitive to the Higgs field.
masak hahaha
seldon I sense a whole new class of "your mom" jokes. 18:39
pmichaud "Mr. Scott: I canna change the laws of physics, Captain!" "Captain Masak: Oh yes we can!" 18:40
masak wonders at which point during the 1900's prof. Higgs got tired of hearing "your mom" jokes
pmichaud: I like that attitude. I'll try and embody it as best I can.
pmichaud I think Perl 6 has much the same attitude. 18:41
"You *really* can't build an entire parser supporting a fully extensible grammar in Perl 6." "Perl 6: Oh yes we can."
harmil1 hmmm Solomon Foster: why does Perl 5 have signed format specifiers in sprintf? I'd like to know that for sure before we scrap them from Perl 6. Initially I wrote the sprintf format spec to pretty closely match what Perl 5 did, not that that's the only guidepost, but it seemed to make sense to be a feature superset. 18:42
I'm not against throwing away Perl 5 isms if we don't need them, but I'm not sure we know why Perl 5 needs that particular one yet.... 18:43
er "signed" should be "unsigned", above
*side note: I give up on getting my name right. IRC keeps changing it even if I use a password. I'm tempted to /nick a random string every time 18:44
sorear harmil1: it's not always harmil? 18:45
harmil1 well, it was harmil when I logged in. now it's harmil1
and I used harmil1 because it kept bumping me off of ajs
sorear harmil1: TimToady told me once that the only reason Perl 5 has 'goto' is for compatibility with sed
harmil1 er I used harmil
sorear harmil1: about two days ago, you lost connection to the server, and became harmil1 on reconnect because harmil was taken 18:46
harmil1 sorear: exactly, I'm not convinced that Perl 5 has any sane reason to have unsigned sprintf formats, but I'd like to know what sane or insane reason there was
sorear if this bothers you, I don't know what to say
harmil1 sorear: name *shrug* not my biggest problem today ;) 18:47
I mean if it's just in Perl 5 to avoid sprintf("%u", $x) from having to be sprintf("%d", abs($x), then I say nuke it, but that's probably worth looking into 18:48
sorear eval sprintf("%u", -1) 18:49
buubot_backup sorear: 4294967295
sorear it's not abs
eval sprintf("%d", 2**31)
buubot_backup sorear: -2147483648
masak I never feel a need for 'goto', in Perl 5 or Perl 6. I'm pretty sure there are some legitimate uses where the total complexity of the code is smaller with 'goto' than with Structured-Programming solutions... but I find I don't solve such problems much. 18:50
in some sense, 'goto' represents a kind of thinking that I've taught myself to avoid in favor of higher-level problem-solving constructs. 18:51
harmil1 I'm guessing that the Perl 5 reason is that an IV and a UV aren't the same datastructure
masak man, I sound pretentious. :) 'goto' is fine, I guess.
harmil1 given that Perl 6 doesn't have that kind of representational issue, as it relies on an at least somewhat abstract implementation layer (e.g. Parrot), this is a non-concern
Probably worth poking p5p over, though 18:52
masak 'while' loops and 'if' statements are just 'goto' singularities nicely wrapped up into Structured black holes.
harmil1 masak: goto in Perl 5 was sometimes essential to avoid code duplication due to the lack of macros, especially in error handling. Better exceptions and real macros eliminate the need as far as I can tell 18:53
sorear masak: seems I find situations that call for 'goto' once a month or so. maybe I'm just not as good at this 'Structured' stuff :p
masak sorear: :D
sorear: I'm more inclined to think you're solving different problems. 18:54
colomon sorear: remind me again how to call a p6 function from C# code in niecza?
masak harmil1: it would be interesting to see an example of where 'goto' eliminates code duplication and macros would've helped. if you find one, please let me know. 18:55
harmil1 specifically, I recall using goto in File::Copy because a function call in the middle of an IO-related problem posed some interesting potential failures and there was no other way to cleanly preserve $! in the face of other errors. I think $! handling got more sophisticated after that, though (this was circa 5.001)
sorear Builtins.InvokeSub(sub, args...)
note: this is a fairly new helper and is not used much yet
moritz harmil1: well, we have LEAVE and UNDO phasers and such things
seldon How did that argument about phaser scopes the other day end, by the way? Because goto could create some problems there. 18:56
colomon sorear: I misspoke. How about a p6 method?
harmil1 moritz: I already said that I don't see the need for goto in P6. I was just introducing context for why it was more or less required in P5
sorear Builtins.InvokeMethod("foo", self, args...)
harmil1 at least back in the day
colomon sorear++
harmil1 When was 5.001? 1994ish? 18:57
*shudder*
sorear whenever people say 'goto is not required because $new_feature', it... rubs me the wrong way
moritz I know of exactly one legitim use case of goto
seldon Perl 5.001 was released on March 13, 1995. 18:58
moritz if you have a list of variables to local()/temp()ize
and if you do any normal loop, the localization is limited to the loop body
harmil1 sorear: well, goto is required when you need to absolutely preserve the current state and jump, seamlessly to a new pc. If your language provides workarounds for all edge cases that require those features then goto becomes obsolete
moritz but you want it to persist after the loop, you have to make the loop with goto 18:59
geekosaur wasn't goto there specifically for sed support? (s///t and b)
sorear harmil1: exactly, workarounds
moritz oh, and if you generate code, goto is perfect
sorear harmil1: sometimes I don't like workarounds, they complicate stuff.
harmil1 geekosaur: that's probably why it was added. that doesn't mean that's why it was needed.
sorear 11:45 < sorear> harmil1: TimToady told me once that the only reason Perl 5 has 'goto' is for compatibility with sed 19:00
harmil1 sorear: exactly
sorear of course goto is not *needed*.
you can write any control structure using only $i++, $i--, @a[$i]++, @a[$i]--, and while(@a[$i]) { ... } 19:01
harmil1 sorear: um… no, I disagree. In so far as anything beyond Turing completeness is "needed" goto's on the list unless you provide tools to solve all of the problems that goto is used for.
geekosaur more to the point, there used to be an ominous warning that goto was only guaranteed to behave as expected with respect to s2p
(all of ths ignores goto &SUB which is a different kettle of fish) 19:02
harmil1 geekosaur: I think that error was with respect to specific hoary edge cases of using goto in ways that were evil
sorear i'm not going to stop using goto just because folks like harmil1 tell me I should be using macros instead
harmil1 sorear: no, I didn't say that 19:03
I said that macros combined with other language features give you the tools that goto is a universal workaround for. Not quite the same.
real exception handling is the real kicker, not macros
19:05 shachaf joined
harmil1 heehee, my goto is still there in File::Copy in 5.12 ;-) 19:06
a great example of just how long it takes for the std library to take advantage of new features. That really should be done as an exception, now. 19:07
seldon Which goto is yours there? 19:09
harmil1 the fail_open one
colomon sorear: is it kosher to make changes to BigInteger.cs?
19:09 GlitchMr joined
seldon There's a fail_open1 and fail_open2 in 5.14.2 19:10
harmil1 yeah
that's it. basically, the goal was to try to call close while preserving $! which, today, would be much easier, but $! was much more fragile back then 19:11
seldon It looks very much like the attempts to recreate something RAII-ish inC.
masak sorear: the debate about 'goto' got sensitive in the late 1960's and never stopped being sensitive. in here today are some of the most level-headed opinions I've seen about it. reducing things to Turing-completeness feels like the equivalence of Godwin's Law for programming languages, though. ;)
harmil1 masak: wow, I don't know how I feel about any rhetorical technique that manages to draw a line (no matter how dotted) between Turing and Hitler o.O 19:12
seldon Turing did contribute to Hitler's downfall; there's a line right there. 19:13
harmil1 I also don't want to know what the CS definition of Godwin completeness would be ;-)
Would a Godwin machine be called an Enigma? 19:14
back to $job
Oh, before I go, yes, I've convinced myself that the UV/IV spit in P5 is why perl5 sprintf has %u, and unless Parrot can give us silently unsigned values which misbehave when treated as signed, I think we're clear to dump %u from P6 19:15
seldon A Godwin machine would either accuse people of being nazis all day or accuse them of accusing other people of being nazis. "Enigma" doesn't seem to be a good comparison, but you could market it as "the Pundit". 19:16
harmil1 seldon: haha
s/parrot/whatever underlies and implementation/ 19:17
sorear colomon: making changes in BigInteger.cs? best avoided, but I already had to make one change (adding bounded-serialization support)
colomon: tell me more about what you want to do
colomon sorear: all I did was make a private function public
sorear: for some reason they make it very hard to get .... er, wait, shouldn't this already work? 19:18
sorear colomon: ?
colomon rn: say 458423756872568724896743289456789237689532.base(3)
p6eval rakudo 6ec88f, niecza v19-7-g5e25209: OUTPUT«1102021211011202000111021121211221120012102200221100221101112222022201022122202102010022␤»
colomon sorear: yeah, I may have overlooked something. 19:19
oh, I take it back. Int.base is implemented in p6. 19:20
sorear: I'm trying to get at BigInteger.ToString(Int radix, blah) 19:22
sorear go ahead
[Coke] n:say 45842375687256872489674328945645842375687256872489674328945645842375687256872489674328945645842375687256872489674328945645842375687256872489674328945645842375687256872489674328945645842375687256872489674328945645842375687256872489674328945645842375687256872489674328945645842375687256872489674328945645842375687256872489674328945645842375687256872489674328945645842375687256872489674328945645842375687256872489674328945645842375687256872489674328945645842375
[Coke] is reminded to build a local copy of niecza again 19:23
19:23 MayDaniel left
[Coke] missed a space but won't resend that. ;) 19:23
19:24 thou left
[Coke] has no desire to finish the work day. 19:26
19:27 mucker left
colomon ugh, BigInteger.ToString prepends 0s on hex numbers. 19:27
harmil1 "0s" or "multiple of character '0'"? 19:29
19:30 sudokode joined
harmil1 side topic: I'm working on the Python that reads the JSON result of my Perl 6 parser for my Domain-Specific Language… to say I'm having some context switching headaches would be a very mild understatement… 19:30
[Coke] harmil1: I took it to mean a single 0 for each hex number. 19:31
seldon The python code doesn't really care where the json comes from though, does it?
harmil1 no, but I have to keep working in all 4 languages as I find bugs in the Python code, the JSON representation that it's reading, the DSL parser in Perl 6 and the spec for the DSL 19:32
it's worst after I go get a cup of coffee and come back to a screen full of code and try to remember what language it's written in 19:33
19:35 MayDaniel joined
harmil1 Oh, BTW, I wrote up that blog about packaging Perl 6 with Python's setuptools. I'll be posting that when I get a non-work tui 19:35
*tuit
19:36 thou joined
harmil1 It's really nice to be able to just sling some P6 into a Python project. 19:37
19:40 birdwindupbird joined 19:44 harmil1 joined
diakopter [Coke]: "...finish the work day." heh 19:44
19:45 stephenlb joined
masak did you know that almost all instances of the number '0' in code are in octal? :P 19:50
19:51 harmil1 left
[Coke] 0_0; 19:53
19:53 harmil joined
harmil Hello again, trying out new IRC client *crosses fingers* 19:53
masak rn: say 0_0 19:54
p6eval rakudo 6ec88f, niecza v19-7-g5e25209: OUTPUT«0␤»
sorear hello harmil. 19:55
a new irc client won't solve the 'harmil1' problem
harmil hey, glad to see I can still see… (or is "hear" the correct metaphor?)
sorear that is a fundamental limitation of the protocol
harmil Yeah, but I was having other (major) problems. That was just the last straw. Adium seems fine for chat, but its IRC support is oddly quirky 19:56
At least now Aaron Sherman shows up as my full name, not "Adium User" (which did not change when I edited the preference) 19:57
sorear I do not know much about colloquy
harmil Nor I. It literally just won the google vote :-/ 19:58
which is a literal google vote, but a figurative vote? Hmm… *goes off to ponder literal vs. figurative googling" 19:59
19:59 snearch left
colomon n: say (1, 1, *+* ... *)[100] 20:01
p6eval niecza v19-7-g5e25209: OUTPUT«573147844013817084101␤»
colomon n: say (1, 1, *+* ... *)[200]
p6eval niecza v19-7-g5e25209: OUTPUT«453973694165307953197296969697410619233826␤»
20:02 GlitchMr left, brrt joined
harmil How does that bot work? Does it run a new interpreter for each command? 20:03
moritz yes
github.com/perl6/evalbot
harmil I suppose that makes the most sense
colomon n: say 453973694165307953197296969697410619233826.base(2) 20:04
p6eval niecza v19-7-g5e25209: OUTPUT«1010011011000011011110110010010011111011100010110000111011001101110011001010011001110100101011101101011001111110001010100110101011000100010␤»
masak n: 4294967296.base(2) 20:05
p6eval niecza v19-7-g5e25209: ( no output )
masak n: say 4294967296.base(2)
p6eval niecza v19-7-g5e25209: OUTPUT«100000000000000000000000000000000␤»
colomon can only type with his left hand, because Pingu just got scary. 20:08
dalek osystem: 880796e | (Timothy Totten)++ | META.list:
Reverting HTTP::Easy repo URL.
colomon n: say 453973694165307953197296969697410619233826.base(8) 20:09
p6eval niecza v19-7-g5e25209: OUTPUT«12330336622373426073156312316453553176124653042␤»
masak Pingu... got scary? that's interesting to try to imagine. 20:10
guess my limits for scary have been pushed quite a bit over the past 30 years...
20:10 sisar left
colomon masak: 3-year-olds can be scared of all sorts of weird things 20:11
masak that's good to know.
moritz a year ago, $daughter was terribly scared of the vacuum cleaner. Now she laughs with delight when I switch it on 20:13
colomon stupid BigInteger doesn't properly handle negative signs for non-decimal numbers.
moritz: $son spent a lot of time over the last week telling us how he now loved scary things. didn't make any difference when vaguely threatening shadows appeared in Pingu. 20:14
20:15 lestrrat left
masak maybe 'love scary things' simply means 'seeks out scary things in order to be properly scared by them' :P 20:15
20:16 lestrrat joined
tadzik wassup? 20:18
masak tadzik! \o/ 20:19
colomon n: say 453973694165307953197296969697410619233826.base(16) 20:20
p6eval niecza v19-7-g5e25209: OUTPUT«5361BD927DC58766E6533A576B3F1535622␤»
masak tadzik: www.youtube.com/watch?v=NsJLhRGPv-M ;) 20:21
flussence r: say pack('n', 1024).perl # do we have pack() yet? 20:22
p6eval rakudo 6ec88f: OUTPUT«Buf.new()␤»
flussence ooh
masak tadzik: I didn't find that clip so funny when I saw it at the movies many years ago. I can see the humor now, though.
flussence r: say pack('n', 1024).bytes
p6eval rakudo 6ec88f: OUTPUT«2␤»
masak flussence: have pack, but not so much :/
20:23 sisar joined
tadzik masak: hehe, I don't think I've seen the movie actually 20:24
flussence is thinking of making a module that does both pack and printf things in a p6ish way
moritz form! 20:25
colomon form!
tadzik oh, supernovus's back into hacking?
moritz aye 20:26
masak \o/
moritz and I'm glad to return HTTP::Easy into his maintenance
harmil Inside CATCH, I get a contextualized $_ … where do I look for what I can do with that (other than simply convert it to a string)? 20:28
flussence Form looks interesting... but I want something a lot more huffmanised :)
moritz harmil: S32::Exception 20:29
20:29 crab2313 joined
moritz and p6doc Exception 20:29
harmil I was afraid you'd say that ;)
moritz doc.perl6.org/type/Exception
why?
harmil it's just largish. I was hoping someone had hacked together a common uses kind of thing 20:30
colomon notes Pingu just got scary again, but not so scary $son has to grab my hand for comfort.
pmichaud p6doc Exception doesn't look that large 20:31
harmil I'll look
thanks
20:34 vmspb left
moritz has another p6doc question 20:35
should we document literals along with their types? or rather separately?
for example I want to write Signature.pod
20:35 seldon left
moritz with the Signature API 20:35
but there's also a lot of syntax for signatures and parameters 20:36
pmichaud I'd put that one where it feels natural for now.
for the more general question; I think we'd have to wait and see. Other literals might be better placed in a "syntax" section. 20:37
moritz maybe that's a place where the P<> links will come in handy
pmichaud Indeed. Overall I think p6doc will be somewhat organic for a while, with refactorings at various times. 20:38
masak maybe something like '*' should at least contain a reference to the Signature API.
organic++ 20:39
pmichaud oooh, we need a Whatever.pod
moritz aye
pmichaud I have to leave now :-( but maybe I can draft that one when I get back.
Unless others beat me to it. That one feels like -Ofun ish
20:40 alester left 20:41 MayDaniel left
dalek c: ae479a7 | moritz++ | lib/Signature.pod:
start to document Signature

no signature literals yet
20:44
c: bc2ebb1 | moritz++ | lib/Parcel.pod:
[Parcel] reorder examples by number of elements
20:46
c: b9e3cd0 | pmichaud++ | lib/Parcel.pod:
[Parcel] Grammatical typo fix.
20:55
cj diakopter: uhrm... 20:58
diakopter: was that you the other night?
diakopter ?
dalek c: 1c279b0 | pmichaud++ | lib/Signature.pod:
[Signature] Grammatical fixups.
cj meet-up with xamarin in Seattle
I met a Matthew who said he worked on EC2 20:59
I googled, and it looks like his last name is Wilson
I have no idea what you look like, and you might look like he looks like.
diakopter no; I'm in sfbay, but I happened to be in Seattle last Sunday-Wed
I have a photo on twitter
cj ;-)
it looks like his middle name starts with an S 21:00
diakopter oh, me too.
21:01 birdwindupbird left
diakopter yeah his linkedin thing is matthewswilson 21:01
cj whee.
diakopter I'm trying to figure out mine 21:02
cj I've been chatting with a guy named John Curran about networking stuff. I needed his email address so I checked gmail. And found a guy who looked about right. his email address was even @arin.net, so I *knew* he was involved in networking.
turns out they're probably not the same guy.
one of them happens to be the president and ceo of ARIN, though, and replied. And didn't tell me I had the wrong guy. But I bet he was confused.
diakopter oh, my linkedin thing is mattswilson 21:03
21:04 skids left
cj the context was about right for it to be you. Related to mono. about the right age, I'd think. a programmer. hangs out on freenode. 21:04
21:04 crab2313 left
cj launchpad says his nick on freenode is msw, but he's not here, afaict. 21:04
colomon rn: say sprintf("%d", -1.1) 21:05
p6eval rakudo 6ec88f, niecza v19-7-g5e25209: OUTPUT«-1␤»
colomon rn: say sprintf("%d", -.9)
p6eval rakudo 6ec88f, niecza v19-7-g5e25209: OUTPUT«0␤»
dalek c: b901d46 | moritz++ | lib/Signature.pod:
[Signature] start talking about literals
21:08
ast: 13e241a | (Solomon Foster)++ | S32-str/sprintf.t:
Lots more sprintf tests. But we could still use even more!
21:10 PZt is now known as Magnum-A-Team 21:11 Magnum-A-Team is now known as PZt
dalek ecza: e862bf2 | (Solomon Foster)++ | lib/Printf.cs:
Refactor sprintf internals a bit. Probably still needs work on edge cases.
21:16
ecza: 4b9c017 | (Solomon Foster)++ | lib/ (2 files):
Major refactor for sprintf. Now handles all floating point directives (though %g and %G may still be a bit off) and big ints / Rats in integer formats.
sorear colomon++ 21:17
colomon sorear: the code's still kind of ugly, but it handles a lot more cases now. 21:18
21:19 adu joined 21:26 brrt left 21:31 pyrimidine joined
sorear colomon: any advice for getting git and mono working on a mac? :D 21:32
harmil sorear: git on mac is just ports, right? 21:33
idk if mono is in ports, but I would not be shocked
shachaf sorear: Someone once told me to use "brew", at least for git, which seemed to work reasonably well. 21:34
geekosaur git coems from macports or form xcode 4.x
if you have a modern xcode there should be no reason to install git from any package system.
harmil yes, though Xcode won't (I'm pretty sure) contain mono...
shachaf Ah, Xcode.
sorear i'm very new to this whole thing 21:35
geekosaur mono is definitely in macports; note that mono-sgen currently has a tendency to drop core
sorear also, I asked colomon
geekosaur: what version of mono is in macports?
geekosaur also note that installing mono for OS X via go-mono.org or whatever it is installs a /usr/bin/pkg-config that will make working with any OS X packaging system difficult or impossible
I show 2.10.9 but I havent updated this machine in a while (and wont be able to for a while) 21:36
sjohnson git kicks ass 21:37
i use it often! 21:38
oh, you meant mono.
sjohnson has no experience with that
colomon sorear: remember, my mono hasn't had all the proper libraries installed since I last updated it. 21:39
anyway, the most recent time around I downloaded mono from the mono website, and git from... I'm not sure were. 21:40
*where
but macports would probably work fine in both cases, I think that's what I did on my last MBP.
git-scm.com/download/mac 21:42
www.go-mono.com/mono-downloads/download.html
harmil question about attribute access: it seems that if I mix-in a role that uses Q:PIR to do a get attribute on self, it can grab $! private attributes from the "roled" class. Is this expected/supported behavior (if unclean) 21:47
sorear expected yes, supported probably not 21:48
jnthn If you use Q:PIR you can do everything, but we will rip the rug from under you whenever we feel like.
harmil OK, so PIR has no protected access for private members, then, we're just creating that fiction in P6 itself? 21:49
jnthn Right.
Note that Q:PIR will probably need a pragma at some point soon. 21:50
harmil OK, as long as I can get buffered IO into 2012.07, I don't care if this breaks down the road.
Right now I'm ripping $!PIO out of $*IN and $*OUT using the hack mentioned above. 21:51
jnthn Ah, I see 21:52
harmil I have to admit that I was kind of surprised and impressed when it worked. Mixing in parrot byte code to an instantiated object was fun to watch 21:53
sorear macports versus fink versus homebrew? 21:54
harmil I've only used macports… seems pretty reliable 21:55
22:23 thelazydeveloper left 22:29 bluescreen10 left 22:35 PacoAir left 22:41 skids joined 23:00 adu left 23:01 adu joined 23:03 adu left, adu joined 23:04 spider-mario left, adu left 23:05 adu joined 23:07 adu left, adu joined
masak lol, I blogged! \o/ strangelyconsistent.org/blog/july-5...own-in-out 23:15
good night, #perl6 23:17
23:31 tyatpi left 23:34 whiteknight joined 23:35 whiteknight is now known as Guest59503 23:51 thou left 23:54 Entonian joined