Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2010-08-30

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:02 Psyche^ joined #perl6
00:06 espadrine left #perl6
00:06 Patterner left #perl6
00:06 Psyche^ is now known as Patterner
00:07 pugssvn r32116 | sorear++ | [STD-dist] Fix a missing case in the monkey patcher
00:08 rgrau_ left #perl6
00:11 masak we have a monkey patcher?
00:11 masak I knew there had to be something doing the actual patching, but... :)
00:12 sorear masak: there's code in the STD release preparer which renames internal modules
00:12 masak ah.
00:12 sorear it was missing a case for turning ref($obj) =~ /^Lazy/ into ref($obj) =~ /^STD::Lazy/
00:13 sorear STD 32116 pushed to CPAN; niecza modified to use STD from CPAN
00:14 sorear phenny: tell azawawi I've solved a couple problems you were facing; check out STD 32116 on CPAN
00:14 phenny sorear: I'll pass that on when azawawi is around.
00:15 sorear I guess I owe it to pmurias to fix mildew somehow
00:15 masak during September, I plan to fiddle with putting Yapsi on STD.
00:17 nimiezko joined #perl6
00:18 pmichaud that's a weird bug.
00:18 pmichaud (the Nil one)
00:18 pmichaud ~5['c']
00:18 pmichaud rakudo: ~5['c']
00:18 masak at least now it's a weird ticket in RT, as well :)
00:18 p6eval rakudo d9aa57:  ( no output )
00:18 pmichaud I really need to rework hash altogether.
00:18 dalek niecza: 374a6f6 | sorear++ | lib/Cursor.cs:
00:18 dalek niecza: Some early drafting of the new regex engine
00:18 dalek niecza: review: http://github.com/sorear/niecza/commit/3​74a6f65e41d52b327f325f2e753bbc3091ecb3d
00:18 dalek niecza: c11ed71 | sorear++ | t/ (4 files):
00:18 dalek niecza: Add a few things being used in testing
00:18 dalek niecza: review: http://github.com/sorear/niecza/commit/c​11ed719f88afa0c5cb5a080c80cfa65a2d3516b
00:18 dalek niecza: dfcdd89 | sorear++ | / (5 files):
00:18 dalek niecza: Use STD from CPAN instead of calling svn
00:18 dalek niecza: review: http://github.com/sorear/niecza/commit/d​fcdd8952dc4354214764dae8cba8caa8b2a9fb6
00:18 pmichaud it's just... wrong.
00:19 masak this is not Hash so much as hash lookup.
00:19 \xF0 left #perl6
00:19 pmichaud rakudo:  ~5.at_key('c')   # curious
00:19 p6eval rakudo d9aa57: OUTPUT«postcircumfix:<Nil()> not defined for type Int()␤  in main program body at line 1␤»
00:19 pmichaud hmmm
00:20 pmichaud huh?  "postcircumfix:<Nil()>"?
00:20 \xF0 joined #perl6
00:20 pmichaud rakudo:  5.at_key('c')   # curious
00:20 p6eval rakudo d9aa57:  ( no output )
00:20 pmichaud rakudo:  5.at_key('c').Str   # curious
00:21 p6eval rakudo d9aa57: OUTPUT«postcircumfix:<Nil()> not defined for type Int()␤  in main program body at line 1␤»
00:21 pmichaud rakudo:  5.at_key('c').WHAT.say   # curious
00:21 p6eval rakudo d9aa57: OUTPUT«Failure()␤»
00:21 pmichaud a-ha!
00:21 pmichaud it's returning a Failure... that's good.
00:21 pmichaud it's just the error that is lta
00:21 pmichaud looking
00:22 pmichaud heh
00:22 pmichaud fail "postcircumfix:<{ }> not defined for type {self.WHAT}"
00:22 pmichaud if self.defined;
00:22 pmichaud fail FAIL
00:22 pmichaud the curlies are being interpolated.
00:22 pmichaud (the first ones)
00:22 colomon doh!
00:23 masak :D
00:23 masak that explains everything.
00:23 * masak amends the ticket
00:23 pmichaud if someone wants to fix it to escape the curlies, that would be awesome.  :-)
00:24 pmichaud (I'm not able to do it atm)
00:24 pmichaud masak++ excellent bug reporting
00:25 * masak blushes :)
00:25 colomon is it just \{  \}  ?
00:25 pmichaud colomon: that should be good enough, yes.
00:25 colomon I'll get it, then.
00:25 pmichaud postcircumfix:<\{ \}>
00:25 pmichaud colomon++
00:26 colomon ooo, looks like someone bumped PARROT_REVISION while I was folk festivaling.
00:29 TimToady sigh, http://rosettacode.org/wiki/Fin​d_Common_Directory_Path#Perl_6 is an incorrect algorithm
00:29 TimToady though happens to work for this data
00:33 colomon pmichaud, TimToady: Any reason Cool shouldn't have .Int and .Num methods?
00:33 pmichaud colomon: I don't see any strong reason against it.
00:35 colomon any weak reasons?  it seems weird to me that right now we have, say, Cool.floor, but not Cool.Int.
00:35 pmichaud colomon: I might be able to come up with some weak reasons.. but none at the moment.
00:36 pmichaud (I'm also quite distracted this evening so I won't take any strong positions :)
00:38 colomon > 5.at_key('c').Str
00:38 colomon postcircumfix:<{ }> not defined for type Int()
00:38 pmichaud \o/
00:38 pmichaud colomon++
00:39 colomon spectesting
00:39 colomon (and assembling Thomas the Tank Engine track table ;) )
00:40 pmichaud ooooooh
00:40 pmichaud TtTE++
00:40 pmichaud we have tons of track at the house :)
00:40 colomon (It's actually a Doug & Melissa table for it, but that's the easiest explanation of what it is.)
00:40 espadrine joined #perl6
00:41 colomon I think by the new year we will have tons of track, we certainly have a train-mad toddler.
00:41 pmichaud laptop running out of battery -- will bbl when I can plug into an outlet again
00:45 Eevee joined #perl6
00:54 masak interestingly, the Hakyll that I've been wanting to port for a while now to Perl 6, is a build system. it uses arrows (as in type-theoretic arrows) to track dependencies. http://jaspervdj.be/hakyll/tutorials/part02.html
00:55 masak now I'm really looking forward to porting it. :)
01:05 Chillance left #perl6
01:06 colomon huh.  is it only capable of building static web sites, or can it generate anything?
01:07 masak only static sites.
01:07 masak but that's just what I want to build right now for a blogging solution for myself.
01:07 colomon so it can't, for instance, build perl 6 modules.
01:07 jhuni left #perl6
01:08 TimToady new solution for http://rosettacode.org/wiki/Fin​d_Common_Directory_Path#Perl_6
01:08 masak no, but the ideas behind the dependency-tracking build system would probably carry over.
01:10 * TimToady is looking forward to the day that he can replace @comps[*]»[0] with @comps[*; 0]
01:12 sorear phenny: tell moritz_ niecza now depends on STD (newest version) from CPAN
01:12 phenny sorear: I'll pass that on when moritz_ is around.
01:13 colomon TimToady: how is @comps[*]»[0] different from @comps»[0]    ?
01:13 sorear phenny: ask pmurias I want to fix Mildew after all the changes I've made to STD-CPAN, but I don't see where to start.
01:13 phenny sorear: I'll pass that on when pmurias is around.
01:13 TimToady better indicates the two-dimensionality, and doesn't require »» for 3 dimensions :)
01:14 sorear phenny: ask tylercurtis How are you planning to handle GC and exceptions in Bennu?
01:14 phenny sorear: I'll pass that on when tylercurtis is around.
01:14 TimToady and to parallel the use of [0][0] elsewhere
01:14 nimiezko left #perl6
01:14 masak waitwait. »» is legal?
01:15 TimToady beats me
01:15 masak std: my @comps; @comps[*]»[0]
01:15 p6eval std 32116: OUTPUT«ok 00:01 116m␤»
01:15 masak std: my @comps; @comps[*]»»[0]
01:15 p6eval std 32116: OUTPUT«ok 00:01 116m␤»
01:15 masak whoa.
01:15 TimToady \o/
01:15 TimToady hooray for recursion
01:15 masak I thought » was already deep, though.
01:16 TimToady not on unaries
01:16 TimToady er, wait
01:16 colomon should be, shouldn't it?
01:16 TimToady it might be defined that way currently
01:16 colomon (I mean, might not be in Rakudo, it seems to me unaries are a weird special case there.)
01:16 TimToady if so, that's a good reason to use [*]
01:16 TimToady it depends on what you consider part of the shape
01:17 TimToady in this case, the array only thinks it's 1-D
01:17 masak I'd also not like unaries to be a special case. I think.
01:17 masak if it's deep for binaries, it should be deep every which where.
01:17 TimToady it really depends on the shape declaration
01:17 masak ok.
01:17 colomon masak: me too, but if I remember correctly, I had utter fail when I tried to do something about it.
01:20 whiteknight left #perl6
01:21 masak shutting off for the night. 'night, #perl6!
01:22 masak left #perl6
01:24 dalek rakudo: 2ee5725 | colomon++ | src/core/Any-list.pm:
01:24 dalek rakudo: Escape { } in postcircumfix:<{ }> not defined message.
01:24 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/2​ee57258294084fbd47ea8f9fff871489d738fd6
01:29 sorear » is NOT deep
01:29 azert0x left #perl6
01:31 TimToady S03:4030
01:31 colomon what do you mean by deep?
01:32 colomon "Hyper operators are defined recursively on nested arrays, so"  and the example is «
01:43 drbean joined #perl6
01:54 crythias joined #perl6
01:59 Exodist left #perl6
02:00 exodist joined #perl6
02:14 jhuni joined #perl6
02:15 jferrero left #perl6
02:18 amkrankruleuen left #perl6
02:52 tylercurtis joined #perl6
02:53 justatheory joined #perl6
03:08 lichtkind left #perl6
03:11 Italian_Plumber left #perl6
03:24 sorear oh, that's what I get for experimenting with rakudo rather than reading the spec
03:45 tylercurtis Hello, #perl6.
03:45 phenny tylercurtis: 01:14Z <sorear> ask tylercurtis How are you planning to handle GC and exceptions in Bennu?
03:46 xinming joined #perl6
03:50 tylercurtis sorear: For GC, I plan to (initially, at least) use Boehm or something similar. Eventually, I'll look into writing my own or finding a precise GC that would be easy to integrate.
03:56 ash_ boehm isn't bad if your looking for simple, i used it on a my nq-nqp-rx i worked on in the spring
03:57 ash_ it uses the llvm to compile down to native code, but i had a lot of problems building a parser that could handle nqp, i ended up with a subset that wasn't that useful, i'd like to get that working again one day though
03:59 Quadrescence joined #perl6
04:00 FurnaceBoy joined #perl6
04:01 tylercurtis sorear: For exceptions, I don't yet know. LLVM's invoke/unwind instructions look like they could handle at least some of Perl 6's exception semantics, so I guess initially an implementation of the parts that invoke/unwind can do easily; then eventually, properly implement the trickier bits.
04:01 ash_ i have been thinking about making a new parser for that project, but i haven't had time to work on it yet, i'd really like to though, but perl6 regex's are complicated :P
04:02 ash_ that might be an issue, since they wouldn't be resumable
04:04 tylercurtis Resumable exceptions probably belong in the "not possible to straightforwardly implement using invoke/unwind" bin.
04:07 ash_ does rakudo handle resumable exceptions?
04:08 leprevost left #perl6
04:09 tylercurtis rakudo: die 1; say 2; CATCH { .say; .resume; } # looks like it.
04:09 p6eval rakudo 2ee572: OUTPUT«1␤2␤»
04:09 ash_ ah, neat
04:10 ash_ i didn't see any tests in the spec that call .resume
04:10 sorear tylercurtis: the trick with resumable exceptions is to not call unwind until and unless control falls off the end of CATCH
04:10 sorear tylercurtis: CATCH is run before unwinding, like $SIG{DIE}
04:11 sorear tylercurtis: look up the Visual C++ exception model sometime, it's virtually identical to Perl 6's
04:11 sorear unfortunately the C#/CLR model is "simplified" and cannot be used to directly implement niecza's exceptions :(
04:13 Trashlord left #perl6
04:13 sorear I think LLVM IR would me a much better fit for Niecza's code generator than C#/CIL
04:14 sorear but I'm not thrilled with the prospect of reimplementing half of mscorlib
04:14 sorear especially without help
04:15 diakopter :/
04:16 ash_ what do you need from mscorlib? just curious
04:16 diakopter these issues were among those I (still) say imply that a Perl6 on the CLR needs a fullblown trampoline, a la perlesque
04:17 ash_ or what does mscorlib have that stdlibc or libc++ doesn't include?
04:17 * tylercurtis considers whether to prioritize the LLVM-targeting aspect of Bennu or the 100% Perl 6 part.
04:17 constant left #perl6
04:17 constant joined #perl6
04:17 constant left #perl6
04:17 constant joined #perl6
04:18 ash_ macruby has a really advanced dynamic language to native compiler that uses the llvm
04:18 sorear ash_: threads, synchronization primitives, portable IO, text encodings, UCD, garbage collection, weak references, stack introspection, hash tables
04:18 diakopter :)
04:18 sorear things that I need from mscorlib that come to mind
04:18 sorear diakopter: mr.ironruby says he needs coroutines too, so I think there's hope yet
04:19 sorear for the trampolines
04:19 diakopter hah. I should forward you the thread he and I participated in early this year
04:19 sorear but there are other issues
04:19 diakopter in which I proposed just that (before I implemented them in perlesque)
04:19 ash_ ruby's are implemented in C using mostly setjmp and longjmp
04:19 sorear llvm gives me a lot more flexibility with data representations
04:20 ash_ s/ruby's/ruby's coroutines/
04:20 diakopter the problem with both clr & llvm is the JIT time; it's kinda long. :/
04:21 diakopter as evidenced by mono using llvm as the codegenerator; it's *very* slow, apparently
04:21 espadrine left #perl6
04:21 espadrine joined #perl6
04:22 sorear diakopter: llvm wouldn't have "JIT time" since it generates native code by default
04:22 diakopter sorear: by mr.ironruby you mean jschementi?
04:22 sorear dyes
04:23 sorear mm, maybe not
04:24 diakopter sorear: for what are you considering using llvm, if not for p6 interpreter/compiler-runtime?  (and wouldn't that mean using llvm's codegen components?)
04:25 sorear diakopter: right now, I generate C# and feed it to gmcs
04:25 sorear "use LLVM" = generate llvm assembly and feed it to llc
04:25 sorear gmcs generates a .exe file
04:25 ash_ in 2.7 the llvm didn't really have a JIT, the JITExecutionEngine would just convert to native then execute, which isn't what most people call 'jit'
04:25 sorear llc generates native executables
04:26 sorear no need for any part of "LLVM" at runtime
04:26 ash_ the llvm's executables have not llvm runtime
04:26 sorear LLVM isn't actually a VM, it's just a compiler that's designed to be used as a backend
04:27 sorear it's C--, 2005 edition
04:27 diakopter ok, so "generate llvm assembly" is the analogue of "gmcs generates a .exe file" in this case
04:27 sorear llvm assembly ~~ CIL
04:27 sorear llc ~~ mono --aot
04:27 diakopter right, that's what I said.
04:28 crythias left #perl6
04:28 diakopter "the JITExecutionEngine would just convert to native then execute" - this is of course exactly what mono does with a .exe
04:29 ash_ the llvm-ir is mostly portable assembly code, that is the level your dealing with for the most part, if you convert llvm-ir to native, it won't have any dependencies on the llvm, unless you have one you specifically made, it does need libc, but its hard to imagine not having libc on a system
04:29 sorear mono is smart enough to not compile a method until /that method/ is called
04:29 sorear IIUC, llvm isn't
04:29 diakopter if the program you emit needs to ever call an "eval", it'll need hooks back into the original compiler (and hence llvm)
04:30 ash_ in llvm 2.8+ they have a new JIT system
04:30 tylercurtis diakopter: not necessarily.
04:30 diakopter why not?
04:31 diakopter (I can't think of how it wouldn't need those hooks)
04:31 diakopter ash_: how does the 2.8+ system differ?
04:31 tylercurtis diakopter: you can also include an interpreter that handles eval, or include a non-LLVM target in your compiler that can be used for eval in cases where LLVM isn't available at runtime.
04:32 sorear or I can just not handle eval for now
04:32 diakopter yeah, I just  ... writing a whole separate interpreter?
04:33 tylercurtis I didn't say they were good ideas.
04:33 * sorear points at GHC
04:33 ash_ the jit engine in 2.8+ has a hotspot compiler, so it will recompile areas of you code, it does some different optimizations now
04:34 ash_ a lot of languages have both a compiler and an interpreter, like macruby, jruby, ghc, ocaml
04:34 tylercurtis Although, an interpreter might be faster for many use cases than actually compiling to native and executing. But it would be a lot of work.
04:35 diakopter I'm all for writing an interpreter. :P
04:36 ash_ jruby uses an interpreter for all runtime evals
04:36 diakopter (an interpreter, of sorts, I mean)
04:37 diakopter (insofar as a trampolined/"stackless" calling-convention can be an arbitrary interpreter)
04:37 FurnaceBoy ash_: + most Schemes
04:38 * FurnaceBoy muses aloud that an interpreter might already be 'there' for bootstrapping ?
04:39 * diakopter gets a bright idea
04:39 diakopter sorear: you still here? :)
04:39 sorear yes
04:41 sorear niecza's goal is to parse Perl 6 at a rate of at least 200 lines/s on a 2.0 GHz Pentium 4
04:41 sorear everything else is secondary
04:41 diakopter new plan (for me...): redo emit_psq (or add another emit target to viv) to generate a C# edition of STD, where the emitted C# uses an API to-be-determined that is very much like Cursor's
04:42 diakopter 200 lines/s??
04:42 * FurnaceBoy blinked too
04:42 * diakopter guesses that sorear has a 2.0 GHz P4
04:43 sorear diakopter: the Perl 5 version of STD.pm manages 15 lines/s; Rakudo manages 20
04:43 * FurnaceBoy guesses that it's only the faceplate and underneath is a VAX-11/780
04:43 sorear I don't think 200 is setting the bar too low
04:44 sorear wait, no, I screwed up that math with my 100 second minutes
04:44 drbean left #perl6
04:45 diakopter nifty minutes
04:45 sorear it's actually 30 lines/s for STD.pmc and 45 for Rakudo
04:45 \xF0 crazy metric minutes
04:45 FurnaceBoy :)
04:46 diakopter hrm
04:47 * diakopter mulls the C# Cursor
04:49 TimToady on my machine, STD compiles STD.pm6 at about 200lines/sec
04:50 molaf joined #perl6
04:50 diakopter the stage2 one?
04:51 diakopter er, /me is so last quarter
04:51 TimToady yes
04:52 TimToady that's just tryfile parsing, not viv
04:52 molaf left #perl6
04:56 shade\ left #perl6
04:57 shade\ joined #perl6
04:59 tylercurtis sorear: if you do decide to start targeting LLVM with Niecza, I may start working on Niecza instead of doing the rewrite I've been planning for Bennu.
05:00 ash_ i think it would be worth doing some llvm integration in parrot, but i am not sure if it would be better to wait a bit on lorito or not
05:03 justatheory left #perl6
05:09 kaare joined #perl6
05:09 kaare is now known as Guest4270
05:10 _CTAPOMAK_ joined #perl6
05:21 FurnaceBoy left #perl6
05:29 Quadrescence Okay, so with Perl being a dynamically scoped language, it is hard not to draw the conclusion (hypothesis) that Perl directly descended from ye olde LISP. Upon excavation for this evidence, I came across an old photo that finally proves this: http://i.imgur.com/Iy521.png
05:30 TimToady right...
05:30 TimToady as an archeologist might say, "The identification is not complete."
05:32 Quadrescence those lisp parens, the dot in the middle representing the separating mark for a cons cell, the suspicious look of a clam shell, the fact clams sometimes have perls [sic], ... At this point I don't think the identification is incomplete!
05:34 FurnaceBoy joined #perl6
05:40 Quadrescence Not to mention, `.' is a way to concat strings, just as cons/(x . y) is a primitive way to connect lists... the resemblance is unmistakable.
05:40 shade\ left #perl6
05:42 Quadrescence and if we zoom out of that picture, we see it looks like a camel's eye [ http://i.imgur.com/lCBWh.jpg ]. Camel, Perl... I don't know how much more evidence one needs.
05:45 FurnaceBoy we're overwhelmed
05:45 sorear a lot of the dynamic scoping is gone in Perl 5
05:45 sorear even more will be removed in Perl 6
05:46 sorear with special mention to Perl 5.6
05:46 tylercurtis A lot (or all, depending on which) of the dynamic scoping is gone in many recent Lisps, as well.
05:46 Quadrescence Same happened to LISP.
05:47 Quadrescence Genetic descendants usually obtain the same ailments and benefits.
05:49 shade\ joined #perl6
05:53 FurnaceBoy left #perl6
05:55 wtw joined #perl6
06:08 shade\ left #perl6
06:08 shade\ joined #perl6
06:11 drbean joined #perl6
06:13 uniejo joined #perl6
06:14 meppl joined #perl6
06:14 patspam left #perl6
06:19 baest_ is now known as baest
06:21 sorear rakudo: my regex a { . { print "a" } || . { print "b" } }; "aa" ~~ / <&a>*? { print "\n" } x /
06:22 p6eval rakudo 2ee572: OUTPUT«␤a␤a␤b␤b␤a␤b␤␤a␤b␤␤»
06:28 sorear rakudo: my regex a {.}; my regex b {.}; "aa" ~~ /^ [<a=&a> || <b=&b>]*? { say $/.caps>>.key.Str } x /
06:28 p6eval rakudo 2ee572: OUTPUT«␤a␤a a␤a b␤b␤b a␤b b␤»
06:28 sorear correct behavior?
06:31 moritz_ I don't see why not
06:31 phenny moritz_: 01:12Z <sorear> tell moritz_ niecza now depends on STD (newest version) from CPAN
06:31 TimToady left #perl6
06:32 TimToady joined #perl6
06:34 sorear rakudo: my $i = 0; "aaaaaaa" ~~ /^ [.||.]**?2..5 {$i++} x /; say $i
06:34 p6eval rakudo 2ee572: OUTPUT«9␤»
06:34 sorear rakudo: my $i = 0; my regex b { [.||.]**?2..5 }; "aaaaaaa" ~~ /^ <&b> {$i++} x /; say $i
06:34 p6eval rakudo 2ee572: OUTPUT«9␤»
06:40 xinming left #perl6
06:44 sftp left #perl6
06:45 sftp joined #perl6
06:50 sorear rakudo: "ababx" ~~ /^ [ a? ab ]*: x /
06:50 p6eval rakudo 2ee572:  ( no output )
06:50 sorear rakudo: say "ababx" ~~ /^ [ a? ab ]*: x /
06:50 p6eval rakudo 2ee572: OUTPUT«ababx␤»
06:51 sorear rakudo: say "ababx" ~~ /^ [ ab a? ]*: x /
06:51 p6eval rakudo 2ee572: OUTPUT«␤»
06:51 sorear I think that's wrong
06:51 sorear rakudo: say "ababx" ~~ /^ [ ab a? ]* x /
06:51 p6eval rakudo 2ee572: OUTPUT«ababx␤»
06:52 sorear rakudo currently always treats [foo]*: as [[foo]:]*:
06:52 sorear s/rakudo/nqp-rx/
06:57 zag joined #perl6
07:02 redicaps joined #perl6
07:06 sorear today's insane idea: implement gather/take using OS threads
07:06 sorear y/n?
07:07 sftp left #perl6
07:07 Quadrescence n
07:07 Quadrescence implement symbolic differentiation in one line of perl6
07:07 sftp joined #perl6
07:08 Quadrescence extra credit if it can simplify reasonably well
07:08 moritz_ sorear: would certainly be nice... though some parts of the test suite assume strict laziness, so you wouldn't pass those (or don't benefit from threading)
07:08 moritz_ Quadrescence: that's easy... for some cases
07:09 Quadrescence of course it's easy for some cases
07:09 moritz_ rakudo: multi d(Int $) { 0 }
07:09 p6eval rakudo 2ee572:  ( no output )
07:09 moritz_ see? I implemented symbolic differentatiation of integers, with full simplifcation
07:10 moritz_ or with s/Int/Numeric/ for all constants
07:10 sorear moritz_: it would be a huge simplification of neicza.  it would also be hideously inefficient.
07:11 Quadrescence cool perl6 is very good at differentiating i guess
07:23 redicaps left #perl6
07:26 kjeldahl joined #perl6
07:30 cjk101010 joined #perl6
07:30 moritz_ it's good at a whole lot of stuff
07:49 gfx joined #perl6
08:05 xinming joined #perl6
08:16 Mowah joined #perl6
08:25 tylercurtis Good night, #perl6.
08:25 tylercurtis left #perl6
08:32 risou_ joined #perl6
08:42 miso2217 joined #perl6
08:47 miso2217 left #perl6
08:50 azert0x joined #perl6
08:50 miso2217 joined #perl6
08:50 azert0x left #perl6
08:59 azert0x joined #perl6
09:01 zulon joined #perl6
09:11 Guest4270 is now known as kaare_
09:12 drbean left #perl6
09:19 stepnem left #perl6
09:20 stepnem joined #perl6
09:23 espadrine left #perl6
09:31 gfx left #perl6
09:40 dalek niecza: ab20ae6 | sorear++ | lib/ (2 files):
09:41 dalek niecza: First version of the new regex execution engine
09:41 dalek niecza: review: http://github.com/sorear/niecza/commit/a​b20ae646002c81c1dafd1dff54b43a2f252f78b
09:44 daxim joined #perl6
09:49 espadrine joined #perl6
10:01 sorear What should
10:01 sorear "abc" ~~ / [ [a <commit> b]: c ]? /
10:02 sorear do?
10:02 moritz_ macht the whole string
10:02 moritz_ *match
10:02 Trashlord joined #perl6
10:02 sorear s/c/d/
10:03 sorear type
10:03 sorear o
10:03 moritz_ not match, then
10:03 sorear Strictest reading of S05 is that the : prevents the inner group from being backtracked into, and if <commit> is never entered backward, it has no effect
10:03 sorear so the empty string should be matched
10:03 moritz_ hm
10:03 moritz_ I'm not sure that's the intention
10:04 moritz_ you're right that strict reading leads to this conclusion
10:04 sorear (yes, overlapping backtrack control operators keep me up at night :/)
10:04 moritz_ but I kinda thought thought that / a <commit> / commits to its match of a, and fails the whole match if that doesn't work out
10:04 moritz_ need to ask TimToady
10:05 smash joined #perl6
10:05 smash hello everyone
10:16 jferrero joined #perl6
10:19 M_o_C joined #perl6
10:20 mberends joined #perl6
10:25 stepnem left #perl6
10:26 M_o_C left #perl6
10:28 stepnem joined #perl6
10:36 timbunce joined #perl6
10:44 amkrankruleuen joined #perl6
10:44 amkrankruleuen Hello.
11:02 M_o_C joined #perl6
11:13 M_o_C left #perl6
11:15 M_o_C joined #perl6
11:17 M_o_C left #perl6
11:21 espadrine left #perl6
11:22 moritz_ hi
11:23 colomon o/
11:24 stepnem left #perl6
11:27 dalek rakudo: 6ccdcda | colomon++ | src/core/ (2 files):
11:27 dalek rakudo: Add Cool.Real, Cool.Int, Cool.Rat, and Cool.Num.  Eliminate Str.Num and Str.Int.
11:27 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/6​ccdcdae3b14ae24bec09d0980016ea0469e33d9
11:33 AndreasX joined #perl6
11:35 jhuni left #perl6
11:41 AndreasX left #perl6
11:49 takadonet morning all
11:50 espadrine joined #perl6
11:52 lichtkind joined #perl6
11:52 lichtkind can it be that rakudo doesnt know prompt?
11:54 envi^home joined #perl6
11:59 moritz_ rakudo: say prompt("look")
11:59 p6eval rakudo 2ee572: OUTPUT«lookLand der Berge, Land am Strome,␤»
11:59 moritz_ lichtkind: highly unlikely
12:03 zulon left #perl6
12:05 lichtkind C:\Parrot-2.6.0\bin>perl6.exe first.pl
12:05 lichtkind Could not find sub &promt
12:05 lichtkind in main program body at line 9:first.pl
12:06 moritz_ lichtkind: that's because you misspelled it
12:06 moritz_ lichtkind: exercise: write a sub dispatcher that choses the next match by levenstein distance
12:07 lichtkind shit
12:07 lichtkind yes sir :)
12:08 lichtkind moritz_: its beginning to be strange because i compared with docs didnt seen it
12:09 moritz_ lichtkind: but you're right, rakudo doens't support the promt() sub :-)
12:26 IllvilJa left #perl6
12:27 lichtkind left #perl6
12:33 slavik joined #perl6
12:34 kaare_ left #perl6
12:34 espadrine left #perl6
12:37 espadrine joined #perl6
12:38 M_o_C joined #perl6
12:38 Italian_Plumber joined #perl6
12:43 lichtkind joined #perl6
12:55 masak joined #perl6
12:55 masak oh hai, #perl6!
12:55 lichtkind hai masak
12:56 colomon \o
12:56 mberends o/
12:56 moritz_ -o_
12:56 lichtkind moritz_: but this should be a bug: my @b = reverse 1..7;
12:56 lichtkind say @a[9] if 2 ~~ @b;
12:57 smash masak: hi
12:57 lichtkind it gives nothing
12:57 moritz_ lichtkind: and it shouldn't
12:57 lichtkind why?
12:57 moritz_ lichtkind: you probably meant 2 ~~ any @b
12:57 lichtkind right
12:59 zulon joined #perl6
13:00 lichtkind moritz_: right it works only in p5 but why it works in p6 on in place list but not on list var?
13:01 moritz_ lichtkind: care to rephrase your question in a way that I can understand it?
13:01 lichtkind moritz_: i do
13:01 drbean joined #perl6
13:01 lichtkind moritz_: the way i tried it wirst works in perl 5
13:02 moritz_ tht's correct
13:02 moritz_ perl 5 doesn't have any junctions
13:02 lichtkind moritz_: and the reason why i thought it might work in p6 too was that if i replace the var @b with its value it works
13:03 moritz_ so the language "designer" neads to guess if the user means any(), all() none() or one()
13:03 moritz_ lichtkind: does it?
13:03 moritz_ that's surprising
13:03 moritz_ rakudo: say ?(2 ~~ (1, 2, 3))
13:03 p6eval rakudo 6ccdcd: OUTPUT«0␤»
13:03 moritz_ doesn't seem to "work" the way you want it
13:04 lichtkind moritz_: but if i do say @a[9] if 'A' ~~ 'A'..'Z';
13:04 lichtkind i get the expected output
13:04 moritz_ lichtkind: yes, but a Range is not the same as a List
13:04 lichtkind ah
13:04 moritz_ lichtkind: and if you want to store a Range in a variable without flattening, use a scalar
13:05 lichtkind thanks
13:05 moritz_ rakudo: my $a = ('A' .. 'Z'); say ?('Z' ~~ $a)
13:05 p6eval rakudo 6ccdcd: OUTPUT«1␤»
13:09 orafu left #perl6
13:09 orafu joined #perl6
13:17 espadrine left #perl6
13:26 espadrine joined #perl6
13:29 * moritz_ likes the current rakudo revision SHA1
13:31 yrgd left #perl6
13:34 Holy_Cow joined #perl6
13:48 perlygatekeeper left #perl6
13:49 zag left #perl6
13:55 Trashlord left #perl6
13:57 bbkr what is the "most wanted" P6 module now in your opinion (something that has not already been ported from p5)?
13:58 masak depends on who you ask.
13:58 FurnaceBoy joined #perl6
13:58 masak I'd certainly like to see more cool web modules.
13:58 frettled DWIM.pm6
13:58 * moritz_ would love to see a working, non-prototypial module installer
13:58 masak something that you can do four or five lines, and go "ta-daa!" with
13:58 masak moritz_: we made the first strides in some time last week. it feels hopeful.
13:59 [particle] DBI
13:59 bbkr I'm thinking of porting MIME::Lite. I use it every day, but the RFCs are scarry :)
13:59 masak [particle]: there's a bit of that in place already, IIUC.
14:00 [particle] yeah, a bit...
14:00 masak see in particular http://www.slideshare.net/Tim.​Bunce/perl6-dbdi-yapceu-201008
14:00 [particle] a good place to look might be alias's top 100 page
14:00 masak (timbunce++)
14:00 masak ooh, good idea.
14:00 Alias \o
14:00 [particle] http://ali.as/top100/
14:00 masak Alias++ # :)
14:01 [particle] timbunce++ Alias++ indeed
14:02 masak Alias: that page does not degrade gracefully.
14:02 masak specifically, I have js turned off, and the contents were puzzling :)
14:03 bluescreen joined #perl6
14:03 Alias That would almost certainly be a bad idea
14:03 timbunce [particle]: there's a screencast of that talk at http://timbunce.blip.tv/ - it's more fun that the slides and includes a working demo of perl6 using perl5 DBI drivers!
14:03 bluescreen is now known as Guest55804
14:03 * masak thinks having js turned off in the browser is a good idea
14:03 masak the top module of Volatile 100 seems to be 'perl'. someone should port that to Perl 6. :P
14:03 frettled yup
14:03 Alias Then masak must be used to half the internet not working
14:04 frettled Not just masak.
14:04 masak Alias: actually, most pages look fine without js.
14:04 frettled If you use Firefox, NoScript helps keep the world sane.
14:04 [particle] timbunce: i watched it last week, and enjoyed it thoroughly. thanks!
14:04 frettled Additionally, you avoid malware installation javascripts like e.g. function CeHxprJ
14:04 masak timbunce: what [particle] said.
14:04 Alias masak: I left it there for reference purposes :)
14:05 Alias It actually really means "Explicit dependencies on non-dual life core modules"
14:05 masak nod
14:06 [particle] it might be nice to spell that out somewhere
14:06 frettled Alias: I think there may be a competition running: whose code can top the most lists :D
14:06 Alias frettled: Some of the lists are diametrically opposed
14:06 moritz_ why has Text-Tabs+Wrap so freaking many downstream dependants?
14:06 Alias Because Test::Harness or Pod::Simple or something uses it
14:06 * [particle] has been creating binary packages of the volatile 100 for http://openefs.org/
14:06 [Coke] ... because he didn't want to reinvent the wheel?
14:06 Alias It's basically one massive downstream
14:07 [Coke] oh, downstream. misunderstood.
14:07 frettled Alias: Yep, fortunately.
14:07 * [particle] hates the + in Text-Tabs+Wrap
14:07 moritz_ Alias: is one of the popular Test:: modules using it?
14:07 drbean left #perl6
14:08 Alias moritz: Pod::Simple
14:08 Alias Text::Wrap:      98.112902
14:08 moritz_ ah
14:11 _CTAPOMAK_ left #perl6
14:11 wtw left #perl6
14:11 [Coke] w
14:12 TimToady I wish the right side of X would take a closure that takes an argument of the left side of X's current value
14:12 Alias And Pod::Simple itself is only used by one major thing too, from memory
14:12 TimToady 1..5 X { $_ .. 5 }
14:12 moritz_ TimToady: like .map does?
14:13 moritz_ (1..5).map: { $_ .. 5 }
14:13 TimToady that doesn't X
14:14 masak TimToady: you shouldn't pollute the main slang with such arbitrary semantics; write a module with a multi like the rest of us! :P
14:14 Trashlord joined #perl6
14:15 TimToady rakudo: trying to write list comprehensions for pythagorean triples, and the best way is klunky:
14:15 p6eval rakudo 6ccdcd: OUTPUT«===SORRY!===␤Confused at line 22, near "trying to "␤»
14:15 TimToady rakudo: my $n = 20; for 1..$n -> $x { for $x..$n -> $y { for $y..$n -> $z { say "$x $y $z" if $x*$x + $y*$y == $z*$z }}}
14:15 p6eval rakudo 6ccdcd: OUTPUT«3 4 5␤5 12 13␤6 8 10␤8 15 17␤9 12 15␤12 16 20␤»
14:15 TimToady because we can't express dependencies across X
14:17 TimToady I'd like to be able to write 1..$n X *..$n X *..$n -> $x, $y, $z { say "$x $y $z" if $x*$x + $y*$y == $z*$z  }
14:17 masak ooh.
14:17 TimToady except *..$n already means -Inf..$n
14:17 masak hm.
14:18 masak that's a corner case, seemsme.
14:18 TimToady aye
14:18 masak I wouldn't mind writing -Inf when I mean -Inf.
14:18 TimToady me either
14:19 moritz_ the problem is breaking the symmetry between *..1 and 1..*
14:19 Alias Has anyone started porting my OS integration stuff yet?
14:19 Alias File::HomeDir, File::ShareDir, etc
14:19 TimToady and if 0..* really means -> $max = Inf { 0..$max }, it could work on the other end too
14:19 moritz_ Alias: not that I know of
14:19 Alias If not, that might be a good 5-to-6 project
14:19 Alias Certainly HomeDir
14:19 Alias ShareDir is a bit iffy, and not really worth a direct port, since it's a bit of a hack
14:20 [particle] moritz_: isn't *..-1 more symmetrical with 1..* ?
14:21 uniejo left #perl6
14:21 moritz_ [particle]: one could argue that way, but it's not really relevant for the point I'm trying to make
14:21 [particle] i know, any number .. * vs * .. any number, but...
14:24 frettled TimToady: Is there a particular reason why you would want to write *..$n instead of 1..$n in that example?
14:24 TimToady because they don't mean the same thing
14:24 TimToady when the left side is 2, it's 2..$n, etc
14:24 [Coke] left #perl6
14:25 TimToady otherwise will spit out 4 3 5 in addition to 3 4 5
14:25 [particle] frettled: look at the expanded version above the *..$n version
14:25 moritz_ can't you come up with something clever using X.. ?
14:25 TimToady not without coffee
14:26 moritz_ rakudo: say (1..5 X.. 5).perl
14:26 p6eval rakudo 6ccdcd: OUTPUT«(1..5, 2..5, 3..5, 4..5, 5..5)␤»
14:26 frettled I'm worried that we might be into meth territory rather than caffeine territory.
14:26 frettled [particle]: aha.
14:26 frettled I don't like the asterisk usage there, though.
14:26 frettled (in the simpler example)
14:26 moritz_ everybody wants the asterisk!
14:27 [particle] in this case, curry the outer value as the lhs of the range
14:29 frettled I can see how mathematicians might want a simple syntax for similar problems, but, hmm.
14:29 TimToady rakudo: say (1..3 X.. 3) X.. 3
14:29 p6eval rakudo 6ccdcd: OUTPUT«1232332333␤»
14:31 TimToady not sure how it extends to 3 columns
14:32 * moritz_ mumbles something about writing loops being not so bad, as long as you don't have to do it for every multi-item operation
14:33 TimToady it's almost like we want binding of return values: 1..$n -> $x X $x..$n -> $y X $y..$n -> $z { ... }
14:33 * colomon sits down at his computer and sees  (1..3 X.. 3) X.. 3 ...... aaaaaiiiiiiiiiiiiii!!!!!!!!!!!!!!!!!
14:34 TimToady just trying to write list comprehensions comprehensibly when there are dependencies between multiple lists
14:34 TimToady without writing nested loops
14:34 masak that's a worthy goal.
14:34 TimToady http://rosettacode.org/wiki/List_comprehensions is the spec on that
14:35 macroron joined #perl6
14:36 moritz_ for 1..$n X 1..$n X 1..$n -> $a, $b, $c { next unless $a < $b < $c; say "$a $b $c" if $a**2 + $b**2 == $c**2 }
14:37 FurnaceBoy :)
14:37 slavik X is the infix zip operator?
14:37 * masak had a thought today about writing a blog post about how for Set, Bag et al. to succeed, they really need to be much more integrated into the language than the Spec currently implies
14:37 masak slavik: no, it's the infix cross operator.
14:37 TimToady this also seems related to signatures that write their own loops around them in S09:1074
14:38 masak moritz_++ # more than one way
14:38 masak moritz_: I'd rather maintain your version, to be honest.
14:38 TimToady moritz_: yes, already tried that one, but it's considerably slower than not generating the bogus sets in the first place
14:40 masak surely that's an optimizer issue more than anything?
14:40 * masak still isn't entirely clear on when it's apropos to pull the optimizer card :)
14:41 TimToady to the first approximation, no optimizer is going to handle that
14:42 moritz_ TimToady: I see the use case, and it's a pattern I've often wrote myself with nested loops. However I'm not sure that more general X meta op is the right direction
14:42 moritz_ maybe it's worth investigating how Algorithm::Loops solves this
14:42 TimToady sure, just considering all the possibilities; note that S09:1074 is a completely different approach
14:43 cottoo is now known as cotto
14:43 masak oh, indeed. in the nested-loops case with several unlesses, it's already pretty good.
14:44 * moritz_ doesn't quite believe in the S09 way
14:44 moritz_ it seems too magical
14:44 moritz_ but maybe that's because it's NYI, and so I haven't had a chance to play with it
14:46 moritz_ it's weird to have a closure with 4 arguments being called, and nobody supplies the arguments (I'm looking at the tensor product example with do -> $i, $j $k, $l { ... } )
14:46 TimToady it's just rewriting tensors like a mathematician would
14:46 moritz_ I know
14:46 moritz_ I've suffered from them long enough :-)
14:47 TimToady I haven't, apparently... :)
14:48 moritz_ it sure would be nice to make them less suffering
14:49 TimToady so maybe what we're looking for is some way write -> $x, $y, $z { ... } over 1..$n X $x..$n X $y..$n
14:50 TimToady some way for sigs to cooperate with lists, scopewise
14:50 masak that sounds promising.
14:51 TimToady or some other way of currying into multiple dimensions
14:51 * moritz_ points to HyperWhatever
14:52 * TimToady glares at HyperWhatever, and it just sits there
14:52 moritz_ what I liked about meta operators is that they basically don't care about the actual list items
14:53 moritz_ and that the operator that is beinig meta'ed is what introduces the dependency between the items (or lists)
14:53 masak I think there might be a risk of introducing closures to X. they're simple as they are now, and the use of closures doesn't seem as motivated (or as natural) as in the infix:<...> case.
14:54 meppl left #perl6
14:54 moritz_ agreed
14:54 masak I wouldn't mind experimental modules wildly expoloring the semantic space, and v6.1 integrating the survivor. or something.
14:55 jfried joined #perl6
14:56 _macdaddy joined #perl6
14:59 TimToady for 1..$n -> $x, $y for $x..$n, $z for $y..$n { say "$x $y $z" if $x*$x + $y*$y == $z*$z }  # autocurrying
14:59 TimToady that's a 1-arity closure
15:00 moritz_ http://search.cpan.org/~tyemq/Algorithm-Loo​ps-1.031/lib/Algorithm/Loops.pm#NestedLoops
15:00 TimToady do -> $x for 1..$n, $y for $x..$n, $z for $y..$n { say "$x $y $z" if $x*$x + $y*$y == $z*$z }
15:00 TimToady and there's a 0-arity closure
15:00 moritz_ looks like fun
15:01 moritz_ and jnthn will kill you for it :-)
15:01 masak it took me a while to convince my brain to parse it as I think TimToady intended.
15:02 masak so, for loops inside siggies?
15:02 masak yes, jnthn will not be happy...
15:02 masak to me, it feels like (1) the nicest solution I've seen so far in this discussion, and (2) not core.
15:03 TimToady probably is core in some sense, since it's the same way subscripts work multidim, I think
15:03 masak oh!
15:03 masak spec it, and they will come.
15:03 TimToady @array[*;2..3;1,3,5...*]
15:04 TimToady though there too, people will want dependencies between the terms
15:05 TimToady these are all the same problem underneath
15:06 masak nod.
15:07 TimToady triangular arrays, and all that
15:07 masak and using 'for' isn't entirely willy-nilly, since we've already decided to do list comprehensions with 'if' and 'for'.
15:07 masak will you be able to use 'if' in the above cases too? :)
15:08 [Coke] joined #perl6
15:09 patspam joined #perl6
15:09 TimToady if we generalize it correctly, probably
15:09 moritz_ my only worry is that stuffing more general-purpose code in signatures makes them hard to introspect
15:10 TimToady these parameters disappear because they're autocurried
15:10 TimToady I meant it when I said it produces a 0-arity closure
15:11 masak ah, they evaporate at parse-time.
15:11 moritz_ but if they are not part of the signature, where do they live?
15:11 masak they probably turn into for loops in the AST.
15:11 moritz_ on the callee side?
15:11 masak hm.
15:11 TimToady rakudo: say { $^x }.assuming(1).^signature
15:12 p6eval rakudo 6ccdcd: OUTPUT«Method 'signature' not found for invocant of class 'ClassHOW'␤  in main program body at line 22:/tmp/7VpJV2bhQP␤»
15:12 masak o.O
15:12 REPLeffect joined #perl6
15:12 TimToady rakudo: say { $^x }.assuming(1).WHAT
15:12 * masak submits rakudobug
15:12 moritz_ the ^ is wrong
15:12 p6eval rakudo 6ccdcd: OUTPUT«Code()␤»
15:12 TimToady rakudo: say { $^x }.assuming(1).signature
15:12 moritz_ masak: I don't think it's a bug
15:12 p6eval rakudo 6ccdcd: OUTPUT«get_attr_str() not implemented in class 'Sub'␤  in main program body at line 1␤»
15:12 moritz_ rakudo: say { $^x }.assuming(1).signature.perl
15:12 p6eval rakudo 6ccdcd: OUTPUT«get_attr_str() not implemented in class 'Sub'␤  in main program body at line 1␤»
15:13 TimToady rakudo: say { $^x }.assuming(1).arity
15:13 p6eval rakudo 6ccdcd: OUTPUT«0␤»
15:13 masak moritz_: where does the ClassHOW come from? why is $^x wrong?
15:13 TimToady a closure of arity 0 should return a signature of ()
15:14 moritz_ masak: $a.^signature is the short for $a.HOW.signature($a)
15:14 masak oh, that ^
15:14 masak right. indeed.
15:15 * masak submits a rakudobug for the get_attr_str() errpr
15:15 masak s/p/o/
15:15 masak rakudo: say { "!" }.signature
15:15 p6eval rakudo 6ccdcd: OUTPUT«Signature()<0x5a0de50>␤»
15:16 masak rakudo: say { "!" }.signature.arity
15:16 p6eval rakudo 6ccdcd: OUTPUT«0␤»
15:16 moritz_ rakudo: say { "!" }.signature.perl
15:16 p6eval rakudo 6ccdcd: OUTPUT«:(;; Mu \|$_?)␤»
15:16 masak rakudo: say (-> { "!" }).signature.perl
15:16 p6eval rakudo 6ccdcd: OUTPUT«:()␤»
15:16 ash_ rakudo: say (sub ($a, Int $b) { }).signature.perl
15:16 lucs left #perl6
15:16 p6eval rakudo 6ccdcd: OUTPUT«:(Any $a, Int $b)␤»
15:16 justatheory joined #perl6
15:18 molaf joined #perl6
15:18 TimToady if we implement the Each type, it falls out of currying.  {$^x}.assuming(1..10.each)
15:18 ruoso left #perl6
15:18 ash_ is... that like a feed?
15:19 TimToady S09:1063
15:19 ash_ got ya
15:19 TimToady it's like a junction
15:19 moritz_ though probably (1..10).each
15:19 TimToady except it's used *only* for its eigenvalues :)
15:19 moritz_ precedence and all that
15:19 TimToady er, yeah
15:20 moritz_ TimToady: you see, my post-marriage brain damage has been transferred to you :-)
15:20 TimToady no way to make the precedence tables perfect for everything, sigh
15:20 * masak envisions a "probably-an-error" detector
15:20 TimToady oh, I've been developing my own case of that malady for years now
15:20 ash_ would that be the same as: my &x = {$^x};   (1..10).each: { &x($_); };
15:21 moritz_ masak: a list of typically-listy methods (like map, grep, join etc) in $start..$end.method would make a good lint check
15:22 TimToady well, that's the effect of autothreading, though it doesn't mean the each method has a closure argument
15:22 TimToady this ain't ruby
15:22 ash_ ah okay
15:22 ash_ just trying to find out what the non-sugar version of that is
15:22 ash_ that just makes .assuming seem like its doing a lot, and i am trying to figure out what
15:22 TimToady just like x(any(1,2,3)), only different
15:23 masak by the way, http://en.wikipedia.org/wiki/Perl_6#Autothreading is still all wrong. some brave soul might want to correct it.
15:24 moritz_ "its usage and implementation is not finalized"
15:25 moritz_ to the extend that anything is finalized in Perl 6, autothreadin is too
15:25 masak aye.
15:25 masak the source is from 2005...
15:25 masak ...and it's a p6l email :P
15:25 moritz_ :/
15:26 moritz_ whateverelsecoulditbe
15:26 risou___ joined #perl6
15:28 risou_ left #perl6
15:32 moritz_ are {{{...}}} useful without quasi?
15:32 moritz_ if not, the section on macros is wrong-ish too
15:34 patspam left #perl6
15:34 masak pmichaud: two things about my enums patch and TT#1746: (1) I'll see if I can prepare a new, simpler patch wherein the anon class isn't instantiated. maybe I'll even write some tests for it, too. (2) who can solve the issue discovered in TT#1746, and how difficult will it be?
15:37 tylercurtis joined #perl6
15:38 moritz_ to me it looks like a short-ish task for somebody familiar with parrot's memory structure, and knowledge for the API functions
15:39 moritz_ sadly, neither applies to me
15:40 moritz_ masak: maybe you can try to strain nwellnhof++'s patience a bit more, and ask him how such a thing would be done?
15:40 masak good idea.
15:40 moritz_ masak: be sure to promise a $beverage_of_choice at the next real-life meeting :-)
15:41 masak :)
15:41 moritz_ it's a common currency among hackers, it seems :-)
15:42 masak pmichaud might have something to add as well, now that he's been convinced of the problem. it sounded like it was more widespread than he was first willing to believe. (which would make it quite high-prio)
15:45 Guest23195 joined #perl6
15:51 _macdaddy left #perl6
15:55 * [Coke] ponders creating a bevcredit.
15:56 FurnaceBoy :)
15:56 FurnaceBoy you would!
15:57 * moritz_ wonders if hugme should track bevcredit :-)
16:01 masak what's a bevcredit?
16:01 moritz_ beverage credit
16:01 [particle] victual
16:01 moritz_ ie promise to buy $somebody a $beverage
16:02 cdarroch joined #perl6
16:02 cdarroch left #perl6
16:02 cdarroch joined #perl6
16:02 [Coke] we'd need a corresponding bevbuck.
16:02 masak oh, naturally.
16:03 FurnaceBoy [particle]: victual memory?
16:03 [particle] we should track victual credits, that can be spent at the victual machine
16:03 [particle] VC for VMs!
16:03 FurnaceBoy :)
16:10 ash_ left #perl6
16:11 envi^home left #perl6
16:11 qwr joined #perl6
16:13 qwr left #perl6
16:20 ruoso joined #perl6
16:24 masak left #perl6
16:25 lichtkind_ joined #perl6
16:27 risou_ joined #perl6
16:27 lichtkind left #perl6
16:27 lichtkind_ is now known as lichtkind
16:29 risou___ left #perl6
16:32 macroron left #perl6
16:33 alester joined #perl6
16:33 lichtkind moritz_: i finally find a bug :)
16:35 spq1 joined #perl6
16:37 Ross joined #perl6
16:41 risou_ left #perl6
16:41 pugssvn r32117 | lwall++ | [S05] Commits work by throwing away choice points on forward matching.
16:41 pugssvn r32117 | (Backtracking failure is merely the consequence of not finding a choice point.)
16:41 pugssvn r32117 | Also clarify that backtracking to or *past* such a point fails.
16:41 risou_ joined #perl6
16:42 risou_ left #perl6
16:42 risou___ joined #perl6
16:43 risou___ left #perl6
16:43 risou_ joined #perl6
16:48 risou_ left #perl6
16:51 tylercurtis http://gist.github.com/557661 How can I make the modifications to $x and $y in the second call to with-attributes modify $thing.x and $thing.y?
16:51 bbkr rakudo: /\ X/ # unspace bug :) known?
16:51 p6eval rakudo 6ccdcd:  ( no output )
16:51 bbkr std: /\ X/
16:51 p6eval std 32116: OUTPUT«Invalid conversion in sprintf: "%M" at STD.pm line 57284.␤[31m===[0mSORRY![31m===[0m␤No unspace allowed in regex; if you meant to match the literal character, please enclose in single quotes (' ') or use a backslashed form like \x%M->{02}x at /tmp/p05dWQrWFG line 1:␤------>
16:51 p6eval ..[3…
16:52 timbunce left #perl6
16:53 moritz_ tylercurtis: try   %slot-values{$slot} := $obj."$slot"();
16:53 lichtkind you get no proper output when say "richtig" if prompt "rate mal " ~~ any lines "a.dta";
16:53 moritz_ (binding instead of assignment)
16:54 moritz_ rakudo: say (lines "a.dta").perl
16:54 p6eval rakudo 6ccdcd: OUTPUT«Operation not permitted in safe mode␤  in 'Safe::forbidden' at line 2:/tmp/t3OgUgu8NY␤  in 'lines' at line 5386:CORE.setting␤  in main program body at line 22:/tmp/t3OgUgu8NY␤»
16:54 tylercurtis moritz_++: That works.
16:54 * tylercurtis should have thought of that.
16:55 lichtkind moritz_: of course ther eis no file here but thats not the crucial part
16:55 bbkr rakudo: / x:/ # another STD compatibility bug...
16:55 p6eval rakudo 6ccdcd:  ( no output )
16:55 TimToady lines is moving toward requiring .IO, or it'll assume you want the lines from a string
16:56 lichtkind its the same with say "richtig" if prompt "rate mal " ~~ <a b c d>; too
16:56 TimToady rakudo: say "foo\nbar\nbaz\n".lines.Num
16:56 p6eval rakudo 6ccdcd: OUTPUT«3␤»
16:56 TimToady rakudo: say lines "foo\nbar\nbaz\n"
16:57 p6eval rakudo 6ccdcd: OUTPUT«Operation not permitted in safe mode␤  in 'Safe::forbidden' at line 2:/tmp/GFZeqyrrh_␤  in 'lines' at line 5386:CORE.setting␤  in main program body at line 22:/tmp/GFZeqyrrh_␤»
16:57 diakopter rakudo: say "foo\nbar\nbaz\r\n".lines.Num
16:57 p6eval rakudo 6ccdcd: OUTPUT«5␤»
16:57 ingy morning o/
16:57 diakopter 5?
16:57 TimToady looks buggy
16:57 TimToady anyway, lines "filename" is deprecated
16:58 diakopter rakudo: say "\rbaz\r".lines.Num
16:58 p6eval rakudo 6ccdcd: OUTPUT«2␤»
16:58 diakopter rakudo: say "baz\r".lines.Num
16:58 p6eval rakudo 6ccdcd: OUTPUT«1␤»
16:59 diakopter rakudo: say "baz\f".lines.Num
16:59 p6eval rakudo 6ccdcd: OUTPUT«1␤»
16:59 diakopter rakudo: say "\fbaz\f".lines.Num
16:59 p6eval rakudo 6ccdcd: OUTPUT«2␤»
16:59 diakopter rakudo: say "\r\fbaz\r".lines.Num
16:59 p6eval rakudo 6ccdcd: OUTPUT«3␤»
16:59 timbunce joined #perl6
16:59 diakopter wee-uhd
17:00 TimToady rakudo: say "\r\n" ~~ /\n/
17:00 p6eval rakudo 6ccdcd: OUTPUT«
17:00 bbkr rakudo: /$$x/ # another bug. Rakudo not warning amoun unblessed refs in regexpx
17:00 p6eval rakudo 6ccdcd:  ( no output )
17:00 bbkr about*
17:00 bbkr std: /$$x/
17:00 p6eval std 32116: OUTPUT«Can't call method "Str" on unblessed reference at STD.pm line 58888.␤FAILED 00:01 116m␤»
17:00 diakopter oo
17:01 diakopter bbkr++ bbkr++ multibugs
17:01 TimToady rakudo: say ?"\r\n" ~~ /\n/
17:01 p6eval rakudo 6ccdcd: OUTPUT«␤»
17:01 TimToady rakudo: say ?("\r\n" ~~ /\n/)
17:01 p6eval rakudo 6ccdcd: OUTPUT«1␤»
17:01 TimToady rakudo: say so "\r\n" ~~ /\n/
17:01 p6eval rakudo 6ccdcd: OUTPUT«1␤»
17:01 TimToady rakudo: say so "\f" ~~ /\n/
17:01 p6eval rakudo 6ccdcd: OUTPUT«1␤»
17:02 TimToady I suppose that makes sense
17:02 diakopter rakudo: say so "\r" ~~ /\n/
17:02 p6eval rakudo 6ccdcd: OUTPUT«1␤»
17:03 diakopter rakudo: say so "\n" ~~ /^^$$/
17:03 TimToady rakudo: say +("\r\n" ~~ /(\n)+/)
17:03 p6eval rakudo 6ccdcd: OUTPUT«1␤»
17:03 p6eval rakudo 6ccdcd: OUTPUT«0␤»
17:03 diakopter mine is the former result
17:03 diakopter for log posterity
17:04 TimToady rakudo: say ("\r\n" ~~ /\n/).chars
17:04 p6eval rakudo 6ccdcd: OUTPUT«2␤»
17:04 diakopter what's the equiv of single-line-mode
17:05 TimToady rakudo: say "foo\nbar\nbaz\r\n".lines».chars.Str
17:05 p6eval rakudo 6ccdcd: OUTPUT«3 3 3 0 0␤»
17:05 diakopter rakudo: say "foo\r\nbar\nbaz\r\n".lines».chars.Str
17:05 p6eval rakudo 6ccdcd: OUTPUT«3 0 0 3 3 0 0␤»
17:06 diakopter O__
17:06 TimToady bugses
17:06 bbkr std: /|/ # TimToady - I know this does nothing useful, but it's not Null patern, is it?
17:06 p6eval std 32117: OUTPUT«[31m===[0mSORRY![31m===[0m␤Null pattern not allowed at /tmp/Ab9mCcEEGs line 1:␤------> [32m/|[33m⏏[31m/ # TimToady - I know this does nothing [0m␤Parse failed␤FAILED 00:01 114m␤»
17:06 TimToady sureit is
17:07 TimToady std: /the|null|pattern|is|not|al​lowed|in|any|alternative|/
17:07 p6eval std 32117: OUTPUT«[31m===[0mSORRY![31m===[0m␤Null pattern not allowed at /tmp/lLVKLMdktp line 1:␤------> [32mttern|is|not|allowed|in|any|​alternative|[33m⏏[31m/[0m␤Parse failed␤FAILED 00:01 115m␤»
17:07 TimToady std: /the|null|pattern|is|not|all​owed|in|any|alternative|<?>/
17:07 * diakopter feels a rakudo-fuzz session approach
17:07 p6eval std 32117: OUTPUT«ok 00:01 116m␤»
17:07 diakopter and std-fuzz
17:08 bbkr TimToady:  thanks for explanantion :) I thought this error message is reserved only for '//' misuse
17:09 bbkr std: /|x/ # should this also fail? (Null pattern as first alternative element)
17:09 p6eval std 32117: OUTPUT«ok 00:01 116m␤»
17:10 bbkr hmm
17:10 tylercurtis That's a special exception.
17:10 tylercurtis So that you can do [\n| blablbla\n|blablabla\n] with the [ and | and ] all lined up.
17:11 bbkr tylercurtis: clear now, thanks
17:13 diakopter std: /(?:\ )/ # TimToady stdubg
17:13 p6eval std 32117: OUTPUT«[31m===[0mSORRY![31m===[0m␤Quantifier quantifies nothing at /tmp/aBNRJD_kc8 line 1:␤------> [32m/(?:[33m⏏[31m\ )/ # TimToady stdubg[0m␤Invalid conversion in sprintf: "%M" at STD.pm line 57284.␤No unspace allowed in regex; if you meant to match the literal character, please
17:13 p6eval ..…
17:16 TimToady viv bug, looks like
17:18 diakopter std: /(:\| )/
17:18 p6eval std 32117: OUTPUT«[31m===[0mSORRY![31m===[0m␤Unrecognized regex metacharacter (must be quoted to match literally) at /tmp/x0Y22DcH09 line 1:␤------> [32m/(:[33m⏏[31m\| )/[0m␤Can't call method "from" on unblessed reference at STD.pm line 53782.␤FAILED 00:01 116m␤»
17:19 * diakopter tilts head
17:20 pugssvn r32118 | lwall++ | [STD] work around viv bug on "%02x"
17:23 espadrine left #perl6
17:25 amkrankruleuen left #perl6
17:25 amkrankruleuen joined #perl6
17:33 kjeldahl left #perl6
17:38 diakopter std: /(?:\ )/
17:38 p6eval std 32118: OUTPUT«[31m===[0mSORRY![31m===[0m␤Quantifier quantifies nothing at /tmp/LBUM8TbVfi line 1:␤------> [32m/(?:[33m⏏[31m\ )/[0m␤No unspace allowed in regex; if you meant to match the literal character, please enclose in single quotes (' ') or use a backslashed form like \x20 at
17:38 p6eval ../tmp/L…
17:38 diakopter std: /(:\| )/
17:38 p6eval std 32118: OUTPUT«[31m===[0mSORRY![31m===[0m␤Unrecognized regex metacharacter (must be quoted to match literally) at /tmp/fXqYl67Px6 line 1:␤------> [32m/(:[33m⏏[31m\| )/[0m␤Can't call method "from" on unblessed reference at STD.pm line 53782.␤FAILED 00:01 116m␤»
17:43 mmcleric joined #perl6
17:43 ingy phenny: tell masak I'll be available to hack in T-3 hours.
17:43 phenny ingy: I'll pass that on when masak is around.
17:43 ingy phenny: thanks
17:44 au|irc left #perl6
17:45 moritz_ phenny: tell masak that public branch enum_memory doesn't segfault anymore on the example provided in TT #1746
17:45 phenny moritz_: I'll pass that on when masak is around.
17:47 ash_ joined #perl6
17:47 tylercurtis rakudo: sub my-foo {...}; my-foo;
17:47 p6eval rakudo 6ccdcd: OUTPUT«===SORRY!===␤Malformed my at line 22, near "-foo;"␤»
17:48 tylercurtis rakudo: sub my_foo {...}; my_foo;
17:48 p6eval rakudo 6ccdcd:  ( no output )
17:52 tylercurtis std: sub my-foo {...}; my-foo;
17:52 p6eval std 32118: OUTPUT«ok 00:01 115m␤»
17:52 tylercurtis rakudobug?
17:53 moritz_ indeed
17:54 * tylercurtis submits.
17:55 colomon rakudo: sub my-foo {...}
17:55 p6eval rakudo 6ccdcd:  ( no output )
17:55 colomon rakudo: my-foo;
17:55 p6eval rakudo 6ccdcd: OUTPUT«===SORRY!===␤Malformed my at line 22, near "-foo;"␤»
17:55 ash_ left #perl6
17:58 moritz_ pls has lots of test failures
17:59 ash___ joined #perl6
18:05 ash___ left #perl6
18:05 mmcleric left #perl6
18:08 zulon left #perl6
18:10 skangas joined #perl6
18:17 moritz_ phenny: tell masak your enum patch causes test failures in t/spec/S02-names/our.t -- not sure if they conform to current spec
18:17 phenny moritz_: I'll pass that on when masak is around.
18:20 jhuni joined #perl6
18:21 ash_ joined #perl6
18:22 daxim left #perl6
18:27 patrickas joined #perl6
18:27 patrickas o/
18:27 patrickas rakudo: say () === ();
18:27 p6eval rakudo 6ccdcd: OUTPUT«0␤»
18:28 patrickas is that expected ?
18:29 moritz_ yes
18:29 moritz_ two different parcels
18:29 PerlJam rakudo: say Nil === Nil
18:29 p6eval rakudo 6ccdcd: OUTPUT«1␤»
18:29 PerlJam patrickas: were you expecting the isomorphism between () and Nil to give you that output?
18:30 moritz_ Nil is specified as a singleton
18:34 pmichaud good afternoon, #perl6
18:34 jhuni left #perl6
18:35 takadonet pmichaud: hey
18:35 moritz_ oh hai pmichaud
18:36 patrickas actually it got a test failure and I thought it could be that ... but I am not sure, thought i'd ask anyway before investigating further
18:36 colomon \o
18:37 patrickas colomon o/
18:38 ash_ moritz_: thanks for the FORBID_PIR change, i think i should have a new version of try.rakudo.org done tonight/tomorrow
18:39 moritz_ ash_: you're welcome, and good to hear
18:39 patrickas PerlJam: It seems your guess was correct the test is testing for Nil but probably expecting ()
18:39 ash_ my last change i need to make is to have it periodically clear out old sessions, then it should be good to go
18:40 patrickas 1...^1 should produce () and not Nil right ?
18:41 moritz_ patrickas: right
18:42 molaf left #perl6
18:42 patrickas Ok i'll fix the tests then (local series code now passes all tests in series.t including all the fudged ones)
18:42 TimToady () should generally be used when 0 values is a valid list; Nil means there's not even really a list here.
18:43 nimiezko joined #perl6
18:43 nimiezko left #perl6
18:43 moritz_ Nil = NothIng to see here, move aLong
18:43 TimToady so we can distinguish return (); from return;
18:44 nimiezko joined #perl6
18:45 pugssvn r32119 | patrickas++ | Empty series should produce () and not Nil
18:45 patrickas TimToady did you get to think about what should 1,2,3,4,5,6 ... 3 produce ?
18:46 ash_ 1,2,3,4,5,6,5,4,3 ? (just guessing)
18:46 moritz_ that doesn't look right to me
18:46 patrickas ash_ definetely not :-)
18:47 ash_ is , or ... higher in precedence?
18:47 patrickas actually there is no doubt
18:47 patrickas 1,2,3
18:47 patrickas the dillema was for 1,2,3,4,5,6 ... 2
18:47 patrickas if it should produce 1,2,3 OR 1,2
18:48 EvanCarroll joined #perl6
18:48 EvanCarroll You know seo fags are spamming the perl6 site right?
18:48 EvanCarroll https://www.parrot.org/news/parrot-2.7.​0-australian-king-released#comment-180
18:48 EvanCarroll parrot site*
18:48 EvanCarroll just fyi.
18:49 moritz_ deleted.
18:49 patrickas ash_ the comma has higher precedence
18:51 cdarroch left #perl6
18:51 [particle] EvanCarroll: fags, are you sure?
18:53 EvanCarroll It was qualified with "seo"
18:54 cdarroch joined #perl6
18:54 cdarroch left #perl6
18:54 cdarroch joined #perl6
18:54 patrickas Frequently Asked Guestions ?
18:56 ash_ having series and range's with HIGH .. | ... LOW confuse me...
18:56 EvanCarroll moritz_: he lamed up the whole parrot.org site
18:56 EvanCarroll http://parrot.org/news/2010/Parrot-2.6.0#new
18:56 [particle] evancarroll: that doesn't make it ok.  please attempt not to use foul language here, we try to keep discussions healthy, positive and friendly.
18:56 PerlJam [particle]++
18:56 EvanCarroll actually i think that might be the only other one
18:56 [particle] i just blocked tradelord on parrot.org.  thanks for reporting.
18:57 [particle] now, to find that wiki page for blocked accounts...
18:57 EvanCarroll [particle]: he still has the comment active
18:58 EvanCarroll you should scan your access.logs and block the seo list your on
18:58 EvanCarroll you're on*
18:58 EvanCarroll or redirrect their traffic to goatse
19:01 EvanCarroll [particle]: http://parrot.org/news/par​rot-users-list-created#new
19:01 EvanCarroll more spam
19:02 REPLeffect left #perl6
19:03 EvanCarroll Is perl6 really going to go with that butterfly ?
19:03 EvanCarroll the first ever anti-social marketing campeign?
19:04 [particle] i'm updating the Mollum rules now, thanks EvanCarroll++
19:04 patrickas Isn't the precedence wrong here ? S03:1989
19:05 EvanCarroll Maybe that would be a good post for perlmonks questioneers, "If I wore a shirt with the perl6 butterfly I would feel, (a) ashamed, (b) ridiciolus, (c) ahead of the curve, (d) like a toddler, (e) like a pedophile"
19:06 EvanCarroll You wouldn't catch me wearing a butterfly shirt in public, or with the bumper sticker on my car. I like logo-only conversation starters, but not if people are going to think I'm trying to pick up a 3 year old.
19:07 TimToady nobody's gonna make you wear it
19:07 FurnaceBoy MSN's logo is a colourful butterfly.
19:07 \xF0 but that gives them the right impression in your case, doesn't it?
19:07 EvanCarroll FurnaceBoy: yea, was.. see how good that worked out for them.
19:07 EvanCarroll TimToady: I like my YAPC shirt =(
19:07 PerlJam Windows has a colorful window thingy for a logo.
19:07 TimToady \xF0: please be nice, even if EvanCarroll isn't
19:07 EvanCarroll PerlJam: I think that was msn, which is now bing (no butterfly)
19:08 patrickas I thought wearing Camelia shirts was mandatory if we are ever allowed to use perl6!
19:08 EvanCarroll http://www.msn.com/
19:08 EvanCarroll no it still has a butterfly on msn.com, but it doesn't look like a butterfly.
19:08 patrickas rakudo: say (1,2... 5  ,  10,20... 50);
19:08 p6eval rakudo 6ccdcd: OUTPUT«No applicable candidates found to dispatch to for 'infix:<...>'. Available candidates are:␤:(@lhs, @rhs)␤:(@lhs, Any $rhs)␤:(Any $lhs, @rhs)␤:(Any $lhs, Any $rhs)␤␤  in main program body at line 22:/tmp/PWau7aYwhp␤»
19:09 TimToady well, moritz_++ wore a Camelia shirt at the last YAPC, and now he's married. :D
19:09 PerlJam TimToady: is that a pro or a con? :)
19:09 \xF0 TimToady: okay :(
19:09 FurnaceBoy PerlJam: haha
19:09 EvanCarroll \xF0: haha, no.
19:11 PerlJam I wonder what it is that people really object to wrt Camelia?
19:11 ash_ EvanCarroll: http://kraih.com/usingperl6-sri.jpg is another perl6 buttery
19:12 EvanCarroll I just told you, the rational isn't bad -- I agree with the points in TimToady's post, I just think if the solution is that, it's wrong.
19:12 PerlJam I mean, they complain about the color scheme, but what makes that color scheme any better/worse than any other.
19:12 EvanCarroll ash_: That is much better actually.
19:12 sorear EvanCarroll: it's a litmus test for worthy contributor, you fail
19:13 EvanCarroll ash_: I'd say it still isn't up to par with a shirt I'd want to wear in public but at least I'd feel less foreign wearing it.
19:13 PerlJam "A little nonsense now and then is relished by the wisest men"  --Willy Wonka   :)
19:13 TimToady if your masculinity is threatened by a butterfly...I don't know how to help you.
19:13 ash_ i like camelia personally, »ö«++
19:13 sorear TimToady: What should "ac" ~~ / [ a <commit>: b ]? / do?
19:14 ash_ _sri++ made the other butterfly
19:14 sorear I am thinking it will match the empty string, because <commit> is never backtracked into
19:14 TimToady please read my last S05 commit
19:14 sorear ok
19:14 EvanCarroll hey, different strokes for different folks -- I'd just want to pick something that everyone wants to advertise, stick on their car, put on their shirt, sticker up their laptop etc.
19:14 _sri EvanCarroll: actually such a cute logo has a lot of potential for cool t-shirts, just google for evil hello kitty :D
19:15 amkrankruleuen left #perl6
19:16 EvanCarroll _sri: right. you know how many of those I wear to work right?
19:16 EvanCarroll kind of reminds me of a female version of Beastie.
19:17 amkrankruleuen joined #perl6
19:18 pugssvn r32120 | patrickas++ | Two more tests for NYI stuff in series
19:18 TimToady http://wall.org/~larry/camelia-angry.pdf  # compliments of quietfanatic++
19:18 ash_ patrickas: S03:1989 looks alright to me
19:19 TimToady metoo
19:19 patrickas ash_ but if the series operator is of lower precedence should that parse as
19:19 patrickas (1,   *+1)   ... ( { $_ <   10 },10,  *+10 )  ... ( { $_ <  100 },    100, *+100 ) ... { $_ < 1000 }
19:20 TimToady it does
19:20 TimToady and that's fine
19:20 _sri the lolbutterfly meme also needs to be started
19:20 patrickas rakudo: say ((1,2) ... (5,10,20) ... 50);
19:21 TimToady .oO(I can haz catburger?)
19:21 p6eval rakudo 6ccdcd: OUTPUT«No applicable candidates found to dispatch to for 'infix:<...>'. Available candidates are:␤:(@lhs, @rhs)␤:(@lhs, Any $rhs)␤:(Any $lhs, @rhs)␤:(Any $lhs, Any $rhs)␤␤  in main program body at line 22:/tmp/VjEfz7PJJE␤»
19:21 trek1s joined #perl6
19:21 patrickas I suppose it is a rakudobug then
19:21 TimToady looks like
19:21 ash_ you know, it might be an improvement to that error message to say what you did have, since you might not realize what it was trying to dispatch
19:21 patrickas rakudo: say ( (1,2 ... 5),(10,20 ... 50) );
19:21 p6eval rakudo 6ccdcd: OUTPUT«123451020304050␤»
19:22 ash_ rakudo: say ((1, 2 ... 5), (10, 20, ... 50)).perl;
19:22 p6eval rakudo 6ccdcd: OUTPUT«===SORRY!===␤Comma found before apparent series operator; please remove comma (or put parens␤    around the ... listop, or use 'fail' instead of ...) at line 22, near " ... 50))."␤»
19:22 EvanCarroll TimToady: the problem isn't the cuteness, it is the cuteness mixed with the very young looking design.
19:22 ash_ rakudo: say ((1, 2 ... 5), (10, 20 ... 50)).perl;
19:22 p6eval rakudo 6ccdcd: OUTPUT«((1, 2, 3, 4, 5), (10, 20, 30, 40, 50))␤»
19:22 colomon I'm pretty sure rakudo tries to make (1,2) ... (5,10,20) ... 50 into one series op call with three arguments
19:22 EvanCarroll Tux is "cute", but not in the same way that you could picture him with a teletubbie
19:22 ash_ i like .perl since it shows you when lists are nested
19:22 colomon and the series op cannot handle that yet.
19:22 TimToady we're trying to subvert the next generation before they grow up to be computer scientists
19:23 Tene I recommend s/we/I/
19:23 TimToady so I don't care what you think about--I'm looking ahead 20 years or so
19:24 patrickas TimToady: Out of curiosity does the same Camelia with no change except smoother curves on the P and 6 in the wings look better or worse to you?
19:25 ash_ the error message on dispatching might be nicer if it was formatted like:  No applicable candidates found to dispatch to for 'SUB-NAME'. Available candidates are:␤:(@lhs, @rhs)␤:(Any $lhs, Any $rhs)␤Attempted to dispatch :(Foo $lhs, Bar $rhs).    # note, i only added the Attempted to dispatch part
19:25 TimToady smoother in what sense?  the bulges are intentional
19:25 TimToady I worked very hard to put them there
19:25 Tene Unless I've missed quite a bit, the camelia design is nearly entirely yours.  I'm not sure who you're including in "we".  Other people have supported it, I suppose, but that's not quite the same as working towards a political agenda.
19:26 pmichaud 19:22 <colomon> I'm pretty sure rakudo tries to make (1,2) ... (5,10,20) ... 50 into one series op call with three arguments
19:26 TimToady I was using the royal we.
19:26 Tene I don't mind camelia, but I'm unsure if you were intending to include all Perl 6 developers in that "we".
19:26 pmichaud yes, STD.pm defines infix:<...> as being list associative.
19:26 Tene Ah, okay.  That's confusing.  :P
19:26 ash_ rakudo: sub foo(Int $a) { ... }; foo "hi";
19:26 p6eval rakudo 6ccdcd: OUTPUT«Nominal type check failed for parameter '$a'; expected Int but got Str instead␤  in 'foo' at line 22:/tmp/zxl5kPhy5o␤  in main program body at line 22:/tmp/zxl5kPhy5o␤»
19:26 patrickas TimToady: yes the buldges, they seemed intentional to mee but I was not sure :-)
19:26 TimToady We should not be confused.  <-- editorial we
19:27 TimToady if you pull 'em apart you'll see they're really two different splines superposed
19:27 ash_ rakudo: multi sub foo (Int $a) { ... } ; mutli sub foo (Num $a) { ... }; foo "a";
19:27 p6eval rakudo 6ccdcd: OUTPUT«===SORRY!===␤Can not re-declare sub &foo without declaring it multi at line 22, near "; foo \"a\";"␤»
19:27 Tene mutli/multi
19:27 dha joined #perl6
19:27 moritz_ works if you don't mis-spell mutli :-)
19:27 TimToady camels have bulges too
19:28 pmichaud (TimToady is not the only one here who is targeting more than the current generation of programmers.)
19:28 ash_ rfc: we need to change how you spell things, for people like me that can't
19:28 ash_ rakudo: multi sub foo (Int $a) { ... } ; multi sub foo (Num $a) { ... }; foo "a";
19:28 p6eval rakudo 6ccdcd: OUTPUT«No applicable candidates found to dispatch to for 'foo'. Available candidates are:␤:(Int $a)␤:(Num $a)␤␤  in main program body at line 22:/tmp/wAonVneGCj␤»
19:28 ash_ does that change seem worthy of a rakudobug?
19:28 colomon pmichaud: yes, that's what I thought, though I'd forgotten the phrase "list associative"
19:29 pmichaud ...rakudobug?
19:30 ash_ well, i guess thats not a bug, more a request for change
19:30 sorear TimToady: What should something like / a* [ b* <commit> c* ]: / do?  : wants to prune certain things off the search tree, but <commit> seems like it might prune whatever : is looking for
19:30 moritz_ what change?
19:30 pmichaud ash_: what would you want to change?
19:30 * moritz_ confused
19:30 ash_ pmichaud: i was suggestion to change the error message on multi dispatching errors, to include what you tried to dispatch
19:30 pmichaud oh, that.
19:30 Tene pmichaud: Yes, but the Perl 6 community is by no means united on that front wrt camelia. :)
19:30 ash_ something like:
19:30 ash_ No applicable candidates found to dispatch to for 'SUB-NAME'. Available candidates are:␤:(@lhs, @rhs)␤:(Any $lhs, Any $rhs)␤Attempted to dispatch :(Foo $lhs, Bar $rhs).    # note, i only added the Attempted to dispatch part
19:31 TimToady then don't use commit
19:31 pmichaud Tene: correct, it's not a united "we"  :-)
19:31 TimToady you are only required to know how to be nice to all kinds of people (and butterflies)
19:32 TimToady we don't even require that you always *be* nice
19:32 TimToady or that you like the people you're being nice to (and butterflies)
19:32 * pmichaud wonders if he could forget enough niceties to be kicked out of the Perl 6 community.  :-)
19:33 Tene Personally, the details of the political and sociological effects of logo choice is far above my pay grade, so I decline to hold an opinion.
19:33 * ash_ niceties makes me think of neck ties, but with complements on them
19:33 ash_ left #perl6
19:33 patrickas with camelias on them!
19:34 pmichaud or maybe I just have to be mean to butterflies.  :-)
19:34 TimToady pmichaud: you're safe--one doesn't know how to be nice merely by thinking to oneself "I know how to be nice."
19:35 Tene Things that require neckties are a member of the complement of the set of things I'm interested in.
19:35 TimToady so thinking you don't know how when you do doesn't work
19:35 sorear TimToady: I have my implementor hat on now
19:35 sorear TimToady: are you saying that improperly nested cuts are erroneous?
19:36 sorear (trying to cut to a depth, when a deeper depth has already been cut, like <commit> ::)
19:37 TimToady I don't think that's erroneous, unless you intended it erroneously, but we cannot read minds
19:37 TimToady a : could just as easily be aimed at something inside the [] after the <commit>
19:38 pmichaud (I don't see it as erroneous either, fwiw)
19:38 TimToady if you intended the : in your example to only suppress c*, that's fine
19:39 TimToady if you intended it to suppress the commit, well, you can't
19:39 TimToady now, if we saw [ b* <commit> c]: then we could probably claim a Useless use of :
19:40 TimToady but I think it falls more in the DIHWIDT category
19:40 dha Question from User (as distinct from implementor) side of things: What's the correct forum for commenting on the documentation that comes with Rakudo *? Should one submit bug reports through RT? Should one mail to a list?
19:40 pmichaud one should submit patches through RT :-)
19:41 pmichaud (you can file a bug report too, if you want.  Or we can give you a commit bit :)
19:41 wamba joined #perl6
19:41 TimToady darn it, forgot to each lunch again...
19:42 ash_ joined #perl6
19:42 dha Well, at this point I'm not sure I understand the language well enough to submit actual patches, but I'll see what I can do. Thanks.
19:44 pmichaud dha: a bug report would be fine, if that's what you'd prefer (more)
19:45 pmichaud a patch (even if wrong) would tell us something about the overall state of documentation.  Plus it's often easier to edit/revise text than it is to come up with original text :)
19:45 pmichaud but anything you want to contribute is definitely welcome
19:45 pmichaud ooc, what bug / problem are you seeing?
19:46 sorear so <commit> needs to cut out choice points, but preserve whatever markers : needs to do its job
19:47 smash left #perl6
19:47 TimToady the Cursor xact model is pretty close to what I want
19:47 pmichaud this is one of those times when I really wish that the pugs repo was in git(hub)  :-).  I'm having a terrible time seeing the last commit to S05.
19:48 smash joined #perl6
19:48 TimToady I have to delete choice points lazily because of how lazymaps work, of course
19:48 sorear r32117
19:48 TimToady so it uses an invalidating model
19:48 cbk joined #perl6
19:48 sorear pmichaud: irc.pugscode.org
19:48 TimToady looks like p6l isn't tracking synopses changes?
19:49 pmichaud TimToady: noticed that also
19:49 moritz_ http://github.com/moritz/Mu
19:49 dha pmichaud - A few of us here in nyc are going through the Using Perl6 draft, and we're seeing some things that aren't clear to us (and some things that look like bugs). I'm currently preparing to sound off about section 4.6 - issues like the use of all(), what seems to be a stray colon, and a few other things.
19:49 pmichaud I'm once again stuck behind draconian hospital wireless network that doesn't allow much other than https:// connections or web requests on port 80  :-(
19:50 pmichaud dha: excellent
19:50 pmichaud dha: yes, anything that is confusing or wrong, please let us know about (and where possible, suggest improvements)
19:50 moritz_ dha: http://github.com/perl6/book/issues is a good place for book bugs
19:51 dha moritz_ - ah, excellent. Better there than through RT?
19:51 moritz_ dha: yes
19:52 dha *nod* will go there. Thanks.
19:52 moritz_ in fact we never explain all()
19:52 mathw o/
19:52 moritz_ we should
19:52 TimToady pmichaud: the s5 diff is at http://wall.org/~larry/s5diff
19:52 pmichaud TimToady: thanks
19:53 wamba left #perl6
19:53 moritz_ http://github.com/moritz/Mu/commit/7b9​42e4342f8a572e189ac0e4b0031571b20ba18
19:53 timbunce left #perl6
19:54 dha moritz_ - yeah, the lack of an explanation of all() was something that bothered us, especially given what the code in that section returns. "all(Bool::True)" is not what we were expecting...
19:55 pmichaud +put an explicit C<!> after the alternation to enable backing into,
19:55 pmichaud +say, the C<< <foo> >> rule above.
19:56 pmichaud in the case of :ratchet, would you also need some sort of <!> after C<< <foo> >> itself?
19:56 pmichaud *wouldn't
19:57 pmichaud (otherwise one doesn't backtrack into <foo> either)
19:57 [Coke] left #perl6
19:57 ruoso left #perl6
19:57 patrickas left #perl6
19:57 szbalint pmichaud: try to tunnel things through ssh on port 443?
19:58 szbalint or over dns?
19:58 pmichaud szbalint: I've been doing that, yes.
19:58 pmichaud szbalint: but it's still a pain to tunnel svn that way.
19:58 szbalint yeah.
19:58 pmichaud if pugs were on github, I could just browse the changes there :-)
19:58 Italian_Plumber left #perl6
19:58 pmichaud (not pushing for it, just remarking that it's happened again :)
19:59 pmichaud I ended up ssh'ing to my home machine and updating/reviewing things from there :-)
19:59 pmichaud that's also how I manage to irssi :)
20:00 timbunce joined #perl6
20:01 moritz_ re-pushed enum_memory branch (needs forced update, sorry for that)
20:01 moritz_ this time with nwellnhof++'s second patch
20:01 moritz_ passed all spectests
20:02 pmichaud +1 to merge, then, if masak++ concurs
20:05 pmichaud afk for a bit
20:06 Mowah left #perl6
20:06 tadzik joined #perl6
20:07 tadzik 'evening #perl6
20:09 [Coke] joined #perl6
20:09 ash___ joined #perl6
20:11 ash_ left #perl6
20:11 ash___ is now known as ash_
20:11 [Coke] left #perl6
20:11 Italian_Plumber joined #perl6
20:11 Italian_Plumber left #perl6
20:15 M_o_C left #perl6
20:15 [Coke] joined #perl6
20:23 sorear TimToady: Let me get this straight: 1 xact node is created per backtrack point; the nodes are chained in temporal order; the nodes have a committed flag; backtracking skips backtrack points with a committed xact; COMMIT-like operators commit all xacts that are parents of the current. ?
20:23 TimToady sounds about right
20:25 jferrero left #perl6
20:26 Mowah joined #perl6
20:30 tylercurtis left #perl6
20:31 Guest55804 left #perl6
20:32 [Coke] (nwellenhoff's patch) does it also pass the modified rakudo masak created?
20:32 moritz_ [Coke]: yes
20:35 [Coke]
20:36 Mowah left #perl6
20:40 buubot left #perl6
20:40 buubot joined #perl6
20:40 jfried left #perl6
20:40 jferrero joined #perl6
20:43 Guest55804 joined #perl6
20:48 rokoteko joined #perl6
20:52 Guest23195 left #perl6
20:53 trek1s left #perl6
20:54 trek1s joined #perl6
20:55 jfried joined #perl6
20:57 ash_ left #perl6
20:59 ash_ joined #perl6
20:59 Italian_Plumber joined #perl6
21:01 ash_ left #perl6
21:01 Holy_Cow left #perl6
21:02 Holy_Cow joined #perl6
21:03 Ross left #perl6
21:03 Italian_Plumber left #perl6
21:10 Italian_Plumber joined #perl6
21:10 buu left #perl6
21:11 buu joined #perl6
21:13 buubot left #perl6
21:14 timbunce left #perl6
21:14 masak joined #perl6
21:14 masak ahoy!
21:14 phenny masak: 17:43Z <ingy> tell masak I'll be available to hack in T-3 hours.
21:14 phenny masak: 17:45Z <moritz_> tell masak that public branch enum_memory doesn't segfault anymore on the example provided in TT #1746
21:14 phenny masak: 18:17Z <moritz_> tell masak your enum patch causes test failures in t/spec/S02-names/our.t -- not sure if they conform to current spec
21:14 masak ingy: I'm available now.
21:15 masak moritz_: yay
21:15 masak moritz_: need to investigate that.
21:15 masak also, need to write more enums tests.
21:15 masak I think I'm one of the more likely people to do that at present.
21:16 buu left #perl6
21:16 buu joined #perl6
21:16 masak moritz_: if pls fails tests, it does so more recently than last time I hacked on it. will check.
21:16 buubot joined #perl6
21:17 * masak digs http://wall.org/~larry/camelia-angry.pdf
21:20 amkrankruleuen left #perl6
21:22 Sanitoeter left #perl6
21:22 rgrau_ joined #perl6
21:23 sorear hello masak
21:23 masak hi sorear
21:24 trek1s left #perl6
21:26 lichtkind are elf and sprixel still active?
21:26 sorear elf: no
21:26 p6eval elf 32120: OUTPUT«Undefined subroutine &GLOBAL::no called at (eval 122) line 3.␤ at ./elf_h line 5881␤»
21:26 sorear sprixel: this name has been applied to at least three projects, you'll need to be more specific
21:26 p6eval sprixel 32120: OUTPUT«Can't open perl script "sprixel.pl": No such file or directory␤»
21:28 ash_ joined #perl6
21:36 masak moritz_: with the Rakudo I have installed now -- a few days old -- all pls tests pass. rebuilding Rakudo.
21:36 ash_ left #perl6
21:37 tadzik it would be funny to have something that'd test the modules from the ecosystem for each rakudo version, to determine things that break between releases
21:37 masak tadzik: for Emmentaler, I'm thinking test against alpha, latest release, and HEAD.
21:38 ash_ joined #perl6
21:38 tadzik masak: makes sense to me
21:38 colomon why test against alpha?
21:38 tadzik well, good question
21:38 shabble left #perl6
21:38 masak colomon: because I still haven't translated all my code yet. :/
21:39 masak testing against alpha would make me feel better.
21:41 spq1 left #perl6
21:42 REPLeffect joined #perl6
21:42 hercynium joined #perl6
21:46 drbean joined #perl6
21:47 Guest55804 left #perl6
21:49 mberends left #perl6
21:53 masak [backlog] fwiw, I concur about the merge. from what I understand, all it does is prevent a segfault. (but don't merge; rebase) :)
21:56 tadzik left #perl6
21:57 masak moritz_: now with bleeding Parrot/Rakudo -- all pls tests pass. please check your setup.
22:03 lichtkind masak: say "richtig" if prompt "rate mal " ~~ <a b c d>;
22:03 lichtkind i think there is really a bug
22:03 lichtkind i sended some fake ones
22:03 lichtkind but i think this one is real
22:04 masak lichtkind: I think you perhaps need to re-read S03.
22:04 masak but do explain.
22:04 masak I'm listening.
22:05 lichtkind masak: i expected that in this if case right side es evaled first and also the prompt executed as expected and then in case the print
22:05 lichtkind or i didn't understan here something?
22:05 masak 'prompt' parses as a listop
22:05 sahadev joined #perl6
22:05 lichtkind you mean lazy
22:05 masak no.
22:06 masak thus, what you send in to prompt will be one argument, but not "rate mal "
22:06 masak the argument will be the Bool from the smartmatch of a Str and a List.
22:06 masak do you agree on this?
22:06 lichtkind mom still parsing
22:07 lichtkind sorta
22:07 lichtkind \me getting it slowly
22:07 lichtkind so i need round braces
22:07 masak formulated as a question, why do you think that 'prompt "rate mal " ~~ <a b c d>' will parse as '(prompt "rate mal ") ~~ <a b c d>'?
22:08 masak there's nothing to indicate that it would.
22:08 azert0x left #perl6
22:08 szbalint masak: that reminds me of a quote. Let me find it.
22:08 masak is it by MJD? :)
22:09 FurnaceBoy hehe
22:09 lichtkind masak: so its more  'prompt ("rate mal " ~~ <a b c d>)' ?
22:09 sorear masak: what do you mean by "translated my code"?
22:09 masak lichtkind: that's how your code parses, yes.
22:09 masak lichtkind: and that smartmatch will always fail, with any Str/List combination.
22:10 szbalint masak: http://nopaste.snit.ch/23198
22:10 masak sorear: in what context?
22:10 lichtkind masak: i know any is missing
22:10 masak lichtkind: good.
22:11 masak szbalint: I've heard that quote before. W is Wittgenstein, isn't it?
22:11 lichtkind masak: i think my braiin was wired to rebol for too long because  rebol would act that way like i expected except operator precedence is totally fucked up in rebol
22:11 masak I love it :)
22:11 szbalint yes. It's the nopaste title :)
22:11 masak lichtkind: ok.
22:11 masak szbalint: ah, yes.
22:11 crythias joined #perl6
22:13 stepnem joined #perl6
22:14 masak szbalint: makes me think that W. saw things clearly, and the rest of us are doomed to scale giants' shoulders to see anything.
22:15 sorear masak: 16:38 < masak> colomon: because I still haven't translated all my code yet. :/
22:16 masak sorear: oh. ah. from working on Rakudo alpha to working on Rakudo master.
22:16 masak sorear: those two Rakudos are, for the purposes of having application code running, two different codebases.
22:17 masak and require translation, sometimes extensive translation.
22:17 szbalint masak: that's a comforting thought :)
22:18 masak in a way, I guess it is.
22:18 dha left #perl6
22:20 szbalint that's a comforting thought for me because it's suprising that there are/were people who can/could do something better than slow and incremental improvement.
22:20 masak true.
22:20 szbalint and even if it's an illusion, I should cherish it as an ideal to strive for :)
22:21 dalek niecza: a13f32b | sorear++ | lib/Cursor.cs:
22:21 dalek niecza: Start playing the xact game
22:21 dalek niecza: review: http://github.com/sorear/niecza/commit/a​13f32b4261abacdb15a002bd45683b54ca1e61c
22:21 masak me too.
22:21 dalek niecza: d075a0b | sorear++ | / (3 files):
22:21 dalek niecza: Formalize the regex unit test
22:21 dalek niecza: review: http://github.com/sorear/niecza/commit/d​075a0bbb885060997526178d68eb7cf403f0a1a
22:21 dalek niecza: 2c93915 | sorear++ | t/RxUnitTest.cs:
22:21 dalek niecza: Refactor RxUnitTest to be more data-driven
22:21 dalek niecza: review: http://github.com/sorear/niecza/commit/2​c93915866e12090b21341986a8329d52d631f49
22:23 rgrau_ left #perl6
22:24 sorear masak: that thought is not very comforting to someone who hopes to run apps code on a *truly* different codebase...
22:24 masak sorear: let's just say it'll be interesting the day we have two Perl 6 implementations running alongside, competing on features.
22:25 drbean left #perl6
22:31 mutewit left #perl6
22:32 Holy_Cow left #perl6
22:32 HarryS left #perl6
22:35 supernovus joined #perl6
22:37 espadrine joined #perl6
22:38 supernovus I sure wish I knew how much grammars had changed since 'alpha'. I just can't get my old stuff to work anymore.
22:39 masak maybe I can help.
22:39 masak for all the things I haven't ported over, I've successfully translated quite a bit of code.
22:39 masak but yes, the grammar stuff is definitely the hardest.
22:39 supernovus masak: this one is a nightmare and a half.
22:40 masak Druid is, too. I still haven't managed to get that one right in Rakudo master.
22:40 masak maybe I should just rewrite it from scratch...
22:41 supernovus I was working on porting my ww6 content management system, and gave up on it in its current form, but then thought maybe I could salvage some libraries from it. Well, the salvage operation hasn't been very successful. I've considered rewriting this thing from scratch.
22:42 masak let's start a Friends of Former Working Code circle... :)
22:43 masak *Formerly
22:44 sorear TimToady: Would it be acceptable for [ [a | b] :: | c ] to bind :: to the *outer* [|] ?
22:44 supernovus Sounds like an idea.
22:44 sorear I think it would be preferable
22:44 sorear since it would mean that :, ::, and ::: all have more or less the same scope behavior
22:45 masak sorear: I find it difficult to get an intuition about these things. could you provide two input strings which match/fail depending on whether :: binds to the outer [|] or not?
22:46 masak er, or one input string. :)
22:51 sorear not now, *out*
22:51 sahadev1 joined #perl6
22:53 supernovus masak: Well, if I don't just throw it away and start over, you can see the code that used to work on 'alpha', http://github.com/supernovus/perlite6  the broken library is Perlite::Template::If and it's Parser and Grammer. It's really broken, and looking at it, quite a mess. It may be better if I just rewrite the damn thing from scratch.
22:53 sahadev left #perl6
22:53 meinwald left #perl6
23:01 lichtkind masak: thanks
23:01 masak lichtkind: anytime.
23:03 lichtkind masak: hopy you dont regret that :)
23:03 TimToady sorear: I wouldn't expect it to work any other way.
23:03 sahadev joined #perl6
23:03 masak lichtkind: I'm trusting you not to abuse the privilege :)
23:04 sahadev1 left #perl6
23:05 sahadev1 joined #perl6
23:05 hercynium left #perl6
23:08 sahadev left #perl6
23:09 lichtkind maybe you even benefiting from it directly
23:09 * lichtkind preparing perl6 talk vor large german nonperl conference
23:13 diakopter lichtkind: sprixel's still active; it's another p6-on-CLR effort now. building on my perlesque platform from this spring.
23:13 [particle] left #perl6
23:14 diakopter lichtkind: no news/progress to report other than the latest perlesque updates.
23:14 lichtkind diakopter: good :)
23:21 Transformer joined #perl6
23:22 lichtkind diakopter++
23:23 Transformer left #perl6
23:25 bluescreen joined #perl6
23:26 bluescreen is now known as Guest75712
23:28 supernovus left #perl6
23:31 thundergnat joined #perl6
23:32 tylercurtis joined #perl6
23:33 thundergnat howdy #perl6
23:35 masak greetings, o thunderous gnat
23:36 thundergnat o/
23:36 cdarroch left #perl6
23:37 Transformer joined #perl6
23:37 whiteknight joined #perl6
23:37 thundergnat I was trying to generate listst of sriginfied numbers and got some result that IMO violated the principle of least suprise...
23:37 thundergnat Not necessarilly a bug mind you.
23:38 Transformer left #perl6
23:38 thundergnat radudo: my @x = (~1...99); @x.elems.say; #what I expected
23:39 masak ~1..99 looks like a thinko
23:39 thundergnat Nah, I wanted stringified numbers
23:40 thundergnat ~<<(1..99) is correct I figured out
23:40 masak aye.
23:40 colomon rakudo: say (1..99)>>.Str
23:40 p6eval rakudo 6ccdcd: OUTPUT«1234567891011121314151617181920212223242526​27282930313233343536373839404142434445464748495051​52535455565758596061626364656667686970717273747576​7778798081828384858687888990919293949596979899␤»
23:40 thundergnat Hmmm... I expected that to print 99....
23:41 colomon for what it's worth, I'm pretty sure rakudo doesn't handle "1".."99" correctly yet.
23:41 colomon but then, I don't think it's spec'd to do what you want, either.
23:41 thundergnat Anyway,  my @x = (~1...99); @x.elems.say; returns 99 locally.
23:42 thundergnat but  my @x = (~1...50); @x.elems.say; returns  5   O_o
23:43 masak it does string comparisons.
23:46 thundergnat masak: yeah, thats what I figured, I just seemed odd that (~1...90) returns 90 elements but (~1..89) returns 8
23:46 thundergnat I guess all bets are off when I'm abusing syntax
23:48 cbk is there a convenient way in Perl6 to populate an array from a user inputted, space separated string?
23:49 masak rakudo: my $input = 'foo bar baz'; my @a = $input.comb(/\w+/); say @a.perl
23:49 p6eval rakudo 6ccdcd: OUTPUT«["foo", "bar", "baz"]␤»
23:49 tylercurtis masak: space separated doesn't necessarily mean only containing word characters.
23:49 TimToady .words
23:49 FurnaceBoy :)
23:49 masak rakudo: my $input = 'foo bar baz'; my @a = $input.words; say @a.perl
23:50 p6eval rakudo 6ccdcd: OUTPUT«["foo", "bar", "baz"]␤»
23:50 colomon rakudo: say (~1..99).perl
23:50 p6eval rakudo 6ccdcd: OUTPUT«1..99␤»
23:50 tylercurtis rakudo: my $input = 'foo bar1-fdsl/re baz'; my @a = $input.split(/\s/); say @a.perl;
23:50 p6eval rakudo 6ccdcd: OUTPUT«["foo", "bar1-fdsl/re", "baz"]␤»
23:50 tylercurtis rakudo: my $input = 'foo bar1-fdsl/re baz'; my @a = $input.comb(/\w+/); say @a.perl;
23:50 p6eval rakudo 6ccdcd: OUTPUT«["foo", "bar1", "fdsl", "re", "baz"]␤»
23:51 TimToady rakudo: my $input = 'What the !@#$# do you mean!?!'; say $input.words.perl
23:51 p6eval rakudo 6ccdcd: OUTPUT«("What", "the", "!\@#\$#", "do", "you", "mean!?!")␤»
23:51 cbk ok that looks cool.  now I would like to know.. . is there a listing of all the spacial functions that perl6 has.  like .words or .elems etc..  I would love to see a list somewhere.
23:52 cbk but thanks.
23:52 cbk can't believe how easy that was.
23:52 TimToady S32 has most of 'em
23:52 thundergnat rakudo: say (~1...90).perl
23:52 p6eval rakudo 6ccdcd: OUTPUT«("1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33", "34", "35", "36", "37", "38", "39", "40", "41", "42", "43", "44", "45", "46", "47",
23:52 p6eval .."48", "4…
23:53 thundergnat rakudo: say (~1..89).perl
23:53 p6eval rakudo 6ccdcd: OUTPUT«1..89␤»
23:53 meinwald5 joined #perl6
23:53 colomon rakudo: say ("1"..99).per
23:53 thundergnat oops
23:53 p6eval rakudo 6ccdcd: OUTPUT«Method 'per' not found for invocant of class 'Range'␤  in main program body at line 22:/tmp/1mSnJ0BHRM␤»
23:53 colomon rakudo: say ("1"..99).perl
23:53 tylercurtis rakudo: Str.^methods(:local).sort.join(', ').perl.say # a lot of these are probably in Cool.
23:53 p6eval rakudo 6ccdcd: OUTPUT«1..99␤»
23:53 p6eval rakudo 6ccdcd: OUTPUT«"ACCEPTS, Bool, Str, WHICH, encode, perl, pred, succ"␤»
23:53 cbk TimToady, thank you.
23:53 thundergnat rakudo: say (~1...89).perl
23:53 tylercurtis rakudo: Cool.^methods(:local).sort.join(', ').perl.say # a lot of these are probably in Cool.
23:53 colomon ooooh, bug in Range.perl
23:53 p6eval rakudo 6ccdcd: OUTPUT«("1", "2", "3", "4", "5", "6", "7", "8")␤»
23:53 p6eval rakudo 6ccdcd: OUTPUT«"IO, Int, Num, Numeric, Rat, Real, abs, acos, acosec, acosech, acosh, acotan, acotanh, asec, asech, asin, asinh, atan, atan2, atanh, bytes, capitalize, ceiling, chars, chomp, chop, chr, cis, comb, cos, cosec, cosech, cosh, cotan, cotanh, eval, exp, flip, floor, fmt,
23:53 p6eval ..from-radians, i…
23:54 colomon errr.... hmmm.
23:54 colomon rakudo: say "1".perl
23:54 p6eval rakudo 6ccdcd: OUTPUT«"1"␤»
23:55 colomon rakudo: say ("1".."99").perl
23:55 p6eval rakudo 6ccdcd: OUTPUT«"1".."99"␤»
23:55 colomon rakudo: say ("1"..99).perl
23:55 p6eval rakudo 6ccdcd: OUTPUT«1..99␤»
23:55 thundergnat you need ...
23:56 thundergnat rakudo: say ("1"...89).perl
23:56 p6eval rakudo 6ccdcd: OUTPUT«("1", "2", "3", "4", "5", "6", "7", "8")␤»
23:57 colomon Hmmmm... no, I need to know why Range was changed so that "1"..99 became 1..99
23:57 thundergnat Oh. NM
23:57 colomon well, I don't need to know, exactly, but I am curious.
23:59 HarryS joined #perl6

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

Perl 6 | Reference Documentation | Rakudo