»ö« 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 | |
:) | |||
00:02
lestrrat left
00:03
lestrrat joined
00:06
whiteknight joined,
whiteknight is now known as Guest85916
00:07
fridim_ left
00:10
Chillance left
|
|||
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 | |
00:25
sisar left,
cognominal_ joined
00:27
cognominal left,
replore_ joined
00:45
tokuhirom joined
|
|||
dalek | ecza: 33cedc2 | sorear++ | lib/Kernel.cs: Fix secondary InvalidCastException when validating module cache fails (#121) |
00:45 | |
00:49
tokuhirom left
00:55
s1n left
01:03
tokuhirom joined
|
|||
sorear | errrrh. I forgot how little I understand this code | 01:07 | |
01:09
imarcusthis left
01:11
pmichaud joined,
s1n joined
|
|||
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 | |
01:16
s1n left,
imarcusthis joined
|
|||
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 | ||
01:31
s1n joined
|
|||
dalek | ecza: 99bda95 | sorear++ | lib/Builtins.cs: Always unpack arrays passed to Mu.new (fixes #104) |
01:33 | |
01:35
s1n left
01:44
Guest85916 left
|
|||
sorear | n: s[x].=flip | 01:45 | |
p6eval | niecza v17-14-g33cedc2: OUTPUT«===SORRY!===Malformed assignment operator at /tmp/KZr0bgP5DF line 1:------> s[x].=⏏flipParse failed» | ||
sorear | n: s[x] .= flip | ||
p6eval | niecza v17-14-g33cedc2: OUTPUT«===SORRY!===Malformed assignment operator at /tmp/BR7ZYVQpoe line 1:------> s[x] .=⏏ flipParse 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» | ||
01:50
s1n joined
01:56
s1n left
|
|||
sorear | std: s[x] + 5; | 01:57 | |
p6eval | std 8632387: OUTPUT«ok 00:00 42m» | ||
01:58
scott_ joined,
scott_ is now known as Guest33396
|
|||
dalek | ecza: eacfab8 | sorear++ | src/STD.pm6: Copy TimToady++ fix for [.rotate], fixes #113 |
01:59 | |
02:01
pat_js left
02:05
lestrrat left
02:06
lestrrat joined
02:07
sivoais left
02:09
plobsing_ joined,
aloha left
|
|||
colomon | sorear++ # lots of patches today! | 02:09 | |
02:10
s1n joined
02:12
plobsing left
02:17
aloha joined
|
|||
colomon | sorear: though it looks like we're failing more spectests than usual now. | 02:18 | |
02:22
orafu left,
orafu joined
|
|||
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 | ||
02:25
thou joined
|
|||
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 | ||
02:36
thou left
|
|||
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 | |
02:44
leprevost left
|
|||
moritz | but the first nom-based star was 2012.01 | 02:45 | |
colomon | sorear: trying dtruss now | 02:51 | |
02:53
wolfman2000 left,
mikemol left
02:56
leprevost joined
|
|||
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 | ||
03:01
leprevost left
03:06
wolfman2000 joined
|
|||
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 | |
03:36
sivoais joined
03:39
lestrrat left,
lestrrat joined
|
|||
sorear | r: my %foo = a => 1, b => 2; say %foo{*}.perl | 03:42 | |
p6eval | rakudo dca0fa: OUTPUT«(1, 2)» | ||
03:59
localhost left
04:00
apejens left,
takesako left,
takesako joined,
xinming left
04:01
localhost joined,
TimToady left,
TimToady joined
04:02
xinming joined,
revdiablo joined
04:27
apejens joined
|
|||
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 | ||
05:17
adu joined
05:36
kaleem joined
05:49
replore_ left
05:55
Guest33396 left
06:06
tyatpi left
06:07
ab5tract joined
|
|||
dalek | ecza: a900903 | sorear++ | lib/ (3 files): Implement [*] style zen slices (fixes #111) |
06:12 | |
06:13
wtw joined
06:15
mucker joined
|
|||
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 |
|||
06:33
scott_ joined
06:34
scott_ is now known as Guest49940
07:16
fhelmberger joined
07:25
cognominal joined
07:28
cognominal_ left
07:30
japhb joined
07:32
adu left
07:33
brrt joined
07:36
mucker left
07:38
mucker joined
07:39
japhb left
07:55
daxim joined
08:33
cognominal left
08:38
Chillance joined
|
|||
sorear | sleep& | 08:44 | |
08:44
cognominal joined
08:49
dakkar joined
|
|||
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 | |||
09:07
lumi_ joined
|
|||
tadzik | I did unbreak it yesterday | 09:18 | |
moritz | \o/ | ||
tadzik | and we have new tjs.azalayah.net/new.html | 09:19 | |
09:20
domidumont joined
|
|||
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 | ||
09:29
mdupont left
09:30
sergot joined
|
|||
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 | |
09:34
xinming_ joined,
mdupont joined
09:37
xinming left
|
|||
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 | ||
10:13
Guest49940 left
|
|||
masak | sorear: so... PSPACE-compelte is actually worse than NP-complete, from a cursory glance at the Wikipedia page. | 10:16 | |
complete* | |||
10:21
birdwindupbird joined
10:27
kresike joined,
mucker left
|
|||
kresike | #freeswitch | 10:27 | |
oops, forgot the /j ... sorry | |||
10:30
sunny_ joined
|
|||
sunny_ | Hi.. | 10:30 | |
moritz | hi sunny_, kresike | 10:31 | |
10:31
sunny_ left
|
|||
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 | |
10:40
cognominal_ joined
|
|||
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> | ||
10:43
cognominal left
|
|||
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 | ||
10:54
kubrat joined
|
|||
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 | ||
11:09
tyatpi joined
|
|||
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 | ||
11:21
alim joined
|
|||
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 | |
11:33
Woodi joined
|
|||
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 | |
11:39
cognominal_ left
|
|||
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.) | |||
11:40
cognominal joined
|
|||
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 :) | ||
11:42
cognominal_ joined
|
|||
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 | |
11:45
cognominal left
|
|||
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? | ||
11:55
thou joined
|
|||
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 | |
11:56
mdupont left
|
|||
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 | |
11:57
skids left
11:59
sporous left
12:00
sporous joined
12:01
xinming_ left,
mdupont joined
|
|||
brrt | in this case, about two, three minutes | 12:03 | |
12:11
grondilu joined
|
|||
grondilu | p6: say 100 > 100/2 ?? "ok" !! "oops" | 12:11 | |
p6eval | pugs, niecza v17-23-gfb775fb: OUTPUT«ok» | ||
..rakudo dca0fa: OUTPUT«oops» | |||
12:13
snearch joined
12:14
wolfman2000 left
12:17
bluescreen10 joined
12:18
Chillance left
|
|||
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 | |||
12:30
Chillance joined
|
|||
brrt | segmentation fault in perl6, thats probably parrot, right? | 12:32 | |
tadzik | not neceserilly | ||
brrt | hmm | ||
i'm rebuilding anyway | 12:33 | ||
12:35
raiph joined
12:41
icwiener joined
12:44
lestrrat left,
Khisanth left
12:45
lestrrat joined
|
|||
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 | |
12:48
fhelmberger left
|
|||
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 | |
12:55
PacoAir joined
12:59
Khisanth joined
|
|||
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. | |||
13:02
araujo left
13:03
NamelessTee left
|
|||
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 | |
13:03
araujo joined
|
|||
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 | |
13:07
Psyche^ joined
|
|||
masak | ooh | 13:08 | |
grondilu++ | |||
13:09
Patterner left,
Psyche^ is now known as Patterner
13:11
jaldhar left
13:12
jaldhar joined
|
|||
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 | |
13:22
grondilu left
13:25
skids joined
|
|||
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 | |
13:30
domidumont left
13:32
fhelmberger joined
|
|||
masak .oO( "idiot"? ) :) | 13:34 | ||
[Coke]: a good day to you too, sir :P | |||
13:44
domidumont joined
13:46
icwiener left
|
|||
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 | |
13:50
mikemol joined
|
|||
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. | ||
13:54
kaleem left
13:56
sisar joined
|
|||
[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 | |
14:00
sergot left
14:01
NamelessTee joined,
NamelessTee left,
NamelessTee joined
|
|||
[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 | |
14:06
icwiener joined
|
|||
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. | ||
14:17
raiph left
|
|||
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 | |
14:22
xdbr joined
|
|||
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 | |
14:30
PacoAir left
|
|||
flussence | it only shows you DOM tree nesting as depth (which I don't find all that useful), but yeah | 14:31 | |
14:38
wtw left
14:47
amkrankruleuen joined
|
|||
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 | |
15:01
brrt left
|
|||
jnthn | ah, troo | 15:04 | |
amkrankruleuen | masak: Hi! | ||
masak | amkrankruleuen: how's things? | 15:06 | |
amkrankruleuen | Okay :D | 15:07 | |
15:08
[hds] joined
15:09
[hds] left,
[hds] joined
|
|||
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 | ||
15:10
tokuhirom left
15:11
tokuhirom joined
|
|||
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» | ||
15:15
tokuhirom left
|
|||
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 | |
15:27
paul_tyler1 left
|
|||
[Coke] | also made a little ground on passing more tests, but rakudo is still increasing. | 15:27 | |
pugs could use a little love. ;) | |||
15:30
colomon left
15:31
birdwindupbird left
|
|||
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 | ||
15:45
kresike left
|
|||
flussence | it counts the array then iterates over it | 15:45 | |
15:45
joeb_ joined
|
|||
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 | |
15:46
joeb_ left,
job_ joined
|
|||
sisar | flussence: aye, making a copy would be super inefficient. | 15:47 | |
15:47
am0c joined
|
|||
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 | |
15:48
job_ left
|
|||
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 | ||
15:55
kaare_ joined
|
|||
sisar | TimToady: so it is a genuine bug? fwiw, both niecza and rakudo iterate only twice. | 15:55 | |
TimToady | I think so | 15:56 | |
15:57
xinming joined
15:59
thou left
16:00
thou joined
16:03
[hds] left
|
|||
masak | r: my @a = < A B C >; @a = @a.map: { lc $_ }; .say for @a | 16:04 | |
p6eval | rakudo dca0fa: OUTPUT«abc» | ||
masak | r: my @a = < A B C >; @a = @a.map: { .lc }; .say for @a | ||
p6eval | rakudo dca0fa: OUTPUT«abc» | ||
masak | r: my @a = < A B C >; @a = @a.map: &lc; .say for @a | ||
p6eval | rakudo dca0fa: OUTPUT«abc» | ||
masak | r: my @a = < A B C >; @a = @a».lc; .say for @a | 16:05 | |
p6eval | rakudo dca0fa: OUTPUT«abc» | ||
masak | r: my @a = < A B C >; @a».=lc; .say for @a | ||
p6eval | rakudo dca0fa: OUTPUT«abc» | ||
masak | r: my @a = < A B C >; @a = (.lc for @a); .say for @a | 16:06 | |
p6eval | rakudo dca0fa: OUTPUT«abc» | ||
sisar has reported rakudobug | |||
masak | sisar++ | ||
16:06
alim left
16:07
icwiener left,
NamelessTee left
|
|||
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«12» | ||
..rakudo dca0fa: OUTPUT«1No 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 | ||
16:11
NamelessTee joined
16:12
japhb joined
|
|||
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 | |
16:25
amkrankruleuen left
|
|||
jnthn | It'd be nice of rakudobug reports had a code example... | 16:37 | |
As well as "got" and "expected" | |||
16:38
daxim left
16:39
colomon joined
|
|||
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 | ||
16:57
PacoAir joined
16:58
zby_home_ joined
16:59
domidumont left
17:00
plobsing joined
17:02
kaleem joined,
plobsing_ left
17:04
libertyprime left
17:05
erkan left,
s1n left
17:10
dakkar left
|
|||
[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. | |||
17:20
s1n joined
|
|||
[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 | |
17:27
slavik1 left
|
|||
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 | |
17:37
kaleem left
|
|||
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 | |
17:55
PacoAir left
17:56
PacoAir joined,
mucker joined
|
|||
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 | ||
17:59
mucker left
|
|||
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 | |
18:00
fhelmberger left
|
|||
sorear | two compilers trying to occupy the same niche is less than useful | 18:00 | |
18:01
daxim joined
|
|||
masak | agreed. | 18:02 | |
which is why it's an interesting direction :) | |||
18:02
libertyprime joined
|
|||
masak | libertyprime: ahoj. | 18:03 | |
18:03
dukeleto joined
|
|||
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 | |||
18:06
spider-mario joined
|
|||
dukeleto | sorear: good localtime() | 18:06 | |
sorear | o/ spider-mario | ||
spider-mario | \o | ||
18:07
fridim_ joined
|
|||
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. | |||
18:24
pyrimidine left
|
|||
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 | ||
18:29
cognominal_ left
|
|||
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 | |
18:37
zby_home_ left
18:38
dukeleto left
18:39
[particle] left
18:42
[particle] joined
|
|||
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 | |
18:55
araujo left
19:02
raiph joined,
s1n left
|
|||
masak | though that's a rather obtuse way of expressing that a compiler is a semantics-preserving transformation function between two languages. | 19:04 | |
19:04
cognominal joined
19:16
s1n joined
19:17
japhb left
19:18
bluescreen10 left
19:20
kresike joined
|
|||
kresike | evening | 19:20 | |
19:22
alester joined
|
|||
sorear | o/ kresike | 19:23 | |
kresike | sorear, o/ | 19:24 | |
19:30
havenn joined
19:41
brrt joined
|
|||
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. | |||
19:47
tokuhirom joined
|
|||
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 :) | ||
20:02
impious joined
|
|||
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 | :) | ||
20:06
impious left,
DreamingInCode joined
20:09
plobsing left
|
|||
sorear | o/ DreamingInCode | 20:10 | |
20:16
birdwindupbird joined
20:21
sergot joined
|
|||
sergot | hi !:) | 20:21 | |
sorear | o/ sergot | 20:22 | |
masak | sergocie! \o/ | 20:23 | |
tadzik | \o/ | ||
sergot | \o/ | ||
20:24
bruges joined
|
|||
masak | pmichaud++ # p6u reply | 20:25 | |
20:27
bruges_ left
|
|||
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. |
||
20:39
havenn left,
mdupont_ joined
|
|||
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 | ||
20:50
s1n left
|
|||
TimToady | or my mailer classified it some other way | 20:50 | |
sorear | DreamingInCode++ on PM raises an interesting point | 20:51 | |
20:51
araujo joined
|
|||
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 | ||
20:52
araujo left
|
|||
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 | |
20:56
daxim left
|
|||
diakopter | I wonder where the 30k€ went. | 20:56 | |
20:58
araujo joined
20:59
araujo left
21:00
mikemol left
21:04
s1n joined,
brrt left
|
|||
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: | ||
21:07
kaare_ left
|
|||
masak | sorear: that's what I thought as well. | 21:07 | |
21:07
leprevost joined
|
|||
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 | ||
21:08
tyatpi left
|
|||
sisar | um, what are 'index' and 'copy' semantics ? | 21:08 | |
21:09
havenn joined,
cognominal_ joined,
araujo joined,
birdwindupbird left
|
|||
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 | |
21:10
skids left,
s1n left
|
|||
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 | ||
21:11
cognominal left,
buubot_backup left
21:12
cognominal_ left
|
|||
[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. | ||
21:13
cognominal joined
|
|||
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 | |
21:21
spider-mario left
21:22
fridim_ left
21:23
NamelessTee left,
wooden left
|
|||
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 | |
21:26
s1n joined
|
|||
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 | |
21:34
tyatpi joined
|
|||
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/ | ||
21:34
sergot left,
[particle]1 joined
|
|||
masak | 'branoc, sergocie who logs out too fast. | 21:35 | |
'n | |||
tadzik | ;) | ||
21:35
s1n left
|
|||
tadzik | k'night | 21:35 | |
21:35
wooden joined,
wooden left,
wooden joined
21:36
lestrrat left
|
|||
DreamingInCode | adios masak | 21:36 | |
21:37
lestrrat joined,
[particle] left,
buubot_backup joined
|
|||
[Coke] decommutes | 21:42 | ||
kresike | good night everyone | 21:44 | |
21:44
kresike left
21:47
sisar left
|
|||
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 :) | ||
21:50
s1n joined
|
|||
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 | |||
21:58
PacoAir left
22:15
snearch left
|
|||
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 mainlineAny()» | ||
22:24
wolfman2000 joined
|
|||
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» | ||
22:36
Chillance left
|
|||
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 | ||
22:40
skids joined
|
|||
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… | |||
22:43
rsimoes left
|
|||
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» | ||
22:54
ab5tract left,
thou left
23:06
lutok joined
23:10
lutok left
23:12
sivoais left,
sivoais joined
23:14
cognominal_ joined
|
|||
Juerd | sorear: markov on irc.perl.org | 23:17 | |
23:17
tyatpi left
|
|||
Juerd | sorear: Also, good luck. | 23:17 | |
23:18
cognominal left
23:23
[particle]1 left,
cognominal joined,
Chillance joined
|
|||
sorear | is anyone working on a letter yet? | 23:23 | |
23:23
[particle] joined
23:26
cognominal_ left
|
|||
dalek | blets: 76e45c4 | (Herbert Breunung)++ | docs/index.txt: update and fix TOC (index) |
23:32 | |
23:33
lichtkind joined
|
|||
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 | ||
23:41
plobsing joined
23:47
whiteknight joined,
whiteknight is now known as Guest28222
23:52
leprevost left
|