Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2008-07-23

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:00 bacek joined #perl6
00:14 japhb joined #perl6
00:35 justatheory joined #perl6
00:49 Alias_ joined #perl6
00:51 meppl good night
01:08 cathyal joined #perl6
01:15 Alias__ joined #perl6
01:16 hcchien joined #perl6
01:36 alester joined #perl6
01:44 jfredett_ joined #perl6
02:21 Alias_ joined #perl6
02:23 aindilis joined #perl6
02:23 alester joined #perl6
02:28 xinming_ joined #perl6
02:34 pugs_svn r21443 | lwall++ | [STD] removed all trailing {*} because they inhibit composibility
02:34 pugs_svn r21443 | lwall++ | meta-infixes now (tend to) include trailing components for complete tokens
02:34 xinming__ joined #perl6
02:54 pugs_svn r21444 | putter++ | [rx_on_re] Establish regression baseline.
02:57 Alias__ joined #perl6
03:03 elmex_ joined #perl6
03:06 BinGOs_ joined #perl6
03:08 TimToady @messages
03:08 lambdabot masak asked 7h 17m 55s ago: is `class A is B {}; class B {}` allowed in Perl 6?
03:09 TimToady @tell masak "is B" is not allowed unless B is already known to be a trait or type; only subroutines can be post-declared
03:09 lambdabot Consider it noted.
03:16 TimToady moritz_: are you sure your STD is up-to-date?  my STD fails on neither of those, and passes 80%+ of the t/spec tests all of which start with 'use v6;'
03:16 TimToady where "passes" means "parses", of course
04:26 REPLeffect joined #perl6
04:37 pugs_svn r21445 | putter++ | [elf] elf_g created.
04:37 pugs_svn r21445 | putter++ | elf_g copied from elf_f.  elf_f now has its own copy of STD_red.  elf_f frozen.
04:37 pugs_svn r21445 | putter++ | TESTS regressions file dropped.  VERSIONS carved out of README.
04:38 REPLeffect joined #perl6
04:38 timbunce joined #perl6
04:49 kanru joined #perl6
04:51 pugs_svn r21446 | Auzon++ | [gsoc_spectest] added some S09 tests from TASKS (added 10 tests)
05:08 luqui joined #perl6
05:15 Psyche^ joined #perl6
05:34 justatheory joined #perl6
05:46 [particle1 joined #perl6
05:49 alester joined #perl6
06:18 barney joined #perl6
06:25 xinming joined #perl6
06:36 penk joined #perl6
06:39 iblechbot joined #perl6
07:16 rakudo_svn r29693 | pmichaud++ | [rakudo]: spectest-progress.csv update: 102 files, 1799 passing tests
07:17 moritz_ good morning
07:33 masak joined #perl6
07:41 xinming_ joined #perl6
07:42 rho joined #perl6
07:45 moritz_ TimToady: it was an outdated STD.pmc, so never mind
07:48 pugs_svn r21447 | moritz++ | [spec] capture.t: used '...' for strings in which $ should
07:48 pugs_svn r21447 | moritz++ | not be interpolated.
07:51 masak moritz_: good morning
07:51 lambdabot masak: You have 1 new message. '/msg lambdabot @messages' to read it.
07:51 masak @messages
07:51 lambdabot TimToady said 4h 42m 31s ago: "is B" is not allowed unless B is already known to be a trait or type; only subroutines can be post-declared
07:52 Alias_ joined #perl6
07:52 moritz_ good morning masak ;)
07:52 masak :)
07:52 masak it's good to have people spread out over the globe
07:53 masak then you have the luxury of getting your questions answered overnight
07:53 timbunce joined #perl6
07:57 masak so, next question: if, for some reason, I have to declare classes in reverse order, how do I write? is 'class A { ... }; class B is A {}; class A is also {}' the "standard practice" for this?
07:58 masak can I make a class derive a new class using the 'is also' mechanism?
07:58 moritz_ I don't know if class a { ... } (with literal '...') is valid syntax, but I think it should work with 'is also'
07:59 moritz_ masak: I see no reason why not
07:59 masak moritz_: actually, the literal '...' is not strictly required here, I guess
08:00 masak 'class A {}; class B is A {}; class A is also { has $.stuff }'
08:00 moritz_ masak: should I retitle RT #57170?
08:00 masak moritz_: if you wish
08:01 masak are these statements eval'ed at BEGIN time?
08:01 moritz_ masak: for example to "inheriting from a non-defined class should give a nice error message"
08:01 moritz_ masak: class definitions are, yes
08:01 masak moritz_: oki
08:01 masak what happens if I put them in an eval?
08:01 moritz_ then they happen at run time, and in the BEGIN-phase of the eval block
08:02 masak what happens if I create instances of A and B, and then eval an 'A is also'?
08:02 masak :)
08:02 moritz_ only new instances are affected (I think)
08:02 masak ok, so no Smalltalk here
08:03 masak still, maybe that's reasonable
08:03 moritz_ that's what chitchat is for ;-)
08:03 masak hehe
08:04 moritz_ uhm, that title change didn't work
08:09 pmurias joined #perl6
08:10 pmurias classes are open by default, so modifing them at runtime should work
08:14 moritz_ wow, STD.pm now parses 82% of t/spec/
08:14 moritz_ TimToady++
08:17 * zamanfou is now away: In the rain my tears are forever lost.
08:17 moritz_ masak: so what do we do with t/oo/class/declaration-order.t?
08:17 pmurias joined #perl6
08:18 masak moritz_: ah, right
08:18 masak maybe remove it outright
08:18 moritz_ s/lives_ok/eval_dies_ok/ in the second case?
08:18 masak even better
08:18 * masak fixes
08:19 moritz_ and maybe move to t/spec/S12-classes/ ?
08:20 masak gladly :)
08:21 pugs_svn r21448 | masak++ | [declaration-order.t] reformulated test due to new insights about semantics
08:21 moritz_ masak: dies_ok isn't good because the class declaration happens at compile time
08:21 moritz_ masak: that's why I suggested eval_dies_ok
08:22 masak ah, I see it now
08:22 masak fixing
08:22 Alias__ joined #perl6
08:22 pugs_svn r21449 | masak++ | [declaration-order.t] moved into t/spec
08:23 pugs_svn r21450 | masak++ | [declaration-order.t] s/dies_ok/eval_dies_ok/
08:24 masak after the moving-into-t/spec is done, will there be any tests outside t/spec?
08:25 moritz_ not in the official test suite
08:25 masak ah, so t/spec is the official test suite
08:25 moritz_ aye
08:25 moritz_ there might be implementation specific tests still
08:26 pmurias unless the unspeced features will also be untested ;)
08:27 pugs_svn r21451 | moritz++ | [spec]
08:27 pugs_svn r21451 | moritz++ | capture.t: removed old-style todo markers
08:27 pugs_svn r21451 | moritz++ | declaration-order.t: eval_dies_ok takes a string
08:28 masak moritz_++ # oops, again
08:29 moritz_ now if only I know why rakudo says "[oops; continuation 0xb5e52144 of type 21 is trying to jump from runloop 22394 to runloop 110]"...
08:30 * moritz_ realcleans and rebuilds
08:30 moritz_ my desk could use a "make realclean" also ;-)
08:31 masak *lol*
08:36 moritz_ masak: title of ticket changed (barney++)
08:36 masak dz
09:01 bsb left #perl6
09:24 chris2 joined #perl6
09:59 aindilis joined #perl6
10:02 donaldh joined #perl6
10:03 lambdabot joined #perl6
10:36 qiang joined #perl6
10:47 bbkr joined #perl6
10:51 ruoso joined #perl6
11:05 wknight8111 joined #perl6
11:06 pugs_svn r21452 | fglock++ | [v6.pm] large test files are chunked
11:18 meppl joined #perl6
11:19 pbuetow joined #perl6
11:22 rindolf joined #perl6
11:43 pmurias joined #perl6
11:53 Lorn_ joined #perl6
12:01 orafu joined #perl6
12:01 penk left #perl6
12:28 pugs_svn r21453 | moritz++ | [spec] compact.t: ord with $_ as argument is written as .ord
12:31 rindolf Hi all.
12:34 orafu joined #perl6
12:45 pmurias rindolf: hi
12:46 rindolf pmurias: hi.
12:46 moritz_ http://www.mikeonads.com/2008/07/13/using-​your-browser-url-history-estimate-gender/ # nice one
12:46 lambdabot Title: b Mike On Ads 1 16 � Blog Archive 1 3a � Using your browser URL history to estim ..., http://tinyurl.com/6xmego
12:47 rindolf pmurias: wow! nothingmuch has 114 CPAN distributions.
12:49 Jamzio joined #perl6
12:50 masak joined #perl6
12:54 pmurias rindolf: yes, that's quite a lot of CPAN distributions ;)
13:11 c1sung joined #perl6
13:15 kanru joined #perl6
13:23 cmarcelo joined #perl6
13:36 * ruoso placing some wood in the fire on the "HLL Interoperability" thread
13:37 moritz_ ;)
13:38 ruoso pmurias, in the end doo we agree on the p6opaque structure?
13:42 moritz_ rakudo: multi sub a() { }; say 1;
13:42 p6eval rakudo 29697: OUTPUT[1␤]
13:42 moritz_ rakudo: multi sub a { }; say 1;
13:42 p6eval rakudo 29697: OUTPUT[get_pmc_keyed() not implemented in class 'Undef'␤current instr.: 'parrot;Perl6;Grammar;Actions;multi_declarator' pc 133690 (src/gen_actions.pir:13082)␤]
13:42 moritz_ rakudo: multi  a() { }; say 1;
13:42 p6eval rakudo 29697: OUTPUT[Statement not terminated properly at line 1, near "{ }; say 1"␤current instr.: 'parrot;PGE::Util;die' pc 120 (runtime/parrot/library/PGE/Util.pir:82)␤]
13:42 moritz_ masak++ wrote tickets for those two
13:44 pmurias ruoso: looking once more at it ;)
13:46 pmurias nothing objectable there so if you're fine with the one on the wiki we do ;)
13:47 pmurias lunch&
13:47 ruoso by "on the wiki" you mean http://www.perlfoundation.org/perl6/i​ndex.cgi?smop_p6opaque_implementation
13:47 lambdabot Title: SMOP p6opaque Implementation / Perl 6, http://tinyurl.com/2z5spt
13:50 pmurias ruoso: yes
13:50 ruoso alright then
13:51 ruoso do we have an lowlevel array implemented already/
13:51 ruoso ?
13:52 audreyt joined #perl6
13:52 b_jonas joined #perl6
13:56 * ruoso brb &
13:57 qiang1 joined #perl6
13:58 pmurias joined #perl6
14:05 pmurias ruoso: not yet, i'll get to work on it then
14:07 pmurias s/get to work/get working/
14:09 pmurias ruoso: what do we need for the lowlevel array?
14:11 pmurias the biggest problem with arrays ATM is that s1p dosn't support postcircumfix:<[ ]>
14:12 b_jonas pmurias: is "s1p" the sed2perl translator
14:13 pmurias :)
14:13 pmurias it's the unoffical name for the elf smop backend
14:14 b_jonas yeah, and that would only have made sense with a2p, not s2p
14:17 b_jonas s2p sucks btw, and would need a rewrite
14:17 b_jonas I think I could rewrite it to work but I don't think anyone actually uses it these days so I don't care
14:17 b_jonas and there are more than one (non-perl) sed implementations anyway
14:18 b_jonas otoh compared to how it's written it works remarkably well
14:18 b_jonas it's a nice hack
14:19 b_jonas I especially like how it has substitutions like s/a-zA-Z0-9_/\\w/g affecting the whole code
14:21 pugs_svn r21454 | fglock++ | [PCR] version 0.33
14:21 Exodist joined #perl6
14:22 hercynium joined #perl6
14:25 pugs_svn r21455 | fglock++ | [v6.pm] version 0.024  # 3176 tests pass
14:28 iblechbot joined #perl6
14:30 timbunce joined #perl6
14:30 mofino joined #perl6
15:17 pugs_svn r21456 | fglock++ | [v6.pm] more tests  # 5057
15:20 mncharity joined #perl6
15:20 pmurias mncharity: hi!
15:24 mncharity hi pmurias :)
15:24 mncharity saw the 80% t/spec STD parse go by.  woo hoo!
15:24 mncharity how goes?
15:25 pmurias i made a very simple smop backend
15:26 mncharity ! :)
15:27 pmurias but it's blocking on "\\\\" not working in elf
15:27 mncharity ha ha.  fixing that as we speak.
15:28 mncharity wow.  sometime the universe does bizarre timing coincidences.
15:30 mncharity Not "ha ha", you were blocked.  But funny that I hit the same thing, and was fixing.
15:30 pmurias ;)
15:32 pmurias re 80% t/spec STD parse i maybe i should revieve pixie
15:33 pmurias s/i//
15:33 pmurias ?
15:35 pugs_svn r21457 | putter++ | [elf_g] String escape handling slightly improved.  Probably still flakey.
15:36 moritz_ is elf limited by parsing, or by the rest of the compiler?
15:37 mncharity "Perl 6 development has been blocked for years on the absence of a parser willing to report on classes." - me ;)
15:37 mncharity so parser
15:38 moritz_ we should promote mncharity to our parser pumpkin
15:38 pmurias that's TimToady
15:39 moritz_ he's already got the post of language designer and Last Instance of Everything, (LIE) ;-)
15:39 mncharity re pixie, good question.  was puzzling over how to proceed.  perhaps wrap STD5 as a STD_green alternate front-end, with an second IR from ast.
15:39 justatheory joined #perl6
15:40 mncharity how does STD(5) speed compare with STD_red?
15:40 pmurias STD5 is a bit slower i think
15:41 pmurias the way i got t/01-sanity/01-04 was to fill in the {*} blocks and create ast from it
15:41 pmurias * got working
15:41 mncharity re pumpkin, I get to be a carriage for a while?
15:42 * moritz_ can't parse that question
15:43 mncharity re sanity, neat.  I'll look (eventually...), and pursue directly, or scavenge code/ideas.
15:43 pmurias moritz_: a fairy tale reference i guess
15:44 mncharity re parsing pumpkins, isn't the story that they get to be carriages until midnight?
15:45 timbunce joined #perl6
15:45 mncharity (what, Disney hasn't yet managed to homogenize world-wide recognition of mangled fairy tails? ;)
15:45 mncharity *tales
15:46 moritz_ mncharity: I hardly recognize fariy tails that aren't copyright by Gebrüder Grimm ;-)
15:46 mncharity :)
15:46 pmurias re how goes, i have vactions right now so i have no real excuse for not helping with perl6 other than lazines and the opengl book I received yesterday ;)
15:46 mncharity lol
15:47 pmurias mncharity: and how does stuff go for you?
15:50 pmurias got to go to the library&
15:51 mncharity distracted, scattered, tired.  neat web project to teach numeracy to kindergarden-postdocs :).  keep hitting "if only p6 existed, I'd write this there and then compile it down to js".
15:58 [particle1 joined #perl6
16:03 pugs_svn r21458 | putter++ | [misc/elfish/rx_on_re] Moved p5 regex engine core into a p6 file.
16:03 pugs_svn r21458 | putter++ | Core now uses s///g, instead of a source filter, for the backtracking api.
16:03 pugs_svn r21458 | putter++ | Sub::Name use undisabled.  Switched to elf_g.
16:03 pugs_svn r21458 | putter++ | Regressions exist - as yet undiagnosed.  It's unexpectedly working "better".
16:03 Auzon moritz_++: Thanks for catching my p5isms :)
16:04 moritz_ you're welcome
16:04 moritz_ (I have to show that I actually do something as a mentor, at least from time to time ;-)
16:05 mncharity unexpectedly passing tests.  phooey.  debugging task for another day.
16:05 Auzon .oO(unexpectedly passing tests are bad?)
16:11 mncharity :)  when doing a "mutate the implementation while intending to maintain behavior invariance" exercise, yes.  it means I don't really understand the changes I just made.  perhaps with excellent test coverage, one might disregard understanding, and simply use suite passing.  but a good test suite for regex/regexp regrettably doesn't exist.
16:12 Auzon Incidentally, I'm starting work on S05 testing real soon now (possibly as soon as after lunch). Let me know if you have any requests for it :)
16:12 pmichaud how about the test suite that PGE uses?
16:13 moritz_ that's certainly a good start, but rather limited in terms of testing modifiers, iirc
16:14 mncharity pmichaud: last time I looked (long ago), my fuzzy recollection it was largely derived from the same p5 regexp.t?  which is very partial.
16:15 pmichaud no, we build the p6 tests from scratch, essentially
16:15 pmichaud *built
16:15 pmichaud we then converted them to use a similar format to p5rx.t so that it would be easier to port to other regex engines
16:16 Alias_ joined #perl6
16:18 mncharity nifty.  that will be a big help for the stage after this.
16:19 pugs_svn r21459 | lwall++ | [STD] various buglets
16:19 pugs_svn r21459 | lwall++ | [t/spec] various buglets
16:21 mncharity plan is get the "historically tiny changes toggle perl5 segfaults" code partially rewritten in p6 (emitting p5 plus a "small" residual p5 engine core).  then deal with rx syntax changes since its tests were created.  then, at some point, think about improving the implementation.
16:23 mncharity pmichaud: thanks for the pointer.  Auzon: looking forward to it.  re requests, will ponder.  pmichaud: aside from "sync everything to current spec and unify tests", any areas strike you as notably needing improvement?
16:24 pmichaud in the regex tests?  we do need some updates to some of the modifiers, as moritz++ suggests
16:25 pmichaud thus far we've been implementing modifiers in terms of "what do we need to write language compilers?"
16:25 moritz_ which mostly means :sigspace and :i, right?
16:25 pmichaud :i works (and is tested) already
16:26 pmichaud oh, you mean for compilers.  yes, :sigspace and :i primarily
16:26 pmichaud most/many of the other modifiers don't fit within PGE itself but can be done by the outer-language compiler.
16:27 mncharity moritz_: re parsing, given a parser, one can dump parse trees for all of t/.  in a nice, simple, generative format which can be easily turned into whatever anyone needs (sexp, terms, whatever).  after that... doing partial p6 backends is straightforward if one has a target language without much impedance mismatch.  challenge is
16:28 mncharity all the core bits which are unspeced (historically).  the p6 object story may actually have matured to the point that you could simply sit down and do the Right Thing.  though p6l seemed to still be arguing over what exactly .WHAT(?) does a couple of weeks ago, so perhaps not.
16:29 pugs_svn r21460 | moritz++ | [t/deprecated-syntax.pod] mention variable interpolation in test descriptions
16:29 Lorn joined #perl6
16:31 mncharity re straightforward, PIL-Run and PIL2JS were up in days, doing significant test passing in weeks.  increasing stuck on, and then blocked by, pugs's parser not exposing oo-related info.
16:32 moritz_ I'm too young for remebering that, I guess ;-)
16:32 mncharity now we (almost) have a parser without that limitation.
16:32 mncharity *grin*
16:32 mncharity sigh, yes, it's been a while. :/
16:34 TJCRI joined #perl6
16:37 mncharity re "rest of the compiler", well, it would be nice to have a prelude written in p6.  we're not much further along than when the pugs effort to create it bogged down in fighting pugsbugs.  but as for the compiler core, the difficulty is largely a function of the target.  Haskell, C - hard.  P5, JS, ruby, common lisp - much easier.  parrot/pir/C - I'm unclear... perhaps easy if you had a fully working implementation snatched from the f
16:38 alester joined #perl6
16:39 moritz_ mncharity: message truncated after 'snatched from the f'
16:39 mncharity Toying with the idea of doing a lisp lightning talk next week.  "Perl 6 - The future of Common Lisp"  "Perl 6 -
16:39 mncharity but as for the compiler core, the difficulty is largely a function of the target.  Haskell, C - hard.  P5, JS, ruby, common lisp - much easier.  parrot/pir/C - I'm unclear... perhaps easy if you had a fully working implementation snatched from the future, but obviously hard when it's still a work in progress.
16:40 mncharity "Perl 6 - The means by which CL will take over the world"
16:42 b_jonas hmm
16:44 mncharity p6 and CL are quite similar.  'optional typing', 'do good compiling when you can', 'do dynamic runtime-mutatable oo when you wish', 'MOP-able oo', 'macros', 'alter the language with modifiable parsing/reading', ...
16:44 pugs_svn r21461 | moritz++ | [spec] fudged each block in S03-operators/assign.t with a #?DOES directive
16:44 pugs_svn r21461 | moritz++ | rakudo doesn't pass any of these tests, but now at least plan() matches the
16:44 pugs_svn r21461 | moritz++ | number of skipped tests.
16:44 pugs_svn r21461 | moritz++ | fudge's test counting seems seriously borked wrt this test file
16:44 AzureStone_ joined #perl6
16:44 b_jonas ah, that last one (alter the language with modifiable parsing/reading) is true
16:44 b_jonas I never realized that
16:45 b_jonas though you could say that about forth as well...
16:45 mncharity :)
16:46 b_jonas no, really, the reader and compiler is the nicest part of forth
16:46 b_jonas the stack thingy is not unique and the unchecked typing isn't unique either and isn't so convenient
16:47 pugs_svn r21462 | audreyt++ | * INSTALL: Update links to Cabal and cabal-install
16:47 b_jonas I mean, the idea that you can define a string-quote-operator as a compile-time macro is from forth
16:47 b_jonas I think that predates common lisp reader macros
16:47 mncharity just combining the "have a compiler story" with "can do hairy runtime mutation of objects" by itself filters the set of all languages down to p6, CL, some individual schemes, and ... not sure there's a forth.
16:47 mncharity no pun intended
16:48 b_jonas compiler story?
16:48 b_jonas what does story mean there
16:49 b_jonas hairy runtime mutation of objects... CL has that? I'll have to look at that
16:50 b_jonas also, CL too is a more modern language using an older and well established language to advocate itself
16:50 b_jonas I think that one itself is quite rare, let's see
16:51 mncharity the language talks about and is built for compilation.  eg, js, ruby, python, and p5 have the "hairy runtime mutation" (though p5's has often been "buggy - you are not supposed to do that").  but the js, ruby, python compiler stories have largely been jit like thinks, or struggles to compile something not really intended to compile.
16:51 b_jonas perl6, common lisp, scheme, c++, "java"script, no, it's not rare
16:51 mncharity *things
16:52 b_jonas yes, I know p6, js, ruby have the runtime mutation, but I don't know about how CL has it
16:52 b_jonas I'll look it up in the CL book
16:52 mncharity yes, CLOS can, for instance, add a field at runtime and have it propagated to already created objects.
16:52 b_jonas CL book = Common Lisp the Language, 2nd Edition, in html
16:53 b_jonas add a _field_, meh, any language where fields are in a hash can do that (p5, js, ruby, python)
16:54 mncharity re cltl, looks like  http://www.cs.cmu.edu/Grou​ps/AI/html/cltl/cltl2.html  is down at the moment.  usually up.
16:54 b_jonas I have a local copy, so no problem
16:55 b_jonas though I still depend too much on online docs I'm lazy to download (often because they are in lots of separate html pages)
16:55 mncharity re hash, yes, but CL can statically compile to C++ like performance.
16:58 mncharity js's jit tamarin is a not-quite-there yet work in progress.  p5 doesn't have a jit.  ruby's is rather limited but at least is core (for the next major version).  python's efforts the most mature, but... it really feels like it's going against the grain of the language.
16:59 b_jonas yeah
16:59 b_jonas I dislike jit, but even without jit non-hash-based structures are a good idea
16:59 mncharity lua
17:00 b_jonas scheme definitely has non-hash-based structures as an extension, I think even r6rs might have those
17:00 mncharity not for non-hash-based, but for sort of having a compiler story.  even if its a forth-like "don't get too far from the machine".
17:01 b_jonas so by "compiler story" you mean the optimizations, not the changeable parser and other such interface things
17:01 b_jonas like lexical pragmas etc
17:07 ruoso joined #perl6
17:08 [particle1 joined #perl6
17:08 mncharity by "compiler story" I mean "are language features chosen with compilation in mind", and thus "can I talk to the compiler", and thus "can I compile away abstractions", and thus "can I use abstractions without paying a runtime cost for them".
17:09 mncharity well, only the first two.  the latter two are motivation.
17:10 demq joined #perl6
17:10 mncharity but yes, optimizations.  though changeable parser and such blend into optimization via macros and such.
17:11 mncharity eep.  /me very late.  b_jonas: I'd like to continue the conversation some time (sorry I've been distracted), but I've got to run now.
17:11 mncharity &
17:11 b_jonas bye
17:26 justatheory joined #perl6
17:32 cognominal_ joined #perl6
17:33 cognominal_ joined #perl6
17:39 timbunce joined #perl6
17:42 iblechbot joined #perl6
17:43 justatheory_ joined #perl6
17:52 [particle2 joined #perl6
17:58 meppl joined #perl6
18:01 justatheory joined #perl6
18:20 pmurias joined #perl6
18:21 ruoso pmurias, hi
18:22 ruoso pmurias, about lowlevel array... a lowlevel array can be implemented directly in C, the same way you did with Hash
18:23 alester joined #perl6
18:24 pmurias ruoso: it's already started
18:24 pmurias ruoso: i can do it this evening
18:24 ruoso pmurias++
18:30 ruoso pugs: say Any.can('FETCH')
18:30 p6eval pugs: OUTPUT[*** No such method in class Any: "&can"␤    at /tmp/IVo3dMtfF5 line 1, column 5 - line 2, column 1␤]
18:30 ruoso pugs: say Any.^can('FETCH')
18:30 p6eval pugs: OUTPUT[*** No such method in class Class: "&can"␤    at /tmp/oBmxsWl5Pc line 1, column 5 - line 2, column 1␤]
18:30 ruoso pugs: say 1.FETCH
18:30 p6eval pugs: OUTPUT[*** No such method in class Int: "&FETCH"␤    at /tmp/1UQatPfEh4 line 1, column 5 - line 2, column 1␤]
18:31 b_jonas can is a method now?
18:31 qiang1 left #perl6
18:31 ruoso b_jonas, it is...
18:31 b_jonas and it's lowercased?
18:32 ruoso b_jonas, iirc yes
18:32 b_jonas makes sense, we don't have an "is" infix either
18:33 ruoso something just crossed my mind... how do we know if something should be used as a container or as a value?
18:34 ruoso '$a = 1' × '$a = foo()' × 'foo() = 1'
18:34 ruoso is it purely syntatic?
18:34 pmurias no
18:35 pmurias i guess containers redispatch methods on their value
18:35 ruoso which means that if foo() is rw, then we copy the container...
18:35 ruoso $a = 1 # this copies '1' as a value
18:36 ruoso $a = foo() # this copy the return of foo() as a value, which means, the scalar returned by foo
18:36 ruoso $a.bar() works, because the scalar delegates to the value
18:36 b_jonas I think in '$a = foo()' the equal sign copies the value of foo() to inside the container $a
18:36 b_jonas that's how it works in p5 at least
18:36 b_jonas and I think that's how = works in p6 too
18:36 justatheory joined #perl6
18:36 ruoso so how we differentiate $a = 1 from $a = foo() ?
18:37 ruoso because we can't 1.FETCH
18:37 ruoso so we can't assume the rvalue to be a container
18:37 timbunce joined #perl6
18:37 b_jonas ruoso: 1 has some container too, doesn't it?
18:37 pmurias no
18:37 ruoso b_jonas, does it?
18:37 b_jonas I mean, isn't just 1 as an expression in a scalar?
18:38 b_jonas or am I thinking p5 there?
18:38 ruoso b_jonas, still
18:38 ruoso the problem persists
18:38 b_jonas in p5, the return value of every expression is in a scalar
18:38 ruoso my $a = foo()
18:38 ruoso do you have a scalar with a scalar with a value?
18:38 ruoso (considering foo() is rw)
18:38 b_jonas ruoso: I think no
18:38 ruoso and how you differentiate from
18:39 ruoso my $a = bar()
18:39 b_jonas in that case the container wouldn't be a scalar
18:39 ruoso (where bar() is ro and returns a value)
18:39 b_jonas but some upgraded container than behaives like a scalar
18:39 b_jonas so there's no inner plain scalar
18:39 b_jonas but I'm not sure
18:39 b_jonas also, waiyt
18:40 b_jonas in p5, a normal (non-lvalue) function or method copies each return values to new scalars
18:40 b_jonas don't they?
18:40 b_jonas eg. p5 'sub foo { $a } foo()' returns the value of $a in a new scratch scalar
18:40 b_jonas I'm not sure if p6 does that though
18:41 b_jonas but that's why p5 lvalue subs can work
18:41 ruoso b_jonas, in fact... p6 have a more clear distinction between value and container
18:41 ruoso you have values that are not inside containers
18:41 ruoso which is something that doesn't exist in p5
18:41 b_jonas yeah
18:42 b_jonas I'm not sure how p6 subs work normally
18:43 ruoso b_jonas, it's not really about subs...
18:43 b_jonas I don't really get all the nits about containers in p5, and don't get even the basics of them in p6
18:43 ruoso except that subs might return scalars
18:43 b_jonas by the way, which languages have an "is" infix operator?
18:44 ruoso java?
18:44 b_jonas and also, what does it mean in them?
18:44 b_jonas I think VB might have one
18:44 * pmurias fetches thinking in java
18:45 b_jonas but is it container/address equality query, class/interface membership query, or a mutator something, or something else?
18:45 b_jonas I just checked, and javascript doesn't have an "is" infix
18:45 b_jonas (it has an "in")
18:45 ruoso b_jonas, in Java it is a lowlevel vm operation that introspect the object and class lowlevel data structure directly...
18:45 b_jonas hmm
18:46 pmurias b_jonas: javascript doesn't even have classes
18:46 b_jonas I assume you want to say it checks some form of class membership
18:46 b_jonas pmurias: meh, it still has something like them, or it could still be address equalty for objects
18:47 b_jonas I wonder where I find a VB manual online that tells me if it has "IS"
18:47 moritz_ I CAN HAS IS?
18:47 pmurias b_jonas: js has ===
18:47 b_jonas let me thing... corelscript has no objects so it can't have them, python has "in", what other language...
18:48 b_jonas I'll check the synopsis for what "is" in p6 is exactly
18:48 b_jonas pmurias: yeah
18:48 pmurias b_jonas: js has prototypes instead of classes because the developers were lazy
18:49 b_jonas pmurias: yeah
18:49 b_jonas how about smalltalk? it could have an "is" method or operator in stdlib
18:51 pmurias ruoso: what's the syntax for is in java?
18:52 b_jonas yeah, the internets says visual basic has "IS", I was right
18:52 ruoso foo isa Object
18:52 pmurias isn't it instanceof
18:52 ruoso heh...
18:52 b_jonas and it's object address equality query infix
18:52 * ruoso thankfully 3 years away from jaava
18:53 ruoso it's instanceof indeeed
18:54 Auzon Wow. Rakudo passes the regex test I just wrote
18:54 alester joined #perl6
18:54 Auzon (not a complex one, but still, I didn't know that Rakudo had much/any regex support)
18:54 moritz_ hey, cool ;-)
18:54 b_jonas it seems java has no "is" infix
18:54 b_jonas strang
18:55 ruoso b_jonas, it's "instanceof"
18:55 pmurias ruoso: what methods do we need for our lowlevel array?
18:55 b_jonas itnernets might be lying
18:55 ruoso pmurias, postcircumfix:[] at first...
18:55 b_jonas it's instanceof?
18:55 pugs_svn r21463 | Auzon++ | [gsoc_spectest] tests for handling of unknown metasyntax and escaping (added 6 tests)
18:55 ruoso b_jonas, yes
18:55 b_jonas very good, so "is" indeed is used for two things
18:55 b_jonas har har har
18:55 b_jonas no wait
18:56 Auzon moritz_: It can be added to spectest_regression, and it's pure even :P
18:56 b_jonas the NAME is instance of
18:56 b_jonas so "instanceof" is the name of the instance of query
18:56 b_jonas right
18:56 b_jonas so there's just one "is"
18:56 moritz_ Auzon: very good
18:56 b_jonas "isa" is a good name though
18:56 ruoso pmurias, postcricumfix:[] returns a scalar, right?
18:56 b_jonas though I think the smartmatch is the best
18:56 b_jonas ruoso: I think it returns whatever the array has for elements
18:57 ruoso b_jonas, and smartmatch is not the same as "isa"
18:57 b_jonas there could be unboxed numeric arrays that don't have scalars in them
18:57 b_jonas but how [] assignment could work in that case I've no idea
18:57 ruoso b_jonas, but the array should return a scalar, so you can STORE on it
18:57 b_jonas yeah
18:57 ruoso and also BIND on it
18:57 b_jonas so it has to return some container
18:57 pmurias ruoso: yes
18:57 ruoso pugs: my @a; my $b := @a[0]; $b = 1; say @a[0];
18:57 p6eval pugs: OUTPUT[1␤]
18:58 ruoso pmurias, so you just need postcircumfix:[]
18:58 ruoso and the proxy scalar object, of course
18:58 ruoso that should support FETCH and STORE (at least)
18:58 moritz_ Auzon: running spectest_regression, will commit when it finishes
18:58 b_jonas it could return a magical scalar/container created in place like what substr in p5 returns
18:58 Auzon great :)
18:58 b_jonas s/in place/on the fly/
18:59 ruoso b_jonas, yes... that's the most likely solution...
18:59 ruoso I think that's how Hash works also, isn't it pmurias?
18:59 Auzon Cool, we're almost to 2000 passing tests in Rakudo
18:59 b_jonas ruoso: that's what haskell unboxed arrays do, sort of
19:00 ruoso but I'm still unsure on when the interpreter should expect a value instead of a container...
19:00 b_jonas indexing return normal boxed numbers, even though the unboxed arrays don't actually contain them
19:00 ruoso maybe bare-values should generate in-place container for themselves
19:00 pmurias ruoso: hashes are *supposed* to return a proxy
19:01 ruoso actually bare-values should return in-place read-only container for themselves
19:01 b_jonas I have to admit that I really prefer how ruby has no containers at all and assignment to methods (including assignment to indexing) is solved by specially named methods
19:01 b_jonas but containers do fit the whole way how p6 is designed
19:01 ruoso pugs: my $a := 1; say $a;
19:01 p6eval pugs: OUTPUT[1␤]
19:01 pmurias actually our container model is more powerfull
19:02 b_jonas that is, how p6 has everything you might want it to have, but mostly transparently when you don't need them
19:03 pmurias what are the benefits of the ruby def method= {...} way?
19:03 ruoso pmurias, does it solve 'my $a = 1' × 'my $a = foo()' (where foo() is rw)
19:03 pmurias it = ?
19:04 ruoso yes... it's the assignment code...
19:04 ruoso how does it know if it should call FETCH or not?
19:05 b_jonas pmurias: the no containers
19:05 pmurias the kp6 way was that Object supported .FETH irrc
19:06 b_jonas pmurias: it's not just ruby, but also visual basic and digitalmars' D
19:06 ruoso pmurias, that was my first thought... but I stopped... when pugs failed on 1.FETCH();
19:06 b_jonas pmurias: and the setf in common lisp (and hacks to make scheme set! behaive like that) are also similar to the no-container model
19:06 ruoso perl6: say 1.FETCH();
19:06 p6eval elf 21463: OUTPUT[Can't call method "FETCH" without a package or object reference at (eval 117) line 3.␤ at ./elf_f line 3861␤]
19:06 p6eval ..pugs: OUTPUT[*** No such method in class Int: "&FETCH"␤    at /tmp/yxgaIkgMaP line 1, column 5-14␤]
19:06 p6eval ..rakudo 29697: OUTPUT[Method 'FETCH' not found for invocant of class 'Int'␤current instr.: '_block11' pc 21 (EVAL_11:13)␤]
19:07 * pmurias isn't even vaguely familiar with either visual basic or D, and have no intention of looking into the former
19:07 pmurias s/have/has
19:07 b_jonas pmurias: otoh, containers certainly have some advantages:
19:08 b_jonas namely look at C++, it uses containers,
19:08 ruoso b_jonas, pmurias, I think the solution is for Any to have a STORE and a FETCH, where FETCH returns itself, and STORE is a failure (item is readonly by default)
19:08 b_jonas that makes definitions of stdlib somewhat complicated because it has to define some tricky container objects
19:08 b_jonas but it also allows some interface thigns you couldn't do with just foo= methods
19:08 pugs_svn r21464 | lwall++ | [STD] add types for subsets; distinguish endstmts that suppress modifiers
19:10 b_jonas so I think in general containers allow for more things to have an equals signed interface
19:10 b_jonas compared to just foo= methods or custom setf definitions
19:11 b_jonas but foo= methods allow an easier implementation of modules with such an interface
19:11 pmurias ruoso: $foo := "hello world";say $foo would point to iy
19:11 pmurias b_jonas: that is not nessesarly true
19:12 b_jonas pmurias: like why?
19:12 ruoso pugs: my $foo := "take a look, pmurias"; say $foo
19:12 p6eval pugs: OUTPUT[take a look, pmurias␤]
19:12 ruoso but...
19:13 b_jonas ruoso: I can't relaly judge if that (default FETCH) is a good enough idea because of my infamiliarity with p6
19:13 ruoso pugs: say "foo".FETCH()
19:13 p6eval pugs: OUTPUT[*** No such method in class Str: "&FETCH"␤    at /tmp/pNlXfchYSo line 1, column 5 - line 2, column 1␤]
19:13 pmurias b_jonas: looking for the appropriate paper/presentation
19:13 ruoso pmurias, OTOH, creating in-place ro containers for bare values should also solve it
19:14 b_jonas pmurias: well, it's true that implementation of such things in C++ could be simpler if C++ offered some default methods for += and similar operators
19:14 b_jonas (C++ has some default methods but not for that kind of thing)
19:15 ruoso pmurias, actually in-place container doesn't solve it... because foo() might return a plain value without a container...
19:15 pmurias ruoso: i would go for the FETCH and STORE
19:16 ruoso yeah... I think that's it...
19:16 pmurias b_jonas: there something called bi-directional programming
19:16 b_jonas pmurias: eek, that's a really crazy name
19:16 b_jonas becasue it makes you think of befunge and similar things
19:16 broquaint oobar
19:17 broquaint Rarr, shoddy window focus :S
19:17 pmurias b_jonas: you can look at http://www.cis.upenn.edu/~b​cpierce/papers/index.shtml , i read about it in the types considered harmfull slides
19:17 lambdabot Title: Benjamin Pierce's Publications
19:18 pmurias b_jonas: it should enable something like class Length {has $!inches;method cm is rw {has $!inches*2.54}}
19:18 b_jonas otoh, if containers worked well, that just proved my statement that there are lots of recent activity about generalizing type systems to do something good
19:20 pmurias b_jonas: it relation with static typing is that it's a challening thing to type
19:20 b_jonas well, I didn't specifically said static typing
19:21 rakudo_svn r29698 | moritz++ | [rakudo] added S05-metasyntax/unknown.t to spectest_regression, Auzon++
19:21 rakudo_svn r29698 | moritz++ |  +6 passes
19:21 b_jonas I guess containers or values that can be assigned can be considered an extension to the type system
19:21 pmurias i shouldn't be implementing that array
19:21 moritz_ type systems challenge the sanity of the implementors and language designers ;-)
19:21 b_jonas otoh I can't find what you're referring to on http://www.cis.upenn.edu/~b​cpierce/papers/index.shtml
19:21 lambdabot Title: Benjamin Pierce's Publications
19:22 b_jonas ah, I should look at the types considered harmful
19:22 b_jonas which are linked from there
19:22 b_jonas moment
19:24 moritz_ now parrot is at 1805 passing tests
19:24 pmurias moritz_: rakudo or parrot?
19:25 moritz_ uhm, rakudo
19:25 pmurias moritz_: v6 does 5057
19:26 moritz_ pmurias: of the official test suite?
19:26 moritz_ anyway, impressing number
19:27 pmurias moritz_: just took this number from fglock's commit msg
19:27 moritz_ pmurias: numbers without known unit are not very meaningful for me as a physicist ;-)
19:29 Auzon It's "just" parsing them. ("just" because it's very impressive)
19:33 meppl joined #perl6
19:37 pmurias ruoso: i'm wondering wouldn't it be a good idea to make RI destruction automatic
19:37 pmurias ?
19:38 ruoso pmurias, as we evolve we'll have to... at some point...
19:38 ruoso I'm not sure that's necessary for list, hash or even p6opaque
19:38 ruoso (the lowlevel list and hash, I mean)
19:42 pmurias it wouldn't be very hard to do
19:45 pugs_svn r21465 | Auzon++ | [gsoc_spectest] explicit tests for changes in metacharacters, fudged for rakudo (added 13 tests)
19:48 ruoso pmurias, sure sure... as you have a global namespace you can simply leave the only reference there..
19:48 apeiron_ joined #perl6
19:50 pmurias thought more of putting responder interfaces into a linked list, to be deleted in smop_destr
19:53 pmurias should i use realloc or do the free,malloc and copying myself?
19:54 ruoso sorry... I missed your point?
19:55 ruoso why a linked list?
19:55 Auzon moritz_: my last commit should be good for spectest_regression too. I should have more such tests if you want to wait though
19:58 pmurias ruoso: putting them into a global namespace would also do it
19:59 ruoso pmurias, and that would be more natural, since it would be available for other objects to find it then
20:00 pmurias do you know the answer to my second question?
20:00 ruoso I didn't understand it, actually
20:00 ruoso why would you use realloc
20:02 pmurias i have to grow the array
20:03 pmurias when you do my @foo;@foo[10000] = 3; @foo has to grow
20:05 ruoso ah... ok... I'd use realloc then
20:07 pmurias got to fetch the loundry for drying&
20:07 pmurias do i have to store a Scalar in each array cell?
20:16 ruoso pmurias, no... you actually need to create a proxy scalar that holds the position in the array
20:17 * ruoso home &
20:21 rakudo_svn r29700 | moritz++ | [rakudo] added S05-metasyntax/changed.t to spectest_regression, Auzon++
20:21 rakudo_svn r29700 | moritz++ |  +10 pass, +3 todo tests
20:21 moritz_ perlbot: karma Auzon
20:21 perlbot Karma for Auzon: 144
20:35 Jedai joined #perl6
20:36 alester joined #perl6
20:37 timbunce joined #perl6
20:38 rakudo_svn r29701 | infinoid++ | [pbc_to_exe] Commit patches from Reini Urban in RT #57188.  rurban++
20:38 rakudo_svn r29701 | infinoid++ | * Add an optional --install flag to pbc_to_exe.
20:38 rakudo_svn r29701 | infinoid++ | * Add a rule to the rakudo Makefile to generate an installable perl6 binary.
20:43 rakudo_svn r29702 | infinoid++ | [rakudo]
20:43 rakudo_svn r29702 | infinoid++ | Followup to r29701, add installable_perl6 to the $CLEANUP list.
20:46 pmurias what's the efficient equivalent of pow(2,ceil(log2(n))+1)
20:48 moritz_ pow(2, $something) can be made with a bit-shift operation
20:49 moritz_ I guess you can do the whole thing with tricky bit shift & mask operations, but I've never been good at that
20:50 pmurias the ceil(log2(n)) is the tricky part
20:50 justatheory joined #perl6
20:50 jferrero joined #perl6
20:52 pmurias i meant floor(log2(n))
20:52 pmurias wikipedia has a solution
20:53 Alias_ joined #perl6
20:54 jferrero joined #perl6
20:55 rhr pugs: my $x=63; my $log=0; while $x > 1 { $x = $x +> 1; $log++; } say $log
20:55 p6eval pugs: OUTPUT[5␤]
20:55 rhr is that the solution?
20:56 [particle1 joined #perl6
20:58 pmurias rhr: the wikipedia one is bit smarter
20:58 pmurias http://en.wikipedia.org/wiki/Binary_logarithm
20:58 lambdabot Title: Binary logarithm - Wikipedia, the free encyclopedia
20:59 justatheory joined #perl6
20:59 pmurias but it works for a set integer size only
21:02 pmurias pugs: my @foo;say exists @foo[1000];
21:02 p6eval pugs: OUTPUT[*** No compatible multi variant found: "&exists"␤    at /tmp/2nDbA7RHAd line 1, column 13-30␤]
21:02 pmurias pugs: my @foo;say exists(@foo[1000]);
21:02 p6eval pugs: OUTPUT[*** No compatible multi variant found: "&exists"␤    at /tmp/McReVNGykh line 1, column 13-31␤]
21:03 Jedai joined #perl6
21:04 rhr pmurias: thanks
21:05 pmurias np
21:05 pmurias ;)
21:05 pmurias pugs: my @foo = (1,2,3);say @foo;@foo.elems = 2;say @foo;
21:05 p6eval pugs: OUTPUT[123␤*** Can't modify constant item: VInt 3␤    at /tmp/gZHzOkYsSd line 1, column 28-42␤]
21:05 pmurias .elems is readonly?
21:06 rakudo_svn r29705 | moritz++ | [rakudo] dynamic x_label_skip in tools/progress-graph.pl
21:14 Alias_ joined #perl6
21:18 pugs_svn r21466 | pmurias++ | [smop]
21:18 pugs_svn r21466 | pmurias++ | sm0p/strip_out_actions - hacked in ~~
21:18 pugs_svn r21466 | pmurias++ | some work on lowlevel Array
21:19 pmurias @tell ruoso i'll finish the Array tommorow morning unless something creeps up on me
21:19 lambdabot Consider it noted.
21:19 b_jonas pmurias: reading the typing harmful slides now, and one of the pages has the title "Example: An escaping lens"
21:19 b_jonas Run! One of the lenses has escaped! It's coming!
21:20 b_jonas it's a frightening title
21:23 moritz_ rakudo: class A {}; my A $x .= new; say 1;
21:23 p6eval rakudo 29705: OUTPUT[1␤]
21:24 masak joined #perl6
21:26 pugs_svn r21467 | lwall++ | [STD] add <*foo>
21:28 pmurias b_jonas: how do you like lenses?
21:29 pmurias sleep&
21:30 b_jonas joined #perl6
21:36 japhb A friend of mine who is actually at OSCON tells me that Larry announced STD was done ...?
21:36 moritz_ japhb: it parses (at least) 80% of the official test suite
21:36 japhb That sounds like a suspicious simplification
21:37 japhb Ah, I had noticed that last night.
21:37 moritz_ japhb: let's say that the hard parts are done
21:37 moritz_ mostly
21:37 japhb heh
21:38 japhb OK, so my friend misheard.  Too bad ....
21:39 masak rakudo: class A { my $x; method foo { say $x } }; my A $a .= new; $a.foo
21:39 p6eval rakudo 29705: OUTPUT[Lexical '$x' not found␤current instr.: 'parrot;A;foo' pc 180 (EVAL_13:80)␤]
21:40 masak is this correct?
21:40 moritz_ don't think so, but I'm not sure
21:40 masak rakudo: class A { has $.x = "hi"; method foo { say $.x } }; my A $a .= new; $a.foo
21:41 p6eval rakudo 29706: OUTPUT[Method 'lvalue' not found for invocant of class 'PAST::Stmts'␤current instr.: 'parrot;PAST::Compiler;as_post' pc 2698 (src/PAST/Compiler.pir:707)␤]
21:41 masak hunh?
21:41 moritz_ try to find out what S12 says on scoping
21:41 masak mm
21:41 moritz_ masak: initalization of attributes never worked
21:41 masak oh, I see :)
21:41 justatheory joined #perl6
21:42 masak according to S12, 'my' and 'our' makes the attribute a class attribute
21:42 masak which means it should work, methinks
21:43 moritz_ same here
21:43 moritz_ unless they have special sigils (which I seriously doubt
21:43 masak oh, but it should still have a twigil
21:43 masak should be my $.x
21:43 moritz_ sure?
21:43 moritz_ the "my" makes it private to the class anyway
21:43 masak says S12
21:44 masak I'm not able to give you line numbers, because I'm reading the HTML, not the POD
21:44 masak but search for "Class attributes are declared" and you'll find it
21:44 masak but it doesn't work, so I'll submit a bug for this too
21:46 masak heh:
21:46 masak rakudo: class A { has $.x; method foo { say $.x } }; my A $a .= new; $a.foo
21:46 p6eval rakudo 29706: OUTPUT[Object␤]
21:46 masak why does it print "Object"? :)
21:48 pugs_svn r21468 | lwall++ | [roundrobin.t] missing )
21:52 pugs_svn r21469 | lwall++ | [evalfile.t] 0-ary rand
21:52 masak moritz_: how do I reference into a synopsis, with line numbers? (i.e. where's the POD file stored?)
21:52 moritz_ masak: either just click on the link in the IRC log...
21:52 moritz_ masak: or look at docs/Perl6/Spec/
21:52 TimToady https://svn.perl.org/perl6/doc/trunk/design/syn
21:52 lambdabot Title: Revision 14568: /doc/trunk/design/syn
21:53 masak moritz_: thanks, the latter was what I wanted
21:53 masak I'm creating a reference, so I need the file itself
21:53 moritz_ what kind of ref? smartlink? hyperlink?
21:54 masak an exact reference in an email to rekudobug
21:54 masak s/reku/raku/
21:54 szr joined #perl6
21:54 szr left #perl6
21:54 moritz_ ah
21:56 masak is there no way to set a class attribute?
21:56 masak s/a class/an/
21:57 moritz_ from inside a method, or from outside if it is rw
21:57 masak oki, thanks
22:01 japhb joined #perl6
22:06 Grrrr joined #perl6
22:06 wolverian joined #perl6
22:06 ilogger2 joined #perl6
22:06 Helios- joined #perl6
22:06 zostay joined #perl6
22:06 alester joined #perl6
22:25 pugs_svn r21470 | lwall++ | [getc.t] 0-ary rand, bad ."" interaction
22:29 Jedai joined #perl6
22:41 wknight8111 joined #perl6
22:45 pugs_svn r21471 | lwall++ | more spec ." snafus
22:59 Limbic_Region joined #perl6
23:00 alester joined #perl6
23:07 ruoso joined #perl6
23:13 cognominal_ joined #perl6
23:31 AzureStone joined #perl6
23:32 justatheory joined #perl6
23:37 [particle1 joined #perl6
23:38 timbunce joined #perl6
23:49 araujo joined #perl6

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo