Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2010-04-14

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 daemon joined #perl6
00:08 ian__ now that the stable release is 5.12.0, what's the preview release, if any?
00:09 lue erm, are you talking about Perl 5 ?
00:11 daemon hey guys, im going to install perl6. however according to ports perl6 does not exist, would 'pugs' be correct?
00:11 cognominal no, pugs is obsolete.
00:12 daemon mail# pwd && ls | grep -i perl6
00:12 daemon /usr/ports/lang
00:12 daemon p5-Perl6-Subs
00:12 daemon pugs/pkg-descr says:
00:12 daemon Pugs is an implementation of Perl 6, written in Haskell.
00:12 daemon .. I won't paste the rest
00:13 lue try rakudo. Go to http://perl6.org . Rakudo is the one being kept up to date.
00:13 ian__ left #perl6
00:13 daemon ok dokey cheers
00:14 snarkyboojum joined #perl6
00:14 lue hello snarkyboojum :)
00:14 daemon Path:   /usr/ports/lang/rakudo
00:14 daemon Info:   The Rakudo Perl 6 Compiler targets the Parrot Virtual Machine
00:14 daemon there it is
00:14 daemon thank you again ^_^
00:15 quester_ daemon:  Careful!  Rakudo is in early development and changing _very_ rapidly.  You probably want to get the source directly from github.com.
00:16 quester_ daemon:  For example, there was a major change to the compiler internals two months ago.
00:17 jhuni joined #perl6
00:17 quester_ daemon:  See http://rakudo.org/how-to-get-rakudo for general instructions.
00:17 daemon quester_, advice taken ill give it a whirl in a virtual box - I try my best not to use sources unless I absolutely can't avoid it ^_^
00:18 daemon quester_, hehe
00:18 daemon for free it tells me to just pkg_add -rv
00:18 daemon or use ports
00:19 [particle] preliminary gsoc slot count for tpf: 10
00:19 quester_ daemon:  I see your point, but using Rakudo at all involves... a certain amount of trust.  I have only ever run it in virtual machines.  Keep in mind that Rakudo may be a year or thereabouts away from what would normally be termed "release 1.0".
00:20 daemon quester_, gotcha well I use perl5 alot... so lets see how perl6 handles, will I need brandy or whisky for he first run?
00:21 quester_ Even if there is no malicious intent in any of the code, you may things that have never been tested, and get interesting results.  (Bug reports are very welcome.)
00:21 quester_ Vodka?
00:21 daemon can get that too :)
00:22 quester_ s/may/may do/
00:23 daemon I suppose it cannot be any worse than the first time I found out about POE and gave that a go
00:23 daemon turned out to be one of the most handy things I ever did learn
00:23 daemon dngor is a genius
00:24 frooh s1n: where you at yo?
00:24 lichtkind joined #perl6
00:25 lichtkind hej
00:25 quester_ daemon: Yes... but keep in mind that Rakudo and Parrot are both in the very middle of being written.  You may bug where no man has bugged before.
00:25 lue hello o/
00:25 lichtkind lue: im back :)
00:25 daemon quester_, that just adds to the fun :)
00:25 lue from vacation? I noticed a wiki-man was missing... :)
00:26 lichtkind lue: yes lot of spam
00:26 snarkyboojum joined #perl6
00:26 snarkyboojum lue: hello back
00:26 quester_ daemon:  Yes.  Please report any bugs you find, and best of luck.
00:27 lichtkind lue: no after 2,5 days my new system (new HDD) is installed and most of program and drivers are running againd
00:27 lichtkind had an resolving disk
00:27 lue resolving?
00:28 * lue thinks you meant revolving...
00:28 lichtkind was like russian  roulette
00:28 lichtkind lue: i mean disappearing it was a bad translation
00:29 quester_ Bye, everyone.  .lunch &
00:29 lichtkind bya
00:29 lue bye quester_ o/
00:29 lichtkind lue : you can say that literally in german there it makes sense :)
00:29 quester_ left #perl6
00:29 lichtkind lue: tomorrow i think appendix A will exceed 500 entries and i will blog about it
00:29 lue lichtkind: are you german? I haven't spoken german since I was 5, but I ought to remember something :)
00:29 lue \o/
00:30 lichtkind lue: no clean blooded arian but born there :)
00:31 lue I'm not arian :)
00:32 lue ( because of when I stopped learning german, I have no clue as to its written form :D )
00:33 pausenclown u will regret that when we take over the world =)
00:34 lue Last I heard, Hitl — sorry, Hilter — was having some trouble with that.
00:34 lue :)
00:35 lue afk
00:35 lichtkind bya
00:38 lichtkind pausenclown: so whats you exact role in that game :) ?
00:41 meppl joined #perl6
00:43 daemon joined #perl6
00:49 lichtkind no pause no clown :(
00:56 lichtkind good night
01:06 holli_ joined #perl6
01:07 pausenclown___ joined #perl6
01:50 agentzh joined #perl6
01:57 Psyche^ joined #perl6
02:04 diakopter yes.
02:04 diakopter unless/while/until/next/last/do-while
02:04 diakopter compiler compilers are .. powerful.
02:06 diakopter perlesque: my int $a = 2; do { $a += 1 } while ($a < 10); System::Console.WriteLine($a)
02:06 p6eval perlesque: OUTPUT«10␤»
02:06 diakopter perlesque: my int $a = 2; do { $a += 1 } while ($a > 10); System::Console.WriteLine($a)
02:06 p6eval perlesque: OUTPUT«3␤»
02:06 diakopter as the grammar becomes larger, the stage0 compilation step takes noticeably longer.
02:07 diakopter (as well it should; it's quite complex)
02:08 diakopter here's the diff, in case you're curious.  http://code.google.com/p/c​smeta/source/detail?r=127#
02:11 diakopter once it starts taking longer than 3 seconds, I'll start precompiling/disasssembling/snapshotting the grammar into perlesque itself so that it doesn't have to build stage0 upon every execution.
02:16 thowe joined #perl6
02:20 diakopter er
02:20 diakopter repeat/while hee
02:28 pausenclown___ wtf is perlesque?
02:38 jrwyant joined #perl6
02:40 jrwyant left #perl6
02:42 jrwyant joined #perl6
02:42 CokeBot9000 if only we had an infobot.
02:43 CokeBot9000 Perlesque is, IIRC, something vaguely in the space of NQP, but on top of the CLR. perl-like, not perl, intended to be used as a compiler tool for that platform.
02:50 hercynium joined #perl6
02:55 stepnem joined #perl6
02:59 sorear what became of lambdabot, anyway
03:00 snarkyboojum joined #perl6
03:00 plobsing joined #perl6
03:24 isBEKaml joined #perl6
03:26 thowe how does one check perl 5 for thread support?
03:26 sorear perldoc Config
03:27 sorear every Perl 5 installation contains a Config.pm module, which exports a hash of all values provided to or detected by Configure
03:27 sorear executable file extension, word sizes, debugging flags, threads, search paths, everything
03:28 thowe Hmm.  No Padre for me..
03:28 sorear oh, you meant on the command line?
03:28 cognominal perl -V:useitheads ?
03:28 thowe Yeah, but I ran the code fragment.
03:28 sorear perl -V:useithreads
03:29 thowe I'm currently on a FreeBSD 8.0 box.  It's actually pissing me off.  Gonna go back to OpenBSD.
03:29 thowe I think gnome-terminal is my best bet for Perl 6 on there.
03:29 sorear don't check 'usethreads'; that refers to 5.005 threads, which were broken by design, deprecated in 5.6 or 5.8, removed from the default configuration in 5.8 or 5.10, and removed from the code entirely in 5.12
03:30 sorear I'm suprised Padre uses threads
03:30 thowe FreeBSD doesn't have threads by default.  If I built Perl special I could hav eincluded them
03:30 thowe It's apparently made a big deal of in the install instructions
03:30 sorear oh wow, progressive
03:30 sorear perl 5 threads are universally hated
03:31 sorear most OS perls have them, and the first thing you're supposed to do as a serious Perl user is compile a custom perl with them disabled
03:32 thowe Huh.  Probably why disabled in default FreeBSD port.  OpenBSD comes with perl as part of the base system, so I'll bet they are also disabled.  Especially since rthreads in OpenBSD are still not there.
03:33 sorear the root problem is that the perl 5 data core has no real encapsulation
03:33 sorear 5005threads put a mutex on every scalar
03:33 thowe Is there a list of Perl6 software projects anywhere?  It would be interesting for me to take a look.
03:34 sorear but they're crashy because there's no central place to add locking code
03:34 sorear and so it was added everywhere - didn't work so well
03:34 sorear ithreads are based on the 'perlfork' 5.6.0 Windows fork() emulation
03:35 sorear they consist of duplicating (no COW here) the entire interpreter heap and all global variables
03:35 sorear if you need parallelism and relatively cheap "IPC", they're good
03:35 sorear but they're really quite a niche tool
03:36 sorear and, because they have to pass around a Perl_Interpreter * object (no global variables in a threaded world), they have a noticable single-thread penalty
03:36 sorear on the order of 10% runtime
03:37 sorear thowe: maybe http://github.com/masak/proto/raw/e2c8ed1ee2​edf814be0cefbc2dee48ff1bd46398/projects.list
03:37 thowe hm
03:40 sorear there's also http://gitorious.org/parrot-plumage/​parrot-plumage/trees/master/metadata
03:40 sorear and a lot of stuff still lives in the pugs repo
03:40 sorear (but not pugs)
03:40 thowe pugs?
03:40 sorear audreyt's Perl6 compiler
03:40 sorear it was the first major implementation
03:41 sorear hosted in SVN with free commit bits to all, it effectively was Perl6Forge for the first couple years of perl6's existance
03:41 thowe cool
03:42 sorear creating new projects in pugs-repo is no longer encouraged, but a significant number are still maintained there
03:42 sorear (pugs itself left last month)
03:48 meppel joined #perl6
03:55 sorear phenny: tell masak - I'm looking at the perl6/book; why do you always capitalize RAKUDO ?
03:55 phenny sorear: I'll pass that on when masak is around.
04:07 kiran_viswm joined #perl6
04:08 snarkyboojum sorear: you mean his # RAKUDO comments?
04:09 snarkyboojum I think he uses that as a convention for "rakudo bug/limitation here" a la TODO etc
04:11 alester joined #perl6
04:12 sorear mm
04:12 sorear also, something is mangling this file
04:12 sorear lots of ¿ and ¡
04:12 sorear especially in poddy bits
04:12 diakopter pugs itself left pugscode... years ago.
04:13 lue rakudo: subset A of Array; subset B of A; subset C of A; subset D of A where B & C; say [] ~~ D
04:13 p6eval rakudo fb38db: OUTPUT«Type objects are abstract and have no attributes, but you tried to access ␤current instr.: 'perl6;SeqIter;get' pc 14351 (src/builtins/Routine.pir:126)␤»
04:13 lue sorear: unless it was written by a spanish-speaking individual (or other some such thing), I'd say that's an encoding error.
04:14 sorear lue: Thank you, but that was actually implied by "mangle"
04:15 sorear I know enough Spanish to say that oB¿pe l¡ac is not valid
04:15 lue is you viewing in UTF-8?
04:16 sorear Are you an editor of the perl6-book?
04:16 lue no(t yet).
04:19 lue why, would it be a wise decision ?
04:27 * lue dislikes when conversations stop in mid thought :/
04:28 _jaldhar_ joined #perl6
04:47 snarkyboojum joined #perl6
04:58 snarkyboojum sorear: ask someone in #perl6book for commit access
05:02 lue goodnight moon
05:07 sorear snarkyboojum: huh?
05:07 snarkyboojum sorear: you noticed some issues with the perl6book?
05:07 sorear yes
05:08 sorear but I don't know how to fix them
05:08 sorear if anything, it's probably a Pod::PseudoPod::LaTeX bug
05:08 sorear untranslated B<> is showing up in the .tex
05:08 snarkyboojum sorear: oic which file?
05:08 sorear and pdflatex, for some insane reason, renders unquoted <> as ¿ and ¡
05:08 sorear snarkyboojum: build/book.tex
05:09 snarkyboojum sorear: could be, I came across some similar bugs a while back
05:09 sorear anywhere in the .pod where nested inline markup is used
05:09 sorear e.g. I<<oscilloscoB<pe l>acks precision>>
05:09 sorear from regexes
05:09 snarkyboojum ah - I don't have pdflatex tools installed on OS X
05:10 sorear are you just viewing the pod raw?
05:10 snarkyboojum yeah, or generate the html
05:10 snarkyboojum which has it's own issues (embedding images etc)
05:11 snarkyboojum its
05:11 sorear there are a couple places where verbatim blocks aren't and code has gotten turned into flow paragraphs
05:11 sorear I didn't make note of where though
05:11 sorear (for 50 pages of stuff I already know, that was a remarkably slow read)
05:12 snarkyboojum peprhaps worth raising in #perl6book in case someone doesn't see it here (thought I'm sure moritz or masak or someone will pick up on it)
05:12 snarkyboojum eek s/thought/though/
05:15 molaf joined #perl6
05:26 snarkyboojum std: subset A of Any
05:26 p6eval std 30384: OUTPUT«ok 00:01 109m␤»
05:26 snarkyboojum curiously when trying that via ./perl6 --target=parse I get the following error
05:26 snarkyboojum 'Method 'symbol' not found for invocant of class 'Undef''
05:26 sorear what does subset with no where mean?
05:27 snarkyboojum no idea, but should it parse?
05:27 sorear I suspect it should result in a static semantics error
05:27 sorear like this
05:27 sorear std: say 5; CATCH { say 2; }; CATCH { say 3 }
05:27 p6eval std 30384: OUTPUT«ok 00:01 109m␤»
05:27 sorear std: say 5; CATCH { say 2; }; CATCH { say 3 };
05:27 p6eval std 30384: OUTPUT«ok 00:01 107m␤»
05:27 sorear std: { say 5; CATCH { say 2; }; CATCH { say 3 }; }
05:27 p6eval std 30384: OUTPUT«ok 00:01 107m␤»
05:28 sorear rakudo: { say 5; CATCH { say 2; }; CATCH { say 3 }; }
05:28 p6eval rakudo fb38db: OUTPUT«5␤»
05:28 sorear I was so sure that was fixed
05:28 yinyin joined #perl6
05:30 snarkyboojum well 'subset A of Any; when A { say "hi" };' runs
05:30 snarkyboojum rakudo: subset A of Any; when A { say "hi" };
05:30 p6eval rakudo fb38db: OUTPUT«hi␤»
05:30 snarkyboojum but still gives me an error when using --target=parse
05:30 snarkyboojum i.e. Method 'symbol' not found for invocant of class 'Undef'
05:30 snarkyboojum so who knows :)
05:52 eternaleye joined #perl6
05:56 kaare joined #perl6
05:57 diakopter perlesque: my int $a = 2; loop { $a+=1; if (($a%2)==0){next} elsif ($a==151) {last};System::Console.WriteLine($a) }; System::Console.WriteLine($a)
05:57 p6eval perlesque: OUTPUT«3␤5␤7␤9␤11␤13␤15␤17␤19␤21␤23␤25␤27␤2​9␤31␤33␤35␤37␤39␤41␤43␤45␤47␤49␤51␤53␤55␤57​␤59␤61␤63␤65␤67␤69␤71␤73␤75␤77␤79␤81␤83␤85␤​87␤89␤91␤93␤95␤97␤99␤101␤103␤105␤107␤109␤11​1␤113␤115␤117␤119␤121␤123␤125␤127␤129␤131␤1​33␤135␤137␤139␤141␤143␤145␤147␤149␤151␤»
06:07 uniejo joined #perl6
06:23 pmurias joined #perl6
06:24 pmurias sorear: are there any reason why creating new projects in the pugs repo is discouraged?
06:42 sorear pmurias: I don't know
06:42 sorear however, new projects (2008+) are overwhelmingly more likely to show up on github/gitorious
06:43 sorear only stuff that's deeply coupled to pugs repo stuff, like vill, shows up in the pugs repo
06:43 sorear this is an inductive observation, not a known rule
06:52 jonasbn joined #perl6
06:52 moritz_ \o/ TPF has 10 preliminary slots in the google summer of code program
06:55 pmurias how many applications are there?
06:55 moritz_ 24
06:58 iblechbot joined #perl6
07:20 pugssvn r30385 | moritz++ | [t/spec] fudge sort.t for rakudo
07:25 dalek rakudo: aae95f4 | moritz++ | t/spectest.data:
07:25 dalek rakudo: we pass sort.t, quester++
07:25 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/a​ae95f431b88a2ce2c54dacad5f568567749bfab
08:02 moritz_ \o/ the authors of Date::Simple have granted me permission to ship their (adapted) tests under the artistic license 2.0 with Date.pm
08:06 jferrero joined #perl6
08:09 * moritz_ loves the open source community
08:10 moritz_ sorear: the Perl 6 book source files are meant to be in UTF-8...
08:11 moritz_ sorear: RAKUDO comments mark workarounds around rakudo bugs
08:20 sorear they /are/ in UTF-8
08:20 sorear this has nothing to do with text encoding
08:20 fridim joined #perl6
08:22 sorear ¿ and ¡ are being generated at the pdflatex stage; the .tex files are ASCII only
08:22 sorear see #perl6book
08:23 masak joined #perl6
08:23 masak oh hai, #perl6
08:23 phenny masak: 13 Apr 17:57Z <moritz_> tell masak about http://paste.lisp.org/display/97730 by CokeBot9000++
08:23 phenny masak: 03:55Z <sorear> tell masak - I'm looking at the perl6/book; why do you always capitalize RAKUDO ?
08:24 masak CokeBot9000++: will have a look
08:24 masak sorear: by the same principle that XXX and TODO are capitalized: they should be ugly/visible because they're not supposed to be there in the long run.
08:25 dakkar joined #perl6
08:30 dalek book: 3c98bf3 | moritz++ | src/subs-n-sigs.pod:
08:30 dalek book: it turns out that initial whitespaces are required even in "programlisting" blocks. Reported by sorear++
08:30 dalek book: review: http://github.com/perl6/book/commit/3c​98bf369fa2b3d578b958f6a6978b25fb8365a0
08:38 masak 'whitespace' is a mass noun, and doesn't have a plural in the typical case.
08:39 masak like 'air'.
08:39 moritz_ aye, I've learned that recently, but it needs time to sink in
08:39 masak *nod*
08:41 moritz_ looking at the access logs of my websites, I find a nice correlation between visitor counts and new blog entries
08:41 moritz_ on the day of publishing and the following day, I have about 80 to 150 more visitors than on comparable weekdays without new posts
08:42 masak an incentive to blog :)
08:42 moritz_ and on the second day after publishing it's typically still 50 more
08:42 moritz_ aye
08:42 moritz_ when I know that people actually read what I write, I'm more motivated
08:43 moritz_ when I started blogging I read lots of jokes that most blogs have between 0 and 1 reader, and it felt that way too
08:43 moritz_ I guess writing that 5-to-6 blog series changed that :-)
08:44 masak I think it did.
08:44 masak it docks well with what a lot of people want to read.
08:45 moritz_ now that interpolation of postcircumfixed variables work, I have to revisit what I wrote about variable interpolation :-)
08:45 moritz_ rakudo: my @a = <some few things>; say "ORLY, @a.sort.join('|') IN DA STRNG:
08:45 p6eval rakudo aae95f: OUTPUT«Confused at line 11, near "say \"ORLY,"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
08:46 moritz_ rakudo: my @a = <some few things>; say "ORLY, @a.sort.join('|') IN DA STRNG";
08:46 p6eval rakudo aae95f: OUTPUT«ORLY, few|some|things IN DA STRNG␤»
08:46 moritz_ this is so amazing :-)
08:47 masak it is indeed.
08:47 masak jnthn++!
08:47 moritz_ I should write whole programs in double quoted strings :-)
08:47 masak just make sure to end them with brackets of some kind :P
08:49 moritz_ "It should have ended that day, but brackets were allowed to endure" (with apologies to the first Lord of the Ring movie)
08:52 adm_ joined #perl6
08:52 mathw I thought it wasn't supposed to interpolate that sort of thing
08:53 moritz_ mathw: it's supposed to interpolate all terms that begin with a sigil and end with a postcircumfix
08:53 mathw ah
08:53 mathw right
08:53 moritz_ and contain no whitespaces, iirc
08:54 moritz_ rakudo: my @a = <a b>; say "@a.join(' / ')foo"
08:54 p6eval rakudo aae95f: OUTPUT«a / bfoo␤»
08:54 moritz_ seems whitespace is allowed too
08:54 _jaldhar_ joined #perl6
08:59 masak moritz_: yes, but not at the 'top' level, parentheses-wise.
09:03 moritz_ aye
09:16 mathw only somewhere it can be delimited suitably
09:16 mathw which makes sense
09:18 sorear t/spec/S06-operator-overloading/sub.t - #?rakudo skip 'lexical operators' can be unfudged
09:19 sorear they work fine
09:19 sorear (user defined precedences, however, don't)
09:20 moritz_ sorear: do you have commit acces to the pugs repo yet?
09:20 sorear no
09:20 moritz_ time to change that
09:20 moritz_ tell me your email address, and I'll give you access
09:20 sorear (how do I test my changes to the specsuite?)
09:21 araujo joined #perl6
09:22 masak comment on Twitter: 'Perl 6 remains a distant horizon, but Perl 5.x development revitalizing. [...] My favorite? The new "yada yada" operator: ...' -- You're welcome :)
09:24 araujo joined #perl6
09:34 m6locks lol
09:34 jnthn o/ from Moscow
09:35 masak lolitsjnthn
09:35 masak jnthn: you made it!
09:35 jnthn I did!
09:35 jnthn Just gave some quite well attended Perl 6 Q&A Session. :-)
09:37 masak yay!
09:37 masak what was the best Q you got? which was the best A?
09:38 REPLeffect joined #perl6
09:38 m6locks hows the russian perl6 scene
09:39 moritz_ sorear: welcome to pugs. It's custom to add yourself to AUTHORS as first commit (to test your commit access, among other things)
09:39 masak sorear: welcome aboard!
09:39 jnthn masak: Well, the first one was "When is Perl 6 out?" ;-)
09:39 mathw that's inevitable I suppose
09:40 masak that's part of the Perl 6 discourse.
09:40 jnthn Got some nice one about threading. "Is Rakudo * too early?"
09:40 masak as an idea, I think Rakudo * could have been a lot earlier.
09:41 masak on the other hand, it will always be too early in the sense of important RT tickets not having been fixed yet.
09:41 masak it's all a matter of prioritizing.
09:42 mathw aargh threading
09:42 * mathw is currently wrestling with a horrible object encapsulation/multithreading problem
09:42 pausenclown joined #perl6
09:42 * moritz_ would rather see no support for concurrency at all than crappy threading
09:42 mathw well, Parrot needs nice threading first
09:43 mathw although we could have the design all done before then of course
09:43 masak fsvo 'all done'
09:43 mathw only thing I know about threading is how not to do it though
09:43 mathw masak: obviously it's informed by implementation, so it couldn't be 'complete'
09:43 moritz_ mathw: there's a gsoc proposal for fixing up threading iin parrot
09:43 mathw moritz_: yay!
09:43 mathw I'll cross my fingers for that being accepted
09:44 mathw at the moment my biggest thing about threading is 'don't do it in a language which is oblivious to it'
09:44 moritz_ the chances aren't bad
09:44 mathw or maybe 'don't share memory by default'
09:44 mathw I'm not sure if that's good in general or not, it probably kills your performance in some scenarios
09:44 mathw but it would save me a lot of trouble
09:45 araujo joined #perl6
09:45 moritz_ I kinda expect to see different concurrency systems emerging in the future
09:45 moritz_ some which are aimed primarily at speed
09:46 moritz_ and other primarily aimed at ease of use, even if that means that some scenarios can't be implemented efficiently
09:46 mathw that'd be nice
09:47 mathw rather than trying to ram everyone into one model that doesn't work for any of them very well
09:47 mathw actually a lot of my pain right now would go away if we had re-entrant locks
09:47 mathw it's like the design was done for re-entrant locks, and then someone realised they're not re-entrant
09:48 jnthn Yeah, it's...hard to get concurrency right. It cerainly needs to be informed by implementations *and* user feedback.
09:49 mathw I believe it to be one of the hardest and most important problems in programming at the moment
09:49 arnsholt mathw: I agree
09:49 arnsholt For inspiration, Haskell and Erlang's threading implementations might be useful?
09:49 _newbie3 joined #perl6
09:50 mathw which one of Haskell's? :)
09:50 jnthn Probably we need to make sure we allow enough flexibility to let more than one way to be implemented.
09:50 mathw I know STM's been talked about for Perl 6
09:50 jnthn Since there's more than one type of parallelism.
09:50 mathw but I believe that has been shown to have some nasty drawbacks in some cases
09:50 arnsholt Haskell has optimistic locking or whatever it's called, IIRC
09:50 jnthn (data vs task, for example)
09:50 mathw jnthn: yes
09:50 mathw precisely why having one model of concurrency breaks down
09:50 jnthn TMTOWTDI.
09:51 mathw but it can be just as bad having no model, if the programmers using the system don't then decide on the appropriate one and stick to it
09:51 jnthn It's be kinda unperlish to force one model.
09:51 mathw giving people a thread class and a semaphore or mutex is just asking for trouble - but you also have to make the primitives available so that new models can be implemented, even if you'd rather people didn't use them directly
09:52 arnsholt I think the reason STM works so well for Haskell is that it's a strategy for situations with many reads and few writes. Which fits nicely with purely functional =)
09:52 mathw yeah
09:52 jnthn arnsholt: Good point.
09:52 mathw plus if your core computation in any transaction is pure, your re-roll could be quite cheap if there's a conflict
09:52 mathw that is, if the system can see that your inputs didn't change
09:52 arnsholt Yeah
09:53 mathw I always wanted to play around with a system where threads talk to each other by pushing things onto message queues
09:53 * jnthn looks forward to play with concurrency bits
09:53 arnsholt mathw: IIRC that's how Erlang works. Message passing
09:54 mathw I've got some plans for investigating these things at work, but unfortunately if I do that it brings it under corporate confidentiality.
09:54 mathw arnsholt: yes, and it's fairly agnostic about if you're talking ot a thread or a process or another computer I believe
09:55 arnsholt Yeah, I can imagine that being an upshot of implementing message passing right
09:55 mathw message passing has to be coupled with no shared memory by default
09:55 mathw I think
09:55 mathw if you do that you can certainly spread yourself across a network fairly trivially
09:56 moritz_ fsvo trivial :-)
09:56 mathw I'd think Perl 6 could probably be taught to support that model :)
09:56 mathw moritz_: well most of the mess would be in the library, not your program :)
09:56 mathw isn't our philosophy one of torturing the compiler writers for the sake of the users? :)
09:56 masak CokeBot9000: I had 'Any' instead of 'PokerHand' in some places was due to http://rt.perl.org/rt3/Tic​ket/Display.html?id=74352
09:56 masak s/was //
09:57 arnsholt mathw: Yeah, that's one of the things that appeals to me with message passing. No shared memory means no weird races there
09:58 moritz_ you still get weird races that are inherent to concurrency
09:58 moritz_ but less
09:58 masak how was last night's #rs, by the way?
09:58 moritz_ not very productive
09:58 moritz_ I had to run off after a few minutes
09:58 moritz_ at least it's a short read in the logs :-)
09:59 masak oh, logs!
09:59 * masak reads them
10:01 mathw arnsholt: there's a certain architectural elegance to it. I also like the idea of writing an entire system on the basis of a global queue of 'things to do' and a pool of threads which consumes it
10:01 mathw I'm going to try that one day and see what kind of messes it produces
10:01 masak CokeBot9000: ah, I see that you fixed that by transforming 'A & B' to '{ A && B }' instead. cunning.
10:01 masak ...though probably wrong... :/
10:02 masak rakudo: subset A of Any; say my $a ~~ A
10:02 p6eval rakudo aae95f: OUTPUT«1␤»
10:02 masak rakudo: subset A of Any; subset B of A where { A && A }; say my $b ~~ B
10:02 p6eval rakudo aae95f: OUTPUT«0␤»
10:02 moritz_ rakudo: subset A of Any; say Mu ~~ A
10:02 p6eval rakudo aae95f: OUTPUT«Nominal type check failed for parameter '$topic'; expected Any but got Mu instead␤current instr.: 'perl6;Bool;ACCEPTS' pc 363329 (src/gen/core.pir:27083)␤»
10:03 masak CokeBot9000: that block will never match. type objects boolify to False.
10:03 * masak writes it as explicit smartmatches on $_ instead
10:07 bacek ~~
10:07 bacek jnthn, aloha. In which timezone are you now?
10:09 masak CokeBot9000: the reason '&' worked was that the junction delegated to type matching on the subtypes. but the block nullifies the effect of being in 'where' position, and the subtypes are instead boolified by the '&&'
10:09 masak or not exactly boolified, but treated as truth values of some sort...
10:09 moritz_ isn't that the same? :-)
10:10 masak there might be a slight technical difference.
10:11 masak in boolification, it's actually turned into an actual Bool.
10:11 masak in being treated as a truth value, it's not coerced, but being treated as if it were True of False.
10:11 mathw True of False, now there's a mind-bending concept
10:11 moritz_ but 2 is neither True nor False
10:11 masak that's the difference between ?& and &&, respectively.
10:11 masak mathw: oops. :)
10:12 masak moritz_: no, but it boolifies to True, and && will treat it as a true value.
10:12 moritz_ and ?& will not?
10:13 masak yes, but only after turning the 2 into True.
10:13 masak && won't do that.
10:13 masak it's visible when the rhs is actually returned from &&.
10:13 masak er, the right operand.
10:14 moritz_ but both && and ?& treat the left operand the same, right?
10:14 masak inasmuch as you can't detect the difference, yes :)
10:15 moritz_ rakudo: say 1 ?& 2
10:15 p6eval rakudo aae95f: OUTPUT«1␤»
10:16 moritz_ rakudo: say 1 && 2
10:16 p6eval rakudo aae95f: OUTPUT«2␤»
10:18 masak lunch &
10:23 _newbie3 joined #perl6
10:30 bbkr joined #perl6
10:42 clintongormley joined #perl6
10:44 masak moritz_: correction. in the case where the lhs is false, you would notice the difference in boolification between && and ?&
10:46 masak phenny: tell mberends that I'm glad things are happening with proto right now. I think the sanest way I can contribute long-term is to write that 'testable core' thingy. would like to get together some evening and brainstorm on that -- just to make sure I grok the new model.
10:46 phenny masak: I'll pass that on when mberends is around.
10:52 synth joined #perl6
10:54 masak CokeBot9000: [backlog] if we're to have an infobot, we should write it in Perl 6, and I'd like to have a word in its design. (clue: not like purl)
11:01 am0c joined #perl6
11:01 m6locks does the socket stuff work already in rakudo?
11:01 m6locks to the extent that writing a bot is possible
11:02 masak it works in Minneapolis.
11:02 masak don't think it works yet in master.
11:03 m6locks .oO( always a wrong release I have )
11:03 masak and now, IIUC, we also have the added advantage of fewer memory leaks, so maybe the bot'll stay up. :)
11:03 BinGOs all the cool kids use event frameworks to write IRC bots there days.
11:03 BinGOs s/there/these/
11:03 masak m6locks: I have Minneapolis installed, and symlinked as 'alpha', and latest master as 'perl6'.
11:04 m6locks i oughta do the same
11:04 masak BinGOs: it won't be long I think before we'll have an even framework based on traits and modded metaclasses in Perl 6.
11:04 masak s/even/event/
11:05 BinGOs and asynchronous IO
11:05 * masak doesn't know enough about that to say anything sensible
11:05 m6locks class Bot does AsyncIO
11:06 BinGOs asynchronous IO event frameworks then >:)
11:08 masak seems I have submitted 33 rakudobugs so far this month. and it's not even mid-month yet. times are good right now.
11:08 masak the score right now is 622.
11:08 masak and rising. :)
11:08 envi^home joined #perl6
11:09 masak you know what I would like to see a Hague grant for? someone making an effort to make option handling sane in Rakudo.
11:09 masak and I don't mean S19 as much as simple things.
11:10 masak -I, -n, -p, -i
11:10 masak just get it all right once and for all.
11:10 Juerd Is there a definition of right?
11:10 masak that would be awesome.
11:10 Juerd Or would inventing what's right be part of the task?
11:10 masak Juerd: first approximation: as the 'perl' executable does it.
11:11 masak no inventing or investigating. JDFI. :)
11:11 Juerd Just do fucking it?
11:11 masak Just Ducking Foo It. :)
11:11 cognominal yea, and lexical variables not going out of scope at each newline in interactive mode. This is my pet peeve
11:11 masak cognominal: tell me about it.
11:11 masak cognominal: but IIUC pmichaud was well on his way to fix that.
11:12 * Juerd fails to care about interactive mode at all
11:12 Juerd I've never felt the need for a repl, other than for simple calculations, as in perl -ple'$_=eval'
11:12 masak history, tab completion, interactive introspection...
11:12 cognominal it is a great way to learn
11:13 Juerd Isn't using a source file easier?
11:13 Juerd Or, rather, why isn't that easier?
11:13 masak Juerd: the feedback loop is tighter with a REPL.
11:13 cognominal indeed
11:13 masak and you don't have to type 'say' all the time :)
11:13 Juerd masak: But you end up typing the same things over and over.
11:13 masak again, history.
11:13 Juerd History is annoying for that 5 line blokc.
11:13 masak if you're used to perl -ple'$_=eval', I understand that you'd say that :)
11:14 Juerd And if you don't use multiline constructs, you don't need those variables anyway
11:14 M_o_C joined #perl6
11:14 Juerd Like I said, it's just my calculator.
11:14 masak Juerd: I don't feel the need to convince you. I *really*, really want a good REPL for Perl 6.
11:14 cognominal Juerd, so perl5 is enough except if your are an APL fan
11:14 m6locks repl could be modified so that it would accept redefinitions
11:14 Juerd You don't have to convince me, of course :)
11:14 Juerd I'm just curious
11:15 masak Juerd: I'll be satisfied with an "ah, now I get it" once we have it :P
11:15 cognominal Perl, there is more than one way to use it.
11:15 Juerd I've seen Python programmers go crazy and use their interactive mode all the time, and the only thing I thought was: why on earth would you do it like that.
11:15 masak is there a proof-of-concept of using ReadLine from within Rakudo?
11:16 masak does anyone have the knowhow to make one?
11:16 Juerd The things that are small enough are great for oneliners in -e, and the rest is annoying to repeat in a repl.
11:18 moritz_ -e has the disadvantage of adding your shell's quoting layer to it
11:18 moritz_ which is not a problem in 95% of the time, but very annoying in the 5% where you get it wrong
11:21 cognominal I switched to Perl to avoid to mess that quoting layer
11:23 rv2733 joined #perl6
11:24 masak I would use the REPL rather than -e if the REPL didn't have the flaws it currently does.
11:24 masak at least I would in 90% of the cases.
11:27 pmurias joined #perl6
11:27 pmurias hi
11:28 masak \o
11:29 masak would it be a mistake to require subtype checking not only on assignment, but also on declaration? so for example 'subset Odd of Int where { $_ % 2 }; my Odd $uninit;' would error out at runtime at the latest.
11:30 colomon how would you check that?
11:30 masak just run the subtype check at some appropriate moment.
11:31 pmurias masak: that seems resonable
11:32 masak similarly for object attributes with subtyoe restrictions. the object would error out instead of being created inconsistently.
11:33 colomon I mean, how would you make a subtype check detect the example conflict?
11:33 masak colomon: I'm sorry, except for the answer I gave you, I have no idea what you mean.
11:36 pmurias masak: one problem i can see is my $foo;if foo() {$foo = ...} else {$foo = ...} like scenarios
11:36 masak how and why is that a problem?
11:36 colomon If I say 'subset Odd of Int where { $_ % 2 }; my Odd $uninit;', how does the compiler know that's wrong?  If you're assigning a value, it's easy to test that the value can't meet the constraints.  But how can the compiler know that *nothing* meets the constraints?
11:36 colomon afk # diaper change
11:36 moritz_ colomon: it runs the type check
11:37 moritz_ colomon: on the default value, which is an Int type object
11:37 masak colomon: supposedly, init-ing an Odd-subtyped variable would amount to assigning the Int type object to it.
11:38 masak colomon: the problem is that it would probably be done in what jnthn calls the proto-lexpad, which is not necessarily at runtime IIUC.
11:38 masak but if all that means is earlier errors, that's fine :)
11:39 pmurias masak: sometimes i want to declare a variable in some common outer scope and then initialise it in two common places
11:39 masak pmurias: yes, sure!
11:39 masak pmurias: ah, now I see what you mean.
11:39 masak pmurias: I think that concern is smaller than not having variables in an inconsistent state.
11:40 masak but that's just my immediate reaction. there might be places where that becomes a real problem.
11:41 masak also, it might turn out that it's philosophically impossible to assume that the variable isn't always assigned a (possibly inconsistent) default value at the start of the block.
11:41 masak in fact, I think that's the sad truth of it. :/
11:41 * pmurias is confused by that
11:41 moritz_ just find a default value yourself
11:42 masak pmurias: well, you can use the varible in the rhs of the declaration assignment, right?
11:42 masak pmurias: that means it has *some* value even before the first assignment.
11:42 pmurias std: my $foo = $foo;
11:42 p6eval std 30385: OUTPUT«ok 00:01 110m␤»
11:42 pmurias std: say $foo;my $foo = $foo;
11:42 p6eval std 30385: OUTPUT«[31m===[0mSORRY![31m===[0m␤Variable $foo is not predeclared at /tmp/6SIERUJ7E9 line 1:␤------> [32msay $foo[33m⏏[31m;my $foo = $foo;[0m␤Check failed␤FAILED 00:01 108m␤»
11:42 masak yapsi: my $foo = $foo
11:43 masak ENOYAPSIYET
11:47 masak ./yapsi -e 'my $foo = $foo; say $foo'
11:47 masak Any()
11:47 masak \o/
11:48 moritz_ masak: tiem for an evalbot target, is it? :-)
11:48 moritz_ *time
11:48 masak I think it is. :)
11:49 masak moritz_: should the Yapsi target dir build from the Rakudo target dir, or should it have its own Rakudo subdir, you think?
11:50 moritz_ masak: does rebuilding rakudo require recompilation of yapsi?
11:50 _jaldhar_ joined #perl6
11:51 masak moritz_: depends if something PIR-related changed, I guess.
11:51 moritz_ masak: how long does it take to rebuild yapsi?
11:52 moritz_ compared to rebuilding rakudo
11:52 * masak tests
11:53 masak currently it takes 6 seconds.
11:54 masak oh! I just remembered Yapsi runs off alpha, so it'd be using the alpha target, if any.
11:54 moritz_ that's basically immutable anyway
11:54 masak nod.
11:54 moritz_ 6 seconds including all dependencies?
11:55 masak no dependencies at present.
11:55 masak perhaps in the future GGE will be one.
11:55 masak and with it, a Perl 6 grammar.
11:55 moritz_ how do you parse now? built-in Perl 6 grammars?
11:55 masak aye.
11:56 masak extremely simplified.
11:56 masak see the top of http://github.com/masak/yap​si/blob/master/lib/Yapsi.pm
11:57 masak in fact, I think getting support for STD.pm, GGE and Rakudo parsing should come fairly soon. it will necessitate a common way to communicate ASTs.
11:57 masak which will be important in itself.
11:57 moritz_ that's sweet :-)
11:57 moritz_ (the current grammar, I mean)
11:57 masak it is :)
11:57 masak it's a sweet, complete-in-itself subset of Perl 6.
11:58 masak I first wrote that code, grammar and subs, in Perl 5 and Regexp::Grammars.
11:59 masak it was a joy to use in many ways. I realized that Perl 5 and Regexp::Grammars both rock. specifically, I feel a great confidence when using those tools that I don't get in Perl 6.
11:59 moritz_ :-)
12:00 moritz_ in two years, you will
12:00 masak then, when porting it all to Perl 6, I felt clearly that Perl 6 rocks. :)
12:00 masak specifically, the regex syntax is so schweet, and multi subs help keep things atomic and reduce clutter in other ways too.
12:00 moritz_ aye
12:00 moritz_ and then you use proto tokens...
12:01 masak one place where Regexp::Grammar really shines right now and Perl 6 regexes don't is in the output produced.
12:01 masak I still feel that $/ is really tough to traverse.
12:02 pmurias masak: the output of STD is more a parse tree then an ast
12:02 masak pmurias: whazzedifference?
12:02 moritz_ masak: aye. The many rakudobugs associated with $/ don't make things easier
12:03 moritz_ actually .caps and .chunks are supposed to make it much easier
12:03 pmurias masak: it reflects the particular way the program is written rather more of the program meaning
12:03 pmurias masak: like PAST vs the $/ from rakudo's grammar
12:03 masak moritz_: the second param of the find-vars and sicify subs doesn't have a parallel in the Perl 5 code. it's cool to be able to use constants in that way, but in the end it's a workaround for something missing in Match objects.
12:04 masak moritz_: I've never really used .caps and .chunks. is there a tutorial somewhere? :)
12:05 masak pmurias: good point. I suppose it's the parse tree I want, actually.
12:05 masak not the AST.
12:05 moritz_ masak: tutorial? are you kidding? they are specced, tested and implemented (in alpha), that's not a bad start...
12:05 masak moritz_: oh, ok.
12:05 masak moritz_: I will have a look at the tests, then.
12:05 masak and yes, I was kidding.
12:06 bluescreen joined #perl6
12:06 moritz_ alpha: 'abcdefg' ~~ /'a' <alpha> ** 2 (d)(e)(..)/; say $/.caps.join('|')
12:07 p6eval alpha 30e0ed: OUTPUT«alpha       b|alpha c|0     d|1     e|2     fg␤»
12:07 masak hm.
12:07 masak that is useful for tokenizing.
12:07 moritz_ alpha: 'abcdefg' ~~ /'a' <alpha> ** 2 (d)(e)(..)/; say $/.chunks.join('|')
12:07 p6eval alpha 30e0ed: OUTPUT«~   a|alpha b|alpha c|0     d|1     e|2     fg␤»
12:07 masak but I'm actually using the tree structure in Yapsi when checking for variables and such.
12:09 takadonet morning all
12:09 moritz_ masak: it gives you a list of all subtrees - isn't that exactly what you need for traversal?
12:10 masak takadonet: \o
12:10 pugssvn r30386 | masak++ | [t/spec/S05-capture/caps.t] rw review -- fixed braino
12:14 masak moritz_: yes, I think it is. but what I'm missing specifically from Regexp::Grammars in Perl 6 grammars is that Match objects 'know their name', i.e. something which parsed as a variable is typed as AST::Variable.
12:15 masak see for example findvars in http://github.com/masak/tardis/commit/b5986​05e5af3b5faf96dbf6d39e0d37706fae6e5#diff-3
12:15 masak (that's the Perl 5 prototype of Yapsi)
12:16 moritz_ isn't that what .ast is for in Perl 6?
12:16 masak you mean putting something there to give a clue? I guess.
12:17 masak but that would have to be done manually for each particular case. in Regepx::Grammars it just happens.
12:18 masak 'feature envy' :)
12:19 masak I also really dig the debugger. hope I'll get the presence of mind to finish implementing grammars in GGE soon, so that I can steal^Wport the debugger from Regexp::Grammars.
12:52 SmokeMachine joined #perl6
13:00 ruoso joined #perl6
13:02 _jaldhar_ joined #perl6
13:04 smash_ joined #perl6
13:05 smash_ hello everyone
13:05 moritz_ hi smash_
13:06 masak smash_: \o
13:16 alester joined #perl6
13:26 dalek book: 026f6a4 | moritz++ | bin/book-to- (2 files):
13:26 dalek book: [build] allow B<...> in verbatim code, allison++
13:26 dalek book: review: http://github.com/perl6/book/commit/02​6f6a4f6956457d54b5cac675ae0720f626c1c8
13:26 payload joined #perl6
13:30 CokeBot9000 masak: the version you had always matched. Mine seems to work more often. =-)
13:30 masak CokeBot9000: yours never matched. arguably, that's slightly better, but still not ideal. :)
13:30 CokeBot9000 (the version you posted said it was always a full house.)
13:31 masak yes, you mentioned that.
13:31 CokeBot9000 full houses rarely happen, though, so I was right more often! =-)
13:31 masak thanks for your fixes.
13:31 masak are you still planning to write the XXX part?
13:31 moritz_ CokeBot9000++ # statistical program correctness
13:31 lisppaste3 joined #perl6
13:32 CokeBot9000 I'm definitely interested in playing with that more. love to see a version with links to the RTs you were avoiding.
13:32 CokeBot9000 masak: yes. as soon as time permits. =-)
13:32 masak \o/
13:32 CokeBot9000 I will probably play with it this evening.
13:32 dalek book: aea60b1 | moritz++ | src/basics.pod:
13:32 dalek book: [basics] uninitialized hash items now default to Any, not Mu
13:32 dalek book: review: http://github.com/perl6/book/commit/ae​a60b1a2f179a4a02380559a4ffa96c49e20b57
13:33 rhr joined #perl6
13:36 payload1 joined #perl6
13:37 pmurias joined #perl6
13:39 pmurias ruoso: hi
13:40 payload joined #perl6
13:48 ignacio_ joined #perl6
13:52 pugssvn r30387 | pmurias++ | [mildew] tweak whitespace
13:52 pugssvn r30388 | pmurias++ | [mildew] add target to test bread
13:52 pugssvn r30389 | pmurias++ | [mildew] fix bread - STD needs to be importer from the main package
13:52 pugssvn r30390 | pmurias++ | [mildew] handle utf8 in source files in bread
13:52 slavik joined #perl6
13:56 ggoebel joined #perl6
13:57 payload1 joined #perl6
14:04 ruoso joined #perl6
14:05 * masak blogged: http://use.perl.org/~masak/journal/40311
14:06 ash_ joined #perl6
14:07 mathw People who blog about community structure when they should be making named enums work should be shot on sight :P
14:08 * mathw runs
14:08 masak :D
14:08 masak mathw: wish I could help, but the latest development with named enums was that jnthn realized that the blockages were non-trivial to such an extent that he couldn't even explain to me how to fix them.
14:09 masak mathw: in the meantime, use Minneapolis like the rest of us. :)
14:10 ash_ masak, do you have a blog? (link?)
14:10 masak ash_: see above.
14:10 ash_ to the logs!
14:10 ash_ got it
14:10 ash_ thanks
14:10 masak oh, sorry; didn't notive you hadn't logged in at that point... :)
14:11 alester joined #perl6
14:15 payload joined #perl6
14:16 mathw masak: I'm too stubborn to do that. I want master! master! master!!!!!!!!
14:16 masak mathw: an alternative is to use the DIY::Enum class that I wrote for the poker hand example as a workaround.
14:17 masak mathw: that, together with lots of 'our sub's might work as a workaround for the time being.
14:17 mathw or I could practise the ukulele, which seems to be how things are working out
14:17 masak or that, yes.
14:17 masak you just like giving me a bad conscience, admit it :P
14:18 mathw not really
14:18 mathw it's not like it's really your fault
14:18 mathw Mi ŝatas ludi ukulelon.
14:18 masak gosh, I hope it's not my fault. :)
14:19 moritz_ masak++ # great blog post
14:20 masak danke.
14:20 masak it was ultimately triggered by the mst-hanekomu-alester incident, though that's not visible from the final result.
14:20 envi_home2 joined #perl6
14:21 masak and that wasn't an example of the 'people who X should be shot' meme, just two people being nasty on the web.
14:21 mathw it's astonishing sometimes how nasty people can be online
14:21 moritz_ people who should be sh...oh, wait!
14:22 mathw People who are nasty to people online should be politely taken aside and explained that the internet isn't full of emotionless bots which have aced their Turing tests... yet
14:23 mathw there are plenty on twitter who seem to be failing theirs though
14:23 masak maybe we'll behave better when the Internet has the shape of augmented vision projected on our retinas and other people look like flesh-and-blood people, in 20 years or so.
14:23 alester masak: link?
14:23 moritz_ and when people whom you are not nice to can smack you online, and it hurts in meat space
14:24 masak alester: http://use.perl.org/~masak/journal/40311
14:24 masak moritz_: though maybe people will start to actually hang and shoot each other instead :/
14:24 moritz_ :(
14:25 alester I've never been comfortable with pointless geek aggro.
14:25 alester thanks for sayin', masak
14:25 sysrape joined #perl6
14:27 masak alester: I'm just saying that I hope what many people are thinking: that when people reply with insults and ridicule to a sincere request for help, those people aren't behaving with the respect you'd require from people in the same community.
14:32 justatheory joined #perl6
14:34 masak 'pointless geek aggro'. exactly. maybe the impulse is ultimately born out of a combination of power and powerlessness.
14:35 eternaleye masak++ # levels
14:35 masak thanks.
14:36 eternaleye Saw it in my feed reader, read it, and was compelled.
14:37 masak for me it was more of the reverse order :)
14:37 eternaleye I think that one of the greatest things about Perl 6 is that the 'community' level is amazingly vibrant for the relative state of the other levels - limited repository, patterns that are still being discovered, and a tool in flux. OTOH, the community is the one thing that can change those states :D
14:38 mathw I think we've got an awesome community
14:42 masak hugme: hug community
14:42 * hugme hugs community
14:43 moritz_ hugme: add smashz to book
14:43 * hugme hugs smashz. Welcome to book!
14:43 rgrau joined #perl6
14:43 masak eternaleye: yes. in many ways we've been forced into this path, because the tool takes time to write, but the community was there from the beginning thanks to Perl 5.
14:52 pausenclown joined #perl6
14:52 pausenclown the pugs svn is still down. can someone lend me a copy of std.pm?
14:53 TimToady looks up to me
14:53 masak here too.
14:54 TimToady are you looking for this?  http://svn.pugscode.org/pugs/src/perl6/STD.pm6
14:54 pausenclown indeed.
14:54 TimToady with a 6 on the end?
14:55 pausenclown http://svn.pugscode.org/pugs/src/perl6/STD.pm6
14:55 pausenclown oh.
14:55 pausenclown someone tell uncle google =)
14:57 snarkyboojum joined #perl6
15:00 pausenclown ok, now what is meant with "Until the document is updated, look at STD.pm " in S26? there's not much pod in there.
15:01 masak beware of the leopard.
15:01 ejs joined #perl6
15:01 masak pausenclown: I mention that in this post: http://use.perl.org/~masak/journal/38644
15:02 masak hm. I need to update that blog post. things have happened with S26 since then.
15:03 nihiliad joined #perl6
15:05 nihiliad joined #perl6
15:08 kaare joined #perl6
15:11 ash_ joined #perl6
15:15 CokeBot9000 are the specs in https://svn.pugscode.org/pugs/docs/Perl6/Spec ?
15:15 ash_ yes
15:16 CokeBot9000 I am trying to find the source for http://perlcabal.org/syn/S26.html.
15:16 CokeBot9000 (and that's not in the pugscode url.)
15:17 ash_ you mean https://svn.pugscode.org/pugs/docs​/Perl6/Spec/S26-documentation.pod ?
15:17 ash_ they run a script to convert the .pod into a .html
15:18 ash_ S##-.*.pod should == S##-.*.html (just with running perldoc on it)
15:19 CokeBot9000 yes, I'm trying to find the source of the "NOTE TO IMPLEMENTORS AND CODERS" section.
15:19 moritz_ CokeBot9000: the HTML version of S26 is out of date...
15:19 CokeBot9000 (svn upping and checking all of pugscode...)
15:20 slavik joined #perl6
15:20 moritz_ CokeBot9000: because we don't have a tool to parse the new Pod format
15:20 ash_ ah, my bad, didn't realize that
15:20 diakopter well
15:20 moritz_ http://svn.pugscode.org/pugs/docs​/Perl6/Spec/S26-documentation.pod is as authorotative is it gets
15:20 CokeBot9000 moritz_: alright. it's exceeded my threshold for "quick fix" to fix the url to STD.pm in that doc, then. =-)
15:20 diakopter I thought we had a tool.
15:21 moritz_ diakopter: for the previous iteration, yes
15:21 slavik joined #perl6
15:21 diakopter oh
15:21 diakopter I didn't know there was a new iteration
15:21 moritz_ newish
15:22 cotto_work joined #perl6
15:28 masak it's either the tool becoming obsolete or the CRUEL IRONY mentioned in http://search.cpan.org/~dconway/Perl6​-Perldoc-v0.0.5/lib/Perl6/Perldoc.pm
15:35 pmurias masak: it would be awesome to be able to use Pod6 for perl 5
15:38 dalek book: c3283d6 | smash++ | src/subs-n-sigs.pod:
15:38 dalek book: Fix some typos.
15:38 dalek book: review: http://github.com/perl6/book/commit/c3​283d6f558856acfd58ae23e842054c27121f09
15:40 CokeBot9000 smash_: its most simple form is correct.
15:40 CokeBot9000 ww.
15:44 plobsing joined #perl6
15:50 dalek book: 749dc72 | smash++ | src/subs-n-sigs.pod:
15:50 dalek book: Revert one incorrect fix.
15:50 dalek book: review: http://github.com/perl6/book/commit/74​9dc72cb226805629e12d23c6512e0030df80be
15:50 ejs joined #perl6
15:52 clintongormley joined #perl6
15:53 masak swimming &
15:53 TimToady masak: re grammars "just working", I'll just point out that viv spits out VAST::variable for a variable, and that's not because there's a 'make' for it--it's done by an AUTOLOAD
15:54 masak oh, ok.
15:54 TimToady but there is probably room for more sugar :)
15:54 masak yes.
15:54 masak specifically as AUTOLOAD is not implemented anywhere yet :)
15:55 masak &
15:55 TimToady not true--it's implemented in Perl 5 :P
15:56 moritz_ that barely counts :-)
15:57 moritz_ TimToady: at what point in the parse are the AUTOLOAD provided subs or methods called?
15:57 diakopter does Perl 6 spec AUTOLOAD ?
15:58 justatheory joined #perl6
15:58 pmurias CANDO?
15:59 justatheory joined #perl6
16:01 TimToady moritz_: at every reduction of a named rule
16:01 TimToady (historically, at {*} points too, but that's deprecated)
16:01 moritz_ TimToady: ah, so it's just normal reduction methods
16:02 TimToady yes.  viv does some extra work to deal with the opp expression tree rearrangements, but almost everything else is done generically by the AUTOLOAD
16:03 TimToady well, it's not really viv anymore, it's Actions.pm
16:05 vorner joined #perl6
16:05 TimToady viv itself just parses command line args and walks the ASTs these days
16:07 * diakopter saw some code emission routines in there
16:13 TimToady yes, that's what the walkers do :)
16:14 TimToady or don't, in the case of the unwritten ones... :/
16:23 pmurias TimToady: what would be great would be do have viv exposed as a proper library
16:24 TimToady that's what Actions.pm is a start on
16:25 TimToady the script, std, also uses it, but doesn't do anything with the AST yet
16:26 TimToady but the reason std has it was I was intending to do 'sink' propagation
16:26 TimToady well, really, it's the anti-sinks that propagate and ask for final statements to be non-sink
16:27 lue o hai
16:27 TimToady o hai o gozaimasu
16:28 * lue wonders if gozaimasu is some japanese word...
16:28 TimToady ご座います 御座いますございますgozaimasuto be (polite); to exist
16:30 slavik TimToady: it's ohayo gazaimasu :)
16:30 slavik ohayo is the word ;)
16:32 brrant joined #perl6
16:36 lue timutoti is "wisdom ignorance soil" (literally)
16:38 iblechbot joined #perl6
16:39 lue afk for a bit ( due to early-moring apathy :) )
16:42 flity joined #perl6
16:51 TimToady slavik: I'm quite aware of that; it was a pun.
16:52 slavik oh
16:52 slavik that was a thought in the back of my head :)
16:53 TimToady I speak some Japanese, and can almost understand it.  :)
16:56 TimToady I think it's funny that the Kanji for "gozaimasu" derives from "sit", as in "there it sits, so obviously it exists"  :)
16:57 ejs joined #perl6
16:58 TimToady and if you break apart the radicals, it's more like "sit down under a big roof", implying "sits in a respectable place like a palace"
16:58 TimToady hence it is a very polite form of "to be"
16:59 TimToady </lesson>
17:12 SmokeMachine joined #perl6
17:21 ruoso joined #perl6
17:49 hercynium joined #perl6
17:51 diakopter std: AUTOLOAD
17:51 p6eval std 30390: OUTPUT«[31m===[0mSORRY![31m===[0m␤Undeclared name:␤ 'AUTOLOAD' used at line 1␤Check failed␤FAILED 00:01 107m␤»
17:54 Trashlord joined #perl6
17:59 M_o_C joined #perl6
18:01 plobsing joined #perl6
18:08 stephenlb joined #perl6
18:20 SmokeMachine joined #perl6
18:29 espadrine joined #perl6
18:30 espadrine left #perl6
18:38 elmex joined #perl6
18:51 REPLeffect joined #perl6
18:51 CokeBot9000 is there a workaround for 65994? a load_bytecode that's missing or something?
18:54 rgrau joined #perl6
18:56 Tene_ joined #perl6
18:56 Tene_ joined #perl6
19:02 diakopter std: my int $a=5; loop (my int $a=7;;) { } # frown
19:02 p6eval std 30390: OUTPUT«Potential difficulties:␤  Useless redeclaration of variable $a (see line 1) at /tmp/4K6xoS98Zb line 1:␤------> [32mmy int $a=5; loop (my int $a[33m⏏[31m=7;;) { } # frown[0m␤ok 00:01 109m␤»
19:05 TimToady loop {} has no parameters
19:06 TimToady and we never put implicit {} around loop statements like P5 does
19:06 diakopter I thought the initializer statement (the first slot) opens the new lexical scope (not the {)
19:06 kst joined #perl6
19:07 diakopter http://feather.perl6.nl/syn/S04.html#___top
19:07 diakopter er
19:07 diakopter http://feather.perl6.nl/syn/S04.​html#The_general_loop_statement
19:07 TimToady in particular, this makes it easy to write a loop if you really want the variable to persist after
19:09 diakopter I think 'and we never put implicit {} around loop statements like P5 does' should be in S04
19:11 diakopter (I don't see a mention of that)
19:11 TimToady I would think that S04:115 states it strongly enough
19:11 espadrine joined #perl6
19:14 diakopter oh
19:15 TimToady there is no arbitrary list of which constructs auto-{} and which don't, unlike in Perl 5
19:17 supernovus joined #perl6
19:19 Juerd That doesn't mean that there would be no list at all :)
19:19 Juerd Although eventually everything is of course based on arbitrary decisions
19:20 TimToady well, I consider the empty list to not be very arbitrary... :)
19:20 TimToady the empty set is kinda special, as sets go...
19:20 diakopter std: my $a = (int sub foo { })
19:20 p6eval std 30390: OUTPUT«[31m===[0mSORRY![31m===[0m␤Two terms in a row at /tmp/MGMIGLtA6U line 1:␤------> [32mmy $a = (int [33m⏏[31msub foo { })[0m␤    expecting any of:␤      bracketed infix␤  infix or meta-infix␤      statement modifier loop␤Parse failed␤FAILED 00:01 108m␤»
19:20 diakopter std: my $a = (my int sub foo { })
19:20 p6eval std 30390: OUTPUT«ok 00:01 108m␤»
19:21 diakopter oh
19:21 ejs joined #perl6
19:21 * diakopter can't wait to discover whether that ast is correct from std
19:22 TimToady why wouldn't it be?
19:22 TimToady you can also have:
19:22 diakopter I don't know.
19:22 TimToady std: my $a = (anon int sub foo { })
19:22 p6eval std 30390: OUTPUT«ok 00:01 108m␤»
19:23 TimToady which is an anonymous sub that knows its own name
19:23 diakopter std: my $a = (my sub sub { })
19:23 p6eval std 30390: OUTPUT«ok 00:01 108m␤»
19:23 diakopter std: my $a = (my sub sub sub { })
19:23 p6eval std 30390: OUTPUT«[31m===[0mSORRY![31m===[0m␤Malformed block at /tmp/9fY9WR4pPO line 1:␤------> [32mmy $a = (my sub sub [33m⏏[31msub { })[0m␤    expecting any of:␤      block␤  routine_def␤        trait␤Parse failed␤FAILED 00:01 108m␤»
19:23 diakopter oh
19:24 TimToady declarations are not expressions in P6
19:25 ShaneC joined #perl6
19:25 TimToady they maybe contain expressions, and be contained in expressions, but of themselves they are special forms
19:25 TimToady also, you don't need those parens above
19:25 TimToady std: my $a = anon int sub foo { }
19:25 p6eval std 30390: OUTPUT«ok 00:01 108m␤»
19:25 TimToady std: my $a = my int sub foo { }
19:26 p6eval std 30390: OUTPUT«ok 00:01 108m␤»
19:26 * diakopter glad there is already a complete front-end, so I don't have to worry about this stuff.
19:26 TimToady :D
19:27 diakopter I'm just trying to make the proper subset in perlesque actually correct
19:27 adm joined #perl6
19:27 TimToady doesn't matter if it's correct unless you plan to quine things
19:28 ShaneC joined #perl6
19:28 diakopter or send the perlesque output through std
19:28 ShaneC left #perl6
19:29 diakopter wouldn't that be a trip.
19:29 diakopter kindof round.
19:30 adm when is Raudo* releasing?
19:30 adm s/Raudo/Rakudo/
19:30 * diakopter has no idea
19:30 takadonet I believe in a month or two
19:31 diakopter I think it was deferred a month or two
19:31 CokeBot9000 adm: http://rakudo.org/, first article
19:32 adm so this is going to be (first) complete perl6 implementation (without libraries)?
19:32 sorear no
19:33 adm CokeBot9000: thanks
19:33 sorear have you seen the perl 6 specification?  it's bigger than C++99
19:33 CokeBot9000 adm: http://use.perl.org/~pmichaud/journal/39411
19:33 CokeBot9000 (for "what is Rakudo *")
19:33 sorear it will, however, cover "enough" of the specification
19:34 sorear ah, that's a better explanation
19:34 sorear CokeBot9000++
19:35 TimToady "Enufk is enufk, and enufk is Too Muchk!!!"  -- Popeye
19:39 ruoso joined #perl6
19:43 takadonet he will be back.... one day
19:44 supernovus The new Temporal spec looks great. Much simpler and better defined than the last couple of versions.
19:45 adm joined #perl6
19:47 adm sorry lost the connection but back again
19:48 takadonet adm:np
19:48 adm is there any way to get lost conversation?
19:49 TimToady http://irclog.perlgeek.de/perl6/today
19:50 adm thanks
19:50 gfldex joined #perl6
19:52 TimToady see also http://perl6.org/ for various links
19:53 ejs joined #perl6
19:53 CokeBot9000 http://blogs.activestate.co​m/2010/04/perl-5-is-alive/ , which had the questionable perl 6 impact on p5p, has now been quoted in http://arstechnica.com/open-source/news/2010/04/pe​rl-5-development-resumes-version-512-released.ars
19:54 adm CokeBot9000:  thanks for the Rakudo* link
19:55 CokeBot9000 adm: sure.
19:56 CokeBot9000 (ars) though I am glad to see  at least part of this paragraph:
19:56 CokeBot9000 The underlying narrative behind Perl 6 has largely changed, and it is increasingly characterized by its supporters as a parallel project rather than the next iteration of Perl. With that transition came a need to reinvigorate Perl 5 development.
19:59 CokeBot9000 (hurm. i wonder why ... in P5 is "Yada Yada" and not YYY.
19:59 Guest11340 joined #perl6
20:00 TimToady phone
20:01 justatheory joined #perl6
20:02 IllvilJa joined #perl6
20:03 * IllvilJa o/
20:06 adm joined #perl6
20:07 adm it's really a sad news
20:09 CokeBot9000 adm - which now?
20:11 adm that of pmichaud's wife illness. my prayers are with family
20:13 adm a month or two won't make much difference i guess
20:16 payload joined #perl6
20:19 CokeBot9000 nope.
20:19 CokeBot9000 in the meantime, feel free to work on some tickets in the RT queue. =-)
20:20 CokeBot9000 (I am reminded that I took one and should figure out how to implement it.)
20:20 adm joined #perl6
20:24 adm yes I would like to contribute. first I will spend some time and get upto speed
20:26 [particle] adm: i can give you a commit bit to the pugs repository, so you can start committing tests when you're ready
20:27 adm sure
20:29 [particle] all i need is a username and email address
20:30 adm ok. I will send you when I am ready.
20:30 [particle] send it now, and it'll be there when you're ready :)
20:34 ash_ joined #perl6
20:35 adm but I heard pugs is been inactive for a while and Rakudo is being developed actively
20:36 colomon adm: the Perl 6 test suite still lives in the pugs repository.
20:37 adm oh
20:38 diakopter it's inactive as a Perl 6 implementation, but it continues to be maintained as a hackage package for various uses.  http://hackage.haskell.org/package/Pugs
20:38 dual joined #perl6
20:39 adm i see
20:41 adm ok guys it's late for me now.
20:41 adm good night/day
20:44 adm left #perl6
20:48 ejs joined #perl6
20:48 dual joined #perl6
20:52 dual joined #perl6
21:00 shem joined #perl6
21:00 rv2733 joined #perl6
21:01 sundar joined #perl6
21:02 sundar What's the best place to look at some example Perl6 code? are the Euler examples in the pugscode repo current?
21:04 cognominal sundar, rakudo the most advanced implementation so far, contains lots of code in Perl 6
21:04 cognominal And by nature, it is not allowed to rot.
21:05 cognominal on the other hand, that is not slef-contained code.
21:05 sundar cognominal: does it have, for eg., string manipulation, file handling, etc.?
21:06 cognominal But Perl 6 being destined to write big programs, they are good examples.
21:06 supernovus sundar: http://github.com/masak/ and http://github.com/supernovus/ have some self contained examples, but most of them only work with the January rakudo release, not the current master.
21:07 cognominal My interest being regex and grammars, the rakudo code is a feast.
21:07 sundar supernovus: thanks. have there been that many changes since Jan?
21:09 supernovus sundar: In Feb, rakudo migrated to an entirely new master branch that is a rewrite. The way it has been designed is way superior, and it offers huge benefits over the previous 'alpha' build, but not all of the functionality from 'alpha' has been reimplemented yet.
21:11 sundar supernovus: Oh, ok... I've always wondered about all this alpha, ng, proto, etc. stuff. Thanks..
21:12 Trashlord joined #perl6
21:14 pmurias joined #perl6
21:15 colomon sundar: alpha is the old (Jan) Rakudo, ng is what became the new (Feb and on) Rakudo, also known as master.
21:17 sundar colomon: thanks.. and proto, I guess, is going to become the future master?
21:17 colomon no, proto is more akin to CPAN for Perl 6
21:18 colomon at least, the downloading and installing portion of CPAN.
21:18 colomon I don't think it's quite working yet, however.
21:19 sundar colomon: Oh oh, ok... I vaguely remember a mention of 'package manager' by masak. This is it?
21:19 colomon yup, that's proto.
21:21 ignacio_ joined #perl6
21:27 ash_ what else is broken with proto?
21:31 jhuni joined #perl6
21:39 TiMBuS joined #perl6
21:51 lue hello again
21:53 justatheory joined #perl6
22:00 lue rakudo: my @a = ((1,2,3),(45,56),(789,0,1)); say @a[2;1]
22:00 p6eval rakudo aae95f: OUTPUT«Unable to parse postcircumfix:sym<[ ]>, couldn't find final ']' at line 11␤current instr.: 'perl6;Regex;Cursor;FAILGOAL' pc 1664 (ext/nqp-rx/src/stage0/Regex-s0.pir:907)␤»
22:00 Trashlord joined #perl6
22:00 lue what is slice context, exactly?
22:03 ash_ a way of accessing a subset of an array
22:04 rv2733 joined #perl6
22:05 ash_ so, @a = 1, 2, 3; if you wanted to call it an array, you'd just do @a, if you want a scalar value at index 0, for instance, you'd say @a[0], if you want a slice of the array, say elements 1 to the end you'd do @a[1..*]
22:06 lue rakudo: @a = 1,2,3; say @a[*-1]
22:06 p6eval rakudo aae95f: OUTPUT«Symbol '@a' not predeclared in <anonymous>␤current instr.: 'perl6;PCT;HLLCompiler;panic' pc 152 (compilers/pct/src/PCT/HLLCompiler.pir:108)␤»
22:06 lue rakudo: my @a = 1,2,3; say @a[*-1]
22:06 p6eval rakudo aae95f: OUTPUT«3␤»
22:07 lue so, is slice context fully implemented?
22:07 ash_ saying @a = (1, 2, 3, 4); @a[2..3] = <a b>;  the second statement is a slice
22:07 ash_ umm, i think parts of slice context work, but i don't think its complete
22:12 kakakoko joined #perl6
22:14 hercynium joined #perl6
22:18 kakakoko left #perl6
22:23 sundar When I try to "perl Configure.pl --gen-parrot", it dies with "Parrot revision r45386 required (currently r43487)" error. Isn't it supposed to get the right parrot version by itself?
22:24 sundar and where would the parrot_config file be?
22:24 ash_ do you have a parrot folder?
22:24 ash_ or parrot_install folder?
22:24 m6locks it is, but try removing the whole parrot-directory
22:24 ash_ in your rakudo directory?
22:24 sundar there is a parrot/ folder under rakudo/
22:25 m6locks and doing that again, i get the same kinda errors sometimes
22:25 m6locks make realclean helps too
22:25 lue I've had that happen a few times, and I just get rid of the parrot and parrot_install folders.
22:25 m6locks aye
22:27 sundar Ok, parrot/ gets an "rm -rf".
22:29 lue and parrot_install, if it exists. What this does (if it isn't obvious) is make configure believe parrot isn't on your machine (which it isn't)
22:29 lue .oO(just don't name a file -rf)
22:29 shem left #perl6
22:31 * lue considers delving into the sea of parens to make an emacs major mode for perl6.
22:34 ash_ there is one started
22:34 ash_ lue
22:34 lue yes?
22:34 lue where may it be?
22:34 * lue thinks pugs repo
22:35 ash_ hmmm i found it at one point, it was a bit old, but it was started, let me see if i can find it again
22:35 lue Is it alpha old or perodic table of P6 operators old ? :)
22:36 bkeeler The changes to cperl-mode.el were never integrated, and the real cperl-mode has advanced quite a bit, to the point where the hacked version in pugs repo just doesn't work on any modern emacs
22:36 bkeeler At least, that was the conclusion that I arrived at
22:37 ash_ bkeeler: yeah, i came to a similar conclusion when i was using it, i switched to vim for perl 6 code because of that
22:37 bkeeler Me too
22:38 bkeeler I've done some elisp hackery in the past, but cperl-mode is rather opaque
22:39 ash_ lue, i'd just start with the current cperl-mode.el file honestly, i can post the perl 6 mode file i have if you want to see it
22:40 lue I would like to use vim too, but I don't like it and can't (easily) open files o'er the network (via ssh).
22:40 colomon joined #perl6
22:40 lue (the console-only version I don't like, actually. The GNOME interface one seems pretty good)
22:40 bkeeler I'd certainly love a good perl6 mode
22:40 ash_ netrw doesn't work?
22:41 ash_ if you don't have netrw, you can try that, if your using vim over a network
22:41 bkeeler There's also sshfs
22:41 lue never heard of it :)
22:41 lue .oO(well, Vim does take faster to load than emacs...)
22:42 ash_ i use netrw since it comes with vim it was already installed on my computer (OS X comes with a bunch of vim plugins)
22:42 bkeeler I use the gvim from darwin ports
22:43 ash_ i use mvim, mostly, if i am on my linux computer i use gvim, but most of the time i am on my mac
22:44 wknight8111 joined #perl6
22:44 lue this feels like that one XKCD comic again "real programmers use nano" "real programmers use emacs" "real programmers use butterflies"
22:45 bkeeler "cat >" FTW!
22:45 sundar real programmers create and edit the file using the Perl 6 REPL. :)
22:46 sorear real programmers use whatever editor they feel like
22:46 sorear they're like gorillas
22:46 bacek joined #perl6
22:46 sundar Is there some "perl -i" kind of support in Perl 6? implemented in rakudo?
22:47 nihiliad joined #perl6
22:48 lue (but there's an emacs command for the butterflies. WIN!)
22:48 sundar meanwhile, has anyone here tried building rakudo under Windows? some of the tests in configuration itself fail, each one with a 'Can't spawn ".\test_6976.exe": Bad file descriptor' error.
22:49 bkeeler I tried building it under cygwin and failed miserably.  That was a few months ago though
22:50 m6locks cygwin does not win, so i hear
22:50 lue ooh, thunderstorm! must shut down computer, goodbye!
22:50 m6locks vc wins moar
22:50 sundar bkeeler: ah, I'm trying directly on Windows, is that more fail or less?
22:50 sundar m6locks: what is vc?
22:50 bkeeler vc = Visual C++
22:51 m6locks aye
22:51 sorear sundar: No.  S19:160
22:51 bkeeler I'm not really a windows guy though
22:53 sundar sorear: The document seems to be in favor of adding the feature, isn
22:53 sundar *isn't it?
22:56 sorear you asked about the present.
22:56 sorear try not to think about the present, it's not a pretty place
22:59 sundar the hacker's heart lives in the un-pretty and half-baked. :)
23:01 sundar (though not in things stuck there happily, like the Windows command line!)
23:14 orafu joined #perl6
23:14 espadrine left #perl6
23:17 sundar joined #perl6
23:18 dalek rakudo: 2ec0e4e | Coke++ | docs/running.pod:
23:18 dalek rakudo: Add docs on specifying parrot options.
23:18 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/2​ec0e4ec388a690850ee3216baa1aafe1de0e74a
23:25 sorear wonderful, there's an invalid entry in the Pugs AUTHORS file
23:26 pugssvn r30391 | sorear++ | Add self to AUTHORS
23:26 ruoso joined #perl6
23:30 TimToady invalid in what sense?
23:31 sorear TimToady: foreign key error
23:31 sorear there is no PAUSE ID 'LUE'
23:31 sorear also, the file is /almost/ in alphabetical order
23:32 sorear I don't know if the discrepencies are errors
23:33 sorear now I just need to figure out how to test the tests
23:36 TimToady depends on how you want to test 'em
23:45 sorear TimToady: I told #perl6 that a specific test needed unfudging, and got the "here's a commit bit" response
23:45 sorear I don't actually know anything about the spectest harness
23:46 colomon sorear: the fudging syntax is very simple.
23:46 colomon #?rakudo skip 'named arguments to split()'
23:46 colomon for instance.
23:47 sorear colomon: yes, but I'm not crazy about committing untested patches
23:47 sorear I'll do it if you insist
23:48 colomon why can't you test it?
23:48 sorear because I don't actually know anything about the spectest harness
23:51 colomon You have a Rakudo build?
23:51 sorear yes
23:51 sorear I also know about make spectest
23:51 sorear what I don't know how to do is to run an /uncommitted/ copy of the spectest
23:51 sorear or a single file from the spectest, rather
23:52 colomon If you have uncommitted changes when you run make spectest, it will run them.
23:52 bkeeler easiest way is (cue TimToady rant): make t/spec/S01-foo/bar.t
23:52 bkeeler Which will fudge if necessary
23:53 sorear colomon: That involves an unpleasant amount of magic.  How, exactly, does make spectest find out where my pugs checkout is?
23:53 colomon sorear: oh.
23:53 colomon make the changes to the version of the spectest in your rakudo/t/spec directory.
23:53 bkeeler It checks the tree out from pugs below t/spec
23:54 colomon then check it in from there as well.
23:54 bkeeler Personally, I symlink t/spec to the appropriate place in my pugs checkout
23:55 colomon I never touch t/spec in my pugs checkout, I just work with the copy of t/spec rakudo checks out.
23:56 sorear ..........
23:56 sorear mat t/spec/... doesn't work
23:56 sorear it's decided to REBUILD RAKUDO
23:56 sorear instead of just running the test
23:57 colomon yes, make test or make spectest will rebuild Rakudo if you have changes in it and haven't run make.

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

Perl 6 | Reference Documentation | Rakudo