»ö« | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, alpha:, pugs:, std:, or /msg p6eval perl6: ... | irclog: irc.pugscode.org/ | UTF-8 is our friend!
Set by moritz_ on 25 June 2010.
00:02 Psyche^ joined 00:06 espadrine left, Patterner left, Psyche^ is now known as Patterner
pugssvn r32116 | sorear++ | [STD-dist] Fix a missing case in the monkey patcher 00:07
00:08 rgrau_ left
masak we have a monkey patcher? 00:11
I knew there had to be something doing the actual patching, but... :)
sorear masak: there's code in the STD release preparer which renames internal modules 00:12
masak ah.
sorear it was missing a case for turning ref($obj) =~ /^Lazy/ into ref($obj) =~ /^STD::Lazy/
STD 32116 pushed to CPAN; niecza modified to use STD from CPAN 00:13
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.
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
pmichaud that's a weird bug. 00:18
(the Nil one)
~5['c']
rakudo: ~5['c']
masak at least now it's a weird ticket in RT, as well :)
p6eval rakudo d9aa57: ( no output )
pmichaud I really need to rework hash altogether.
dalek ecza: 374a6f6 | sorear++ | lib/Cursor.cs:
Some early drafting of the new regex engine
ecza: c11ed71 | sorear++ | t/ (4 files):
Add a few things being used in testing
ecza: dfcdd89 | sorear++ | / (5 files):
Use STD from CPAN instead of calling svn
pmichaud it's just... wrong.
masak this is not Hash so much as hash lookup. 00:19
00:19 \xF0 left
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␤»
pmichaud hmmm
huh? "postcircumfix:<Nil()>"? 00:20
00:20 \xF0 joined
pmichaud rakudo: 5.at_key('c') # curious 00:20
p6eval rakudo d9aa57: ( no output )
pmichaud rakudo: 5.at_key('c').Str # curious
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
p6eval rakudo d9aa57: OUTPUT«Failure()␤»
pmichaud a-ha!
it's returning a Failure... that's good.
it's just the error that is lta
looking
heh 00:22
fail "postcircumfix:<{ }> not defined for type {self.WHAT}"
if self.defined;
fail FAIL
the curlies are being interpolated.
(the first ones)
colomon doh!
masak :D 00:23
that explains everything.
masak amends the ticket
pmichaud if someone wants to fix it to escape the curlies, that would be awesome. :-)
(I'm not able to do it atm) 00:24
masak++ excellent bug reporting
masak blushes :) 00:25
colomon is it just \{ \} ?
pmichaud colomon: that should be good enough, yes.
colomon I'll get it, then.
pmichaud postcircumfix:<\{ \}>
colomon++
colomon ooo, looks like someone bumped PARROT_REVISION while I was folk festivaling. 00:26
TimToady sigh, rosettacode.org/wiki/Find_Common_Di...ath#Perl_6 is an incorrect algorithm 00:29
though happens to work for this data
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.
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.
(I'm also quite distracted this evening so I won't take any strong positions :) 00:36
colomon > 5.at_key('c').Str 00:38
postcircumfix:<{ }> not defined for type Int()
pmichaud \o/
colomon++
colomon spectesting 00:39
(and assembling Thomas the Tank Engine track table ;) )
pmichaud ooooooh 00:40
TtTE++
we have tons of track at the house :)
colomon (It's actually a Doug & Melissa table for it, but that's the easiest explanation of what it is.)
00:40 espadrine joined
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
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. jaspervdj.be/hakyll/tutorials/part02.html 00:54
now I'm really looking forward to porting it. :) 00:55
01:05 Chillance left
colomon huh. is it only capable of building static web sites, or can it generate anything? 01:06
masak only static sites. 01:07
but that's just what I want to build right now for a blogging solution for myself.
colomon so it can't, for instance, build perl 6 modules.
01:07 jhuni left
TimToady new solution for rosettacode.org/wiki/Find_Common_Di...ath#Perl_6 01:08
masak no, but the ideas behind the dependency-tracking build system would probably carry over.
TimToady is looking forward to the day that he can replace @comps[*]»[0] with @comps[*; 0] 01:10
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.
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.
phenny sorear: I'll pass that on when pmurias is around.
TimToady better indicates the two-dimensionality, and doesn't require »» for 3 dimensions :)
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.
TimToady and to parallel the use of [0][0] elsewhere
01:14 nimiezko left
masak waitwait. »» is legal? 01:14
TimToady beats me 01:15
masak std: my @comps; @comps[*]»[0]
p6eval std 32116: OUTPUT«ok 00:01 116m␤»
masak std: my @comps; @comps[*]»»[0]
p6eval std 32116: OUTPUT«ok 00:01 116m␤»
masak whoa.
TimToady \o/
hooray for recursion
masak I thought » was already deep, though.
TimToady not on unaries 01:16
er, wait
colomon should be, shouldn't it?
TimToady it might be defined that way currently
colomon (I mean, might not be in Rakudo, it seems to me unaries are a weird special case there.)
TimToady if so, that's a good reason to use [*]
it depends on what you consider part of the shape
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.
if it's deep for binaries, it should be deep every which where.
TimToady it really depends on the shape declaration
masak ok.
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
masak shutting off for the night. 'night, #perl6! 01:21
01:22 masak left
dalek kudo: 2ee5725 | colomon++ | src/core/Any-list.pm:
Escape { } in postcircumfix:<{ }> not defined message.
01:24
sorear » is NOT deep 01:29
01:29 azert0x left
TimToady S03:4030 01:31
colomon what do you mean by deep?
"Hyper operators are defined recursively on nested arrays, so" and the example is « 01:32
01:43 drbean joined 01:54 crythias joined 02:00 exodist joined 02:14 jhuni joined 02:15 jferrero left 02:18 amkrankruleuen left 02:52 tylercurtis joined 02:53 justatheory joined 03:08 lichtkind left 03:11 Italian_Plumber left
sorear oh, that's what I get for experimenting with rakudo rather than reading the spec 03:24
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
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:50
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:56
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:57
03:59 Quadrescence joined 04:00 FurnaceBoy joined
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
that might be an issue, since they wouldn't be resumable 04:02
tylercurtis Resumable exceptions probably belong in the "not possible to straightforwardly implement using invoke/unwind" bin. 04:04
ash_ does rakudo handle resumable exceptions? 04:07
04:08 leprevost left
tylercurtis rakudo: die 1; say 2; CATCH { .say; .resume; } # looks like it. 04:09
p6eval rakudo 2ee572: OUTPUT«1␤2␤»
ash_ ah, neat
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
tylercurtis: CATCH is run before unwinding, like $SIG{DIE}
tylercurtis: look up the Visual C++ exception model sometime, it's virtually identical to Perl 6's 04:11
unfortunately the C#/CLR model is "simplified" and cannot be used to directly implement niecza's exceptions :(
04:13 Trashlord left
sorear I think LLVM IR would me a much better fit for Niecza's code generator than C#/CIL 04:13
but I'm not thrilled with the prospect of reimplementing half of mscorlib 04:14
especially without help
diakopter :/ 04:15
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
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, constant joined, constant left, constant joined
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
diakopter :)
sorear things that I need from mscorlib that come to mind
diakopter: mr.ironruby says he needs coroutines too, so I think there's hope yet
for the trampolines 04:19
diakopter hah. I should forward you the thread he and I participated in early this year
sorear but there are other issues
diakopter in which I proposed just that (before I implemented them in perlesque)
ash_ ruby's are implemented in C using mostly setjmp and longjmp
sorear llvm gives me a lot more flexibility with data representations
ash_ s/ruby's/ruby's coroutines/ 04:20
diakopter the problem with both clr & llvm is the JIT time; it's kinda long. :/
as evidenced by mono using llvm as the codegenerator; it's *very* slow, apparently 04:21
04:21 espadrine left, espadrine joined
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?
sorear dyes
mm, maybe not 04:23
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:24
sorear diakopter: right now, I generate C# and feed it to gmcs 04:25
"use LLVM" = generate llvm assembly and feed it to llc
gmcs generates a .exe file
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'
sorear llc generates native executables
no need for any part of "LLVM" at runtime 04:26
ash_ the llvm's executables have not llvm runtime
sorear LLVM isn't actually a VM, it's just a compiler that's designed to be used as a backend
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
sorear llvm assembly ~~ CIL
llc ~~ mono --aot
diakopter right, that's what I said.
04:28 crythias left
diakopter "the JITExecutionEngine would just convert to native then execute" - this is of course exactly what mono does with a .exe 04:28
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
IIUC, llvm isn't
diakopter if the program you emit needs to ever call an "eval", it'll need hooks back into the original compiler (and hence llvm)
ash_ in llvm 2.8+ they have a new JIT system 04:30
tylercurtis diakopter: not necessarily.
diakopter why not?
(I can't think of how it wouldn't need those hooks) 04:31
ash_: how does the 2.8+ system differ?
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.
sorear or I can just not handle eval for now 04:32
diakopter yeah, I just ... writing a whole separate interpreter?
tylercurtis I didn't say they were good ideas. 04:33
sorear points at GHC
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
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.
diakopter I'm all for writing an interpreter. :P 04:35
ash_ jruby uses an interpreter for all runtime evals 04:36
diakopter (an interpreter, of sorts, I mean)
(insofar as a trampolined/"stackless" calling-convention can be an arbitrary interpreter) 04:37
FurnaceBoy ash_: + most Schemes
FurnaceBoy muses aloud that an interpreter might already be 'there' for bootstrapping ? 04:38
diakopter gets a bright idea 04:39
sorear: you still here? :)
sorear yes
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
everything else is secondary
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
200 lines/s?? 04:42
FurnaceBoy blinked too
diakopter guesses that sorear has a 2.0 GHz P4
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
sorear I don't think 200 is setting the bar too low
wait, no, I screwed up that math with my 100 second minutes 04:44
04:44 drbean left
diakopter nifty minutes 04:45
sorear it's actually 30 lines/s for STD.pmc and 45 for Rakudo
\xF0 crazy metric minutes
FurnaceBoy :)
diakopter hrm 04:46
diakopter mulls the C# Cursor 04:47
TimToady on my machine, STD compiles STD.pm6 at about 200lines/sec 04:49
04:50 molaf joined
diakopter the stage2 one? 04:50
er, /me is so last quarter 04:51
TimToady yes
that's just tryfile parsing, not viv 04:52
04:52 molaf left 04:56 shade\ left 04:57 shade\ joined
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. 04:59
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:00
05:03 justatheory left 05:09 kaare joined, kaare is now known as Guest4270 05:10 _CTAPOMAK_ joined 05:21 FurnaceBoy left
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: i.imgur.com/Iy521.png 05:29
TimToady right... 05:30
as an archeologist might say, "The identification is not complete."
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:32
05:34 FurnaceBoy joined
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
05:40 shade\ left
Quadrescence and if we zoom out of that picture, we see it looks like a camel's eye [ i.imgur.com/lCBWh.jpg ]. Camel, Perl... I don't know how much more evidence one needs. 05:42
FurnaceBoy we're overwhelmed 05:45
sorear a lot of the dynamic scoping is gone in Perl 5
even more will be removed in Perl 6
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.
Quadrescence Same happened to LISP.
Genetic descendants usually obtain the same ailments and benefits. 05:47
05:49 shade\ joined 05:53 FurnaceBoy left 05:55 wtw joined 06:08 shade\ left, shade\ joined 06:11 drbean joined 06:13 uniejo joined 06:14 meppl joined, patspam left 06:19 baest_ is now known as baest
sorear rakudo: my regex a { . { print "a" } || . { print "b" } }; "aa" ~~ / <&a>*? { print "\n" } x / 06:21
p6eval rakudo 2ee572: OUTPUT«␤a␤a␤b␤b␤a␤b␤␤a␤b␤␤» 06:22
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␤»
sorear correct behavior?
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 06:32 TimToady joined
sorear rakudo: my $i = 0; "aaaaaaa" ~~ /^ [.||.]**?2..5 {$i++} x /; say $i 06:34
p6eval rakudo 2ee572: OUTPUT«9␤»
sorear rakudo: my $i = 0; my regex b { [.||.]**?2..5 }; "aaaaaaa" ~~ /^ <&b> {$i++} x /; say $i
p6eval rakudo 2ee572: OUTPUT«9␤»
06:40 xinming left 06:44 sftp left 06:45 sftp joined
sorear rakudo: "ababx" ~~ /^ [ a? ab ]*: x / 06:50
p6eval rakudo 2ee572: ( no output )
sorear rakudo: say "ababx" ~~ /^ [ a? ab ]*: x /
p6eval rakudo 2ee572: OUTPUT«ababx␤»
sorear rakudo: say "ababx" ~~ /^ [ ab a? ]*: x / 06:51
p6eval rakudo 2ee572: OUTPUT«␤»
sorear I think that's wrong
rakudo: say "ababx" ~~ /^ [ ab a? ]* x /
p6eval rakudo 2ee572: OUTPUT«ababx␤»
sorear rakudo currently always treats [foo]*: as [[foo]:]*: 06:52
s/rakudo/nqp-rx/
06:57 zag joined 07:02 redicaps joined
sorear today's insane idea: implement gather/take using OS threads 07:06
y/n?
07:07 sftp left
Quadrescence n 07:07
implement symbolic differentiation in one line of perl6
07:07 sftp joined
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)
Quadrescence: that's easy... for some cases
Quadrescence of course it's easy for some cases 07:09
moritz_ rakudo: multi d(Int $) { 0 }
p6eval rakudo 2ee572: ( no output )
moritz_ see? I implemented symbolic differentatiation of integers, with full simplifcation
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.
Quadrescence cool perl6 is very good at differentiating i guess 07:11
07:23 redicaps left 07:26 kjeldahl joined 07:30 cjk101010 joined
moritz_ it's good at a whole lot of stuff 07:30
07:49 gfx joined 08:05 xinming joined 08:16 Mowah joined
tylercurtis Good night, #perl6. 08:25
08:25 tylercurtis left 08:32 risou_ joined 08:42 miso2217 joined 08:47 miso2217 left 08:50 azert0x joined, miso2217 joined, azert0x left 08:59 azert0x joined 09:01 zulon joined 09:11 Guest4270 is now known as kaare_ 09:12 drbean left 09:19 stepnem left 09:20 stepnem joined 09:23 espadrine left 09:31 gfx left
dalek ecza: ab20ae6 | sorear++ | lib/ (2 files):
First version of the new regex execution engine
09:40
09:44 daxim joined 09:49 espadrine joined
sorear What should 10:01
"abc" ~~ / [ [a <commit> b]: c ]? /
do? 10:02
moritz_ macht the whole string
*match
10:02 Trashlord joined
sorear s/c/d/ 10:02
type 10:03
o
moritz_ not match, then
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
so the empty string should be matched
moritz_ hm
I'm not sure that's the intention
you're right that strict reading leads to this conclusion 10:04
sorear (yes, overlapping backtrack control operators keep me up at night :/)
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
need to ask TimToady
10:05 smash joined
smash hello everyone 10:05
10:16 jferrero joined 10:19 M_o_C joined 10:20 mberends joined 10:25 stepnem left 10:26 M_o_C left 10:28 stepnem joined 10:36 timbunce joined 10:44 amkrankruleuen joined
amkrankruleuen Hello. 10:44
11:02 M_o_C joined 11:13 M_o_C left 11:15 M_o_C joined 11:17 M_o_C left 11:21 espadrine left
moritz_ hi 11:22
colomon o/ 11:23
11:24 stepnem left
dalek kudo: 6ccdcda | colomon++ | src/core/ (2 files):
Add Cool.Real, Cool.Int, Cool.Rat, and Cool.Num. Eliminate Str.Num and Str.Int.
11:27
11:33 AndreasX joined 11:35 jhuni left 11:41 AndreasX left
takadonet morning all 11:49
11:50 espadrine joined 11:52 lichtkind joined
lichtkind can it be that rakudo doesnt know prompt? 11:52
11:54 envi^home joined
moritz_ rakudo: say prompt("look") 11:59
p6eval rakudo 2ee572: OUTPUT«lookLand der Berge, Land am Strome,␤»
moritz_ lichtkind: highly unlikely
12:03 zulon left
lichtkind C:\Parrot-2.6.0\bin>perl6.exe first.pl 12:05
Could not find sub &promt
in main program body at line 9:first.pl
moritz_ lichtkind: that's because you misspelled it 12:06
lichtkind: exercise: write a sub dispatcher that choses the next match by levenstein distance
lichtkind shit 12:07
yes sir :)
moritz_: its beginning to be strange because i compared with docs didnt seen it 12:08
moritz_ lichtkind: but you're right, rakudo doens't support the promt() sub :-) 12:09
12:26 IllvilJa left 12:27 lichtkind left 12:33 slavik joined 12:34 kaare_ left 12:35 espadrine left 12:37 espadrine joined 12:38 M_o_C joined, Italian_Plumber joined 12:43 lichtkind joined 12:55 masak joined
masak oh hai, #perl6! 12:55
lichtkind hai masak
colomon \o 12:56
mberends o/
moritz_ -o_ 12:57
lichtkind moritz_: but this should be a bug: my @b = reverse 1..7;
say @a[9] if 2 ~~ @b;
smash masak: hi
lichtkind it gives nothing
moritz_ lichtkind: and it shouldn't
lichtkind why?
moritz_ lichtkind: you probably meant 2 ~~ any @b 12:58
lichtkind right
12:59 zulon joined
lichtkind moritz_: right it works only in p5 but why it works in p6 on in place list but not on list var? 13:00
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
lichtkind moritz_: the way i tried it wirst works in perl 5 13:01
moritz_ tht's correct 13:02
perl 5 doesn't have any junctions
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
moritz_ so the language "designer" neads to guess if the user means any(), all() none() or one() 13:03
lichtkind: does it?
that's surprising
rakudo: say ?(2 ~~ (1, 2, 3))
p6eval rakudo 6ccdcd: OUTPUT«0␤»
moritz_ doesn't seem to "work" the way you want it
lichtkind moritz_: but if i do say @a[9] if 'A' ~~ 'A'..'Z'; 13:04
i get the expected output
moritz_ lichtkind: yes, but a Range is not the same as a List
lichtkind ah
moritz_ lichtkind: and if you want to store a Range in a variable without flattening, use a scalar
lichtkind thanks 13:05
moritz_ rakudo: my $a = ('A' .. 'Z'); say ?('Z' ~~ $a)
p6eval rakudo 6ccdcd: OUTPUT«1␤»
13:09 orafu left, orafu joined 13:17 espadrine left 13:26 espadrine joined
moritz_ likes the current rakudo revision SHA1 13:29
13:31 yrgd left 13:34 Holy_Cow joined 13:48 perlygatekeeper left 13:49 zag left 13:55 Trashlord left
bbkr what is the "most wanted" P6 module now in your opinion (something that has not already been ported from p5)? 13:57
masak depends on who you ask. 13:58
13:58 FurnaceBoy joined
masak I'd certainly like to see more cool web modules. 13:58
frettled DWIM.pm6
moritz_ would love to see a working, non-prototypial module installer
masak something that you can do four or five lines, and go "ta-daa!" with
moritz_: we made the first strides in some time last week. it feels hopeful.
[particle] DBI 13:59
bbkr I'm thinking of porting MIME::Lite. I use it every day, but the RFCs are scarry :)
masak [particle]: there's a bit of that in place already, IIUC.
[particle] yeah, a bit... 14:00
masak see in particular www.slideshare.net/Tim.Bunce/perl6-...ceu-201008
[particle] a good place to look might be alias's top 100 page
masak (timbunce++)
ooh, good idea.
Alias \o
[particle] ali.as/top100/
masak Alias++ # :)
[particle] timbunce++ Alias++ indeed 14:01
masak Alias: that page does not degrade gracefully. 14:02
specifically, I have js turned off, and the contents were puzzling :)
14:03 bluescreen joined
Alias That would almost certainly be a bad idea 14:03
timbunce [particle]: there's a screencast of that talk at 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
masak thinks having js turned off in the browser is a good idea 14:03
the top module of Volatile 100 seems to be 'perl'. someone should port that to Perl 6. :P
frettled yup
Alias Then masak must be used to half the internet not working
frettled Not just masak. 14:04
masak Alias: actually, most pages look fine without js.
frettled If you use Firefox, NoScript helps keep the world sane.
[particle] timbunce: i watched it last week, and enjoyed it thoroughly. thanks!
frettled Additionally, you avoid malware installation javascripts like e.g. function CeHxprJ
masak timbunce: what [particle] said.
Alias masak: I left it there for reference purposes :)
It actually really means "Explicit dependencies on non-dual life core modules" 14:05
masak nod
[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
Alias frettled: Some of the lists are diametrically opposed
moritz_ why has Text-Tabs+Wrap so freaking many downstream dependants?
Alias Because Test::Harness or Pod::Simple or something uses it
[particle] has been creating binary packages of the volatile 100 for openefs.org/
[Coke] ... because he didn't want to reinvent the wheel?
Alias It's basically one massive downstream
[Coke] oh, downstream. misunderstood. 14:07
frettled Alias: Yep, fortunately.
[particle] hates the + in Text-Tabs+Wrap
moritz_ Alias: is one of the popular Test:: modules using it?
14:07 drbean left
Alias moritz: Pod::Simple 14:08
Text::Wrap: 98.112902
moritz_ ah
14:11 _CTAPOMAK_ left, wtw left
[Coke] w 14:11
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
TimToady 1..5 X { $_ .. 5 }
moritz_ TimToady: like .map does?
(1..5).map: { $_ .. 5 } 14:13
TimToady that doesn't X
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
14:14 Trashlord joined
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 "␤»
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 }}}
p6eval rakudo 6ccdcd: OUTPUT«3 4 5␤5 12 13␤6 8 10␤8 15 17␤9 12 15␤12 16 20␤»
TimToady because we can't express dependencies across X
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.
TimToady except *..$n already means -Inf..$n
masak hm.
that's a corner case, seemsme. 14:18
TimToady aye
masak I wouldn't mind writing -Inf when I mean -Inf.
TimToady me either
moritz_ the problem is breaking the symmetry between *..1 and 1..* 14:19
Alias Has anyone started porting my OS integration stuff yet?
File::HomeDir, File::ShareDir, etc
TimToady and if 0..* really means -> $max = Inf { 0..$max }, it could work on the other end too
moritz_ Alias: not that I know of
Alias If not, that might be a good 5-to-6 project
Certainly HomeDir
ShareDir is a bit iffy, and not really worth a direct port, since it's a bit of a hack
[particle] moritz_: isn't *..-1 more symmetrical with 1..* ? 14:20
14:21 uniejo left
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...
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
when the left side is 2, it's 2..$n, etc
14:24 [Coke] left
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
moritz_ can't you come up with something clever using X.. ?
TimToady not without coffee
moritz_ rakudo: say (1..5 X.. 5).perl 14:26
p6eval rakudo 6ccdcd: OUTPUT«(1..5, 2..5, 3..5, 4..5, 5..5)␤»
frettled I'm worried that we might be into meth territory rather than caffeine territory.
[particle]: aha.
I don't like the asterisk usage there, though.
(in the simpler example)
moritz_ everybody wants the asterisk!
[particle] in this case, curry the outer value as the lhs of the range 14:27
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
p6eval rakudo 6ccdcd: OUTPUT«1232332333␤»
TimToady not sure how it extends to 3 columns 14:31
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:32
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!!!!!!!!!!!!!!!!!
TimToady just trying to write list comprehensions comprehensibly when there are dependencies between multiple lists 14:34
without writing nested loops
masak that's a worthy goal.
TimToady rosettacode.org/wiki/List_comprehensions is the spec on that
14:35 macroron joined
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:36
FurnaceBoy :) 14:37
slavik X is the infix zip operator?
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
slavik: no, it's the infix cross operator.
TimToady this also seems related to signatures that write their own loops around them in S09:1074
masak moritz_++ # more than one way 14:38
moritz_: I'd rather maintain your version, to be honest.
TimToady moritz_: yes, already tried that one, but it's considerably slower than not generating the bogus sets in the first place
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 :)
TimToady to the first approximation, no optimizer is going to handle that 14:41
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
maybe it's worth investigating how Algorithm::Loops solves this
TimToady sure, just considering all the possibilities; note that S09:1074 is a completely different approach
14:43 cottoo is now known as cotto
masak oh, indeed. in the nested-loops case with several unlesses, it's already pretty good. 14:43
moritz_ doesn't quite believe in the S09 way 14:44
it seems too magical
but maybe that's because it's NYI, and so I haven't had a chance to play with it
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
moritz_ I know
I've suffered from them long enough :-)
TimToady I haven't, apparently... :) 14:47
moritz_ it sure would be nice to make them less suffering 14:48
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:49
some way for sigs to cooperate with lists, scopewise 14:50
masak that sounds promising.
TimToady or some other way of currying into multiple dimensions 14:51
moritz_ points to HyperWhatever
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
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
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 14:56 _macdaddy joined
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
that's a 1-arity closure
moritz_ search.cpan.org/~tyemq/Algorithm-Lo...estedLoops 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 }
and there's a 0-arity closure
moritz_ looks like fun
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.
so, for loops inside siggies? 15:02
yes, jnthn will not be happy...
to me, it feels like (1) the nicest solution I've seen so far in this discussion, and (2) not core.
TimToady probably is core in some sense, since it's the same way subscripts work multidim, I think 15:03
masak oh!
spec it, and they will come.
TimToady @array[*;2..3;1,3,5...*]
though there too, people will want dependencies between the terms 15:05
these are all the same problem underneath
masak nod. 15:06
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'.
will you be able to use 'if' in the above cases too? :)
15:08 [Coke] joined 15:09 patspam joined
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
TimToady these parameters disappear because they're autocurried 15:10
I meant it when I said it produces a 0-arity closure
masak ah, they evaporate at parse-time. 15:11
moritz_ but if they are not part of the signature, where do they live?
masak they probably turn into for loops in the AST.
moritz_ on the callee side?
masak hm.
TimToady rakudo: say { $^x }.assuming(1).^signature
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
masak submits rakudobug 15:12
TimToady rakudo: say { $^x }.assuming(1).WHAT
moritz_ the ^ is wrong
p6eval rakudo 6ccdcd: OUTPUT«Code()␤»
TimToady rakudo: say { $^x }.assuming(1).signature
moritz_ masak: I don't think it's a bug
p6eval rakudo 6ccdcd: OUTPUT«get_attr_str() not implemented in class 'Sub'␤ in main program body at line 1␤»
moritz_ rakudo: say { $^x }.assuming(1).signature.perl
p6eval rakudo 6ccdcd: OUTPUT«get_attr_str() not implemented in class 'Sub'␤ in main program body at line 1␤»
TimToady rakudo: say { $^x }.assuming(1).arity 15:13
p6eval rakudo 6ccdcd: OUTPUT«0␤»
masak moritz_: where does the ClassHOW come from? why is $^x wrong?
TimToady a closure of arity 0 should return a signature of ()
moritz_ masak: $a.^signature is the short for $a.HOW.signature($a) 15:14
masak oh, that ^
right. indeed.
masak submits a rakudobug for the get_attr_str() errpr 15:15
s/p/o/
rakudo: say { "!" }.signature
p6eval rakudo 6ccdcd: OUTPUT«Signature()<0x5a0de50>␤»
masak rakudo: say { "!" }.signature.arity 15:16
p6eval rakudo 6ccdcd: OUTPUT«0␤»
moritz_ rakudo: say { "!" }.signature.perl
p6eval rakudo 6ccdcd: OUTPUT«:(;; Mu \|$_?)␤»
masak rakudo: say (-> { "!" }).signature.perl
p6eval rakudo 6ccdcd: OUTPUT«:()␤»
ash_ rakudo: say (sub ($a, Int $b) { }).signature.perl
15:16 lucs left
p6eval rakudo 6ccdcd: OUTPUT«:(Any $a, Int $b)␤» 15:16
15:16 justatheory joined 15:18 molaf joined
TimToady if we implement the Each type, it falls out of currying. {$^x}.assuming(1..10.each) 15:18
15:18 ruoso left
ash_ is... that like a feed? 15:18
TimToady S09:1063 15:19
ash_ got ya
TimToady it's like a junction
moritz_ though probably (1..10).each
TimToady except it's used *only* for its eigenvalues :)
moritz_ precedence and all that
TimToady er, yeah
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
masak envisions a "probably-an-error" detector
TimToady oh, I've been developing my own case of that malady for years now
ash_ would that be the same as: my &x = {$^x}; (1..10).each: { &x($_); };
moritz_ masak: a list of typically-listy methods (like map, grep, join etc) in $start..$end.method would make a good lint check 15:21
TimToady well, that's the effect of autothreading, though it doesn't mean the each method has a closure argument 15:22
this ain't ruby
ash_ ah okay
just trying to find out what the non-sugar version of that is
that just makes .assuming seem like its doing a lot, and i am trying to figure out what
TimToady just like x(any(1,2,3)), only different
masak by the way, en.wikipedia.org/wiki/Perl_6#Autothreading is still all wrong. some brave soul might want to correct it. 15:23
moritz_ "its usage and implementation is not finalized" 15:24
to the extend that anything is finalized in Perl 6, autothreadin is too 15:25
masak aye.
the source is from 2005...
...and it's a p6l email :P
moritz_ :/
whateverelsecoulditbe 15:26
15:26 risou___ joined 15:28 risou_ left
moritz_ are {{{...}}} useful without quasi? 15:32
if not, the section on macros is wrong-ish too
15:34 patspam left
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:34
15:37 tylercurtis joined
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:38
sadly, neither applies to me 15:39
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.
moritz_ masak: be sure to promise a $beverage_of_choice at the next real-life meeting :-)
masak :) 15:41
moritz_ it's a common currency among hackers, it seems :-)
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:42
15:45 Guest23195 joined 15:51 _macdaddy left
[Coke] ponders creating a bevcredit. 15:55
FurnaceBoy :) 15:56
you would!
moritz_ wonders if hugme should track bevcredit :-) 15:57
masak what's a bevcredit? 16:01
moritz_ beverage credit
[particle] victual
moritz_ ie promise to buy $somebody a $beverage
16:02 cdarroch joined, cdarroch left, cdarroch joined
[Coke] we'd need a corresponding bevbuck. 16:02
masak oh, naturally.
FurnaceBoy [particle]: victual memory? 16:03
[particle] we should track victual credits, that can be spent at the victual machine
VC for VMs!
FurnaceBoy :)
16:10 ash_ left 16:11 envi^home left, qwr joined 16:13 qwr left 16:20 ruoso joined 16:24 masak left 16:25 lichtkind_ joined 16:27 risou_ joined, lichtkind left, lichtkind_ is now known as lichtkind 16:29 risou___ left 16:32 macroron left 16:33 alester joined
lichtkind moritz_: i finally find a bug :) 16:33
16:35 spq1 joined 16:37 Ross joined 16:41 risou_ left
pugssvn r32117 | lwall++ | [S05] Commits work by throwing away choice points on forward matching. 16:41
r32117 | (Backtracking failure is merely the consequence of not finding a choice point.)
r32117 | Also clarify that backtracking to or *past* such a point fails.
16:41 risou_ joined 16:42 risou_ left, risou___ joined 16:43 risou___ left, risou_ joined 16:48 risou_ left
tylercurtis 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?
p6eval rakudo 6ccdcd: ( no output )
bbkr std: /\ X/
p6eval std 32116: OUTPUT«Invalid conversion in sprintf: "%M" at STD.pm line 57284.␤===SORRY!===␤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:␤------>
..[3…
16:52 timbunce left
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";
moritz_ (binding instead of assignment)
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␤»
tylercurtis moritz_++: That works.
tylercurtis should have thought of that.
lichtkind moritz_: of course ther eis no file here but thats not the crucial part 16:55
bbkr rakudo: / x:/ # another STD compatibility bug...
p6eval rakudo 6ccdcd: ( no output )
TimToady lines is moving toward requiring .IO, or it'll assume you want the lines from a string
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
p6eval rakudo 6ccdcd: OUTPUT«3␤»
TimToady rakudo: say lines "foo\nbar\nbaz\n"
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
p6eval rakudo 6ccdcd: OUTPUT«5␤»
ingy morning o/
diakopter 5?
TimToady looks buggy
anyway, lines "filename" is deprecated
diakopter rakudo: say "\rbaz\r".lines.Num 16:58
p6eval rakudo 6ccdcd: OUTPUT«2␤»
diakopter rakudo: say "baz\r".lines.Num
p6eval rakudo 6ccdcd: OUTPUT«1␤»
diakopter rakudo: say "baz\f".lines.Num 16:59
p6eval rakudo 6ccdcd: OUTPUT«1␤»
diakopter rakudo: say "\fbaz\f".lines.Num
p6eval rakudo 6ccdcd: OUTPUT«2␤»
diakopter rakudo: say "\r\fbaz\r".lines.Num
p6eval rakudo 6ccdcd: OUTPUT«3␤»
16:59 timbunce joined
diakopter wee-uhd 16:59
TimToady rakudo: say "\r\n" ~~ /\n/ 17:00
p6eval rakudo 6ccdcd: OUTPUT«
bbkr rakudo: /$$x/ # another bug. Rakudo not warning amoun unblessed refs in regexpx
p6eval rakudo 6ccdcd: ( no output )
bbkr about*
std: /$$x/
p6eval std 32116: OUTPUT«Can't call method "Str" on unblessed reference at STD.pm line 58888.␤FAILED 00:01 116m␤»
diakopter oo
bbkr++ bbkr++ multibugs 17:01
TimToady rakudo: say ?"\r\n" ~~ /\n/
p6eval rakudo 6ccdcd: OUTPUT«␤»
TimToady rakudo: say ?("\r\n" ~~ /\n/)
p6eval rakudo 6ccdcd: OUTPUT«1␤»
TimToady rakudo: say so "\r\n" ~~ /\n/
p6eval rakudo 6ccdcd: OUTPUT«1␤»
TimToady rakudo: say so "\f" ~~ /\n/
p6eval rakudo 6ccdcd: OUTPUT«1␤»
TimToady I suppose that makes sense 17:02
diakopter rakudo: say so "\r" ~~ /\n/
p6eval rakudo 6ccdcd: OUTPUT«1␤»
diakopter rakudo: say so "\n" ~~ /^^$$/ 17:03
TimToady rakudo: say +("\r\n" ~~ /(\n)+/)
p6eval rakudo 6ccdcd: OUTPUT«1␤»
rakudo 6ccdcd: OUTPUT«0␤»
diakopter mine is the former result
for log posterity
TimToady rakudo: say ("\r\n" ~~ /\n/).chars 17:04
p6eval rakudo 6ccdcd: OUTPUT«2␤»
diakopter what's the equiv of single-line-mode
TimToady rakudo: say "foo\nbar\nbaz\r\n".lines».chars.Str 17:05
p6eval rakudo 6ccdcd: OUTPUT«3 3 3 0 0␤»
diakopter rakudo: say "foo\r\nbar\nbaz\r\n".lines».chars.Str
p6eval rakudo 6ccdcd: OUTPUT«3 0 0 3 3 0 0␤»
diakopter O__ 17:06
TimToady bugses
bbkr std: /|/ # TimToady - I know this does nothing useful, but it's not Null patern, is it?
p6eval std 32117: OUTPUT«===SORRY!===␤Null pattern not allowed at /tmp/Ab9mCcEEGs line 1:␤------> /|⏏/ # TimToady - I know this does nothing ␤Parse failed␤FAILED 00:01 114m␤»
TimToady sureit is
std: /the|null|pattern|is|not|allowed|in|any|alternative|/ 17:07
p6eval std 32117: OUTPUT«===SORRY!===␤Null pattern not allowed at /tmp/lLVKLMdktp line 1:␤------> ttern|is|not|allowed|in|any|alternative|⏏/␤Parse failed␤FAILED 00:01 115m␤»
TimToady std: /the|null|pattern|is|not|allowed|in|any|alternative|<?>/
diakopter feels a rakudo-fuzz session approach
p6eval std 32117: OUTPUT«ok 00:01 116m␤»
diakopter and std-fuzz
bbkr TimToady: thanks for explanantion :) I thought this error message is reserved only for '//' misuse 17:08
std: /|x/ # should this also fail? (Null pattern as first alternative element) 17:09
p6eval std 32117: OUTPUT«ok 00:01 116m␤»
bbkr hmm
tylercurtis That's a special exception. 17:10
So that you can do [\n| blablbla\n|blablabla\n] with the [ and | and ] all lined up.
bbkr tylercurtis: clear now, thanks 17:11
diakopter std: /(?:\ )/ # TimToady stdubg 17:13
p6eval std 32117: OUTPUT«===SORRY!===␤Quantifier quantifies nothing at /tmp/aBNRJD_kc8 line 1:␤------> /(?:⏏\ )/ # TimToady stdubg␤Invalid conversion in sprintf: "%M" at STD.pm line 57284.␤No unspace allowed in regex; if you meant to match the literal character, please
..…
TimToady viv bug, looks like 17:16
diakopter std: /(:\| )/ 17:18
p6eval std 32117: OUTPUT«===SORRY!===␤Unrecognized regex metacharacter (must be quoted to match literally) at /tmp/x0Y22DcH09 line 1:␤------> /(:⏏\| )/␤Can't call method "from" on unblessed reference at STD.pm line 53782.␤FAILED 00:01 116m␤»
diakopter tilts head 17:19
pugssvn r32118 | lwall++ | [STD] work around viv bug on "%02x" 17:20
17:23 espadrine left 17:25 amkrankruleuen left, amkrankruleuen joined 17:33 kjeldahl left
diakopter std: /(?:\ )/ 17:38
p6eval std 32118: OUTPUT«===SORRY!===␤Quantifier quantifies nothing at /tmp/LBUM8TbVfi line 1:␤------> /(?:⏏\ )/␤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
../tmp/L…
diakopter std: /(:\| )/
p6eval std 32118: OUTPUT«===SORRY!===␤Unrecognized regex metacharacter (must be quoted to match literally) at /tmp/fXqYl67Px6 line 1:␤------> /(:⏏\| )/␤Can't call method "from" on unblessed reference at STD.pm line 53782.␤FAILED 00:01 116m␤»
17:43 mmcleric joined
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.
ingy phenny: thanks
17:44 au|irc left
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
tylercurtis rakudo: sub my-foo {...}; my-foo; 17:47
p6eval rakudo 6ccdcd: OUTPUT«===SORRY!===␤Malformed my at line 22, near "-foo;"␤»
tylercurtis rakudo: sub my_foo {...}; my_foo; 17:48
p6eval rakudo 6ccdcd: ( no output )
tylercurtis std: sub my-foo {...}; my-foo; 17:52
p6eval std 32118: OUTPUT«ok 00:01 115m␤»
tylercurtis rakudobug?
moritz_ indeed 17:53
tylercurtis submits. 17:54
colomon rakudo: sub my-foo {...} 17:55
p6eval rakudo 6ccdcd: ( no output )
colomon rakudo: my-foo;
p6eval rakudo 6ccdcd: OUTPUT«===SORRY!===␤Malformed my at line 22, near "-foo;"␤»
17:55 ash_ left
moritz_ pls has lots of test failures 17:58
17:59 ash___ joined 18:05 ash___ left, mmcleric left 18:08 zulon left 18:10 skangas joined
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 18:21 ash_ joined 18:22 daxim left 18:27 patrickas joined
patrickas o/ 18:27
rakudo: say () === ();
p6eval rakudo 6ccdcd: OUTPUT«0␤»
patrickas is that expected ? 18:28
moritz_ yes 18:29
two different parcels
PerlJam rakudo: say Nil === Nil
p6eval rakudo 6ccdcd: OUTPUT«1␤»
PerlJam patrickas: were you expecting the isomorphism between () and Nil to give you that output?
moritz_ Nil is specified as a singleton 18:30
pmichaud good afternoon, #perl6 18:34
18:34 jhuni left
takadonet pmichaud: hey 18:35
moritz_ oh hai pmichaud
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
patrickas colomon o/ 18:37
ash_ moritz_: thanks for the FORBID_PIR change, i think i should have a new version of try.rakudo.org done tonight/tomorrow 18:38
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 ()
ash_ my last change i need to make is to have it periodically clear out old sessions, then it should be good to go
patrickas 1...^1 should produce () and not Nil right ? 18:40
moritz_ patrickas: right 18:41
18:42 molaf left
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, nimiezko left
moritz_ Nil = NothIng to see here, move aLong 18:43
TimToady so we can distinguish return (); from return;
18:44 nimiezko joined
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 ?
ash_ 1,2,3,4,5,6,5,4,3 ? (just guessing) 18:46
moritz_ that doesn't look right to me
patrickas ash_ definetely not :-)
ash_ is , or ... higher in precedence? 18:47
patrickas actually there is no doubt
1,2,3
the dillema was for 1,2,3,4,5,6 ... 2
if it should produce 1,2,3 OR 1,2
18:48 EvanCarroll joined
EvanCarroll You know seo fags are spamming the perl6 site right? 18:48
www.parrot.org/news/parrot-2.7.0-a...omment-180
parrot site*
just fyi.
moritz_ deleted. 18:49
patrickas ash_ the comma has higher precedence
18:51 cdarroch left
[particle] EvanCarroll: fags, are you sure? 18:51
EvanCarroll It was qualified with "seo" 18:53
18:54 cdarroch joined, cdarroch left, cdarroch joined
patrickas Frequently Asked Guestions ? 18:54
ash_ having series and range's with HIGH .. | ... LOW confuse me... 18:56
EvanCarroll moritz_: he lamed up the whole parrot.org site
parrot.org/news/2010/Parrot-2.6.0#new
[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.
PerlJam [particle]++
EvanCarroll actually i think that might be the only other one
[particle] i just blocked tradelord on parrot.org. thanks for reporting.
now, to find that wiki page for blocked accounts... 18:57
EvanCarroll [particle]: he still has the comment active
you should scan your access.logs and block the seo list your on 18:58
you're on*
or redirrect their traffic to goatse
[particle]: parrot.org/news/parrot-users-list-created#new 19:01
more spam
19:02 REPLeffect left
EvanCarroll Is perl6 really going to go with that butterfly ? 19:03
the first ever anti-social marketing campeign?
[particle] i'm updating the Mollum rules now, thanks EvanCarroll++ 19:04
patrickas Isn't the precedence wrong here ? S03:1989
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:05
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:06
TimToady nobody's gonna make you wear it 19:07
FurnaceBoy MSN's logo is a colourful butterfly.
\xF0 but that gives them the right impression in your case, doesn't it?
EvanCarroll FurnaceBoy: yea, was.. see how good that worked out for them.
TimToady: I like my YAPC shirt =(
PerlJam Windows has a colorful window thingy for a logo.
TimToady \xF0: please be nice, even if EvanCarroll isn't
EvanCarroll PerlJam: I think that was msn, which is now bing (no butterfly)
patrickas I thought wearing Camelia shirts was mandatory if we are ever allowed to use perl6! 19:08
EvanCarroll www.msn.com/
no it still has a butterfly on msn.com, but it doesn't look like a butterfly.
patrickas rakudo: say (1,2... 5 , 10,20... 50);
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␤»
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? :)
\xF0 TimToady: okay :(
FurnaceBoy PerlJam: haha
EvanCarroll \xF0: haha, no.
PerlJam I wonder what it is that people really object to wrt Camelia? 19:11
ash_ EvanCarroll: kraih.com/usingperl6-sri.jpg is another perl6 buttery
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.
EvanCarroll ash_: That is much better actually.
sorear EvanCarroll: it's a litmus test for worthy contributor, you fail
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 :)
TimToady if your masculinity is threatened by a butterfly...I don't know how to help you.
ash_ i like camelia personally, »ö«++
sorear TimToady: What should "ac" ~~ / [ a <commit>: b ]? / do?
ash_ _sri++ made the other butterfly 19:14
sorear I am thinking it will match the empty string, because <commit> is never backtracked into
TimToady please read my last S05 commit
sorear ok
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.
_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
EvanCarroll _sri: right. you know how many of those I wear to work right? 19:16
kind of reminds me of a female version of Beastie.
19:17 amkrankruleuen joined
pugssvn r32120 | patrickas++ | Two more tests for NYI stuff in series 19:18
TimToady wall.org/~larry/camelia-angry.pdf # compliments of quietfanatic++
ash_ patrickas: S03:1989 looks alright to me
TimToady metoo 19:19
patrickas ash_ but if the series operator is of lower precedence should that parse as
(1, *+1) ... ( { $_ < 10 },10, *+10 ) ... ( { $_ < 100 }, 100, *+100 ) ... { $_ < 1000 }
TimToady it does 19:20
and that's fine
_sri the lolbutterfly meme also needs to be started
patrickas rakudo: say ((1,2) ... (5,10,20) ... 50);
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
patrickas I suppose it is a rakudobug then 19:21
TimToady looks like
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
patrickas rakudo: say ( (1,2 ... 5),(10,20 ... 50) );
p6eval rakudo 6ccdcd: OUTPUT«123451020304050␤»
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))."␤»
EvanCarroll TimToady: the problem isn't the cuteness, it is the cuteness mixed with the very young looking design.
ash_ rakudo: say ((1, 2 ... 5), (10, 20 ... 50)).perl;
p6eval rakudo 6ccdcd: OUTPUT«((1, 2, 3, 4, 5), (10, 20, 30, 40, 50))␤»
colomon I'm pretty sure rakudo tries to make (1,2) ... (5,10,20) ... 50 into one series op call with three arguments
EvanCarroll Tux is "cute", but not in the same way that you could picture him with a teletubbie
ash_ i like .perl since it shows you when lists are nested
colomon and the series op cannot handle that yet.
TimToady we're trying to subvert the next generation before they grow up to be computer scientists
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
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:24
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
I worked very hard to put them there
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.
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.
Tene I don't mind camelia, but I'm unsure if you were intending to include all Perl 6 developers in that "we".
pmichaud yes, STD.pm defines infix:<...> as being list associative.
Tene Ah, okay. That's confusing. :P
ash_ rakudo: sub foo(Int $a) { ... }; foo "hi";
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␤»
patrickas TimToady: yes the buldges, they seemed intentional to mee but I was not sure :-)
TimToady We should not be confused. <-- editorial we
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";
p6eval rakudo 6ccdcd: OUTPUT«===SORRY!===␤Can not re-declare sub &foo without declaring it multi at line 22, near "; foo \"a\";"␤»
Tene mutli/multi
19:27 dha joined
moritz_ works if you don't mis-spell mutli :-) 19:27
TimToady camels have bulges too
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
rakudo: multi sub foo (Int $a) { ... } ; multi sub foo (Num $a) { ... }; foo "a";
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␤»
ash_ does that change seem worthy of a rakudobug?
colomon pmichaud: yes, that's what I thought, though I'd forgotten the phrase "list associative"
pmichaud ...rakudobug? 19:29
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
moritz_ what change?
pmichaud ash_: what would you want to change?
moritz_ confused
ash_ pmichaud: i was suggestion to change the error message on multi dispatching errors, to include what you tried to dispatch
pmichaud oh, that.
Tene pmichaud: Yes, but the Perl 6 community is by no means united on that front wrt camelia. :)
ash_ something 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
TimToady then don't use commit 19:31
pmichaud Tene: correct, it's not a united "we" :-)
TimToady you are only required to know how to be nice to all kinds of people (and butterflies)
we don't even require that you always *be* nice 19:32
or that you like the people you're being nice to (and butterflies)
pmichaud wonders if he could forget enough niceties to be kicked out of the Perl 6 community. :-)
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
patrickas with camelias on them! 19:33
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."
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
sorear TimToady: I have my implementor hat on now
TimToady: are you saying that improperly nested cuts are erroneous?
(trying to cut to a depth, when a deeper depth has already been cut, like <commit> ::) 19:36
TimToady I don't think that's erroneous, unless you intended it erroneously, but we cannot read minds 19:37
a : could just as easily be aimed at something inside the [] after the <commit>
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
if you intended it to suppress the commit, well, you can't 19:39
now, if we saw [ b* <commit> c]: then we could probably claim a Useless use of :
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?
pmichaud one should submit patches through RT :-)
(you can file a bug report too, if you want. Or we can give you a commit bit :) 19:41
19:41 wamba joined
TimToady darn it, forgot to each lunch again... 19:41
19:42 ash_ joined
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:42
pmichaud dha: a bug report would be fine, if that's what you'd prefer (more) 19:44
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
but anything you want to contribute is definitely welcome
ooc, what bug / problem are you seeing?
sorear so <commit> needs to cut out choice points, but preserve whatever markers : needs to do its job 19:46
19:47 smash left
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
TimToady I have to delete choice points lazily because of how lazymaps work, of course 19:48
sorear r32117
TimToady so it uses an invalidating model
19:48 cbk joined
sorear pmichaud: irc.pugscode.org 19:48
TimToady looks like p6l isn't tracking synopses changes?
pmichaud TimToady: noticed that also 19:49
moritz_ github.com/moritz/Mu
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.
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 :-(
dha: excellent 19:50
dha: yes, anything that is confusing or wrong, please let us know about (and where possible, suggest improvements)
moritz_ dha: github.com/perl6/book/issues is a good place for book bugs
dha moritz_ - ah, excellent. Better there than through RT? 19:51
moritz_ dha: yes
dha *nod* will go there. Thanks. 19:52
moritz_ in fact we never explain all()
mathw o/
moritz_ we should
TimToady pmichaud: the s5 diff is at wall.org/~larry/s5diff
pmichaud TimToady: thanks
19:53 wamba left
moritz_ github.com/moritz/Mu/commit/7b942e4...571b20ba18 19:53
19:53 timbunce left
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:54
pmichaud +put an explicit C<!> after the alternation to enable backing into, 19:55
+say, the C<< <foo> >> rule above.
in the case of :ratchet, would you also need some sort of <!> after C<< <foo> >> itself? 19:56
*wouldn't
(otherwise one doesn't backtrack into <foo> either) 19:57
19:57 [Coke] left, ruoso left, patrickas left
szbalint pmichaud: try to tunnel things through ssh on port 443? 19:57
or over dns? 19:58
pmichaud szbalint: I've been doing that, yes.
szbalint: but it's still a pain to tunnel svn that way.
szbalint yeah.
pmichaud if pugs were on github, I could just browse the changes there :-)
19:58 Italian_Plumber left
pmichaud (not pushing for it, just remarking that it's happened again :) 19:58
I ended up ssh'ing to my home machine and updating/reviewing things from there :-) 19:59
that's also how I manage to irssi :)
20:00 timbunce joined
moritz_ re-pushed enum_memory branch (needs forced update, sorry for that) 20:01
this time with nwellnhof++'s second patch
passed all spectests
pmichaud +1 to merge, then, if masak++ concurs
afk for a bit 20:05
20:06 Mowah left, tadzik joined
tadzik 'evening #perl6 20:07
20:09 [Coke] joined, ash___ joined 20:11 Italian_Plumber joined, ash_ left, ash___ is now known as ash_, [Coke] left, Italian_Plumber left 20:15 M_o_C left, [Coke] joined
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 20:26 Mowah joined 20:30 tylercurtis left 20:31 Guest55804 left
[Coke] (nwellenhoff's patch) does it also pass the modified rakudo masak created? 20:32
moritz_ [Coke]: yes
[Coke] 20:35
20:36 Mowah left 20:40 buubot left, buubot joined, jfried left, jferrero joined 20:43 Guest55804 joined 20:48 rokoteko joined 20:52 Guest23195 left 20:53 trek1s left 20:54 trek1s joined 20:55 jfried joined 20:57 ash_ left 20:59 ash_ joined, Italian_Plumber joined 21:01 ash_ left, Holy_Cow left 21:02 Holy_Cow joined 21:03 Ross left, Italian_Plumber left 21:10 Italian_Plumber joined, buu left 21:11 buu joined 21:13 buubot left 21:14 timbunce left, masak joined
masak ahoy! 21:14
phenny masak: 17:43Z <ingy> tell masak I'll be available to hack in T-3 hours.
masak: 17:45Z <moritz_> tell masak that public branch enum_memory doesn't segfault anymore on the example provided in TT #1746
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
masak ingy: I'm available now.
moritz_: yay 21:15
moritz_: need to investigate that.
also, need to write more enums tests.
I think I'm one of the more likely people to do that at present.
21:16 buu left, buu joined
masak moritz_: if pls fails tests, it does so more recently than last time I hacked on it. will check. 21:16
21:16 buubot joined
masak digs wall.org/~larry/camelia-angry.pdf 21:17
21:20 amkrankruleuen left 21:22 Sanitoeter left, rgrau_ joined
sorear hello masak 21:23
masak hi sorear
21:24 trek1s left
lichtkind are elf and sprixel still active? 21:26
sorear elf: no
p6eval elf 32120: OUTPUT«Undefined subroutine &GLOBAL::no called at (eval 122) line 3.␤ at ./elf_h line 5881␤»
sorear sprixel: this name has been applied to at least three projects, you'll need to be more specific
p6eval sprixel 32120: OUTPUT«Can't open perl script "sprixel.pl": No such file or directory␤»
21:28 ash_ joined
masak moritz_: with the Rakudo I have installed now -- a few days old -- all pls tests pass. rebuilding Rakudo. 21:36
21:36 ash_ left
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
tadzik masak: makes sense to me 21:38
colomon why test against alpha?
tadzik well, good question
21:38 shabble left
masak colomon: because I still haven't translated all my code yet. :/ 21:38
testing against alpha would make me feel better. 21:39
21:41 spq1 left 21:42 REPLeffect joined, hercynium joined 21:46 drbean joined 21:47 Guest55804 left 21:49 mberends left
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:53
21:56 tadzik left
masak moritz_: now with bleeding Parrot/Rakudo -- all pls tests pass. please check your setup. 21:57
lichtkind masak: say "richtig" if prompt "rate mal " ~~ <a b c d>; 22:03
i think there is really a bug
i sended some fake ones
but i think this one is real
masak lichtkind: I think you perhaps need to re-read S03. 22:04
but do explain.
I'm listening.
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
or i didn't understan here something?
masak 'prompt' parses as a listop
22:05 sahadev joined
lichtkind you mean lazy 22:05
masak no.
thus, what you send in to prompt will be one argument, but not "rate mal " 22:06
the argument will be the Bool from the smartmatch of a Str and a List.
do you agree on this?
lichtkind mom still parsing
sorta 22:07
\me getting it slowly
so i need round braces
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>'?
there's nothing to indicate that it would. 22:08
22:08 azert0x left
szbalint masak: that reminds me of a quote. Let me find it. 22:08
masak is it by MJD? :)
FurnaceBoy hehe 22:09
lichtkind masak: so its more 'prompt ("rate mal " ~~ <a b c d>)' ?
sorear masak: what do you mean by "translated my code"?
masak lichtkind: that's how your code parses, yes.
lichtkind: and that smartmatch will always fail, with any Str/List combination.
szbalint masak: nopaste.snit.ch/23198 22:10
masak sorear: in what context?
lichtkind masak: i know any is missing
masak lichtkind: good.
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
masak I love it :)
szbalint yes. It's the nopaste title :)
masak lichtkind: ok.
szbalint: ah, yes.
22:11 crythias joined 22:13 stepnem joined
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:14
sorear masak: 16:38 < masak> colomon: because I still haven't translated all my code yet. :/ 22:15
masak sorear: oh. ah. from working on Rakudo alpha to working on Rakudo master. 22:16
sorear: those two Rakudos are, for the purposes of having application code running, two different codebases.
and require translation, sometimes extensive translation. 22:17
szbalint masak: that's a comforting thought :)
masak in a way, I guess it is. 22:18
22:18 dha left
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.
szbalint and even if it's an illusion, I should cherish it as an ideal to strive for :)
dalek ecza: a13f32b | sorear++ | lib/Cursor.cs:
Start playing the xact game
22:21
ecza: d075a0b | sorear++ | / (3 files):
Formalize the regex unit test
masak me too.
ecza: 2c93915 | sorear++ | t/RxUnitTest.cs:
Refactor RxUnitTest to be more data-driven
22:23 rgrau_ left
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 22:31 mutewit left 22:32 Holy_Cow left, HarryS left 22:35 supernovus joined 22:37 espadrine joined
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:38
masak maybe I can help. 22:39
for all the things I haven't ported over, I've successfully translated quite a bit of code.
but yes, the grammar stuff is definitely the hardest.
supernovus masak: this one is a nightmare and a half.
masak Druid is, too. I still haven't managed to get that one right in Rakudo master. 22:40
maybe I should just rewrite it from scratch...
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:41
masak let's start a Friends of Former Working Code circle... :) 22:42
*Formerly 22:43
sorear TimToady: Would it be acceptable for [ [a | b] :: | c ] to bind :: to the *outer* [|] ? 22:44
supernovus Sounds like an idea.
sorear I think it would be preferable
since it would mean that :, ::, and ::: all have more or less the same scope behavior
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
er, or one input string. :)
sorear not now, *out* 22:51
22:51 sahadev1 joined
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', 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
22:53 sahadev left
lichtkind masak: thanks 23:01
masak lichtkind: anytime.
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
masak lichtkind: I'm trusting you not to abuse the privilege :) 23:03
23:04 sahadev1 left 23:05 sahadev1 joined, hercynium left 23:08 sahadev left
lichtkind maybe you even benefiting from it directly 23:09
lichtkind preparing perl6 talk vor large german nonperl conference
diakopter lichtkind: sprixel's still active; it's another p6-on-CLR effort now. building on my perlesque platform from this spring. 23:13
23:13 [particle] left
diakopter lichtkind: no news/progress to report other than the latest perlesque updates. 23:14
lichtkind diakopter: good :)
23:21 Transformer joined
lichtkind diakopter++ 23:22
23:23 Transformer left 23:25 bluescreen joined 23:26 bluescreen is now known as Guest75712 23:28 supernovus left 23:31 thundergnat joined 23:32 tylercurtis joined
thundergnat howdy #perl6 23:33
masak greetings, o thunderous gnat 23:35
thundergnat o/ 23:36
23:36 cdarroch left 23:37 Transformer joined, whiteknight joined
thundergnat I was trying to generate listst of sriginfied numbers and got some result that IMO violated the principle of least suprise... 23:37
Not necessarilly a bug mind you.
23:38 Transformer left
thundergnat radudo: my @x = (~1...99); @x.elems.say; #what I expected 23:38
masak ~1..99 looks like a thinko 23:39
thundergnat Nah, I wanted stringified numbers
~<<(1..99) is correct I figured out 23:40
masak aye.
colomon rakudo: say (1..99)>>.Str
p6eval rakudo 6ccdcd: OUTPUT«123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899␤»
thundergnat Hmmm... I expected that to print 99....
colomon for what it's worth, I'm pretty sure rakudo doesn't handle "1".."99" correctly yet. 23:41
but then, I don't think it's spec'd to do what you want, either.
thundergnat Anyway, my @x = (~1...99); @x.elems.say; returns 99 locally.
but my @x = (~1...50); @x.elems.say; returns 5 O_o 23:42
masak it does string comparisons. 23:43
thundergnat masak: yeah, thats what I figured, I just seemed odd that (~1...90) returns 90 elements but (~1..89) returns 8 23:46
I guess all bets are off when I'm abusing syntax
cbk is there a convenient way in Perl6 to populate an array from a user inputted, space separated string? 23:48
masak rakudo: my $input = 'foo bar baz'; my @a = $input.comb(/\w+/); say @a.perl 23:49
p6eval rakudo 6ccdcd: OUTPUT«["foo", "bar", "baz"]␤»
tylercurtis masak: space separated doesn't necessarily mean only containing word characters.
TimToady .words
FurnaceBoy :)
masak rakudo: my $input = 'foo bar baz'; my @a = $input.words; say @a.perl
p6eval rakudo 6ccdcd: OUTPUT«["foo", "bar", "baz"]␤» 23:50
colomon rakudo: say (~1..99).perl
p6eval rakudo 6ccdcd: OUTPUT«1..99␤»
tylercurtis rakudo: my $input = 'foo bar1-fdsl/re baz'; my @a = $input.split(/\s/); say @a.perl;
p6eval rakudo 6ccdcd: OUTPUT«["foo", "bar1-fdsl/re", "baz"]␤»
tylercurtis rakudo: my $input = 'foo bar1-fdsl/re baz'; my @a = $input.comb(/\w+/); say @a.perl;
p6eval rakudo 6ccdcd: OUTPUT«["foo", "bar1", "fdsl", "re", "baz"]␤»
TimToady rakudo: my $input = 'What the !@#$# do you mean!?!'; say $input.words.perl 23:51
p6eval rakudo 6ccdcd: OUTPUT«("What", "the", "!\@#\$#", "do", "you", "mean!?!")␤»
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.
but thanks. 23:52
can't believe how easy that was.
TimToady S32 has most of 'em
thundergnat rakudo: say (~1...90).perl
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",
.."48", "4…
thundergnat rakudo: say (~1..89).perl 23:53
p6eval rakudo 6ccdcd: OUTPUT«1..89␤»
23:53 meinwald5 joined
colomon rakudo: say ("1"..99).per 23:53
thundergnat oops
p6eval rakudo 6ccdcd: OUTPUT«Method 'per' not found for invocant of class 'Range'␤ in main program body at line 22:/tmp/1mSnJ0BHRM␤»
colomon rakudo: say ("1"..99).perl
tylercurtis rakudo: Str.^methods(:local).sort.join(', ').perl.say # a lot of these are probably in Cool.
p6eval rakudo 6ccdcd: OUTPUT«1..99␤»
rakudo 6ccdcd: OUTPUT«"ACCEPTS, Bool, Str, WHICH, encode, perl, pred, succ"␤»
cbk TimToady, thank you.
thundergnat rakudo: say (~1...89).perl
tylercurtis rakudo: Cool.^methods(:local).sort.join(', ').perl.say # a lot of these are probably in Cool.
colomon ooooh, bug in Range.perl
p6eval rakudo 6ccdcd: OUTPUT«("1", "2", "3", "4", "5", "6", "7", "8")␤»
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,
..from-radians, i…
colomon errr.... hmmm. 23:54
rakudo: say "1".perl
p6eval rakudo 6ccdcd: OUTPUT«"1"␤»
colomon rakudo: say ("1".."99").perl 23:55
p6eval rakudo 6ccdcd: OUTPUT«"1".."99"␤»
colomon rakudo: say ("1"..99).perl
p6eval rakudo 6ccdcd: OUTPUT«1..99␤»
thundergnat you need ...
rakudo: say ("1"...89).perl 23:56
p6eval rakudo 6ccdcd: OUTPUT«("1", "2", "3", "4", "5", "6", "7", "8")␤»
colomon Hmmmm... no, I need to know why Range was changed so that "1"..99 became 1..99 23:57
thundergnat Oh. NM
colomon well, I don't need to know, exactly, but I am curious.
23:59 HarryS joined