»ö« 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 trompxE9 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 problxE8mes pour comprendre le franxE7ais" | ||
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 prxE9pa :-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.0858943537143158Patched: 36.1474 ± 0.0471445436927753Patched 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.0960328068943109Patched: 36.1474 ± 0.0527092022326273Patched 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..1ok 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 19Error 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 postfixParse failedFAILED 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»; .sayParse 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”; .sayParse 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«wowCannot 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«wowUnhandled 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«2Bool::True» | ||
..pugs b927740: OUTPUT«2\Bool::True» | |||
..rakudo 9897b0: OUTPUT«2Bool.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 1Potential difficulties: Useless redeclaration of variable $_ (see ??? line ???) at /tmp/5tsXxbUinr line 1:------> my $_ ⏏= '1/4'; s¼4¼2¼; .sayUnhandled 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」; .sayParse 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 quantifierParse failedFAILED 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«;⏏ .sayParse failed» | ||
benabik | std: $_ = 'aa'; s「a」= 'b'; .say | ||
p6eval | std 580b69a: OUTPUT«ok 00:01 123m» | ||
GlitchMr | niecza: $_ = '1/4'; sxE2x8CxA94xE2x8CxA92xE2x8CxA9; .say | ||
p6eval | niecza v10-61-gbacff10: OUTPUT«===SORRY!===Unrecognized regex metacharacter xE2x8CxA9 (must be quoted to match literally) at /tmp/TJfX_5c4Ed line 1:------> $_ = '1/4'; sxE2x8CxA94xE2x8CxA9⏏2xE2x8CxA9; .sayCouldn't find terminator xE2x8CxAA 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'; sxE2x8CxA94xE2x8CxAAxE2x8CxA92xE2x8CxAA; .say | ||
p6eval | niecza v10-61-gbacff10: OUTPUT«===SORRY!===Missing assignment operator at /tmp/NMU1NLBkPI line 1:------> $_ = '1/4'; sxE2x8CxA94xE2x8CxAA⏏xE2x8CxA92xE2x8CxAA; .sayParse 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 failedFAILED 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«3Failure.new()» | ||
..niecza v10-61-gbacff10: OUTPUT«3Any()» | |||
..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 1Potential difficulties: $f is declared but not used at /tmp/thWVcur6wI line 1:------> open('foo.txt'): -> ⏏$f { do_stuff() }Check failedFAILED 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$[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$[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$[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
|