»ö« 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.
00:09 bonsaikitten left 00:12 ab5tract left 00:16 replore_ joined 00:18 [Coke] left 00:20 Entonian joined 00:21 [Coke] joined
[Coke] sighs, as this screen session/terminal is not utf happy 00:22
00:22 [Coke] left 00:23 [Coke] joined
[Coke] \o/\ 00:23
00:31 bitpart joined 00:35 Entonian left 00:36 bonsaikitten joined
flussence aagh 00:38
I can *feel* my brain melting after watching that video.
diakopter mtnviewmark 00:41
used to be in this channel years ago
00:45 ggoebel left 00:46 ggoebel joined 00:50 packetknife joined 00:53 tokuhiro_ left 01:07 f00li5h left 01:08 f00li5h joined 01:11 flussence left 01:18 flussence joined
TimToady finally getting a chance to backlog 01:36
.oO(You can't just make shit up and expect to sound like MJD, doofus!)
01:37
sorear o/ TimToady 01:42
01:47 alc joined 01:52 odoacre joined 02:00 bluescreen10 left 02:02 wolfman2000 joined 02:03 whiteknight left 02:15 jlaire left 02:20 jlaire joined 02:32 envi_ joined 02:33 soh_cah_toa left 02:34 Transformer joined 02:35 Transformer left 02:38 envi_ left, envi_ joined 02:51 s1n1 left 02:53 s1n1 joined
dalek ecza/serialize: 5f9e2f8 | sorear++ | / (5 files):
Implement isolating compartment system
03:12
03:16 kaleem joined 03:19 djanatyn left 03:22 djanatyn joined 03:24 djanatyn left 03:25 packetknife left 03:27 djanatyn joined 03:36 preflex left 03:38 preflex joined 03:42 Transformer joined 03:45 Transformer left 03:54 wolfman2000 left
moritz good morning 04:03
04:05 bitpart left
sorear good morning moritz. 04:05
TimToady o/ 04:07
04:08 kaare_ joined 04:27 molaf joined 04:42 molaf left 04:43 drbean left 05:01 drbean joined 05:12 SHODAN joined, orafu left, orafu joined 05:14 alester joined 05:24 drbean left
dalek ecza/serialize: 2664568 | sorear++ | / (2 files):
Implement auto-compilation of referenced modules
05:28
ecza/serialize: 4494faa | sorear++ | lib/ (2 files):
Fix handling of eval "use Foo" when Foo has INIT blocks
sorear $.level++; # single-step debugging of JIT output at the instruction level, after exhausting all other ideas for debugging a hang :| 05:29
TimToady congratulations on your, er, promotion 05:30
"Gold comes and goes, but experience points are forever." 05:31
sorear mono --jitmap is much more useful than the documentation makes it sound
an early version of 4494faa contained a bug which manifested by twisting the call stack into a circle, causing $*foo to hang at a sufficiently low level that most of my debugging tools didn't work 05:33
TimToady turns into a pumpkin early tonight & 05:36
05:42 drbean joined 05:47 dual joined 05:48 alester left
sorear now /serialize has all the important features back, I think 05:50
I'd like to get a couple optimizations down before Oct31, also need to fix spectest regressions and work out how to do the bootstrap 05:51
probably should add BEGIN too to keep the users excited :)
sorear sleep
05:59 wtw joined, flussence left 06:00 GlitchMr joined 06:04 flussence joined 06:20 thou left 06:31 koban joined
tadzik good morning #perl6 06:33
moritz good morning tadzik 06:36
06:37 dual left 06:56 cognomore left, cognomore joined 07:00 sftp left 07:01 donri joined 07:08 kaare_ left 07:19 GlitchMr left 07:20 daniel-s joined 07:49 mj41_nb joined 07:52 mj41 joined 08:03 wk left 08:04 HarryS left 08:08 HarryS joined
cognominal finalement l'état français va faire profiter les lybines de notre monopole de la violence, Heu, je veux dire notre savoir faire sécuritaire. Bravo à mam qui a préparé le terrain mais qui a vanté notre commerce au mauvais endroit au mauvais moment. Le gouvernement Fillon récoltera la thune et less charlots socialiste qu'on élira récupérerons les emmerdes que ça provoquera. 08:15
www.lefigaro.fr/international/2011/...ripoli.php
moritz fausse channel? :-) 08:16
cognominal again. :( 08:18
masak good morning #perl6 08:20
cognominal good morning
moritz good morning masak, cognominal 08:21
masak se sent fatigué 08:25
Malgré le fait que j'ai dormi suffisamment. 08:26
mux j'ai cru que je m'􏿽xE9tais encore tromp􏿽xE9 de channel 08:27
masak hehe :)
ce n'est pas mon intention de tromper. 08:28
mux use french; 08:29
moritz j'avait problemes de comprendre le Francais. Je peux l'exercer plus
s/t/s/ # iirc :-)
cognominal { use english; I tend to confuse #perlfr and #perl6 and masak want to make my confuse more thorough } 08:30
masak yes :)
cognominal moritz ~ s/de/pour/
08:30 ab5tract joined
mux frogs are everywhere, hiding in your channels 08:30
cognominal cheese eating surrender monkeys :) 08:31
mux moritz: to be perfectly pedantic that would be "J'avais des probl􏿽xE8mes pour comprendre le fran􏿽xE7ais"
masak mux: coa-coa ;)
moritz mux: seems I have even more problems writing French :-)
cognominal or "à comprendre"
mux indeed 08:32
masak "à comprendre" feels more sensible than "pour comprendre"...
mux I was about to use '􏿽xE0' but since you used 'pour' I thought that would have been confrontational
:D
moritz bonsaikitten: fwiw my 'perl Configure.pl' doesn't build any nqp or parrot, unless I pass some --gen-{parrot,nqp} flags to it. What exactly was the invocation where it was otherwise for you?
masak why is it "le français" when "langue" is feminine? 08:33
bonsaikitten moritz: perl Configure.pl
moritz bonsaikitten: and what did it do? 08:34
bonsaikitten moritz: as far as I can tell it works if you have nqp and parrot already installed
moritz ... and if not, it complains about the fact
bonsaikitten so, first time you install it the magic happens, every time after that it finds preinstalled
mux masak: because we're weird :-)
I'm sorry but I have no better explanation to offer heh
moritz bonsaikitten: which invocation made the magic happen_
bonsaikitten masak: because ze francais is le POWERFUL, so it is masculine, non?
moritz s/_/?/ 08:35
bonsaikitten moritz: just perl Configure.pl - test in a clean chroot and you should be able to trigger it
moritz bonsaikitten: if I rm -rf install/ and then run perl Configure.pl, it doesn't build anything for me
08:35 envi_ left
moritz it says 08:35
===SORRY!===
Unable to find an NQP executable.
cognominal "langage" is masculine but it is an hyperonym of "langue" which is more appropriate for a natural language.
bonsaikitten moritz: hmm, ok, nice mismatch
08:35 envi_ joined
moritz bonsaikitten: I can set up a chroot for testing, but I somehow don't see how that magic could happen 08:36
bonsaikitten moritz: let me try to trigger it again
masak cognominal: ah, so it's "langage" that's implied. I agree that "language" is more appropriate than "tongue". 08:37
moritz bonsaikitten: and btw the nqp "release" can be downloaded from github.com/perl6/nqp/tags -- though the contents of rakudo's tools/build/NQP_REVISION might be out of date 08:38
bonsaikitten ok
moritz we should document that. 08:39
cognominal masak: I don't think anything is implied, français is just used as a noun. In English, you can verb a noun as says TimToady, so we feel entitled to noun adjectives. 08:40
mux, tu es angevin comme les seins de la chanson de Bobby Lapointe? 08:42
masak cognominal: I'll take your word for it.
bonsaikitten moritz: ah, indeed, it aborts if neither is set
mux cognominal: non je suis parisien ;-) 08:43
cognominal mux, tu viens aux réunions techniques ou sociales des mongueurs?
mux cognominal: non j'ai jamais fait; je suis pas vraiment un hardcore perler 08:44
cognominal you should, we need to do some proselytism for Perl 6 08:45
mux, apparently you facebook page is not up to date, it says Angers for your living place? 08:46
tu fais une prépa?
mux cognominal: to be honest, I'm not really a perl 6 enthusiast; I hope I won't get hated for that, but I mostly come in here because I love seeing your discussions
cognominal: it does?! wait, that's very weird. 08:47
ah non j'ai 30 ans je fais pas de pr􏿽xE9pa :-P t'es sur la bonne page?
moritz mux: we won't hate you if you are civil, which you are :-)
masak mux: it's fine not to be a Perl 6 enthusiast :)
mux I'm no perl hater either, for what it's worth!
masak mux: excellent! 08:48
mux: what do you generally program in?
moritz bonsaikitten: does that mean we can close rt.perl.org/rt3/Ticket/Display.html?id=102062 ?
cognominal ho I confused Maxime Horion with Maxime Henrion
mux masak: python @ work these days; but I mostly enjoy C and Haskell otherwise
(obviously not for the same reasons heh)
cognominal: ah, that would explain it 08:49
masak I think I could live with doing Python at work.
mux oh yeah, things would be a lot worse
could*
masak I would probably miss Perl a bit, but... right, a lot worse.
mux I had never used python extensively prior to this job, but I have to say I quite like it. 08:50
08:50 daxim joined
cognominal someday we will have to create a #social-per6 to spare the backloggers 08:51
masak awww :)
but yes, that day will probably come.
08:57 dakkar joined
bonsaikitten moritz: yes 08:57
moritz bonsaikitten: thanks, will do 08:59
kranius hello perl6 09:04
moritz good localtime kranius
masak hello kranius 09:05
daxim jnthn, masak, conferences.yapceurope.org/tcpw2011...2011-11-05 09:18
masak, can you turn your abridged perl 6 history blog post into a lightning talk? we have lots of time to kill 09:19
masak daxim: sure thing. 09:21
ugh, back-to-back presentations :) 09:22
daxim: I'll just submit a lightning talk, then.
daxim: submitted. 09:24
09:25 wk joined
daxim :thumb: 09:28
moritz jnthn: github.com/mlschroe/rakudo/commit/...2e841d26be is fine by me, though I'd now make $type a native int :-)
09:42 replore_ left 09:48 envi_ left
moritz wow, setting compilation now takes 1.5G of RAM :( 09:50
09:51 envi_ joined
jnthn moritz: Is that up significantly in recent days? 09:51
09:52 donri left
jnthn masak: We could suggest interleaving our slots if you prefer that... 09:52
moritz jnthn: dunno, I remember something like 1.1 or 1.2G at last month's release
masak jnthn: I think I do prefer that. and it's more variety for the listeners as well. 09:53
moritz woah, RT search is pretty broken 09:55
I've just searched for 'given'
and... *drummroll*... no results!
like, we never had any bugs with given/when?
masak huh. 09:56
moritz rt.perl.org/rt3/Ticket/Display.html?id=78234
masak same here!
moritz is even an open bug with 'given' in the title
hm, maybe some stupid stopword analysis?
masak maybe, but why 'given'? 09:57
where do we submit rtbugs? :) 09:58
moritz [email@hidden.address] 09:59
masak do you want to, or shall I?
moritz mux: please do it
masak assumes mistab and does it
moritz yes, mistab
sorry 10:00
and btw that RT #78234 is now solved :-) 10:01
dalek ast: 87785c0 | moritz++ | S05-grammar/methods.t:
tests for RT #73680
moritz maybe I shouldn't close it immediately, as it would make it harder for the perlbug-admin to reason about the search issue 10:03
masak \o/
should closed-ness affect whether a search finds it?
moritz maybe the search defaults to neither-closed-no-rejected
jnthn will fix "state" stuff later on today 10:04
moritz nom: sub a() { } given 3
p6eval nom 1fd3f8: ( no output )
masak jnthn: \o/ 10:05
mail sent. 10:06
moritz masak++
dalek ast: 148cafa | moritz++ | S04-statements/given.t:
tests for RT #78234, sub declaration inside a "given"
10:11 darkop joined 10:13 wamba joined 10:21 Grrrr left 10:25 skangas left 10:26 grondilu joined
grondilu perl6: multi sub postfix:<!> (Int $n) { $n < 2 ?? 1 !! $n*($n-1)! } 10:26
p6eval pugs b927740: OUTPUT«*** ␤ Unexpected "$n"␤ expecting operator or "!!"␤ at /tmp/aZKKaz5c3A line 1, column 49␤»
..niecza v10-61-gbacff10: ( no output )
..rakudo 1fd3f8: OUTPUT«===SORRY!===␤Unable to parse blockoid, couldn't find final '}' at line 1␤»
grondilu perl6: multi sub postfix:<!> (Int $n) { $n < 2 ?? 1 !! $n*($n-1)! }; say 4!
p6eval pugs b927740: OUTPUT«*** ␤ Unexpected "$n"␤ expecting operator or "!!"␤ at /tmp/VfgPTGv1cn line 1, column 49␤» 10:27
..rakudo 1fd3f8: OUTPUT«===SORRY!===␤Unable to parse blockoid, couldn't find final '}' at line 1␤»
..niecza v10-61-gbacff10: OUTPUT«24␤»
grondilu I'm looking forward to see this kind of stuff on rakudo
moritz b: multi sub postfix:<!> (Int $n) { $n < 2 ?? 1 !! $n*($n-1)! }; say 4! 10:28
p6eval b 1b7dd1: OUTPUT«24␤»
moritz it was implemented in the auld days
jnthn Well, we're in theory meant to be moving to QRegex for parsing.
So I mostly put off adding those things back. 10:30
As it'd be "throwaway"
But at the rate QRegex is moving maybe it's worth it.
moritz nom: say so 'aaa' ~~ /(.)+a/ 10:32
p6eval nom 1fd3f8: OUTPUT«Bool::True␤»
moritz ah, that bug was fixed at least
so it seems the remaining blockers are <?before> and proto regexes
10:33 grondilu left
jnthn Right. 10:33
10:35 alc left 10:38 Grrrr joined, preflex left 10:39 agentzh joined, MayDaniel joined 10:40 preflex joined 10:51 smash joined
smash hello everyone 10:52
masak hi smash 10:55
moritz++ # statistical results with significance given 11:03
jnthn "This is a significant slowdown!" 11:06
masak ooc, why *wouldn't* green threads slow things down?
aren't green threads just doing scheduling on the same core?
jnthn yeah, basically... 11:07
But if there's only one thing to do...
benabik I thought the test wasn't using threads, so the slowdown is important.
jnthn No, it's not using them.
flussence depends how expensive an OS-level context switch is relative to what you're using threads for
jnthn flussence: These aren't even threads.
Or at least, not OS-level ones. 11:08
11:08 benabik left
flussence (I don't really understand green threads other than they're a program-internal construct) 11:09
jnthn is curious where the name came from. 11:10
flussence
.oO( according to htop, all threads are green... )
jnthn ;)
11:15 sirmacik left, sirmacik joined, sirmacik left, sirmacik joined 11:20 kaleem left, agentzh left 11:24 xinming left 11:29 kaare_ joined 11:31 benabik joined 11:34 darkop left 11:36 kaleem joined, kaleem left, kaleem joined, kaleem left 11:37 kaleem joined 11:38 Psyche^ joined, Patterner left, Psyche^ is now known as Patterner
moritz masak: nine++ mentioned he had a patch that made the green threads zero overhead when not used 11:40
btw I'd appreciate it if somebody check the math in gist.github.com/1312199
masak ooh
moritz: can you tell me, in laymen's terms, when to subtract 1 in the std_dev formula and when not to? 11:41
moritz masak: I think I should have subtracted one 11:42
masak ok. 11:43
moritz and the explanation is "whenever you calculated the mean/average/expected variable from your data, and not from some a priori knowledge"
masak ah, ok. 11:44
11:44 mtk left
masak at least that's a simple rule, even though I don't grok it yet. 11:44
11:44 mtk joined
moritz so the significance is reduced to 20.7σ 11:44
masak++
flussence reads simple.wikipedia.org/wiki/Standard_deviation
masak that's still pretty bloody significant. 11:45
11:45 pnu left
moritz masak: me neither. It has something to do with degrees of freedom, and calculating the average from the sample means that you gave up one degree of freedom already *handwave& 11:45
s/'&'/*/ 11:46
flussence rakudo: gist.github.com/1312199
p6eval rakudo 1fd3f8: OUTPUT«Original: 33.965 ± 0.0858943537143158␤Patched: 36.1474 ± 0.0471445436927753␤Patched version is slower than the original by 6.43%, signficance 23.2Ï␤»
moritz oh, Unicode fail 11:47
flussence probably github's fault...
masak moritz: yeah, I also heard the "degrees of freedom" spiel...
moritz reads duramecho.com/Misc/WhyMinusOneInSd.html 11:48
masak moritz: I even think I understand that bit, but I don't grok the whole picture.
mls_ hi perl6!
moritz "Essentially, the mean used is not the real mean but a estimate of the mean based on samples of data found in the experiment. This estimate is, of course, biased towards fitting the found data because that is how you got it. Therefore estimating how widely spread around the real mean the data samples are by calculating how spread around the estimated mean they are is going to give a value biased slightly too low. Using n-1 instead of n compensates." 11:49
that's a better explanation than I've read before
hi mls_!
masak mls_! \o/
11:50 JimmyZ joined
masak moritz: I've heard the "compensates" explanation before, too. it feels far too hand-wavey for me. 11:50
I wish I had a more solid understanding of statistics... :)
masak reads the longer explanation
moritz that's why I'm reading the rest of that website now :-)
masak: stop being scary :-) 11:51
masak pfft, that wasn't identical enough :)
so... FIRST initially had ENTER semantics, but then it got START semantics for a while, until it finally got the FIRST semantics it has now... :) 11:52
(and on the way, we got the ENTER and START phasers)
11:55 agentzh joined
moritz finds the use of '&' for 'and' in English quite annoying 11:56
masak does it get easier if you read it out loud as "et"? :) 11:57
moritz
.oO( am per sand )
12:02
12:03 donri joined
dalek albot: 122a01c | moritz++ | lib/EvalbotExecuter.pm:
try to fix UTF-8 from gist.github.com
12:06
12:07 donri left, p6eval left, p6eval joined, ChanServ sets mode: +v p6eval
moritz nom: gist.github.com/1312199 12:07
nom: gist.github.com/1312199 12:08
p6eval nom 1fd3f8: OUTPUT«Original: 33.965 ± 0.0960328068943109␤Patched: 36.1474 ± 0.0527092022326273␤Patched version is slower than the original by 6.43%, signficance 20.7σ␤»
12:08 smash left
moritz \o/ 12:08
12:09 smash joined
masak how come the encoding suddenly works? 12:09
moritz masak: see the last dalek report
masak ah. :)
12:10 donri joined
masak yes, it makes perfect sense that a decode_utf8 is needed there. 12:10
so it wasn't github's fault as flussence assumed. github++ 12:11
moritz diakopter++ probably just didn't think of Unicode when implementing the fetching from gist.github.com 12:13
masak it's not so much thinking of Unicode -- more thinking about buffers and strings. 12:16
moritz right 12:17
12:17 MayDaniel left 12:21 donri left, daniel-s left 12:22 daniel-s joined
mux (warning, genuinely curious question, no troll) does perl 6 (or perl 5 for that matter, but I suppose I'd have noticed) has something similar to Python's context managers? (as in, the syntax; the actual functionality is piece of cake to implement) 12:24
moritz what is a context manager? 12:25
mux the with thingie 12:26
such as:
with open('somefile', 'r'):
masak Perl 6 has 'given'.
mux damn, scrap that
with open('somefile', 'r') as f:
...do something with f... 12:27
at this point it's closed
masak given open('somefile', 'r') -> $f { ... }
mux masak: thanks
flussence for open('somefile', :r) -> $f { } ?
masak we don't -- can't -- do automatic closing, though.
mux well there's more to it than just that example with open()
masak: ah, then given is pretty useless
masak except with LEAVE phasers or something.
which one could then fold into a macro, I guess.
flussence: using 'for' there looks like a p5ism to me. 12:28
mux the point of context managers being that they guarantee your 'leaving' function will be called, whether exception or anything else happened or not
12:28 preflex left
flussence I'm just more used to using -> with for, I guess both work... 12:28
masak mux: yeah, sounds like you're describing LEAVE, and/or KEEP/UNDO.
flussence or DESTROY 12:29
masak I'll believe in DESTROY when I see it :)
mux masak: sounds like it, but once again, what makes context managers interesting and practical in python is the syntax
anyone can code in continuation passing style
masak the collaboration between Rakudo and Parrot doesn't seem to be tight enough to produce something like DESTROY support. 12:30
mux: well, macros would solve that, AFAICS.
mux that makes sense
masak it's actually a really nice use case for macros.
mux I now feel pretty stupid for asking if some /syntax/ could be implemented in Perl 6
I don't see how the answer could have been no :D
moritz :-) 12:31
12:32 preflex joined
masak I agree it's nice to have the semantics you ask for. 12:32
I think it'd have to be something like LEAVE + macro.
moritz given open('filename', :w) { LEAVE { .close }; ... } # not really pretty 12:33
mux I had no doubts that the semantics could be implemented, but the way you talk about it makes me think it's slightly more involved than I would have hoped
masak does Python use refcounting? 12:34
mls_ yes
masak then that's why it's not as simple in Perl 6. 12:35
mls_ (plus a garbage collectore to get rid of cycles)
masak there's a nice thread about this in the p6l archives.
12:35 tokuhiro_ joined
moritz oh, it can even be LEAVE .close 12:35
no need for the brackets
masak mux: groups.google.com/group/perl.perl6....9125?pli=1 12:36
jnthn Well, the C# way involves having some syntax using (foo) { ... }
And foo.Dispose() gets called at block exit
Even if there are exceptions.
Essentially it gives a way for objects to get a callback when they're going out of some scope. 12:37
benabik A way of doing RAII with GC?
jnthn For IO handles Dispose just delegates to close
masak jnthn: sounds interesting. 12:38
jnthn yeah, it's useful and abused for DSL-ish stuff :)
masak it would be easy to combine LEAVE .dispose; and and aptly-named macro with some sort of 'does Disposing' role that IO and db handles and other things could do. 12:39
jnthn aye
12:40 MayDaniel joined
moritz nom: LEAVE say 'x' 12:40
p6eval nom 1fd3f8: OUTPUT«===SORRY!===␤LEAVE phaser not yet implemented at line 1, near ""␤»
12:45 kaleem left
mux masak: thanks! 12:45
moritz woah, > 200 nicks in here 12:46
12:46 grondilu joined
masak we used to be ~100 not so long ago, right? 12:49
12:49 xinming joined
moritz yes 12:49
masak I suspect it's my recent shouting and swearing that has made the channel more accessible... :P 12:50
moritz any new users want to tell us where they came from, and what got them interested in Perl 6?
PerlJam nah, it's just everyone is on line at the same time as their -away or -work versions are also online.
not to mention all of the bots :)
masak WELCOME, NEW USERS. WE COME IN PEACE.
masak does a robot dance and emits bleep-bloop noises 12:51
mux I came in here because I heard Perl 6 is the new Java!
mux hides
masak :D
PerlJam It's certainly not the old Java
moritz mux: we might start hating you after all :-)
mux grins
masak nah. sticks and stones... :) 12:52
grondilu wonders if he's a new user 12:53
masak if you have to ask... :)
12:55 bluescreen10 joined
grondilu I'm just a typical linux nerd. Programmation is just a hobbie to me. I suck at C or C++ but I have huge respect for these languages. I know and enjoy bash and I started learning Perl more seriously when I began writing CGI scripts. I love the syntax and the fact that we can write very concise programs. I dived into Perl6 recently and I think the concept is hyper-cool. I'm also happen to be an old member of the #bitcoin community. That's it. 12:56
12:56 Trashlord joined
moritz grondilu: thanks for sharing, nice to hear 12:57
masak grondilu++
PerlJam grondilu: you don't think any of the perl6 implementations are hyper-cool? :)
grondilu PerlJam: well no, actually. Most of them lack a lot of features, don't they?
PerlJam grondilu: sure, but what's the criteria for "hyper-coolness" then? Implement 80% of the spec? 90%? or will only 100% do? 12:58
benabik 110% 12:59
jnthn > sub foo { state $a = 5; say $a++ }; foo; foo; foo
5
6
7
\o/
masak jnthn++!
moritz \o/
grondilu I don't know exatly, but more than the current state anyway
jnthn tests
.oO( The current state just improved :P )
moritz that's fine, I also want some more features 13:00
currently I mostly miss NCI
benabik The awesome thing is that the current state is always getting better… Except when it doesn't.
masak maybe I'm wizened from having submitted a fair number of bug reports... but "hyper-cool" isn't something that will just happen one day. not even at the mythical time point when we reach 100% features.
13:00 bluescreen10 left
PerlJam benabik: the current state is always better than *something* :) 13:00
Juerd PerlJam: Something's always better than the current state :(
masak "hyper-cool" happens little by little as things start to Just Work... which happens some time after a feature lands :)
benabik use DRTR; do_it 13:01
grondilu I just whish I'll still be alive when 100% is reached. I just want to see that happen. It will be incredible, I think.
masak "Do Right The Ring"? :/
benabik And it will even know to correct the typo in DTRT.
masak JDFI
13:01 pnu joined
moritz benabik: that needs to be an NCI wrapper around libjustdoit :-) 13:01
jnthn needs to try and get back to the NCI stuff 13:02
It'd help if I could get a libffs binary or figure out how to build it on my platform, I guess 13:03
grondilu forgot to tell you that he's french and lives in Paris.
13:03 preflex left, wamba left
PerlJam grondilu: are neighborhoods in Paris named in some way? 13:05
mux grondilu: oh, hi neighbour!
PerlJam: some are
moritz arondisments or so 13:06
mux arrondissements are a legal divison
PerlJam grondilu: one of my uncles traced my mom's family name (Tassin) back through history and supposedly it originates from a little community that used to be outside of Paris but has since been subsumed into the city.
mux division*
we also have some other names
PerlJam I was wondering if it still had some distinctiveness.
mux PerlJam: what is the community's name? 13:07
PerlJam mux: not sure but it had something to do with tassin :) mumble-tassin or tassin-mumble is how I've always imagined it.
mux oh 13:08
doesn't ring a bell to me
13:08 preflex joined
moritz only knows Tessin 13:08
dyncall.org/ looks interesting
mux the only tassin the french google maps knows about is Tassin-la-Demi-Lune, which seems to be a small town near Lyon 13:09
moritz offers source package, windows and mac os X PPC packages for download
cognominal there is a Tassin suburb of Lyon
fr.wikipedia.org/wiki/Tassin-la-Demi-Lune 13:10
PerlJam cognominal: heh, I wsa just googling that :)
grondilu never heard the world "Tassin" 13:11
moritz as does www.nongnu.org/cinvoke/ 13:12
grondilu s/world/word/
moritz both seem to have sufficiently permissive licenses too
dalek kudo/nom: 481a027 | jnthn++ | src/ (4 files):
Give initialization of state variables START semantics.
masak finds www.perlfoundation.org/perl6/index....e_released
13:13 preflex left
masak doesn't say which January it was last edited... 13:13
dalek ast: 335d2ce | jnthn++ | S04-declarations/state.t:
Unfudge some state tests.
moritz www.nongnu.org/cinvoke/faq.html is slightly amusing 13:14
PerlJam masak: looks like there was a third 80% ... and maybe there will be a fourth 80% too
13:15 bluescreen10 joined
masak turns out being disruptive doesn't work well with having a fixed schedule... 13:16
moritz sourceware.org/libffi/ says it's been ported to windows/cygwin and windows/mingw
looks like no msvc
13:17 wk left
PerlJam masak: It's because revolutions tend to have a watershed event than people can pin to a timeline and say "*this* is when things really happened" The only problem is that it obscures all of the work before and after that made the revolution successful. 13:18
Juerd We've had electricity into our homes for how long now?
benabik masak: I'm seeing references to a libffi-msvc but no repository for it. 13:19
PerlJam Juerd: I don't know about you, but I've always had electricity in my home ;)
Juerd We're taking it for granted, can hardly imagine the world without. But it took a lot of research and experiments before the first building was electrified. Nobody seems to care about all the work that was done before that. 13:20
moritz benabik: github.com/stevedekorte/io/tree/ma...ibffi-msvc maybe?
Juerd I think people will use Perl 6 without bitching about how long it took to get there, once it's out.
benabik moritz: That appears to be an import of it, not the original, but yes.
Juerd Or at least, after a few years :)
13:20 grondilu left 13:21 drbean left
Juerd PerlJam: We have had some outages, but apart from that I've never visited any home that didn't have mains Ac 13:21
s/c$/C/
PerlJam Juerd: IF perl 6 finds a nice niche or two, I agree.
Juerd If or iff?
13:21 drbean joined
PerlJam just if 13:21
Juerd 'cause I don't think programming languages require a niche to be succesful 13:22
PerlJam I'm not smart enough to know all of the factors that make a programming language successful.
Juerd Marketing is increasingly important.
benabik moritz: The original seems to be code.google.com/p/libffi-msvc/, but that URL gives 403 Forbidden
moritz wow, I didn't know about private google code projects 13:23
masak Perl 6, as far as I can tell, *is* out. and released. 13:24
13:25 GlitchMr joined
masak anyway, that imaginary timeline is comforting to look at :) 13:25
jnthn moritz: dyncall looks kinda nice 13:26
masak I do think that the "hack, hack, hack" phase is more jagged than the timeline pretends.
benabik Yeah. Looks like libffi works in MSVC but it involves hackery with the build process. 13:27
PerlJam masak: you can always make your own updated and improved timeline :)
benabik moritz: github.com/atgreen/libffi/blob/master/msvcc.sh 13:28
jnthn .sh?
benabik Okay, done with that now.
I think it needs cygwin/msys for the build system. 13:29
jnthn yeah... :(
Well, the other thing is that I don't like sending users off chasing dependencies all over.
PerlJam Timothy Wall?
[Coke] statistics IS handwavy. Anyone who tells you different is trying to sell you something. 13:37
13:37 im2ee joined
moritz [Coke]: I'm not convinced. At least the foundations of statistics are derived from nice and simple axioms 13:38
most applications are handwavy, yes
13:39 daniel-s left
[Coke] I'm willing to believe that I just had a bad stats teacher at univ. who was trying to sell his new book. ;) 13:41
arnsholt I'm with moritz. Statistics are certainly abused a lot, but statistics is actually very useful 13:42
13:42 f00li5h left 13:43 SHODAN left 13:45 tokuhiro_ left
dalek kudo/nom: 3e8f571 | jnthn++ | src/Perl6/SymbolTable.pm:
Make uninitialized int default to 0 and an uninitialized num default to NaN.
13:47
13:48 worr left
mls_ Hmm, I thought lexicals get initialized by the static lexpad? 13:52
jnthn mls_: In general yes. In this case it was easier (and likely cheaper) this way. 13:53
mls_ is that not true for native types?
ah, ok.
jnthn It coulda been done the other way too, but it would have involved a bigger refactor.
13:54 finanalyst joined 13:55 lateau_ joined
finanalyst hi I am running rakudo star on ubuntu and came accross: error:imcc:syntax error, unexpected COMMA (',') 13:55
im2ee Hello! :)
13:55 mj41_nb left
finanalyst i tried perl6 -c file.p6 first and syntax was OK 13:56
jnthn yeah, it looks like a code gen fail 13:57
Which comes beyond what -c does
moritz finanalyst: so what's in file.p6?
finanalyst how can i locate the problem?
moritz delete lines from (a copy of) the file until you've narrowed it down to a few lines 13:58
finanalyst moritz: I am using perl6 to generate svg for rating scale comparisons
13:58 mj41 left
moritz finanalyst: are you using any Q:PIR blocks or pir:: or something? 13:58
finanalyst moritz: no
only perl6
moritz that's odd 13:59
and most likely a rakudobug
jnthn --target=pir will dump the generated code, which will contain the error somewhere. IMCC may (should) have given a line number too... 14:00
finanalyst i have some line numbers in 'file unknown' in the error message. Any way to use that information
moritz jnthn: unless it's from an eval 14:01
finanalyst jnthn: will look now
14:02 SHODAN joined
jnthn moritz: true 14:02
14:04 lateau_ left
finanalyst I also have the following error: "error:imcc:syntax error ... somewhere" what is a ... ? 14:08
moritz it doesn't mean anything, other than IMCC is mightily confused 14:09
14:09 am0c joined 14:11 lateau_ joined 14:14 mj41 joined, mj41_nb joined 14:18 wtw left, daniel-s joined
finanalyst i found the offending line, now trying to reproduce it in a simple case 14:19
14:19 finanalyst left
benabik finanalyst++ 14:20
14:20 lateau_ left 14:30 sftp joined
moritz nom: sub h(int $x) { $x div 2 }; my Int $I = 84; say h $I 14:35
p6eval nom 3e8f57: OUTPUT«Cannot unbox argument to '$x' as a native int␤ in sub h at /tmp/F2iywyn4MZ:1␤ in block <anon> at /tmp/F2iywyn4MZ:1␤ in <anon> at /tmp/F2iywyn4MZ:1␤»
moritz jnthn: ^^ why not? bug?
14:37 packetknife joined 14:38 preflex joined
jnthn Looks like. 14:40
14:40 SHODAN left
jnthn nom: sub h(int $x) { $x div 2 }; my Int $I = 84; say h nqp::p6decont($I) 14:40
p6eval nom 3e8f57: OUTPUT«42␤»
jnthn ah
ok, easy to fix bug.
mls_ (isn't it a bit dangerous that both rakudo and nqp define how storage_spec looks like?) 14:41
jnthn mls_: In what sense? 14:43
mls_ they could get out of sync
storage_spec.h should live only in nqp
jnthn mls_: sixmodelobject.h too
mls_ yes 14:44
jnthn mls_: For now they just get copied on updates
mls_ yes, nothing we need to fix right now
jnthn It should be possible to get nqp's make install to put them somewhere 14:45
And then Rakudo to get at them that way
I didn't really have the motivation to spend time on that though...keeping the two in sync with the occasional changes that happen is less effort :)
14:45 packetknife left
jnthn But I agree that it's probably better to have nqp install the .h files :) 14:45
mls_ sure. Just thought I should mention it ;)
[Coke] should check in his stupid "check_explode" script that makes sure unrun test files are still exploding in the same way. (since it's at home behind a dead wifi hub) 14:52
14:52 envi_ left
sorear good * #perl6 14:53
[Coke] sorear: ho. 14:54
14:54 MayDaniel left
sorear looks like niecza/serialize failed 17/329 spec-test files (overnight run) 14:55
not as bad as I feared
14:58 im2ee left 14:59 im2ee joined, fsergot joined
GlitchMr Is there something in Perl 6 which works like "use Safe" in Perl 5? 14:59
moritz nothing specced 15:00
various Perl 6 compilers have safe modes of varying degree of robustness 15:01
GlitchMr :(
...
Oh well...
moritz see the perl6/evalbot/ source on github for how they are invoked
though note that p5's Safe.pm isn't safe either
[Coke] IWBNI there was a spec demarcation of safe/unsafe. 15:02
I miss Modula-3 sometimes.
GlitchMr ... wait... so evalbot is made in Perl 5 :P 15:03
moritz yes
GlitchMr $P0['&run'] = s 15:04
$P0['&open'] = s
$P0['&slurp'] = s
$P0['&unlink'] = s
$P0['&dir'] = s
... ok...
moritz and why not? it's a nice language
GlitchMr Oh well. I'm making IRC bot in PHP :).
benabik … Because it's a nice language?
GlitchMr well, not exactly
It has some limitations... but it's pretty nice 15:05
It was made for websites...
not IRC bots, but at least it's possible to make IRC bot in PHP
benabik I'll admit I haven't used it a lot, but the only thing I've liked about it is that it was easy to embed into HTML… And even that leads to a lot of horrible things.
Hm. You could use node.js to make a Javascript IRC bot.
I wonder if someone has. 15:06
code.google.com/p/jsircbot/
moritz I'm pretty sure somebody has
GlitchMr Node.js sounds interesting
dalek ast: fc81518 | moritz++ | S02-types/native.t:
new file for basic native type tests
ast: 1429c23 | moritz++ | S02-types/native.t:
test for auto(un)boxing
GlitchMr JS is nice language
moritz coughs 15:07
JS is... acceptable and powerful. But not nice.
GlitchMr At least it can overwrite functions, unlike PHP
dalek kudo/nom: 9897b01 | moritz++ | t/spectest.data:
run new test file for native types
15:08
benabik JS has driven a lot of very interesting work in compiler design.
I'll give it that. :-D
GlitchMr PHP is like parentheses everywhere 15:09
So I really don't care about JS, because it's pretty much that
jnthn moritz: Did you file RT for that bug earlier?
moritz jnthn: not yet, just pushed a test... should I? 15:10
15:11 koban left
GlitchMr If there is something as flexible as include in PHP, I could find JS interesting :). 15:11
And everything is object :)
moritz everything? is a function call an object in PHP? 15:12
GlitchMr in JS...
I said about JS
moritz ok
is a function call an object in JS?
are scopes objects? 15:13
moritz hates the "everything is an object" meme
GlitchMr ok, ok
Functions itself are objects and result of functions can be objects too
are objects* 15:14
moritz I know, and that wasn't my question
[Coke] moritz: sheesh.
GlitchMr >>> a.valueOf
function valueOf() { [native code] }
jnthn moritz: Please, so I don't forget it. 15:15
GlitchMr Ok... ALMOST everything is an object.
Happy?
jnthn moritz: Even better if you note where the test is, then when I fix it I just resolve the ticket ;)
well, and unfudge 15:16
15:16 MayDaniel joined
moritz GlitchMr: not really 15:17
GlitchMr: because it doesn't tell my anything
GlitchMr: in perl 5, almost everything is an object. Like, except anything that isn't a blessed reference
GlitchMr >>> typeof /regular expressions/
"object"
ok, that was a joke
But I can use "." operator everywhere 15:18
in JS
...
moritz now that's a much more interesting statement
GlitchMr ok, on everything what is objecty
ok, on everything what is object*
>>> 2.0.toString()
"2"
JimmyZ nom: say 2.0.String; 15:19
p6eval nom 3e8f57: OUTPUT«Method 'String' not found for invocant of class 'Rat'␤ in block <anon> at /tmp/BQCVDDFv7F:1␤ in <anon> at /tmp/BQCVDDFv7F:1␤»
GlitchMr >>> new Number(42) + 3
45
JimmyZ nom: say 2.0.Str;
p6eval nom 3e8f57: OUTPUT«2␤»
moritz jnthn: #102158 is yours
benabik nom: 2.0.WHAT.say 15:20
p6eval nom 3e8f57: OUTPUT«Rat()␤»
GlitchMr >>> new Array(1,2,3,4,5)
Array [1, 2, 3, 4, 5]
benabik nom: say 2.0
p6eval nom 3e8f57: OUTPUT«2␤»
JimmyZ nom: say Num(42) + 3 #this one is NYI
benabik Huh. I would have expected it to keep the ".0".
p6eval nom 3e8f57: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&Num' called (line 1)␤»
jnthn moritz: danke 15:21
GlitchMr perl6: say Num(42) + 3
p6eval niecza v10-61-gbacff10: OUTPUT«␤Unhandled Exception: Unable to resolve method postcircumfix:<( )> in class Num␤ at /tmp/3F5PlXYwR9 line 1 (MAIN mainline @ 1) ␤ at /home/p6eval/niecza/lib/CORE.setting line 2181 (CORE C1041_ANON @ 2) ␤ at /home/p6eval/niecza/lib/CORE.setting line 2182 …
..rakudo 3e8f57: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&Num' called (line 1)␤»
..pugs b927740: OUTPUT«*** No such subroutine: "&Num"␤ at /tmp/DxkCnJ3yaN line 1, column 5 - line 2, column 1␤»
GlitchMr ...
JimmyZ NYI
GlitchMr Whatever
moritz benabik: would you expect 'say 2.00' to preserve both 0s?
GlitchMr New York I...
:P
I know... Not Yet Implemented. 15:22
benabik moritz: Not really. Just used to floats/rats distinguishing themselves from ints on output. I wouldn't call it wrong, just unexpected.
moritz nom: say 2e0 15:23
p6eval nom 3e8f57: OUTPUT«2␤»
moritz nom: say 2e0.perl
p6eval nom 3e8f57: OUTPUT«2e0␤»
moritz benabik: I'd be fine with either way (2 vs 2.0)
benabik nom: 2.0.perl.say
p6eval nom 3e8f57: OUTPUT«2/1␤»
moritz (except that surely a lot of spectests depend on the current stringification)
nom: use Test; plan 1; is 6 / 3, 2, 'foo' 15:24
p6eval nom 3e8f57: OUTPUT«1..1␤ok 1 - foo␤»
moritz things like that
benabik Does is use string equality? 15:25
moritz anyway, if @larry.pick decides to spec it to stringify in another way, I'll do my best to change roast appropriately
benabik: yes
GlitchMr Notepad++ tries to actually parse Perl... it fails... but it's pretty nice :) 15:33
It actually tries to find regular expressions...
15:33 nornagest joined
nornagest Hi. 15:34
moritz hi nornagest
15:34 agentzh left
GlitchMr img41.imageshack.us/img41/3295/note...splusq.png 15:38
Hello :)
... Notepad++ is weird sometimes... 15:39
[Coke] hey, why didn't the evalbot try to run that png!
moritz perl isn't trivial to parse (neither version)
[Coke]: it ate it, and feasts on the pixel dust 15:40
GlitchMr Yeah, I find it weird that Notepad++ even tries to parse it
im2ee Have somebody ever tried the Go language? :)
moritz [Coke]: so subsequent evaluations will be a little slower
niecza: say 1
p6eval niecza v10-61-gbacff10: OUTPUT«1␤»
moritz just like that :-)
jnthn uses Notepad++ 15:41
It does OK with NQP...and a bit less OK with full-on Perl 6. :)
GlitchMr It's worse with Perl 6, but hey, it doesn't yet support it 15:42
im2ee karma Notepad 15:43
aloha Notepad has karma of 5.
im2ee :)
GlitchMr karma Notepad++
aloha Notepad++ has karma of 0. 15:44
GlitchMr ... :P
Notepad++++
im2ee Notepad++++
:)
GlitchMr karma Notepad++
aloha Notepad++ has karma of 0.
15:44 daniel-s left
GlitchMr ... 15:44
jasonmay (Notepad++)++
moritz karma Notepad
aloha Notepad has karma of 10.
im2ee karma Notepad
aloha Notepad has karma of 10.
GlitchMr lol
jasonmay karma Notepad++
aloha Notepad++ has karma of 0.
moritz karma C
aloha C has karma of 667.
GlitchMr You cannot add karma to Notepad++
Probably because of its name
jnthn C-- # just to be evil ;) 15:45
im2ee +++
karma +
aloha + has karma of 0.
GlitchMr C-- is actual language
www.cminusminus.org/
im2ee :D
GlitchMr Let me guess m/[^+]+[+][+]/ 15:46
[Coke] {Notepad++}++
GlitchMr ok, it's actually more complex
But whatever
[Coke] karma Notepad++
aloha Notepad++ has karma of 0.
GlitchMr karma notepad
aloha notepad has karma of 14.
GlitchMr (Notepad++)++
karma notepad
aloha notepad has karma of 15.
[Coke] I swear that used to work. ah well, don't care. ;) 15:47
GlitchMr It's just not possible to increase karma of Notepad++
oh wait... I have just 5.9.3... I should update
lol
--------------------------- 15:48
Notepad++ update
---------------------------
No update is available.
---------------------------
OK
---------------------------
O_o
15:48 MayDaniel left 15:53 dual joined 15:56 thou joined
GlitchMr perl6: $_ = 'aa'; s☝a☝b☝; say $_; 15:58
p6eval niecza v10-61-gbacff10: OUTPUT«ba␤»
..pugs b927740: OUTPUT«decodeUTF8': bad data: '\9757'␤decodeUTF8': bad data: '\9757'␤decodeUTF8': bad data: '\9757'␤Error eval perl5: "if (!$INC{'Pugs/Runtime/Match/HsBridge.pm'}) {␤ unshift @INC, '/home/p6eval/.cabal/share/Pugs-6.2.13.20111008/blib6/pugs/perl5/lib';␤ eval q[require…
..rakudo 9897b0: OUTPUT«===SORRY!===␤Confused at line 1, near "s\u261da\u261db\u261d; sa"␤»
benabik niecza++ 15:59
GlitchMr kind of makes sense...
benabik niecza does a lot of complex parsing right.
GlitchMr perl6: $_ = 'aa'; s:g♺a♺b♺; say $_;
p6eval niecza v10-61-gbacff10: OUTPUT«bb␤»
..rakudo 9897b0: OUTPUT«===SORRY!===␤Confused at line 1, near "s:g\u267aa\u267ab\u267a; "␤»
..pugs b927740: OUTPUT«decodeUTF8': bad data: '\9850'␤decodeUTF8': bad data: '\9850'␤decodeUTF8': bad data: '\9850'␤Error eval perl5: "if (!$INC{'Pugs/Runtime/Match/HsBridge.pm'}) {␤ unshift @INC, '/home/p6eval/.cabal/share/Pugs-6.2.13.20111008/blib6/pugs/perl5/lib';␤ eval q[require…
GlitchMr :)
15:59 envi_ joined
GlitchMr This is awesome :). 15:59
benabik pugs apparently doesn't speak UTF8? 16:00
16:00 envi_ left
benabik GlitchMr: You can use `.say` instead of `say $_` 16:00
16:00 envi_ joined
GlitchMr perl6: $_ = 'aa'; s:g❴a❵❴b❵; say $_; 16:00
p6eval niecza v10-61-gbacff10: OUTPUT«===SORRY!===␤␤Missing assignment operator at /tmp/foiBjdHhCE line 1:␤------> $_ = 'aa'; s:g❴a❵⏏❴b❵; say $_;␤␤Parse failed␤␤»
..rakudo 9897b0: OUTPUT«===SORRY!===␤Confused at line 1, near "s:g\u2774a\u2775\u2774b\u2775;"␤»
..pugs b927740: OUTPUT«decodeUTF8': bad data: '\10100'␤decodeUTF8': bad data: '\10101'␤decodeUTF8': bad data: '\10100'␤decodeUTF8': bad data: '\10101'␤*** s{...}{...} is deprecated; write s{...}='...' instead.␤ at /tmp/r7DXRcMO4q line 1, column 19␤Error eval perl5: "if (!$INC{'Pugs/Run…
benabik nom: .= 'aa'; .say # I wonder
p6eval nom 9897b0: OUTPUT«===SORRY!===␤Confused at line 1, near ".= 'aa'; ."␤»
benabik niezca: .= 'aa'; .say 16:01
GlitchMr perl6: $_ = 'aa'; s:g⎩a⎭⎩b⎭; say $_;
p6eval niecza v10-61-gbacff10: OUTPUT«===SORRY!===␤␤Unrecognized regex metacharacter ⎭ (must be quoted to match literally) at /tmp/SCexgYbcDP line 1:␤------> $_ = 'aa'; s:g⎩a⎭⏏⎩b⎭; say $_;␤␤␤Unhandled Exception: System.IndexOutOfRangeException: Array index …
..rakudo 9897b0: OUTPUT«===SORRY!===␤Confused at line 1, near "s:g\u23a9a\u23ad\u23a9b\u23ad;"␤»
..pugs b927740: OUTPUT«decodeUTF8': bad data: '\9129'␤decodeUTF8': bad data: '\9133'␤decodeUTF8': bad data: '\9129'␤decodeUTF8': bad data: '\9133'␤*** ␤ Unexpected end of input␤ expecting block, "\\", variable name or "\9129"␤ at /tmp/JjkQOMEXHD line 2, column 1␤»
masak why is nom confused over Unicode regex delimiters?
jnthn std: .= 'aa'; .say
GlitchMr ... actually, I should just ask niecza
p6eval std 580b69a: OUTPUT«===SORRY!===␤Confused at /tmp/_vgyl2tOLj line 1:␤------> .=⏏ 'aa'; .say␤ expecting dotty method or postfix␤Parse failed␤FAILED 00:01 118m␤»
benabik jnthn: Yeah, didn't know if it would work. I suppose asking std is a better way to figure it out. 16:02
GlitchMr niecza: $_ = 'aa'; s:g«a»«b»; .say
p6eval niecza v10-61-gbacff10: OUTPUT«===SORRY!===␤␤Missing assignment operator at /tmp/WkGYptBRDq line 1:␤------> $_ = 'aa'; s:g«a»⏏«b»; .say␤␤Parse failed␤␤»
benabik Hm. .= means something different, doesn't it.
GlitchMr niecza: $_ = 'aa'; s:g“a”“b”; .say
p6eval niecza v10-61-gbacff10: OUTPUT«===SORRY!===␤␤Missing assignment operator at /tmp/AfO_6Lwud0 line 1:␤------> $_ = 'aa'; s:g“a”⏏“b”; .say␤␤Parse failed␤␤»
GlitchMr ... it doesn't seem to support pair of operators though...
benabik Missing assignment operator? 16:03
flussence std: q「?」
p6eval std 580b69a: OUTPUT«ok 00:01 118m␤»
flussence woo
niecza: q「?」
GlitchMr benabik, it aplies method
p6eval niecza v10-61-gbacff10: ( no output )
GlitchMr perl6: 'wow'.say
flussence niecza: q「?」.say
GlitchMr perl6: 'wow'.=say
p6eval pugs b927740, rakudo 9897b0, niecza v10-61-gbacff10: OUTPUT«wow␤»
niecza v10-61-gbacff10: OUTPUT«?␤»
rakudo 9897b0: OUTPUT«wow␤Cannot assign to a non-container␤ in method dispatch:<.=> at src/gen/CORE.setting:722␤ in block <anon> at /tmp/0UyPWRDxUW:1␤ in <anon> at /tmp/0UyPWRDxUW:1␤»
..pugs b927740: OUTPUT«wow␤*** Can't modify constant item: VStr "wow"␤ at /tmp/i4aFBN03Y3 line 1, column 1 - line 2, column 1␤»
..niecza v10-61-gbacff10: OUTPUT«wow␤␤Unhandled Exception: assigning to readonly value␤ at /tmp/SHseeYwN9N line 1 (MAIN mainline @ 1) ␤ at /home/p6eval/niecza/lib/CORE.setting line 2181 (CORE C1041_ANON @ 2) ␤ at /home/p6eval/niecza/lib/CORE.setting line 2182 (CORE module-CORE @ 58) ␤ …
benabik GlitchMr: Yeah, I remembered that after the fact.
GlitchMr perl6: my $var = 2; $var .= say; say $var.perl 16:04
p6eval niecza v10-61-gbacff10: OUTPUT«2␤Bool::True␤»
..pugs b927740: OUTPUT«2␤\Bool::True␤»
..rakudo 9897b0: OUTPUT«2␤Bool.new()␤»
GlitchMr Bool.new()...
ok...
niecza: my $_ = '1/4'; s¼4¼2¼; .say 16:05
p6eval niecza v10-61-gbacff10: OUTPUT«===SORRY!===␤␤Undeclared routine:␤ 's¼4¼2¼' used at line 1␤␤Potential difficulties:␤ Useless redeclaration of variable $_ (see ??? line ???) at /tmp/5tsXxbUinr line 1:␤------> my $_ ⏏= '1/4'; s¼4¼2¼; .say␤␤␤Unhandled E…
benabik niecza: $_ = 'aa'; s「a」「b」; .say
p6eval niecza v10-61-gbacff10: OUTPUT«===SORRY!===␤␤Missing assignment operator at /tmp/8FgqUo8ZG2 line 1:␤------> $_ = 'aa'; s「a」⏏「b」; .say␤␤Parse failed␤␤»
GlitchMr niecza: $_ = '1/4'; s⁕4⁕2⁕; .say 16:06
p6eval niecza v10-61-gbacff10: OUTPUT«1/2␤»
benabik std: $_ = 'aa'; s「a」「b」; .say
p6eval std 580b69a: OUTPUT«===SORRY!===␤Missing assignment operator at /tmp/A0aheNNrQb line 1:␤------> $_ = 'aa'; s「a」⏏「b」; .say␤ expecting any of:␤ bracketed infix␤ infix or meta-infix␤ quantifier␤Parse failed␤FAILED 00:01 124m␤»…
benabik Can't use paired brackets there, apparently.
GlitchMr niecza: $_ = '1/4'; s«4«2«; .say
p6eval niecza v10-61-gbacff10: OUTPUT«===SORRY!===␤␤Regex missing terminator (or semicolon must be quoted?) at /tmp/OhvIzl591h line 1:␤------> $_ = '1/4'; s«4«2«;⏏ .say␤␤Parse failed␤␤»
benabik std: $_ = 'aa'; s「a」= 'b'; .say
p6eval std 580b69a: OUTPUT«ok 00:01 123m␤»
GlitchMr niecza: $_ = '1/4'; s􏿽xE2􏿽x8C􏿽xA94􏿽xE2􏿽x8C􏿽xA92􏿽xE2􏿽x8C􏿽xA9; .say
p6eval niecza v10-61-gbacff10: OUTPUT«===SORRY!===␤␤Unrecognized regex metacharacter 􏿽xE2􏿽x8C􏿽xA9 (must be quoted to match literally) at /tmp/TJfX_5c4Ed line 1:␤------> $_ = '1/4'; s􏿽xE2􏿽x8C􏿽xA94􏿽xE2􏿽x8C􏿽xA9⏏2􏿽xE2􏿽x8C􏿽xA9; .say␤␤Couldn't find terminator 􏿽xE2􏿽x8C􏿽xAA at /tmp/TJfX_5c4Ed line 1:␤------> $_ = …
benabik std: $_ = 'aa'; s「a」= 「b」; .say 16:07
p6eval std 580b69a: OUTPUT«ok 00:01 124m␤»
GlitchMr niecza: $_ = '1/4'; s􏿽xE2􏿽x8C􏿽xA94􏿽xE2􏿽x8C􏿽xAA􏿽xE2􏿽x8C􏿽xA92􏿽xE2􏿽x8C􏿽xAA; .say
p6eval niecza v10-61-gbacff10: OUTPUT«===SORRY!===␤␤Missing assignment operator at /tmp/NMU1NLBkPI line 1:␤------> $_ = '1/4'; s􏿽xE2􏿽x8C􏿽xA94􏿽xE2􏿽x8C􏿽xAA⏏􏿽xE2􏿽x8C􏿽xA92􏿽xE2􏿽x8C􏿽xAA; .say␤␤Parse failed␤␤»
GlitchMr ...
that's weird...
masak yeah. 16:08
16:09 JimmyZ left
GlitchMr s/PATTERN/REPLACEMENT/msixpodualgcer 16:09
lol
Documentation is awesome
Is it just me or I can see glacier there? 16:10
masak glacier? 16:11
ah, 'lgcer'?
16:11 simcop2387 left
masak well, maybe if you squint. 16:11
16:11 simcop2387 joined
masak decommutes 16:12
16:12 simcop2387 left, simcop2387 joined
GlitchMr perl6: m/#/x;print ":)"; 16:14
p6eval niecza v10-61-gbacff10: OUTPUT«===SORRY!===␤␤Regex not terminated at /tmp/BcPwcvvteQ line 1 (EOF):␤------> m/#/x;print ":)";⏏<EOL>␤␤Parse failed␤␤»
..rakudo 9897b0: OUTPUT«===SORRY!===␤Confused at line 1, near "m/#/x;prin"␤»
..pugs b927740: OUTPUT«*** ␤ Unexpected "print"␤ expecting "="␤ at /tmp/XpL_thCQ93 line 1, column 7␤»
GlitchMr perl6: m/#/;print ":)";
p6eval niecza v10-61-gbacff10: OUTPUT«===SORRY!===␤␤Regex not terminated at /tmp/fyoruigp4x line 1 (EOF):␤------> m/#/;print ":)";⏏<EOL>␤␤Parse failed␤␤»
..rakudo 9897b0: OUTPUT«===SORRY!===␤Confused at line 1, near "m/#/;print"␤»
..pugs b927740: OUTPUT«Error eval perl5: "if (!$INC{'Pugs/Runtime/Match/HsBridge.pm'}) {␤ unshift @INC, '/home/p6eval/.cabal/share/Pugs-6.2.13.20111008/blib6/pugs/perl5/lib';␤ eval q[require 'Pugs/Runtime/Match/HsBridge.pm'] or die $@;␤}␤'Pugs::Runtime::Match::HsBridge'␤"␤*** '<HAND…
GlitchMr I have idea for testing helpful error messages. Run Perl 5 code in Perl 6 and fix errors which it will say. 16:15
Unsupported use of =~ to do pattern matching; in Perl 6 please use ~~ at line 3, near " tr/A-Za-z" 16:16
... ok, nice beginning :)
Unable to parse blockoid, couldn't find final '}' at line 3
... ok, less helpful :P
sub rot13 { 16:17
my $string = shift;
$string ~~ tr/A-Za-z/N-ZA-Mn-za-m/;
return $string;
}
print rot13($_) while (<>);
... what I am doing what?
Let me guess... - operator?
... nope 16:18
Trashlord what the hell
16:18 mj41 left, mj41_nb left
TimToady std: tr/A-Za-z/N-ZA-Mn-za-m/ 16:18
p6eval std 580b69a: OUTPUT«===SORRY!===␤Unsupported use of - as character range; in Perl 6 please use .. at /tmp/otNp7fRbjP line 1:␤------> tr/A-Z⏏a-z/N-ZA-Mn-za-m/␤Parse failed␤FAILED 00:01 119m␤»
GlitchMr I know, but I wanted to test Perl 5 in Perl 6.
I wanted to see error messages.
I know .. is used for range
But the blockoid message is weird... 16:19
perl6: sub rot13 {my $string = shift;$string ~~ tr/A-Za-z/N-ZA-Mn-za-m/;return $string;}print rot13($_) while (<>);
p6eval rakudo 9897b0: OUTPUT«===SORRY!===␤Unable to parse blockoid, couldn't find final '}' at line 1␤»
..niecza v10-61-gbacff10: OUTPUT«===SORRY!===␤␤Unsupported use of - as character range; in Perl 6 please use .. at /tmp/g__1QlQoBm line 1:␤------> 13 {my $string = shift;$string ~~ tr/A-Z⏏a-z/N-ZA-Mn-za-m/;return $string;}print ␤␤Parse failed␤␤»…
..pugs b927740: OUTPUT«*** ␤ Unexpected "$string"␤ expecting "=", context, ":" or "("␤ at /tmp/9FE4vFDT1P line 1, column 15␤»
GlitchMr ... ok
niecza, tell me more
perl6: sub rot13 {my $string = shift;$string ~~ tr/A..Za..z/N..ZA..Mn..za..m/;return $string;}print rot13($_) while (<>);
p6eval niecza v10-61-gbacff10: OUTPUT«===SORRY!===␤␤Action method quote:tr not yet implemented at /tmp/8Rj6jxsSuw line 1:␤------> $string ~~ tr/A..Za..z/N..ZA..Mn..za..m/⏏;return $string;}print rot13($_) while (␤␤Strange text after block (missing comma, sem…
..rakudo 9897b0: OUTPUT«===SORRY!===␤Unrecognized regex metacharacter (must be quoted to match literally) at line 1, near "return $st"␤»
..pugs b927740: OUTPUT«*** ␤ Unexpected "$string"␤ expecting "=", context, ":" or "("␤ at /tmp/sbOkRS3aJF line 1, column 15␤»
GlitchMr ... 16:20
ok...
TimToady improved messages in rakudo are waiting on the parser rewrite that pmichaud++ is sporadically working on
at which point rakudo will be more convergent with std
niecza is already based pretty directly on std
jnthn Plus we have roles in nqp now too, which should help with a few other bits of convergence. 16:21
GlitchMr Action method quote:tr not yet implemented at C:\Users\Konrad\Desktop\hello.php line 1:
------> ←$string ~~ tr/A..Za..z/N..ZA..Mn..za..m/←?←;return $string;}print rot13($_) while (←
... kind of makes sense...
So tr/// is not supported. OK, let's try something else... 16:22
TimToady there's the .trans form, at least in rakudo
GlitchMr perl6: sub leap {my $yr = $_[0];if ($yr % 100 == 0) {return ($yr % 400 == 0);}return ($yr % 4 == 0);}say leap 2000; 16:23
p6eval pugs b927740: OUTPUT«1␤»
..niecza v10-61-gbacff10: OUTPUT«===SORRY!===␤␤Strange text after block (missing comma, semicolon, comment marker?) at /tmp/aipggQG583 line 1:␤------> r % 100 == 0) {return ($yr % 400 == 0);}⏏return ($yr % 4 == 0);}say leap 2000;␤␤Parse failed␤␤»…
..rakudo 9897b0: OUTPUT«===SORRY!===␤Unable to parse blockoid, couldn't find final '}' at line 1␤»
GlitchMr So pugs parses it... 16:24
...
Unable to parse blockoid. What's wrong?
moritz GlitchMr: niecza told you
dalek kudo/nom: 3fb9155 | jnthn++ | src/binder/bind.c:
Fix a bug in the binder related to unboxing to native types. Also add a just-in-case check for something that should 'never happen'.
ast: f1568a4 | jnthn++ | S02-types/native.t:
Unfudge test for bug found by moritz++ with native handling.
16:25
jnthn moritz: Happily it was as easy to fix as I'd guessed.
GlitchMr perl6: sub leap {my $yr = $_[0];if ($yr % 100 == 0) {return ($yr % 400 == 0);};return ($yr % 4 == 0);}say leap 2000; 16:27
p6eval niecza v10-61-gbacff10: OUTPUT«===SORRY!===␤␤Strange text after block (missing comma, semicolon, comment marker?) at /tmp/E4RtsA_K2y line 1:␤------> yr % 400 == 0);};return ($yr % 4 == 0);}⏏say leap 2000;␤␤Parse failed␤␤»
..rakudo 9897b0: OUTPUT«===SORRY!===␤Confused at line 1, near "sub leap {"␤»
..pugs b927740: OUTPUT«1␤»
GlitchMr 32myr?
...
ok...
perl6: sub leap {my $yr = $_[0];if ($yr % 100 == 0) {return ($yr % 400 == 0);};return ($yr % 4 == 0);};say leap 2000; 16:28
p6eval niecza v10-61-gbacff10: OUTPUT«Rebuild in progress␤»
..rakudo 9897b0: OUTPUT«===SORRY!===␤CHECK FAILED:␤Calling 'leap' will never work with argument types (int) (line 1)␤ Expected: :()␤»
..pugs b927740: OUTPUT«1␤»
GlitchMr Rebuild in progress...
TimToady it did that just out of spit :)
*spite
GlitchMr perl6: sub leap {my $yr = $_[0];if ($yr % 100 == 0) {return ($yr % 400 == 0);};return ($yr % 4 == 0);};say leap 2000;
p6eval niecza v10-61-gbacff10: OUTPUT«Bool::True␤»
..rakudo 9897b0: OUTPUT«===SORRY!===␤CHECK FAILED:␤Calling 'leap' will never work with argument types (int) (line 1)␤ Expected: :()␤»
..pugs b927740: OUTPUT«1␤»
TimToady but maybe spit too
GlitchMr "Calling 'leap' will never work with argument types (int) (line 1)" 16:29
ok...
moritz jnthn: it seems that in the case above, rakudo infers a type for the parameter that isn't specified and wrong
TimToady no
benabik Is $_[0] still a valid way to get a param?
TimToady should be @_[0]
GlitchMr ... 16:30
moritz TimToady: no? where does the 'int' come from?
GlitchMr How it still works?
benabik moritz: It said you called with (int), and it was expecting()
jnthn moritz: How is it wrong?
moritz benabik: ah, you're right
jnthn: never mind, I am :-)
jnthn I agree a better error would be one that whined about arity thougyh :)
TimToady use of $_[0] is an interesting failure mode that is difficult to catch 16:31
benabik nom: sub leap {my $yr = @_[0];if ($yr % 100 == 0) {return ($yr % 400 == 0);};return ($yr % 4 == 0);};say leap 2000
p6eval nom 9897b0: OUTPUT«Bool::True␤»
16:34 daxim left
TimToady if we had an analysis of "used before set", then $_[0] could be detected as a P5ism at compile time 16:39
we could (not suggesting this) go as far as to outlaw $_[0], and require .[0] instead 16:41
jnthn TimToady: I'll probably need to do that kind of variable analysis in the optimizer at some point in the not too distant future. 16:42
TimToady that seems like the cleaner way to do it 16:43
jnthn There's a whole load of subtlely there though
Consider
TimToady 'course, $_ is special
and can be set dynamically
GlitchMr $_[0] // not first character :(
TimToady CALLER::<$_>
jnthn Oh, that's even easier than what I was going to do. 16:44
class A { method m($x is rw) { $x = 42 } }; sub foo() { A.m($_[0]); }
GlitchMr perl6: $_ = '€ for everybody!'; print $_[0];
p6eval rakudo 9897b0, niecza v10-61-gbacff10: OUTPUT«€ for everybody!»
..pugs b927740: OUTPUT«decodeUTF8': bad data: '\8364'␤⬠for everybody!»
GlitchMr ...
ok...
jnthn TimToady: In that case we don't know it's going to be bound to an rw parameter until runtime. 16:45
GlitchMr perl6: my $euro = '€ for everybody!'; print $euro[0];
p6eval rakudo 9897b0, niecza v10-61-gbacff10: OUTPUT«€ for everybody!»
..pugs b927740: OUTPUT«decodeUTF8': bad data: '\8364'␤⬠for everybody!»
jnthn GlitchMr: You're looking for .substr
benabik GlitchMr: Perl6 doesn't treat strings as an array of characters. $str[0] means different things if you're talking about byte, graphemes, characters, etc.
GlitchMr ... 16:46
ok..
makes sense
TimToady and then there's this:
perl6: my $euro = '€ for everybody!'; print $euro[0][0][0][0][0][0][0][0][0][0][0][0] 16:47
p6eval rakudo 9897b0, niecza v10-61-gbacff10: OUTPUT«€ for everybody!»
..pugs b927740: OUTPUT«decodeUTF8': bad data: '\8364'␤⬠for everybody!»
benabik perl6: my $string = 'foobarbaz'; say $string[1]
[Coke] . o O (wow, I thought going through old tickets on p6eval generated a lot of backscroll)
p6eval rakudo 9897b0: OUTPUT«Failure.new()␤»
..niecza v10-61-gbacff10: OUTPUT«Any()␤»
..pugs b927740: OUTPUT«␤»
benabik perl6: my $int = 3; say $int[0]; say $int[1] 16:48
p6eval rakudo 9897b0: OUTPUT«3␤Failure.new()␤»
..niecza v10-61-gbacff10: OUTPUT«3␤Any()␤»
..pugs b927740: OUTPUT«3␤␤»
jnthn
.oO( no matter how deep they dig, the EU seem to be finding that maybe there ain't € for everybody )
GlitchMr ...
I live in Poland. It doesn't use €.
TimToady I sold my € back to the bank for $, so there should be plenty of € to go around now 16:49
GlitchMr But I've typed it because it's Unicode character
And it's easy to type on my keyboard. ALT GR+U
jnthn GlitchMr: I'm in Sweden, so am kinda isolated from the Euro stuff too
TimToady it's ALTGR e= here :)
GlitchMr But then, I guess ALT GR+U is used because ALT GR+E is already used for ę
jnthn To the degre "not being in the eurozone" isolates you from it...
ALTGR 4 here :) 16:50
GlitchMr ... ok
TimToady well, I should call it COMPOSE
though I confess I just copy/pasted it :)
benabik Opt-Shift-2, just to be strange. 16:51
I guess postfix:<[ ]> treats a scalar as a one element array
jnthn benabik: correct
TimToady CTRL/SHIFT-u 20ac
moritz benabik: well, Any does; close enough :-) 16:52
GlitchMr ALT+0128 16:54
jnthn well, and it's postcircumfix:<[ ]>. But...details ;)
GlitchMr ... but seriously, it will print Windows-1252 character...
ralree.info/assets/2008/10/9/keyconfig.png 16:55
... ok...
[Coke] ȡͮ # fun with windows alt key. 16:57
TimToady .u ȡͮ 16:59
phenny U+0221 LATIN SMALL LETTER D WITH CURL (ȡ)
U+036E COMBINING LATIN SMALL LETTER V (◌ͮ)
17:01 packetknife joined
GlitchMr .u € :) 17:02
phenny GlitchMr: U+20AC U+0020 U+003A U+0029
GlitchMr .u ⚑⚐
phenny U+2691 BLACK FLAG (⚑)
U+2690 WHITE FLAG (⚐)
GlitchMr .u ✌ 17:03
phenny U+270C VICTORY HAND (✌)
17:03 am0c left
GlitchMr .u And now we are just using ASCII to confuse this script :) 17:03
phenny GlitchMr: Sorry, your input is too long!
GlitchMr .u ASCII
phenny GlitchMr: Sorry, no results for 'ASCII'.
GlitchMr .u And now we are just using ASCII to confuse this script :).ł
phenny GlitchMr: Sorry, your input is too long!
GlitchMr .u ASCII ✌
phenny GlitchMr: U+0041 U+0053 U+0043 U+0049 U+0049 U+0020 U+270C
TimToady please don't torment the bot :) 17:04
GlitchMr ok...
:P
17:04 thiagoharry joined
jnthn afk for a bit 17:05
[Coke] s/the bot/us/
thiagoharry Hi. I would like to ask why the perl new version uses a butterfly as mascot. 17:06
TimToady do you need permission?
PerlJam thiagoharry: why not? :) 17:07
17:07 bluescreen10 left
benabik thiagoharry: raw.github.com/perl6/mu/master/misc/camelia.txt 17:07
TimToady short answer: to convince 8-year-old girls that Perl is cool
so they'll grow up to become programmers 17:08
huf it's a quantum butterfly. perl6 flaps its wings and millions die in an earthquake-flashflood-tsunami-meteor disaster
thiagoharry Good point. :-)
BinGOs maybe the logo should have been Justin Bieber then
TimToady and then we won't just be a bunch of uncivilized curmugeons
huf or maybe millions are born
moritz BinGOs: no, Justin Bieber will be uncool in at least two years
BinGOs heh
moritz (or probably more like, 2 weeks)
benabik It's the only non-text logo that becomes interesting in text: »ö«
TimToady er, big Camelia is text too 17:09
benabik TimToady: I meant a logo that's not just text in a specific font.
Corporate "logos" that are just a name in Helvetica. Boring. 17:10
Debian's logo ascii-arts well, but it's better as a sig than an IRC topic. 17:11
thiagoharry Thanks for the answers. ^^ 17:12
17:12 thiagoharry left
TimToady note that »ö« is not ascii art at all :) 17:12
17:14 GlitchMr left
[Coke] sorry, isoart. 17:15
17:15 dakkar left
[Coke] >>O:<< # squished into ascii. 17:15
TimToady looks more like Texas Roadkill 17:16
[Coke] ;)
17:19 bluescreen10 joined 17:20 wk joined 17:26 Chillance joined
TimToady context managers feels a bit twigily to me, as an odd scoping thing 17:36
but in any case it seems like some kind of sugar you can put on any formal parameter 17:38
that might or might not turn into "will leave *.dispose" 17:39
masak nod
TimToady and if we do that, once again we show that we can generalize something much better than merely adding a new control structure 17:41
it would just fall out that open() -> $/f {...} (or whatever sugar we use) happens to be a degenerate case of it 17:43
masak right. 17:47
TimToady -> $+f $-f $\f $>f
not many twigils left
doesn't have to be a twigil
could go in the !? slot after too
masak $f- 17:48
TimToady $f-- :)
masak :)
$f* 17:49
hm, no...
PerlJam Er ... what is this thing of which you speak?
TimToady now I'm looking for the footnote
masak PerlJam: we're bikeshedding sugar.
TimToady irclog.perlgeek.de/perl6/2011-10-25#i_4611609
and following discussion
PerlJam aye. reading. 17:50
masak $f.
TimToady or just a very short trait_mod
$f kill
masak $f will dispose
$f will self-destruct 17:51
TimToady will requires more
masak dang.
TimToady currently requires a block, but I want to relax that to *.dispose things
but it'd be "will leave *.close"
PerlJam so, do "openers" know their corresponding "closers"?
benabik Ruby handles it by passing blocks into constructors: File.open('foo.txt') { |f| do_stuff f } # file always closed by here 17:52
masak benabik: we never got a syntax like that in Perl 6 for passing blocks.
we can do special_open('foo.txt', -> $f { do_stuff }), though.
TimToady yes, it's only a comma away 17:53
benabik Just thought I'd mention it as a different way of thinking about it.
TimToady again, generalizing something differently
you can bet we looked at the ruby syntax when designing p6
and as I said, it was a decision that huffmanized a comma into the p6 to keep things general 17:54
if you've got a block parameter, just pass the silly thing as a parameter, no magic
note that File.open('foo.txt'): -> $f { do_stuff } is also legal 17:55
benabik Changes it from a syntax design to library design, really. :-D 17:56
TimToady std: open('foo.txt'): -> $f { do_stuff() }
p6eval std 580b69a: OUTPUT«===SORRY!===␤Undeclared routine:␤ 'do_stuff' used at line 1␤Potential difficulties:␤ $f is declared but not used at /tmp/thWVcur6wI line 1:␤------> open('foo.txt'): -> ⏏$f { do_stuff() }␤Check failed␤FAILED 00:01 122m␤»…
benabik Although RAII is a useful enough thing to make easy.
TimToady RAII precludes porting to GC VMS, more or less 17:57
benabik I view these things as doing the same thing as RAII, just spelled different. :_
:-D
PerlJam looks more like the flip side of the coin to me. 17:58
TimToady well, but it's allocation of the lexical symbol, not of its value
real RAII works with passing refs out, this doens't
-> $f.close {...} 17:59
benabik PerlJam: Basic idea of RAII to me is "do something when we enter the block" and "clean up no matter how I leave". Perhaps that's more how I use RAII than the definition of it. 18:00
TimToady I'd call that finalization, not RAII 18:01
benabik When those things are allocate/deallocate, open/close, lock/unlock it feels like RAII to me. 18:02
I suppose the thing is really that it's done implicitly rather than explicit.
18:03 benabik_ joined 18:04 benabik left, benabik_ is now known as benabik
TimToady -> $f.gc { ... } 18:04
sugar for -> $f willl leave *.gc { ... } 18:05
*ll
PerlJam benabik: feels kind of IoC to me. declare some start and destroy actions on a resource and then when you use it, magic happens. It just happens that certain built-in resources already have action declared on them so you don't have to.
18:06 packetknife left
PerlJam (I'm also using "resource" in a hand-wavy kind of way to mean things and classes of things) 18:06
benabik PerlJam: RAII uses resource in the same way. It's used for memory, files, locks, etc
TimToady: How would that actually go in the middle of code? 'file'.IO.open -> $f.close { … } ? 18:08
That doesn't feel significantly simpler than my $f = open(); LEAVE $f.close 18:09
PerlJam TimToady: what about non-methody sugar?
or, how do you shorten -> $f will leave foo($f) { ... } ? 18:10
er, with the appropriate block
TimToady -> $f.&foo($f) 18:11
PerlJam The first $f there isn't useful is it? could it be $.&foo($f) ? 18:12
benabik It assigns the value to $f inside the block, no? 18:13
TimToady how does it know what the second $f means then?
PerlJam oh, right.
TimToady anyway, it's not meant to replace 'will leave {...}', just as placeholders are not meant to replace signatures 18:14
my $f.GC = open $file;
benabik I think the value of context managers/RAII is that you don't have to explicitly say what happens when you leave. The object itself is responsible for DTRT
TimToady but that's not what this is doing 18:15
there are two objects here
PerlJam benabik: except that so far ... we do have to say :)
TimToady there's the filehandle, and the container $f
and if the $f object that is controlling it here, not the filehandle
masak I think .GC is false advertising, since that's not when things are happening.
TimToady and it's $f going out of scope, not the filehandle going to 0 refs
.GC would force an immediate GC of the object 18:16
I'm just looking for something shorter than .dispose
benabik PerlJam: The orig question was about Python's with, which gives a way _not_ to say.
TimToady which suffers cobolitis of the verb
benabik PerlJam: It can be done in P6 already with LEAVE if you want to say it explicitly. 18:17
TimToady correct, Python's with is not RAII
as far as I know
benabik Please forget I mentioned RAII… That's just the slot this concept is in my head and has nothing to do with anything apparently.
TimToady and, in fact, Python is backpeddling away from anything resembling timely destruction, last I heard 18:18
since they also want to run on VMs with real GC
benabik with doesn't interact with GC at all, just scope 18:19
TimToady let's be precise
what these mechanisms do is turn an object into mere memory, and then it doesn't matter when GC hapens
*pp
18:20 packetknife joined
PerlJam TimToady: how about back to the suffix idea: -> $f% { ... } # means call *.dispose or whatever the default "destructor" is 18:20
TimToady so what we're really wanting to tell the thing is "deallocate your resources" 18:21
benabik What with and Ruby's stdlib's block to initializer bit does is provide a way of providing a kind of standard finally block. Ruby's is a little more general
TimToady PerlJam: and I think .gc is a more general suffix
PerlJam ok 18:22
TimToady since it could be any method
PerlJam For "automatic" things, I tend to favor hiding of names.
TimToady as long as we get a short enough thing that means .dispose
PerlJam (at least for the user :)
benabik PerlJam: +1
TimToady .oo for "over and out" :) 18:24
PerlJam We could start with a pragma that automatically transmogrifies pointy blocks into the "will leave" versions. 18:25
TimToady overload -- on filehandles, and then -> $f.-- {...} :) 18:26
we're trying to avoid pragmas that everyone should use :)
PerlJam then a pragma to turn it off :) 18:27
benabik It's also worth noting that with also provides an enter method. Which can be very useful for things like locks. 18:29
Woodi .clean .deal ?
TimToady I like the generality of $f.meth, and the metaphor of it coming after visually
I hear you on the identifier thing
Woodi .seal :)
TimToady but paramaters are guaranteed to be as tall as a sigil
so if we pick something methody, it should have no ascenders
PerlJam TimToady: postfix:<...> ? :) 18:30
TimToady .gc, .oo, .xxx etc
._
that's pretty flat :)
Woodi auto $f 18:31
PerlJam TimToady: -> $f. { ... } # now it's invisible! 18:32
:)
Woodi .fix 18:33
TimToady .''
benabik .fix looks like the fixed point combinator. 18:34
TimToady .break SCNR
PerlJam .fix also makes me wonder what's broken
Woodi oo, auto fixing is not invented yet :) 18:35
.ttl(1) 18:36
TimToady .ex
Woodi whatever that can be...
PerlJam Woodi: when does the ttl start? :)
TimToady .ax
PerlJam .chop # oh wait ...
TimToady .ax, for automatic extinction :) 18:37
PerlJam .x then
benabik IO.x
TimToady too common
benabik Or did that go away?
TimToady perl6: say open('perl6').x 18:38
p6eval pugs b927740: OUTPUT«*** Unsafe function 'Pugs::Internals::openFile' called under safe mode␤ at Prelude.pm line 308, column 13-61␤»
..niecza v10-61-gbacff10: OUTPUT«␤Unhandled Exception: CORE open may not be used in safe mode␤ at /home/p6eval/niecza/lib/CORE.setting line 0 (CORE open @ 0) ␤ at /tmp/agc0fKrfBI line 1 (MAIN mainline @ 1) ␤ at /home/p6eval/niecza/lib/CORE.setting line 2181 (CORE C1041_ANON @ 2) ␤ at …
..rakudo 3fb915: OUTPUT«open is disallowed in safe mode␤ in sub restricted at src/SAFE.setting:2␤ in sub open at src/SAFE.setting:5␤ in block <anon> at /tmp/ifjKMhwwow:1␤ in <anon> at /tmp/ifjKMhwwow:1␤»
PerlJam hah!
TimToady perl6: say 'perl6'.IO.x
p6eval niecza v10-61-gbacff10: OUTPUT«␤Unhandled Exception: CORE IO.x may not be used in safe mode␤ at /home/p6eval/niecza/lib/CORE.setting line 0 (CORE IO.x @ 0) ␤ at /tmp/24pILm3CBw line 1 (MAIN mainline @ 2) ␤ at /home/p6eval/niecza/lib/CORE.setting line 2181 (CORE C1041_ANON @ 2) ␤ at …
..pugs b927740: OUTPUT«*** No such method in class Str: "&IO"␤ at /tmp/K0IzKzguPV line 1, column 5 - line 2, column 1␤»
..rakudo 3fb915: OUTPUT«Bool::False␤»
TimToady perl6: say '.'.IO.x 18:39
benabik I thought rakudo's safe mode removed everything from IO...
p6eval rakudo 3fb915: OUTPUT«Bool::True␤»
..niecza v10-61-gbacff10: OUTPUT«␤Unhandled Exception: CORE IO.x may not be used in safe mode␤ at /home/p6eval/niecza/lib/CORE.setting line 0 (CORE IO.x @ 0) ␤ at /tmp/9F5mDF7l5W line 1 (MAIN mainline @ 2) ␤ at /home/p6eval/niecza/lib/CORE.setting line 2181 (CORE C1041_ANON @ 2) ␤ at …
..pugs b927740: OUTPUT«*** No such method in class Str: "&IO"␤ at /tmp/qWZ0hw5CX5 line 1, column 5 - line 2, column 1␤»
PerlJam still favors some postfix non-alphanumeric
TimToady then you can write a postfix for whatever you like 18:40
Woodi do { $f } not do what is needed ?
TimToady why would that close $f?
18:41 xinming left 18:42 GlitchMr joined
Woodi { $f = ...; do what_needed() } 18:42
benabik I've yet to see anything suggested that I'm convinced is better than "my $f = open(); LEAVE $f.close # rest of method" "my $f = open() ; -> $f.close { #`{ rest of method } }" isn't much shorter.
PerlJam TimToady: .gc and .ax are probably the best ones so far (.ax doesn't suffer the conceptual overloading that might happen with .gc so it's marginally better IMHO)
TimToady benabik: LEAVE is a blunter ax 18:43
"will leave" only runs if you actually get to the statement
or rather, it automatically tests to see if its object is defined, and skips if not 18:44
with LEAVE, you can get an undefined error on *.close 18:45
benabik $f.?close ?
I suppose giving shorter syntax for will leave {} is somewhat useful, although I'm not sure overloading pointy is good for that since it would usually have nothing to do with creating a function. 18:46
TimToady that's really for modulating whether close is available, not $f
who's overloading pointy?
benabik -> $f.close {} ?
TimToady that's adding to parameter syntax, not pointy 18:47
18:47 Util joined
TimToady the pointy doesn't care at all, it's just a sig 18:47
benabik That's why I've been asking about what it looks like in code. "my $f = open(); -> $f.close {}"? That looks like I'm trying to return a function. 18:48
TimToady in a sense, not even the parameter cares, it's just a trait
Woodi on leave { close() } on block { ... }
like IRC events :) 18:49
TimToady Woodi: now you've messed up your lexical scoping, which is why LEAVE is inside
just because some other language has a low-wattage construct doesn't mean it's right for Perl 6 18:50
we want high-wattage constructs that can be cargo culted as if they were low-wattage 18:51
18:52 ksi joined
Woodi it can be other 'on' - general one, not similiar to others 18:52
18:55 lichtkind joined
lichtkind thou: ping 18:55
PerlJam benabik: you're still looking for "with" I think. You can make your own syntax for that. :) 18:56
thou hi, lichtkind. long time no chat.... 18:57
lichtkind true
benabik PerlJam: The conversion was spawned by someone asking for a pythonesque with. I'm looking for a way to make open/close simple. I don't mind a more general method, but I'm not seeing how what's being discussed is anything like it.
PerlJam: Discussing how .close should be spelled doesn't really tell me what it looks like when a user tries to use it. 18:58
18:58 corwin joined
benabik More precisely: "-> $f.ax {…}" doesn't tell me where "$f = open()" goes. Or why .ax is particularly better than using .close. 19:00
Woodi benabik: i belibe this talk was about something shorter then { $f = open(); ... } finalize { ... } 19:02
benabik Woodi: I know the point of the discussion, I'm just saying that I'm not seeing how what's being discussed actually gets us there. Perhaps I've just missed something vital. 19:03
TimToady given open() -> $f.ax {...} 19:04
benabik That there makes more sense to me.
TimToady sorry, we're all just lazy
lichtkind TimToady: happy new year sir 19:05
TimToady and that is proposed sugar for: given open() -> $f will leave { .ax } {...}
benabik TimToady: I never saw a "given open()" in any example. Just "-> $f.foo"
Woodi can try { ... } can be overloaded not only for error raporting ? :) 19:06
TimToady and "will leave" is specced but unimplemented
PerlJam benabik: because it can be used in other contexts too
TimToady like: my $f.ax = open();
though we might have some collisions with current usage there 19:07
PerlJam if open() -> $f.ax { ... } might prove useful too :)
TimToady even shorter
jnthn Why not just a different scope declarator? 19:08
TimToady parameter, not sig
jnthn ah, that won't do it for my...hmm.
19:09 SABRJQR joined, mj41 joined
jnthn Was thinking more along the lines of fornow $x = open('foo') 19:09
But yeah, doesn't extend to params :)
TimToady std: my $x will leave {.foo} = 42;
p6eval std 580b69a: OUTPUT«ok 00:01 122m␤»
jnthn Guess that works too :) 19:10
TimToady so we're just looking at sugar for 'will leave' really
jnthn How is that trait implemented?
TimToady it isn't :P
jnthn gah
How would that trait be implemented? :P
PerlJam my $f.ax = 42; # does this die at EOS? or silently do nothing?
jnthn TimToady: I'm still not sure quite what you get passed when declaring a variable. 19:11
TimToady to would call $f.ax at end of scope, presumably, if we include that in sig syntax
the variable
jnthn TimToady: To the trait_mod?
OK
TimToady {.foo} ==> { $f.foo }
jnthn TimToady: I was wondering if it was something "richer" so you had a link back to the declaring scope or some such. 19:12
benabik I somewhat like the sugar, but not the .ax. It's shorter, sure, but less clear IMO.
TimToady don't think so, but 'will leave' does have to gen up an invisible LEAVE { $f.ax if defined $f } block or some such 19:13
but it can do that early on
jnthn TimToady: Yeah, I guess.
TimToady: Heh, the trait mode can see the contextuals of the compiler :) 19:14
TimToady likewise for "will end", "will keep", etc
jnthn So it's easy then :)
PerlJam jnthn: so ... you're going to hack it in tonight? ;)
jnthn PerlJam: er
PerlJam: "easy" :P
PerlJam heh
jnthn PerlJam: Need to look over mls++'s leave patches some more first
19:15 Entonian joined
TimToady will you KEEP them or UNDO them :P 19:15
jnthn :P
TimToady: Should it be possible to introspect the LEAVE etc phasers attached to a block? 19:16
If so, is that $some_block.LEAVE?
What does it return? A list of them?
19:16 envi_ left
corwin hello everyone... is it allowed to ask noob questions here? 19:18
jnthn Yes, if they're about Perl 6 :)
corwin its about irc bot based on Bot::BasicBot... does it count? 19:19
GlitchMr corwin, Bot::BasicBot is Perl 5 19:20
It wasn't yet ported to Perl 6. At least I think so.
corwin hmm... wrong channel then :)
GlitchMr corwin, try #perl 19:21
token comment { 19:22
'c' (<[a..zA..Z]>) $1
}
OK, how I can find identical character
I want to catch cbb, cSS... but not cas or coO
This doesn't work...
19:23 jlester4 joined
yath are you parsing RPG? 19:23
GlitchMr RPG... what?
yath secure.wikimedia.org/wikipedia/en/wiki/IBM_RPG 19:24
GlitchMr en.wikipedia.org/wiki/IBM_RPG
benabik
.oO( parsing Rocket Propelled Grenades? )
GlitchMr this?
yath just thought so :)
yeah
GlitchMr Nope]\
yath comments are identified by a 'c' in column 5 or so
;)
oh, no, c is calc spec
gosh, long time ago.
GlitchMr I wanted to create my obfuscated language. And I think that it could be written as Perl 6 grammar as the test :).
It would probably suck, but anyway 19:25
Also, it will be more like regular expressions syntax, except using normal letters for confusion
:P 19:26
Oh, I see... regular expressions matches start at $0 19:29
masak aye. 19:33
it just made more sense that way.
19:35 corwin left
GlitchMr 'c' (<[a..zA..Z]>) [ \\ $0 | (.) ]*? $0 19:35
:)
19:37 MayDaniel joined
jlester4 Hello 19:37
19:38 SHODAN joined 19:40 cooper joined
GlitchMr :) 19:44
wait...
I have currently grammar which accepts "[ cazzs]\aza]$_20$&#30[b20]p$_"
...
yeah... 19:45
masak jlester4: hi! 19:48
jlester4 I hope this isn't a stupid question but how do I get involved in this project? 19:50
TimToady by asking stupid questions :D
what sorts of things are you interested in?
there are lots of different ways to be involved 19:51
jlester4 Well I'm a university student studying computer science
I'm learning about Perl and heard about Perl 6
TimToady you might like to help sorear++ with niecza then, since he's in the same demographic 19:52
what languages have you learned so far?
jlester4 Java primarily 19:53
We've touched on C and basic unix commands
Oh and assembly language
GlitchMr [ cazzs]\aza]$_20$&#30[bb0]p$_+$#42+$_$_**$&$#& $%$_ $^v $^^
OK, I think it starts to be worst grammar ever
slavik1 oh god
he said the j word 19:54
shun the nobeliever!
Woodi jlester4: one from novice here: learn some Perl6 on start :)
GlitchMr JS?
slavik1 GlitchMr: no, the other j word
the 4 letter j word
masak jlester4: in some order: (1) download Rakudo or Niecza, (2) read about some language feature, (3) decide to try it out, (4) find a bug...
jlester4 Uh oh is that bad?
masak jlester4: and then you're already helping :)
jlester4: they're just teasing you :P
TimToady I don't mind if people learn Java before Perl 6 :)
GlitchMr en.wikipedia.org/wiki/JADE_(program...language)?
TimToady it makes Perl 6 looks so much better
masak :D 19:55
jlester4 ok I will do!
GlitchMr en.wikipedia.org/wiki/JEAN?
jnthn class LookICompileInJavaAndPerl6 { } # we have some similarities ;)
GlitchMr en.wikipedia.org/wiki/Jako_(program...language)?
TimToady well, then there's J
GlitchMr en.wikipedia.org/wiki/JOSS?
What do you mean?
19:55 simcop2387 left
slavik1 GlitchMr: the "enterprisey" one 19:55
why don't you want to scroll up
GlitchMr I'm too lazy 19:56
masak can't help you there.
GlitchMr By moving mouse scroll up, I waste 0.01V compared to not moving mouse at all
19:56 simcop2387 joined
TimToady GlitchMr: eventually we will get too lazy to do your work for you :P 19:56
jlester4 Is Perl 6 just an extension of Perl 5 or is the code being updated?
slavik1 perl6 is a new language
masak jlester4: the latter.
slavik1 technically
GlitchMr jlester4, it's new language
It's better language
jlester4 Entirely new?
masak we hope :)
slavik1 much better language :P
GlitchMr jlester4, well, not exactly 19:57
TimToady same philosophy, but breaking everything about Perl 5 that need breaking
slavik1 I am still giddy about grammars
masak jlester4: it retains a certain Perlishness.
GlitchMr Some stuff from Perl 5 are still existing, but really... a lot has changed
masak slavik1: me too!
GlitchMr Even regular expressions.
jlester4 Badass cool
masak especially regular expressions :)
slavik1 are assertions implemented in rakudo?
GlitchMr Of course now regular expressions are better :).
masak slavik1: what, you mean like 'ok' and 'is'? :)
slavik1: or PRE and POST?
jlester4 Regex language is being changed in Perl 6?
GlitchMr No more "\" spam when just wanting to escape some characters :).
Lack of long form (?: 19:58
masak slavik1: oh, regex assertions? yes, sure!
GlitchMr And other nice changes :)
PerlJam jlester4: yes; improved :)
slavik1 masak: like the < 0 <= $0 <= 255>
jlester4 That sounds amazing
slavik1 type
that type
yeah, regex
awesomes
jlester4 I hate having to escape everything!
Woodi lastly learned Perl6 is 'grammar engine' and P6 is what Perl5 ppls want as Perl6 :)
masak slavik1: yes, for quite some time now.
slavik1 awesome, need to play with that
GlitchMr m/'$#%'/
:)
This will match $#%
No escaping or anything like that
masak Woodi: I... I don't exactly know what you mean by that...
GlitchMr m/'lol'+/
jlester4 lollollol? 19:59
GlitchMr Will match "lol", "lollol", "lollollol" :)
Woodi masak: I not sure I am right :)
GlitchMr Easy
jlester4 I'm excited to start playing around with this right now
GlitchMr I love changes to regular expressions :).
masak Woodi: I'm not even sure what your definition of 'is' is :)
jlester4: pro tip: start playing around with this right now!
slavik1 so, using grammars, how would I implement a language interpreter? do I just take the smart object and traverse the tree?
TimToady perl6: say "jlester4: welcome to #perl6" 20:00
Woodi 'no core' inPerl 6, right ? except grammar ?
p6eval pugs b927740, rakudo 3fb915, niecza v10-61-gbacff10: OUTPUT«jlester4: welcome to #perl6␤»
TimToady all three implementations agree that you are welcome here
masak slavik1: parse, action methods that construct and AST for you, traverse and evaluate AST.
jlester4 Thanks everyone
So perl6.org is where I'll find everything? 20:01
slavik1 masak: quick example?
TimToady but don't neglect your studies too much :)
masak slavik1: see Yapsi.
TimToady it's a good place to start
GlitchMr perl6: print(/'lol'+/ ~~ 'lollollol)
TimToady rosettacode.org is a good place to compare to other languages
masak slavik1: github.com/masak/yapsi
p6eval pugs b927740: OUTPUT«*** ␤ Unexpected end of input␤ expecting "\\", variable name or "'"␤ at /tmp/xDeUvvJK9W line 2, column 1␤»
..niecza v10-61-gbacff10: OUTPUT«␤Unhandled Exception: System.IndexOutOfRangeException: Array index is out of range.␤ at Lexer.Run (System.String from, Int32 pos) [0x00000] in <filename unknown>:0 ␤ at Lexer.RunDispatch (Niecza.Frame fromf, Niecza.P6any cursor) [0x00000] in <filename un…
..rakudo 3fb915: OUTPUT«===SORRY!===␤Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 1␤»
20:01 im2ee left
GlitchMr ... 20:01
slavik1 masak: thanks
GlitchMr ok, I've done something wrong...
perl6: print(/'lol'+/ ~~ 'lollollol')
p6eval rakudo 3fb915: OUTPUT«False»
..niecza v10-61-gbacff10: OUTPUT«Bool::False»
..pugs b927740: OUTPUT«Error eval perl5: "if (!$INC{'Pugs/Runtime/Match/HsBridge.pm'}) {␤ unshift @INC, '/home/p6eval/.cabal/share/Pugs-6.2.13.20111008/blib6/pugs/perl5/lib';␤ eval q[require 'Pugs/Runtime/Match/HsBridge.pm'] or die $@;␤}␤'Pugs::Runtime::Match::HsBridge'␤"␤*** '<HAND…
benabik masak: slavik1: You can skip building an AST if you really want. For an interpreter, you could return code blocks that do what the function would do instead. 20:02
20:02 alester joined
GlitchMr ... 20:02
perl6: print(/'lol'+/ ~~ 'lol')
p6eval rakudo 3fb915: OUTPUT«False»
..niecza v10-61-gbacff10: OUTPUT«Bool::False»
..pugs b927740: OUTPUT«Error eval perl5: "if (!$INC{'Pugs/Runtime/Match/HsBridge.pm'}) {␤ unshift @INC, '/home/p6eval/.cabal/share/Pugs-6.2.13.20111008/blib6/pugs/perl5/lib';␤ eval q[require 'Pugs/Runtime/Match/HsBridge.pm'] or die $@;␤}␤'Pugs::Runtime::Match::HsBridge'␤"␤*** '<HAND…
GlitchMr ...
jnthn jlester4: If you're curious what sorts of things are being worked on in Rakudo (one implementation of Perl 6), take a look at 6guts.wordpress.com/ too. If you're interested in optimizers or meta-programming bits, for example, there's quite a bit of work going on there. Depends what you're interested in.
slavik1 I am also interested in how to return compiler type errors
like if I expect one thing vs. another
GlitchMr perl6: print('lol' ~~ /'lol'+/)
p6eval niecza v10-61-gbacff10: OUTPUT«#<match from(0) to(3) text(lol) pos([].list) named({}.hash)>»
..pugs b927740: OUTPUT«Error eval perl5: "if (!$INC{'Pugs/Runtime/Match/HsBridge.pm'}) {␤ unshift @INC, '/home/p6eval/.cabal/share/Pugs-6.2.13.20111008/blib6/pugs/perl5/lib';␤ eval q[require 'Pugs/Runtime/Match/HsBridge.pm'] or die $@;␤}␤'Pugs::Runtime::Match::HsBridge'␤"␤*** '<HAND…
..rakudo 3fb915: OUTPUT«lol»
GlitchMr perl6: print(?('lollol' ~~ /'lol'+/)) 20:03
p6eval niecza v10-61-gbacff10: OUTPUT«Bool::True»
..rakudo 3fb915: OUTPUT«True»
..pugs b927740: OUTPUT«Error eval perl5: "if (!$INC{'Pugs/Runtime/Match/HsBridge.pm'}) {␤ unshift @INC, '/home/p6eval/.cabal/share/Pugs-6.2.13.20111008/blib6/pugs/perl5/lib';␤ eval q[require 'Pugs/Runtime/Match/HsBridge.pm'] or die $@;␤}␤'Pugs::Runtime::Match::HsBridge'␤"␤*** '<HAND…
GlitchMr OK :)
masak benabik: that's a good point.
jlester4 I'm not entirely sure what I'm interested in at this point
jnthn :)
PerlJam wonders if we should have an infix:<?~~> operator
masak aaaaugh 20:04
sorry, you were saying? :)
Woodi jlester4: start practical, maybe write some small module
TimToady jlester4: just poking around is fine too
masak starting small is indeed important. do not write a N64 emulator as your first project ;) 20:05
jlester4 And Rakudo and Niecza are different things?
TimToady and pugs is a 3rd thing
PerlJam jlester4: different implementations of the same language
masak three Perl 6 implementations.
TimToady there are others too
masak perl6: say "hi"
benabik jnthn: Rakduo is Perl 6 on Parrot. Niecza is Perl 6 on CLR/.Net
mikemol Does p6eval log and catalog cases where the different implementations give different results to the same input? Perhaps it should. You could have it use spare cycles after engine updates re-running old discrepencies to see if things were unexpectedly fixed.
p6eval pugs b927740, rakudo 3fb915, niecza v10-61-gbacff10: OUTPUT«hi␤»
mikemol Kinda like a crowdsourced unit test suite. :)
jnthn benabik: er, I know...mishighlight? :) 20:06
GlitchMr [ cazzs]\aza]$_20$&#30[bb0]p$_+$#42+$_$_**$&$#& $%$_ $^v $^^ +4 2p$_
... I'm probably bored...
benabik jnthn: Errrrr…. Just thought you had forgotten. <.< >.>
TimToady just don't make us bored
20:06 GlitchMr left
benabik jlester4: Rakduo is Perl 6 on Parrot. Niecza is Perl 6 on CLR/.Net 20:06
jlester4 So much to learn lol
Woodi much more :) 20:07
TimToady jlester4: in fact, lol is one of the things to learn
mikemol Also, is there a channel dedicated to p6eval, so people could hit multiple engines without spamming a discussion channel?
TimToady just /msg
but there could be something intermediate 20:08
that would, say, log weirdness, as you suggested
PerlJam jlester4: and there's always someone around here you can talk to for Perl 6 help
TimToady a web api could also log weirdnesses there
well, approximately always 20:09
jlester4 I guess I'm gonna go jump right in then!
20:09 MayDaniel left
mikemol jlester4: Perl 6 is a disturbing amount of fun. 20:09
PerlJam mikemol: alright if I quote you on the website sometime? :) 20:10
Woodi gn #perl6 20:11
mikemol PerlJam: Sure, but not in the context of Rosetta Code. :)
In that context, I need to remain impartial. :)
TimToady or at least appear to be :)
20:12 cooper left
mikemol Hey, where RC is concerned, I'm impartial in substance and appearance. :) 20:12
masak Woodi: gn
mikemol Every now and again, I want to thwap someone for missing the bigger picture, but I can't, because I'd risk that impartiality. I'm lucky that a sufficiently diverse crowd of outspoken folks have made the site one of their homes. :) 20:13
masak the Dunning-Kruger effect makes it very difficult to thwap people for missing bigger pictures with any great conviction. 20:15
or, I should say, it makes it far too easy... :)
20:16 SHODAN left
mikemol Heh. Yeah, I ran into that one early on, and it significantly revised my concept of what the bigger picture is. I can watch other people argue over it and come to a complicated consensus. 20:16
20:19 jlester4 left, SHODAN joined 20:25 cooper joined
dalek p: 29d8aed | jnthn++ | tools/build/PARROT_REVISION:
Bump to a Parrot version with a fix for ByteBuffer segfaults, which caused programs using Buf to sometimes segfault.
20:45
kudo/nom: 97aa736 | jnthn++ | tools/build/NQP_REVISION:
Bump to latest NQP.
jnthn Curiously, it seems the segfault originally reported goes away, but the PIR version still explodes with a different failure in string heap compaction.
tadzik good evening, zebras 20:50
jnthn hi, tadzik 20:51
20:51 molaf joined
masak tadzik: hello little panda 20:56
21:00 packetknife left 21:01 alester left 21:02 alester joined, alester_ joined, alester left, alester_ is now known as alester 21:08 molaf left 21:10 kaare_ left 21:20 SHODAN left 21:25 bluescreen10 left 21:26 daemon left 21:29 daemon joined
masak .dispose 21:30
'night, #perl6 21:31
tadzik goonight
sjohnson tucks everyone in 21:34
mikemol gets out of bed. 21:37
It's only 17:38 here... 21:38
slavik1 same 21:39
21:39 lichtkind left
jnthn sleepish for me too & 21:41
benabik sleep o'clock? Man, it's nearly dinner o'clock around here.
21:52 donri joined 21:55 alester left 21:56 alester joined, alester left 22:04 ab5tract left 22:13 benabik left
TimToady and now we've lost John McCarthy 22:15
www.wired.com/wiredenterprise/2011/...ies-at-84/ 22:17
22:17 f00li5h joined
flussence ): 22:17
too many people all at once 22:18
22:18 mj41 left 22:21 soh_cah_toa joined 22:24 gu_ joined 22:27 soh_cah_toa_ joined 22:28 soh_cah_toa left 22:33 ksi left 22:41 nornagest left 22:46 dual left 22:56 gu_ left 22:58 Transformer joined 23:00 Transformer left 23:09 Chillance left 23:17 donri left 23:18 benabik joined 23:38 daniel-s joined