»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend!
Set by sorear on 4 February 2011.
sorear jnthn: even so, he has been off irc for pushing a day now... uncharacteristic. 00:00
:)
colomon loliblogged: justrakudoit.wordpress.com/2012/05/...abc2ly-pl/ 00:14
jnthn colomon++ 00:16
OK, sleep...hopefully I'll have time/energy to do something useful here tomorrow :)
colomon o/
felher colomon++ 00:19
dalek ecza: 33cedc2 | sorear++ | lib/Kernel.cs:
Fix secondary InvalidCastException when validating module cache fails (#121)
00:45
sorear errrrh. I forgot how little I understand this code 01:07
dalek ecza: 519e787 | sorear++ | lib/ (2 files):
Tweak dependency calculation for evals; no, I do not know what I am doing (fixes #121)
01:15
sorear o/ pmichaud 01:17
pmichaud o/ sorear 01:18
dalek ecza: d747643 | sorear++ | lib/CORE.setting:
Consistantly return values of type Match from Grammar.parse (#92)
01:21
sorear p6: class Foo { has @.bar; }; say Foo.new(bar => [1, 2, 3]).item.perl 01:25
p6eval rakudo dca0fa: OUTPUT«Foo.new(bar => Array.new(1, 2, 3))␤»
..pugs: OUTPUT«Foo.new((\("bar", \(1, 2, 3)),)␤»
..niecza v17-14-g33cedc2: OUTPUT«Foo.new(...)␤»
sorear p6: class Foo { has @.bar; }; say Foo.new(bar => [1, 2, 3]).bar.item.perl
p6eval niecza v17-14-g33cedc2: OUTPUT«[[1, 2, 3]]␤»
..rakudo dca0fa: OUTPUT«[1, 2, 3]␤»
..pugs: OUTPUT«\(1, 2, 3)␤»
sorear It is unclear to me what the correct semantics of this is
obviously, n is wrong, but the model r is using is not clear 01:26
whee, found it 01:28
dalek ecza: 99bda95 | sorear++ | lib/Builtins.cs:
Always unpack arrays passed to Mu.new (fixes #104)
01:33
sorear n: s[x].=flip 01:45
p6eval niecza v17-14-g33cedc2: OUTPUT«===SORRY!===␤␤Malformed assignment operator at /tmp/KZr0bgP5DF line 1:␤------> s[x].=⏏flip␤␤Parse failed␤␤»
sorear n: s[x] .= flip
p6eval niecza v17-14-g33cedc2: OUTPUT«===SORRY!===␤␤Malformed assignment operator at /tmp/BR7ZYVQpoe line 1:␤------> s[x] .=⏏ flip␤␤Parse failed␤␤»
sorear std: s[x] .= flip
p6eval std 8632387: OUTPUT«ok 00:00 42m␤»
sorear std: s[x] .=flip 01:46
p6eval std 8632387: OUTPUT«ok 00:00 42m␤»
sorear std: s[x].=flip
p6eval std 8632387: OUTPUT«ok 00:00 42m␤»
sorear std: s[x] + 5; 01:57
p6eval std 8632387: OUTPUT«ok 00:00 42m␤»
dalek ecza: eacfab8 | sorear++ | src/STD.pm6:
Copy TimToady++ fix for [.rotate], fixes #113
01:59
colomon sorear++ # lots of patches today! 02:09
colomon sorear: though it looks like we're failing more spectests than usual now. 02:18
colomon sorear: Unhandled exception: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.DllNotFoundException: libglib-2.0.0.dylib 02:23
though that may be because I switched monos? I haven't spectested since I did so.
problem is happening during a q:x call in quoting.t 02:24
dalek ecza: a5f35dc | sorear++ | src/ (2 files):
Implement s[].=flip form (fixes #112)
02:27
sorear qx works locally; I blame mono changes :p
perhaps also a gtk update 02:28
colomon I don't know why it can't find it, libglib-2.0.0.dylib is in /opt/local/lib 02:30
sorear perhaps when you updated mono you installed the new version in a different way with a different search path
colomon huh. 02:32
it's also in one of the 2.10.9 directories, but locate didn't find it.
sorear exactly same spelling?
colomon yes 02:33
dang, googling that error message is not helpful at all 02:36
sorear {ktrace,strace,dtrace,truss,whatever OSX uses now} maybe? 02:39
when was the nom switchover? 02:43
moritz 2011.09 was the first nom-based compiler release 02:44
moritz but the first nom-based star was 2012.01 02:45
colomon sorear: trying dtruss now 02:51
colomon sorear: maybe I'm doing something wrong with dtruss, but I see several open calls listed in the output, but *none* of them is the libglib. First appearance of that name is in the error message 02:57
scratch that, better results with a second try 02:58
sorear colomon: what about access or stat calls?
colomon yes, I'm trying to sort out the calls now 02:59
okay, it's not in the first place it looks... 03:00
and then it looks in the current directory, /Users/colomon/lib, /usr/local/lib, /usr/lib ... 03:01
colomon sorear: I'm going to sleep with this mystery unsolved. Talk to you tomorrow... 03:15
dalek ecza: 0308871 | sorear++ | lib/CORE.setting:
Quick fix to do something more useful with sequence closures that return multiple values (fixes #109)
03:24
sorear r: my %foo = a => 1, b => 2; say %foo{*}.perl 03:42
p6eval rakudo dca0fa: OUTPUT«(1, 2)␤»
araujo rakudo: say "hello".substr(0, -1); 04:43
p6eval rakudo dca0fa: OUTPUT«Negative length argument (-1) to .substr␤ in method gist at src/gen/CORE.setting:9059␤ in sub say at src/gen/CORE.setting:6802␤ in block <anon> at /tmp/JhMNl86Ic2:1␤␤»
araujo shouldn't that work?
geekosaur I think you're supposed to use *-1 type things these days? 04:46
r: say "hello".substr(0, *-1)
p6eval rakudo dca0fa: OUTPUT«hell␤»
araujo mm... 04:47
geekosaur, was following the rosettacode examples .. :P
geekosaur rosettacode is known to sometimes be out of date 04:48
araujo geekosaur, what is the "*" all about?
yeah right
geekosaur so, in this case, part of the idea is that you don't want a fencepost error or something to convert a normal selection to an inverted one, so the inverted one has a distinct syntax. 04:49
in general, perl 6 avoids magic values. so, treating a negative number differently from a positive one is bad and should instead be done by using a distinctive mechanism (the Whatever, aka *) 04:51
(sorry for delay, network here is favoring longer outages instead of the usual 45 seconds tonight...)
for more of an explanation you want someonewith a better handle on the logic (i.e. @Larry) although I think this stuff is covered in the apocalypses (if with very out of date syntax) 04:53
araujo I see, thanks geekosaur 04:57
sorear right. 05:14
perl 6 thinks that perl 5's dwim went too far
perl 5 tries to find a sensible way to interpret *anything* you throw at it
perl 6 is happy to double-check you 05:15
dalek ecza: a900903 | sorear++ | lib/ (3 files):
Implement [*] style zen slices (fixes #111)
06:12
dalek ecza: 5192417 | sorear++ | / (2 files):
Make self available in initializer thunks, fixes #93
06:25
ecza: fb775fb | sorear++ | test.pl:
s|substr|$/-rw| where needed in test.pl
sorear sleep& 08:44
jnthn morning, #perl6 o/ 08:51
moritz \o jnthn 08:52
tadzik hello hello 08:54
jnthn Is anybody up for putting out a * release this week? I'll be able to find tuits for it if nobody else can. 08:58
moritz I could do some work on it, but can't promise to do it all the way 09:00
it also depends on tadzik++ unbreaking panda, otherwise there's not much point in it, IMHO
tadzik I did unbreak it yesterday 09:18
moritz \o/
tadzik and we have new tjs.azalayah.net/new.html 09:19
tadzik what is the correct way to write something like '('(<digit>+) {} [<t_elem>* <stem>] % { +$0 }? 09:21
moritz you want a list of stuff separated by the digit that was parsed before it? 09:22
tadzik colomon does, I think :) 09:23
it's from ABC
bbkr very nice page with this module list
moritz or more like ** { +$0 } (ie number used as a repetition count)?
dalek mentaler: 4da24c0 | tadzik++ | template.tt:
Link to emmentaler repo on the generated page
09:24
tadzik moritz: oh, yes, that what it was initially
I now confuse those two, hm 09:25
moritz tadzik: I think it should work as ** { $0 }, but it doesn't work in rakudo
because rakudo doesn't implement the ** { closure } form
tadzik I see
jnthn I think PerlJam++ was working on implementing that last week.
Not sure how far it got. 09:26
moritz last time I tried to work around it, I tried <stuff>* <?{ $<stuff>.elems == $0 }>, but it didn't work either
I think lumi_++ found a workaround, something evil :-)
tadzik :>
idea: sorting modules on emmentaler page by workingness 09:27
moritz idea: add a flag to those modules included in star 09:28
jnthn Hm, or grouped by workingness
moritz so that it's easy to see if the next star distribution regressed a module
jnthn ooh, yes
moritz I just manually checked the list
(result: LWP::Simple depends on URI, which sometimes failed to load. Precomp stuff) 09:29
tadzik idea: do me SE homework, due today, 4:30 hours
:/
moritz SE?
tadzik software engineering
moritz ah
tadzik UMLs everywhere
sergot hi! o/ 09:31
tadzik hello
dalek ar: fa545bf | moritz++ | / (4 files):
bump some version numbers in preparation of 2012.05 star release
09:33
lumi_ r: say("2 abcde" ~~ regex { (\d+)\s* :my $p; { $p = $/.CURSOR.pos} (\w *) <?at: $p+$0>}) # something evil for tadzik 09:47
p6eval rakudo dca0fa: OUTPUT«=> <2 ab>␤ 0 => <2>␤ 1 => <ab>␤␤»
masak good noon, #perl6 09:48
phenny masak: 20 May 06:47Z <sorear> tell masak erikdemaine.org/papers/NCL_TCS/paper.pdf - §4.2, the rectangular version of t4 ("Rush Hour") is PSPACE-complete.
masak: 20 May 06:48Z <sorear> tell masak Call a t4-puzzle /restricted/ if it has no blocks in the (say) left-right orientation.
masak: 20 May 06:49Z <sorear> tell masak Restricted t4-puzzles are in one to one correspondence with Rush Hour puzzles, and are solvable iff the corresponding Rush Hour puzzle is. Proof left as an exercise to the reader
masak: 20 May 06:49Z <sorear> tell masak ergo, t4 (with the usual size generalization caveat) is PSPACE-complete
jnthn o/ masak 09:49
tadzik lumi_: ohh, horrible :)
masak feels sought :)
tadzik hello masak
masak sorear++
sorear: there seems to be a treasure trove of insights to be had just from playing around with different representations of t4, like you just did. mapping the two diagonal directions to a rectangular space hadn't occurred to me. even though I love the hexagonal topology and feel at home in it. 09:57
sorear: though Salvador made a similar transformation, mapping from hex to rect using :horizontal<horizontal>, :slash-diag<vertical>, :backslash-diag<backslash-diag> 09:59
sorta-kinda. the diagonals of the hex board are 60°, whereas the rect diagonals are 45° :) 10:05
masak sorear: so... PSPACE-compelte is actually worse than NP-complete, from a cursory glance at the Wikipedia page. 10:16
complete*
kresike #freeswitch 10:27
oops, forgot the /j ... sorry
sunny_ Hi.. 10:30
moritz hi sunny_, kresike 10:31
kresike hello moritz 10:32
masak hi kresike :) 10:33
kresike hello masak 10:34
moritz loves it when lurkers speak up, even if by accident :-)
kresike moritz, :)
you guys are at a level in perl, that I just wish to reach ... but probably never will 10:36
masak hey, don't self-limit like that. reach! :)
kresike It's a pleasure to see perl6 take shape though
masak yeah.
kresike masak, will do :) 10:37
the reaching I mean ... 10:38
masak there's some nice middle ground there right between self-limiting and "positive thinking": a kind of empirical honesty that helps one improve and learn. 10:40
kresike I think I'm sitting in the middle of that middle ground right now. 10:41
masak actually, both self-limiting and positive thinking are manifestations of the same basic mistake: rooting one's abilities in a mental model rather than in what's actually the case.
jnthn Positive thinking is a basic mistake? :) 10:42
masak sure it is! :P
jnthn starts considering everything negatively :P 10:43
masak <whoosh>
masak (sound of the point flying over jnthn's head) :P 10:44
kresike jnthn, don't worry, making mistakes means being human :)
masak +1
the road to a total success is littered with partial failures.
(the problem with sayings like that is that the road to total failure is also littered with partial failures) :)
kresike masak, the definition of total success being ? 10:45
masak (same problem with ghandicon)
kresike: depends on the project or context or ambition.
kresike: but the point is that progression happens through failing and learning from that.
most people don't progress like that because they have something against failure. 10:46
kresike masak, what happens if one doesn't fail ? 10:48
masak then you're not trying hard enough :P
kresike :) 10:49
masak alternatively, if you're one of those people who actually get design and code and tests and models right on the first try: we're hiring ;) 10:50
we have an opening for a Flawless Guy ;)
or Gal.
kresike well looking at my perl code written a few years ago, I don't think I was talking about myself ... besides, I don't believe there is a human being on this ball of dust that hasn't made a mistake in his life
masak right. 10:51
kresike I'm a guy, but sorry, not the flawless one you're thinking of
masak more realistically, I think one becomes a Flawless Guy or Gal by first making all the mistakes, then thinking about them, and then deciding to do things better. and even then one will invariable make mistakes and have to learn more. 10:52
kresike would like to become one though
but the human lifetime is too short for that, I'm afraid
masak from where I'm standing, it's more important to aim for ability to realize one's failings, than not having any in the first place :)
tadzik "Don't be perfect, be Very Good" :) 10:53
kresike when You know where You failed, You have the problem 99% solved
masak tadzik: ooh
masak kresike: someone said on twitter that almost all debugging sessions seem to end with "...aaaaand I'm an idiot". :) 10:54
kresike funny, my debugging sessions end in me banging my head against the wall :) 10:55
tadzik :0
Alternatively: don't be perfect, but try to be perfect
masak tadzik: I think even trying to be perfect is slightly dangerous. that's why people tend to say that the perfect is the enemy of the good. 10:56
kresike but the principle is the same nevertheless, the one from twitter is a little less painful
masak tadzik: I like the Cult of Done because it formalizes "release early, release often" into a principle of creativity. 10:57
kresike there is no problem with being perfect, the problem is with thinking of yourself as perfect !
masak kresike: "Those who think they know everything are a great annoyance to those of us who do." -- Isaaac Asimov
tadzik troo 10:58
kresike +1 10:59
colomon tadzik: it's the number of repetitions, not a digit separator. So for a triplet, you can say (3ccc and for a quintuplet (5cdefg ... 11:06
tadzik I see
brrt hello all 11:10
tadzik hello brrt 11:11
brrt i was wondering - after this summer is over, and supposing i'm succesful, who would be interested in perl6 web hosting? 11:12
coupled, in all likelihood, to at least a postgresql database instance
tadzik huh, emmentaler will be :)
Perl 6 ecosystem in general 11:13
brrt :-) chance happens that i'm forced into an internet connection with much more mbit/s than i could ever need
tadzik the most required thing will be brute CPU power and security sandboxing, I think 11:14
brrt i'm not a great fan of brute cpu power, tends to suck energy 11:15
tadzik well, you do need some to compile and test 100 Perl 6 modules :)
brrt patience? :-p 11:16
seriously though
tadzik that too :)
no, I'm exagarrating, you don't need that much horsepower
brrt depends, of course, on how much traffic you get 11:17
tadzik it currently takes 19 minutes on my cheap c2d
and things are doomed to get a lot faster
brrt perfect world, i'd have a series of cheap powerefficient amd fusion chips
or something with a better ops / watt rate 11:18
moritz shouts ARM, ARM 11:25
brrt right
although that would be nice 11:26
compact, too 11:27
masak diakopter: [backlog] I would guess "goheadn" works as a semi-hypnotic suggestion on people so that they'll follow instructions better over the telephone. also, it's a bit of redundancy/buffering at the start of a sentence. 11:28
masak Woodi: [backlog] methods can totally have methods. it just gives them a narrower scoping, is all. 11:35
jnthn Adding a method is a call on the meta-object, which is held in a contextual. It'd be a pain not to make it work... 11:36
masak r: class A { method foo { my $a = 42; method bar { say $a } } }; given A.new { .bar; .foo; .bar }
p6eval rakudo dca0fa: OUTPUT«Any()␤42␤»
moritz jnthn: one could reset the contextual in a routine_def. And then $!attrib inside the method probably stops working... 11:37
masak it works :)
Woodi masak: I was wondering just in case ending }\n} can be removed for cleaner code :) probably I started inventing s/}/\t/g :)
moritz a mechanism like HAS_SELF might work, but it would be extra work
masak Woodi: not sure what braces you're trying to remove. but check out file-scoped class declarations. 11:38
jnthn moritz: Right, which was kinda my point. It works naturally and we have to add things to break it. It makes life harder, not easier. 11:39
(Makes life harder to make it not work, that is.)
masak Woodi: [backlog] using class inheritance to "just add a few more methods" is a design smell. 11:41
Woodi masak: just wondered do new 'metod' word can start new method... instead of: pastebin.com/kXudy9mh but NVM
ah.. 11:42
masak I don't see what's strange about lines with only '}' on them.
Woodi masak: it was kind a 'closed' discusion, in universe without accesors :)
masak though it's probably a good idea to some extent to try to keep scopes small and indentation shallow. 11:43
the reason I qualify that is that delegation jungles and scattering of responsibilities are also real risks.
Woodi but look: you have two nearly identical classes - they use priv fields. you extract super class and BUM... 11:44
masak sorear: Wikipedia defines operational semantics as "a way to give meaning to computer programs in a mathematically rigorous way". sounds like an algebra for program behavior. 11:45
masak or a way to deal with such algebras, more likely. 11:47
brrt is it possible that rakudo HEAD contains an infinite loop 11:50
because i'm at 100% CPU for five minutes at least, after optimize 11:51
masak how much RAM do you have? 11:52
brrt never mind
but, for the record, 4G, dualcore
masak ok. 11:53
brrt thinks again about throwing ARM at perl6 11:54
tadzik :)
brrt one could always cross-compile
tadzik did you note the "The following step can take quite a long time" warning?
tadzik snarkyboojum was once running Rakudo on his N900, which has 600 MHz ARM and 1 GB or RAM 11:55
brrt i did, it was just... longer than i had expected
masak de-trains &
brrt wait 11:56
brrt i probably don't even need to cross-compile.... we're running on a virtual machine, after all 11:56
kresike brrt, have you quantified "a long time" ? :) 11:57
brrt in this case, about two, three minutes 12:03
grondilu p6: say 100 > 100/2 ?? "ok" !! "oops" 12:11
p6eval pugs, niecza v17-23-gfb775fb: OUTPUT«ok␤»
..rakudo dca0fa: OUTPUT«oops␤»
jnthn hmmm... 12:19
multi sub infix:«>»(Int:D \$a, Rational:D \$b) { $a * $b.denominator > $b.numerator * $a
}
grondilu r: say pack "l", 4213; 12:21
p6eval rakudo dca0fa: OUTPUT«Unrecognized directive l␤ in block <anon> at src/gen/CORE.setting:6786␤ in method reify at src/gen/CORE.setting:4897␤ in method reify at src/gen/CORE.setting:4792␤ in method reify at src/gen/CORE.setting:4792␤ in method gimme at src/gen/CORE.setting:5179␤ in …
grondilu I added an implementation for packing/unpacking signed integers on my repo. How can I post it?
jnthn grondilu: Easiest way is to push it to a fork on github, and send a pull request. 12:24
grondilu Ok. I'll try to do that. 12:25
jnthn Thanks
grondilu++ # improving pack/unpack
brrt segmentation fault in perl6, thats probably parrot, right? 12:32
tadzik not neceserilly
brrt hmm
i'm rebuilding anyway 12:33
grondilu branching and forking is different on github, right? I mean, I forked rakudo on github but can I use a local branch as a repo for this fork? 12:47
tadzik when you fork, you start owning a copy of the repo, with all its branches 12:48
grondilu ahh 12:49
jnthn Right, and the difference is you can push to your copy.
tadzik so you can start a new branch in your copy, and then tell us "please merge this remote branch I created" 12:50
lumi_ Can grammars be run on a streaming input? 13:01
masak they're meant to can that. 13:02
but no impl does it yet.
grondilu I made my copy on the main branch of my fork. I add to copy my modifs manually because somehow I could not push as I do with my other repos. I hope it's ok. github.com/grondilu/rakudo It's in src/core/Buf.pm 13:03
grondilu s/I add to copy/I had to copy/ 13:03
masak lovely typo. 13:04
grondilu There was also a bug in dealing with pack 'H', ... s/if $hexstring % 2/if $hexstring.ords % 2/' 13:06
masak ooh 13:08
grondilu++
grondilu glad to help :) 13:17
jnthn masak: There was a Rat/Int bug a few moments back that you may not have submut also. 13:19
masak I'm not fully backlag yet. 13:22
lumi_ jnthn: I've found some issues with grammar-debugger, it loops on missing rules 13:26
[Coke] masak: idiot. ZOMG thank goodness it's not just me.
jnthn lumi_: Ouch. That should be fixed. 13:27
lumi_: Please do file a github issue.
lumi_ jnthn: Sure 13:28
masak .oO( "idiot"? ) :) 13:34
[Coke]: a good day to you too, sir :P
PerlJam chromatic has just indeirectly changed my thinking about "Using Perl 6" 13:46
masak go on. 13:47
PerlJam The last sentence of www.modernperlbooks.com/mt/2012/05/...hings.html -- "That's also one reason why Modern Perl: The Book uses small test programs to demonstrate language features: working in small steps is too important to ignore."
The chapters in UP6 aren't small enough steps 13:48
the contents of the chapters (not all of them, but most I think) aren't small enough steps
masak agreed. 13:49
sjn PerlJam++ # good thoughts about UP6 13:51
PerlJam I realized it's one of the reasons I haven't worked on it lately. Even making a small contribution has a too-large barrier to entry in that it must "fit" within the general framework of the book. for instance, each chapter expounds upon a single bit of code, so, to illustrate something it has to fit into the code or be indirectly explainable by relating to the code. 13:53
masak bug reports deserve to be small. commits deserve to be atomic. book examples deserve to be simple.
[Coke] masak: in context it was something about de bugging sessions ending in "oh, and I'm an idiot." 13:57
I cannot tell you how many times that has happened to me, almost to a wrd. 13:58
*word
masak [Coke]: my internal dialogue is never that harsh, but I guess I have some equivalent of that, too.
(and yes, I presumed you were referring to that tweet)
colomon [Coke]++ 13:59
[Coke] the best part is when I invariably am not running the version of the code I just edited. 14:02
who knew there were so many ways to test the wrong thing.
masak colleague calls that "chasing ghosts". 14:03
kresike did you guys notice, that a bug seems such a simple thing after one squashes it ? 14:05
jnthn kresike: Quite often, but not always. Some things are genuinely complicated. 14:07
masak a bug seems a simple thing after one golfs it ;) 14:09
kresike jnthn, If it's genuinely complicated, it can't be a bug. If it is both, then the one who created it was poking where he wasn't supposed to. 14:10
jnthn kresike: A bug indicates there's a defect. Sometimes, it feels like a silly mistake led to the defect. Sometimes, though, it raises a deeper issue that may not have been obvious up front, and doesn't really feel obvious even with hindsight. 14:14
Woodi but maybe in future before even writing a subroutine or modifing a line there will be design stage ? somethink like in Bell/Lucent telephony software - before someone change line he need to put half page comment why :) 14:17
masak I've seen bugs with genuinely complicated fixes.
jnthn I guess some bugs are a result of implementation errors, and some are a result of design errors. 14:17
masak Woodi: I try not to make code changes without knowing why I'm making them. does that count? :) 14:18
Woodi: similarly, when I'm ready to commit, I do a 'git diff' and check what it is I'm committing. if it's not coherent, I fix the commit first.
Woodi but sometimes code is written 'in hurry'...
masak right.
that mostly just means that you end up with a model that may not be consistent and may not carry subsequent changes well, instead of the sane model you took pains designing. 14:19
the argument "we don't have time to model/write tests/think" is a bit self-defeating, I think. (do you really have time to debug a lot, then?) it's easy to make, though. 14:20
Woodi btw. how you imagine 3d code ? :) for now we have 1D. meta-objects can be seen as 2D. if someone paint code meta would be 'under' for me. what should be 'up' ? :) 14:21
masak meta-objects are "up" for me. and reprs are "down".
Woodi such pictured editor would be nice for understending 14:22
Woodi but reps are kind outside a language... 14:22
imagine your vim session morph into 3D view like Compiz... 14:25
jnthn Meta-objects and reprs are kinda in a space that's to the side of the normal objects you work with. And within that space they point at right-angles.
masak fairy nuff. 14:26
in that sense, having them point at right angles is important in itself.
jnthn Yes
That's how repr poly arises. :)
flussence
.oO( firefox has a button for that )
14:27
Woodi flussence: but no 'semantics' yet :)
mikec_ a 3d mode? 14:28
flussence it only shows you DOM tree nesting as depth (which I don't find all that useful), but yeah 14:31
masak amkrankruleuen! \o/ 14:52
dalek p/qbootstrap: aee8809 | pmichaud++ | src/Q (2 files):
Fix bug with subcaptures receiving empty hash entries from outer match quantified captures (RT #111286).
15:00
p/qbootstrap: dfb6d5a | tadzik++ | VERSION:
bump VERSION to 2012.05
p/qbootstrap: 770e9f2 | moritz++ | src/Regex/P6Regex/ (2 files):
implement <|w> and <|c> regex assertions
p/qbootstrap: 31fdcee | moritz++ | / (3 files):
oops, should have implemented <|w> in qregex right away. With basic tests this time
p/qbootstrap: 4bac8c3 | jnthn++ | / (8 files):
Merge branch 'master' into qbootstrap
jnthn huh, merge detection fail...
masak well, it *is* a heuristic :) 15:01
jnthn ah, troo 15:04
amkrankruleuen masak: Hi!
masak amkrankruleuen: how's things? 15:06
amkrankruleuen Okay :D 15:07
masak r: enum Goodness <Terrible Lousy Bad Okay Good Excellent>; say +Goodness::Okay 15:10
p6eval rakudo dca0fa: OUTPUT«3␤»
masak "I give it a 3 out of 5." :P
amkrankruleuen masak: Joke, I programming for hobby because i am a student and i don't have time for seriously program, maybe soon because i have a holiday :x 15:13
masak :) 15:14
TimToady r: Method.^methods(:all).say 15:15
p6eval rakudo dca0fa: OUTPUT«No such method 'gist' for invocant of type 'Sub'␤ in method gist at src/gen/CORE.setting:4429␤ in sub say at src/gen/CORE.setting:6802␤ in method say at src/gen/CORE.setting:700␤ in block <anon> at /tmp/S2TVD8PgLv:1␤␤»
TimToady that's what I think when you ask "Can methods have methods?" 15:16
not, "Can methods contain method declarations?"
masak huh. that never crossed my mind. 15:17
well, if "everything is an object", then methods can have methods almost by definition :)
TimToady maybe you have a lexical mind
masak my mind sure doesn't feel too dynamic right now... :)
jnthn Also, that error is due to a bootstrap leakage. 15:18
[Coke] wonders if sorear's finals are over. ;) 15:19
(what with all the commits)
sorear++
# 05/20/2012 - rakudo++ (22246); niecza (91.72%); pugs (34.8%) 15:21
"niecza", 20406, 7, 760, 1448, 22621, 24113
"pugs" , 7743, 1970, 2978, 1297, 13988, 23974
"rakudo", 22246, 30, 640, 1891, 24807, 24113
colomon, sorear: niecza is failing 7 tests atm. done from 30ish.
*down 15:22
sjn seen pmichaud 15:23
aloha pmichaud was last seen in #perl6 14 hours 5 mins ago saying "o/ sorear".
colomon [Coke]: \o/ sorear++'s fixes, I presume. 15:25
[Coke] also made a little ground on passing more tests, but rakudo is still increasing. 15:27
pugs could use a little love. ;)
masak wasn't it up to 40% at one point? 15:32
flussence I spent a few hours travelling without net access over the weekend, so I made a thing while I was waiting: github.com/flussence/perl6-Version 15:37
(it doesn't currently do much because I'm really bad at writing grammar-related code)
sisar o/ 15:39
so here is the same code in perl6 and python: gist.github.com/2762953. While the perl6 the loop terminates, in pyhton it is an infinite loop. Though both behaviour have their reasons, I can't decide which is better. 15:41
estrai sisar: is the typo there intentional? 15:42
sisar why python's behaviour is logical, perl6's behaviour is trying to prevent one from potentially infinite loops
estrai: which one?
estrai @rray
sisar oh, no, not intentional. Just missed an 'a' ! 15:43
so, perl6 makes a temporary copy of @array before it even starts looping. Why ? 15:44
kresike bye all
flussence it counts the array then iterates over it 15:45
sisar (typo fixed) 15:45
flussence copying every array just to loop over it would be crazy inefficient, I think only PHP does that (and only because it uses copy on write)
sisar flussence: what are merits of that, counting before iterating ? 15:46
sisar flussence: aye, making a copy would be super inefficient. 15:47
flussence if you have an SQL result pretending to be an array, you don't want it going off and calling a .count that does "select count(*)" on every iteration 15:47
sisar flussence: i'm sorry i'm not familiar with SQL 15:48
geekosaur don't worry about it. point is that an array might not be an array, it might be a big chunk of code pretending to be an array 15:49
and you don't want to hammer that big chunk of code pointlessly
flussence it'd be like calling strlen() in C on a really big string
sisar geekosaur, flussence: would you say pyhton is wrong(ish) ? 15:50
*python
TimToady the whole point of lazy lists is that you never ask for the size of something you're iterating over if you can help it 15:51
and I think an array iterator should be able to track a growing array without snapshotting the old length 15:52
flussence that makes sense, but I can't imagine it being fun to implement :) 15:54
geekosaur sisar, I am not sure I'd say that; there are tradeoffs in language design and implementation
sisar TimToady: so it is a genuine bug? fwiw, both niecza and rakudo iterate only twice. 15:55
TimToady I think so 15:56
masak r: my @a = < A B C >; @a = @a.map: { lc $_ }; .say for @a 16:04
p6eval rakudo dca0fa: OUTPUT«a␤b␤c␤»
masak r: my @a = < A B C >; @a = @a.map: { .lc }; .say for @a
p6eval rakudo dca0fa: OUTPUT«a␤b␤c␤»
masak r: my @a = < A B C >; @a = @a.map: &lc; .say for @a
p6eval rakudo dca0fa: OUTPUT«a␤b␤c␤»
masak r: my @a = < A B C >; @a = @a».lc; .say for @a 16:05
p6eval rakudo dca0fa: OUTPUT«a␤b␤c␤»
masak r: my @a = < A B C >; @a».=lc; .say for @a
p6eval rakudo dca0fa: OUTPUT«a␤b␤c␤»
masak r: my @a = < A B C >; @a = (.lc for @a); .say for @a 16:06
p6eval rakudo dca0fa: OUTPUT«a␤b␤c␤»
sisar has reported rakudobug
masak sisar++
sisar masak: how do i find out the version of my local niecza? 16:08
flussence niecza -v
TimToady p6: my @array = 1,2; for @array { .say; @array.plan: $_ + 2 } 16:09
p6eval niecza v17-23-gfb775fb: OUTPUT«1␤2␤»
..rakudo dca0fa: OUTPUT«1␤No such method 'plan' for invocant of type 'Array'␤ in block <anon> at /tmp/9veQNyHOzw:1␤␤»
..pugs: OUTPUT«1␤*** No such method in class Array: "&plan"␤ at /tmp/eSBO0uvJ4n line 1, column 37-57␤»
sisar flussence: That gives "This is Niecza Perl 6 (unknown)"
TimToady nom doens't have .plan ?
flussence that's weird. maybe it only works with a git tree or something 16:10
sisar heck, i'll just report the SHA-1 of the last commit in my niecza clone
sisar reported nieczabug 16:16
my nieczabug report is much better than rakudo's
bug reporting is an art :) 16:17
masak++ for his tireless bugreporting
masak hey, thanks :) 16:18
sisar masak: can I edit my rakudo bug report ? 16:19
github allows you to edit it
jnthn TimToady: Not yet, afaik 16:20
jnthn It'd be nice of rakudobug reports had a code example... 16:37
As well as "got" and "expected"
sisar jnthn: I know, and i'm sorry for the shabiness. Soon after filing my bug report i realised that it was a horrible bug report. Compare that to my niecza report, which is probably what you wanted: github.com/sorear/niecza/issues/124 16:45
but there is no way to edit the RT report, is there ? 16:46
jnthn sisar: Can always just post a follow-up to it
sisar jnthn: right . i'll do that. 16:47
jnthn++ teaching even the small thing :)
*things
jnthn suspects that given it's a lists issue, pmichaud++ will probably have something to say about it :) 16:49
[Coke] n: (lc <A B C>).perl.say 17:19
p6eval niecza v17-23-gfb775fb: OUTPUT«"a b c"␤»
[Coke] works on a reply to raiser.
[Coke] is there a shorter way to write: @a = @a>>.lc ? 17:23
TimToady yeah, use » instead :P 17:24
p6: my @a = <A B C>; @a».=lc; say @a 17:25
p6eval pugs: OUTPUT«ABC␤»
..rakudo dca0fa, niecza v17-23-gfb775fb: OUTPUT«a b c␤»
TimToady hmm, I wonder what pugs is thinking 17:26
[Coke] huh. I wonder why my first attempt at that in rakudo's repl failed.
timtoady++
TimToady p6: my @a = <A B C>; @a>>.=lc; say @a
p6eval pugs: OUTPUT«ABC␤»
..rakudo dca0fa, niecza v17-23-gfb775fb: OUTPUT«a b c␤»
TimToady maybe you tried putting space into the postfix? 17:27
moritz REPL+Unicode issue? 17:28
TimToady not if he used >> 17:29
[Coke] eh. works now. email sent. no worries. (that's the syntax I thought I tried to use, so I didn't even have to change my mind!) 17:30
Woodi I have method !__parse_result() in parent class and now I want use it in subclass but do not want to make it public, just usable for subclasses. how I can do it ? 17:37
masak Woodi: there is no "just for subclasses" in Perl 6. 17:38
jnthn Woodi: "trusts TheSubclass;" in the parent class, then fully qualify the call.
Note that you have to predeclare the subclass.
[Coke] jnthn++
masak but a parent class mentioning a subclass feels odd.
jnthn masak: Yes. :)
masak it's O(subclasses), if nothing else. 17:39
Woodi I can say it is secure :)
masak also, you generally don't want a dependency in that direction.
jnthn Well, this is the point where I start asking things like, "is inheritance the right thing here?" :)
Woodi yes, it is natural in many cases 17:40
jnthn masak: Well, the "protected" keyword in things like C#/Java gives you dependencies in that direction, without having to declare them upfront. I guess that's arguably worse. :)
Woodi all that OO programming is just twiking and fixing and using methods from classes up in hierarchy... 17:41
I feel like P6 classes are instantiated objects somehow...
but big thanx jnthn++ for answer :) I tried notation for trust but missed allowance part 17:43
sorear good * #perl6 17:48
masak! You live! :)
TimToady or at least undies... 17:49
masak sorear: I was away in .uk, and didn't have much energy for IRC... 17:57
sorear: interesting direction you're planning to take Niecza. 17:58
sorear Niecza used to have VM portability as a goal, but now I'm thinking I should cede that niche to Rakudo and focus on what I can do *without* VM portability 18:00
sorear two compilers trying to occupy the same niche is less than useful 18:00
masak agreed. 18:02
which is why it's an interesting direction :)
masak libertyprime: ahoj. 18:03
dukeleto o/ 18:03
[Coke] masak, sorear: i missed what direction this is. 18:04
was it.. move more into C#?
sorear yes 18:05
o/ dukeleto
dukeleto sorear: good localtime() 18:06
sorear o/ spider-mario
spider-mario \o
TimToady otoh, niecza already had an interesting direction in terms of trying to bootstrap a compiler in Perl 6, which rakudo is not trying to do (at least, not yet) 18:13
eventually, I'd like to see your C# compiler actually written in the C# subset of Perl 6. :) 18:14
jnthn TimToady: How's that differ from Rakudo's compiler being written in the NQP subset of Perl 6? :)
TimToady not that much different, but I'd rather think we're converging on eating our own dogfood than someone else's 18:16
jnthn Ah, OK :) 18:17
TimToady to the extent to which NQP is better for this than Perl 6 is, to that extent Perl 6 has not yet attained my long-term goal :)
I recognize the need for scaffolding though 18:18
I also recognize that my ideal Perl 6 is not something that is actually possible, and there will always be things that other languages (nqp included) are likely to be better at 18:20
but at some point "close enough" becomes "close enough to pay the price for convergence" 18:21
native types will help a lot there, when we get things ironed out a little better
jnthn *nod* 18:22
NQP will get native types in the near future.
Well 18:23
Natively typed lexicals
It already has the attributes.
TimToady sorear: another approach would be to write a P6-to-C# translator, and write your compiler in a dialect that translates easily, much like the STD-to-p5 trick. 18:26
with support for a restricte set of native types, say... 18:27
*ted
that can, of course, be done from the other end too, writing in C#, and then backfilling the P6 that could translate to that 18:28
dalek p/qbootstrap: 56d136a | jnthn++ | src/QRegex/NFA.nqp:
First crack at making LTM transitivity extend into protoregexes. Basically, just builds an alternation, as suggested by pmichaud++. Seems to help some with the NQP tests.
18:29
jnthn pmichaud: ping
TimToady this might influence the subsequent design of the native type system, of course 18:29
TimToady considers it a feature that he does not always distinguish vision from wishful thinking... :) 18:30
sorear TimToady: I thought about that approach, but thought it was too close to what Rakudo was already doing 18:32
jnthn phenny: tell pmichaud 56d136a takes a crack at extending LTM transitivity into protoregexes. It adds time to build the NFA (a good bit for term), but OTOH seems that we trim a load more early. We'd probably do better if <ident> got an NFA - suggestions? 18:33
phenny jnthn: I'll pass that on when pmichaud is around.
TimToady also wonders to what extent writing a Perl 6 compiler in C# will end up merely inventing another Perl 6 interpreter... 18:34
sorear interpreter, compiler, there isn't much difference 18:35
dalek ast: 8eec946 | (Kyle Hasselbacher)++ | S04-statements/for.t:
[for.t] Test for RT 113026: array iterator does not track a growing array
18:45
masak an interpreter is a switch statement in a loop. :) a compiler feels like the result of applying caching techniques to an interpreter. 18:51
masak though that's a rather obtuse way of expressing that a compiler is a semantics-preserving transformation function between two languages. 19:04
kresike evening 19:20
sorear o/ kresike 19:23
kresike sorear, o/ 19:24
masak [Coke]: oh sorry, I replied to Parrot Raiser's p6u message, but I must've forgotten to cc p6u. 19:43
masak doesn't like the new "reply" affordances of Gmail 19:44
TimToady /metoo 19:45
and I wish there were an option to pull addresses out of a forwarded message as if it had been directly to the forwardee 19:46
benabik has no problem with gmail, but he just uses it as an IMAP server.
sorear has google figured out a way to serve ads over IMAP? 19:57
Woodi TimToady: you mentioned ideal Perl6 - maybe you have few ideas no one hear yet && you can && want to share ? :)
Khisanth sorear: Y! does so I don't see why Google be able to if they want ... 20:00
tadzik yay, I should be able to go to FPW :) 20:01
jnthn yay :)
tadzik the last exam is 28th of June
jnthn needs to sort out travel there... 20:02
tadzik so I'll have to fly fast :)
tadzik downside: they'll want me to make a Dancer talk :P 20:04
seen eiru
aloha eiru was last seen in 15481 days 20 hours ago .
tadzik hrm
masak eiro.
sorear ohai, stalker
tadzik right :)
seen eiro
aloha eiro was last seen in #perl6 11 days 23 hours ago joining the channel.
sorear :)
sorear o/ DreamingInCode 20:10
sergot hi !:) 20:21
sorear o/ sergot 20:22
masak sergocie! \o/ 20:23
tadzik \o/
sergot \o/
masak pmichaud++ # p6u reply 20:25
cognominal p6u? 20:38
geekosaur perl6-users list
dalek pan style="color: #395be5">perl6-examples: 5da3bb3 | sergot++ | other/combinations.pl:
[other/combinations.pl] POD added.
dalek ast: 295034d | (Kyle Hasselbacher)++ | S29-context/die.t:
Updated test for RT 67374
20:44
pan style="color: #395be5">perl6-examples: 497edda | sergot++ | template.pod:
Please use this template when adding new examples.
20:45
pan style="color: #395be5">perl6-examples: d27e331 | sergot++ | template_pod:
Err..
20:46
sorear Juerd: ping
dalek pan style="color: #395be5">perl6-examples: 605eee0 | sergot++ | template.pod:
Forgot to delete first template.
20:48
TimToady I think you meant p6c, but yes, pmichaud++
masak pretty sure I meant p6u. 20:50
TimToady if so, I ain't got it
TimToady or my mailer classified it some other way 20:50
sorear DreamingInCode++ on PM raises an interesting point 20:51
sorear cpan6.org is actively harmful to Perl 6's image and needs to be taken down 20:51
does anyone have current contact info for Mark Overmeer? 20:52
dalek pan style="color: #395be5">perl6-examples: 4b31bc8 | sergot++ | README:
Please use POD.
sorear the site says he's an active member of amsterdam.pm, which is why I ping Juerd
sorear ISTR someone saying that he's not reachable by email from the old address 20:53
not certain if this is correct
diakopter someone donated 30k€ to it!?!
sorear even if it isn't, the Dutch personal site makes me nervous about my ability to communicate
tadzik sorear: he was on GPW, I'll see if there's an email to him on the wobsite 20:54
diakopter I wonder where the 30k€ went. 20:56
sorear DreamingInCode: come on in, the water's fine 21:05
diakopter I don't understand github.com/perl6/roast/commit/8eec946697
sorear diakopter: what about it don't you understand? 21:06
it looks like sisar wants index semantics for List iterators, rather than the current copy semantics 21:07
DreamingInCode heh, apologies. Punjabii tandoor is best enjoyed away from expensive keyboards P:
masak sorear: that's what I thought as well. 21:07
masak sorear: index semantics will never work anyway for something like `for @a, @b` 21:08
well, it could, perhaps, but it would be complex and probably violate someone's Least Surprise.
sorear masak: I think that for @a, @b can be made to do something unsuprising
sisar um, what are 'index' and 'copy' semantics ? 21:08
diakopter I don't understand why the intended result should be 1 2 3 4 5 6 7 8 9 10 1 3 5 7 9 1 5 9 5 5 21:09
DreamingInCode anyhow, from the corporate "getting shit done" perspective, perl6 offers a pleasing siren song to those looking for a more futureproof toolbox than perl5 is prepared to offer. Unfortunately with the lack of a clear and authoritative perl 6 cpan presence, it becomes relegated to "someday" status 21:10
sorear r: my @list = 1..10; my $index = 0; while ($index < @list) { push @list, @list[$index] if $index %% 2; $index++ } ; say @list 21:11
p6eval rakudo dca0fa: OUTPUT«1 2 3 4 5 6 7 8 9 10 1 3 5 7 9 1 5 9 5 5␤»
DreamingInCode certainly that's the case for my company anyway.
sorear that's why, diakopter
[Coke] doesn't see any send from pmichaud to p6u since may 8th. 21:12
diakopter sorear: ok, thanks
sorear I just googled 'punjabii tandoor' and got a bunch of places offering to sell it to me but nothing about what it *is*
I conjecture it may be a subconcept of 'food'
DreamingInCode heh, it's a hole-in-the-wall indian place in mira mesa (San Diego) 21:13
[Coke] try "tandoori chicken" as a more likely hit.
geekosaur diakopter, every other from the original list ++ every other from that ++ every other from that, etc. until the additions no longer add enough for there to be an every other (hence "5 5" at the end) 21:13
[Coke] not quite the same, but will give you a flavor (HA) about what the food DreamingInCode's place might be like.
sisar sorear: Punjabi tandoor refers to Chicken dish originating from Punjab, India or Punjab, Pakistan
s/dish/preparation 21:14
[Coke] rant: I can't have indian for dinner tonight!
sisar [Coke]: your favorite Indian dish is ? 21:15
DreamingInCode all of them?
sisar :) 21:16
.ety tandoor
phenny "1660s, from Turkish pronunciation of Pers. and Arabic tannur oven, portable furnace (see tandoori)." - etymonline.com
sisar ^thats the etymology of tandoor
[Coke] sisar; I like the lamb phaal, though it's painfully hot. many need to step down from the super hot version. 21:17
if I want something with great flavor but not as much heat, the korma is a good choice.
but mainly I like the buffet where I can do what DreamingInCode said. ;) 21:18
er, s/many/I may/
(phaal) First time I got "extra spicy" where I was SURE they were not holding back. ;) 21:19
DreamingInCode lol, if only cpan6 was half as robust as this food-related conversation.
tadzik patches welcome 21:20
[Coke] phaal welcome.
DreamingInCode would be happy to contribute, but I think it's more of a marketing problem 21:21
DreamingInCode Given that CPAN is the lifeblood of perl 5, In my opinion, cpan6.org's stunning lack of direction is actively damaging perl6's credibility. 21:24
masak DreamingInCode: only if you think cpan6.org has anything to do with Perl 6. 21:25
[Coke] DreamingInCode: see modules.perl6.org
diakopter "CPAN6 is not even usable on the moment (as is Perl6)."
DreamingInCode exactly
flussence perl6 works fine 21:26
flussence cpan6 appears to be an attention-seeking domain squatter 21:26
tadzik :)
masak flussence: a bit more than that... but not much.
DreamingInCode well, whoever, whatever the reason... it's the first place most people go when considering perl6 ( myself included )
masak really?
why?
diakopter not just attention-seeking; it appears to have stolen 30k€
[Coke] someone should write mark overmeer a nice note asking him to update that page and at least link to the official perl6 site (instead of the old tpf site.)
masak aye. 21:27
flussence wait, what?
diakopter masak: that was one of the first places I found years ago
masak :(
DreamingInCode well, I can only speak for myself, but from the perspective of a company looking to get stuff done, CPAN is a godsent
diakopter "the foundation Stichting NLnet contributes 30k€ to support the initial development of code and user community"
with nothing to show for it
masak "CPAN6" doesn't even make much sense as an acronym. neither does "6PAN", which I see sometimes. 21:28
linguistically, it feels like "hm, CPAN did something right, let's copy the name".
...badly.
[Coke] diakopter: that may be referring to nlnet's initial parrot support.
DreamingInCode I don't suppose it matters what the domain is, only that it's the loudest voice in the room ( or on a google search at least )
[Coke] DreamingInCode: what did you google for? 21:29
tadzik I don't see how that's the loudtest voice in the room
[Coke] not "perl6".
DreamingInCode been a while since I've dug into it... but would have been something to the effect of cpan perl 6
certainly I've not heard much commotion about something more authoritative 21:30
diakopter nlnet.nl/project/cpan6/how.html
[CPAN6 -- concluded on 2011/02]
The NLnet Foundation supports Mark Overmeer to promote the design and to start implementing CPAN6 with 30,000 euro.
masak wow.
DreamingInCode a tidy sum
[Coke] holy CRAP! 21:31
masak well, he does know how to make a living, I'll give him that.
flussence
.oO( maybe I should start accepting funds for a php PECL6... )
diakopter I wonder what "concluded on 2011/02" means.
masak but CPAN6 isn't really targeted for Perl 6's needs, and never was.
sorear how long can you live in .nl on 30k€?
DreamingInCode to me, an authoritative and well marketed CPAN style archive hub (distributed or otherwise) is the field of dreams for perl6 21:32
If you build it, they will come
flussence sorear: afaik, cost of living there is average for .eu
DreamingInCode until then, for businesses at least, it's "someday"
diakopter 2002-present, free-lancer
DreamingInCode or worse: Ruby
diakopter Currently a free-lancer working under the name MARKOV Solutions . My interests lie primarily in the area of the unusually complex software.
[Coke] so, anyway, his email address is probably [email@hidden.address] 21:33
masak DreamingInCode: I think any module repository for Perl 6 will have to evolve in a by-need/pain-driven manner.
flussence does ruby use something besides ad-hoc github repos?
[Coke] if anyone does email him, I encourage them to use the same tone they'd use in channel.
diakopter [email@hidden.address] seems prominent on his business website
masak 'night, #perl6
[Coke] even better.
masak: WAIT!
masak waits
[Coke] masak: buenos suenos! 21:34
flussence great, now you've got him stuck in a busy loop. 21:34
[Coke] . o O (stupid ascii keyboard)
masak [Coke]: gracias. buenas noches.
sergot good night! o/
masak 'branoc, sergocie who logs out too fast. 21:35
'n
tadzik ;)
tadzik k'night 21:35
DreamingInCode adios masak 21:36
[Coke] decommutes 21:42
kresike good night everyone 21:44
araujo anybody knows a good link for different char replacements in a string? ... I am interested to know about a way to replace different patterns at once with a value for a single string 21:48
jnthn takes an early night 21:49
o/
tadzik araujo: trans is the way to go I guess
r: say "foobar".trans(<a b c> => <A B C>) 21:50
p6eval rakudo dca0fa: OUTPUT«fooBAr␤»
tadzik ha, I even know how to use this :)
araujo tadzik, aah, already knew trans, though I was wondering if that was the preferred way , .... I was looking more for something like s/<pattern>/<value>/ , ... 21:52
mm...
tadzik sleeps too 21:53
g'night
diakopter niecza: package foo { package bar { say foo } } 22:15
p6eval niecza v17-23-gfb775fb: OUTPUT«Unhandled exception: System.NullReferenceException: Object reference not set to an instance of an object␤ at Niecza.STable.FindMethod (System.String name) [0x00000] in <filename unknown>:0 ␤ at Niecza.P6any.InvokeMethod (Niecza.Frame caller, System.Strin…
diakopter niecza: package foo { say foo }
p6eval niecza v17-23-gfb775fb: OUTPUT«Unhandled exception: System.NullReferenceException: Object reference not set to an instance of an object␤ at Niecza.STable.FindMethod (System.String name) [0x00000] in <filename unknown>:0 ␤ at Niecza.P6any.InvokeMethod (Niecza.Frame caller, System.Strin…
diakopter r: package foo { say foo } 22:16
p6eval rakudo dca0fa: OUTPUT«foo()␤»
sorear interstring
diakopter n: say my $.bar 22:19
p6eval niecza v17-23-gfb775fb: OUTPUT«===SORRY!===␤␤Unable to resolve method add_method in class Any at /tmp/GFZUGw9w1N line 1 (EOF):␤------> say my $.bar⏏<EOL>␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 1364 (di…
diakopter r: say my $.bar 22:23
p6eval rakudo dca0fa: OUTPUT«Useless declaration of a has-scoped method in mainline␤Any()␤»
diakopter r: say Rat.new(Inf,0) 22:31
p6eval rakudo dca0fa: OUTPUT«Nominal type check failed for parameter '$nu'; expected Int but got Num instead␤ in method new at src/gen/CORE.setting:7441␤ in block <anon> at /tmp/sIwTUnJEcN:1␤␤»
diakopter n: say Rat.new(Inf,0)
p6eval niecza v17-23-gfb775fb: OUTPUT«Inf␤»
diakopter r: for my $/ (); 22:37
p6eval rakudo dca0fa: OUTPUT«===SORRY!===␤Contextual %*PARAM_INFO not found␤»
diakopter LTA error
r: for our $:: (); 22:40
p6eval rakudo dca0fa: OUTPUT«===SORRY!===␤ResizablePMCArray: index out of bounds!␤»
diakopter LTA error
diakopter phenny: tell masak see the r: LTA errors in irclogs 22:41
phenny diakopter: I'll pass that on when masak is around.
cognominal p6: 'abc' ~~ m/(a) $<x>=[ $<b>=b c ]/; say $/.caps.list.values>>.keys;
p6eval rakudo dca0fa: OUTPUT«0 b x␤»
..pugs: OUTPUT«Error eval perl5: "if (!$INC{'Pugs/Runtime/Match/HsBridge.pm'}) {␤ unshift @INC, '/home/p6eval/.cabal/share/Pugs-6.2.13.20120203/blib6/pugs/perl5/lib';␤ eval q[require 'Pugs/Runtime/Match/HsBridge.pm'] or die $@;␤}␤'Pugs::Runtime::Match::HsBridge'␤"␤*** Can't locate P…
..niecza v17-23-gfb775fb: OUTPUT«Capture b starts at 1 overlaps x at 3␤ at /home/p6eval/niecza/lib/CORE.setting line 1239 (warn @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting line 2749 (Match.caps @ 21) ␤ at /tmp/DVaE3hcSN4 line 1 (mainline @ 4) ␤ at /home/p6eval/niecza/lib/CORE.setti…
cognominal I would have expected "0 b\n" 22:43
I mean "0 x\n"
back reading S05 22:45
p6: 'abc' ~~ m/(a) $<x>=( $<b>=b c )/; say $/.perl.list.values>>.keys; 22:46
p6eval pugs: OUTPUT«Error eval perl5: "if (!$INC{'Pugs/Runtime/Match/HsBridge.pm'}) {␤ unshift @INC, '/home/p6eval/.cabal/share/Pugs-6.2.13.20120203/blib6/pugs/perl5/lib';␤ eval q[require 'Pugs/Runtime/Match/HsBridge.pm'] or die $@;␤}␤'Pugs::Runtime::Match::HsBridge'␤"␤*** Can't locate P…
..rakudo dca0fa, niecza v17-23-gfb775fb: OUTPUT«0␤»
diakopter n: for my $|{ say 3 } { say 4 } # sorear wth am I doing here 22:48
p6eval niecza v17-23-gfb775fb: OUTPUT«4␤»
cognominal p6: 'abc' ~~ m/(a) $<x>=( $<b>=b c )/; say $/.caps.list.values>>.keys;
p6eval niecza v17-23-gfb775fb: OUTPUT«0 0␤»
..pugs: OUTPUT«Error eval perl5: "if (!$INC{'Pugs/Runtime/Match/HsBridge.pm'}) {␤ unshift @INC, '/home/p6eval/.cabal/share/Pugs-6.2.13.20120203/blib6/pugs/perl5/lib';␤ eval q[require 'Pugs/Runtime/Match/HsBridge.pm'] or die $@;␤}␤'Pugs::Runtime::Match::HsBridge'␤"␤*** Can't locate P…
..rakudo dca0fa: OUTPUT«0 x␤»
cognominal ok, [] just groups, it does not introduce a new capture. Makes sense. 22:49
diakopter n: for my $|||{} { say 4 } 22:50
p6eval niecza v17-23-gfb775fb: OUTPUT«4␤»
Juerd sorear: markov on irc.perl.org 23:17
Juerd sorear: Also, good luck. 23:17
sorear is anyone working on a letter yet? 23:23
dalek blets: 76e45c4 | (Herbert Breunung)++ | docs/index.txt:
update and fix TOC (index)
23:32
diakopter n: say():[] 23:37
p6eval niecza v17-23-gfb775fb: OUTPUT«Unhandled exception: Excess arguments to gistcat, unused named ␤ at /home/p6eval/niecza/lib/CORE.setting line 0 (gistcat @ 1) ␤ at /home/p6eval/niecza/lib/CORE.setting line 1249 (say @ 4) ␤ at /tmp/R4gB6677Xj line 1 (mainline @ 2) ␤ at /home/p6eval/nie…
diakopter n: say(3;) 23:39
p6eval niecza v17-23-gfb775fb: OUTPUT«===SORRY!===␤␤Slicel lists are NYI at /tmp/tRgIME6mCF line 1 (EOF):␤------> say(3;)⏏<EOL>␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 1364 (die @ 3) ␤ at /home/p6eval/niecza/…
diakopter hm