»ö« 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:01
bonifatio joined
00:03
jeffreykegler left
00:05
jeffreykegler joined
00:16
Circlepuller_ joined
00:17
spider-mario left
00:18
Circlepuller left
00:40
Nick16 joined
00:47
tokuhiro_ joined
|
|||
diakopter | jeffreykegler: you sound like an implementor :) | 00:55 | |
jeffreykegler | of Perl 6 you mean? Or in general. | ||
diakopter | any I guess | ||
jeffreykegler | I've been coding since 1971, and have written a new parser called Marpa, which needs an interface | 00:56 | |
So I am over here to steal, er, I mean borrow, one | 00:57 | ||
diakopter | I read about it a couple years ago, I think | ||
jeffreykegler | It's easy to find out more, the Google search robots, bless their hearts, give me great placement | 00:59 | |
01:01
benabik left
|
|||
diakopter | does it detect indirect left/right recursion? | 01:04 | |
jeffreykegler | Yes | ||
diakopter | (before processing input?) | ||
jeffreykegler | Marpa is linear for all LR-regular grammars | 01:05 | |
Marpa is linear for both left and right recursion | |||
diakopter | ..so I'm reading :) | ||
jeffreykegler | That, by the way, is not my result but is due to a 1991 paper by Joop Leo | 01:06 | |
IMHO a very long neglected breakthrough | |||
diakopter | what kinds of grammars aren't recursive descent parsers good at? (not challenging, just curious) | 01:07 | |
jeffreykegler | I've lots of opinions about recursive descent and LL, but I'm a guest here | 01:10 | |
diakopter | please inform; this is a very welcoming channel | ||
jeffreykegler | I have a blog "Ocean of Awareness" where I talk a lot about the history of parsing, and get quite direct about my opinion on various parsing techniques | ||
01:10
ChanServ sets mode: +o diakopter
|
|||
diakopter | see, I'll kick anyone who's rude to you :D | 01:11 | |
01:11
diakopter sets mode: -o diakopter
|
|||
diakopter | (kidding of course; no one will be rude) | 01:11 | |
jeffreykegler | Actually the rudeness I was worried about would be on my part | ||
I've been lurking long enough to know your record | 01:12 | ||
So OK the history of parsing in a few sentences | |||
We'll start with UNIX and C -- C was originally written in recursive descent | |||
diakopter | (Perl 6 grammars are all processed recursive descent, except for the operator precedence part, which is special) | 01:13 | |
jeffreykegler | (Yes, I've looked at the Perl 6 approach) | ||
Recursive descent just drills down the left hand side -- it's pretty myopic | 01:14 | ||
But it is the way a programmer wishes that parsing should work -- calling subroutines | |||
And to its credit it is very, very hackable -- you can add lots of procedural stuff | |||
diakopter | well, I should specify; LTM mode doesn't have to be recursive descent | ||
jeffreykegler | So Ritchie, Thompson and Johnson figured there's gotta be a better way and yacc was born | 01:15 | |
yacc looks at some right context, but it is very, very hard to debug and enhance | 01:17 | ||
The summit of yacc programming was IMHO, the invention of Perl | |||
Where by clever use of precedence in conflict situations, yacc was made to parse an extremely complex language | 01:18 | ||
But yacc/LALR was so hard to use and maintain, even its greatest practitioners eventually got fed up | |||
Thompson's go language is LL-parseable, the GNU compilers switch to recursive descent, and as for Perl, well I don't see much yacc discussed on this list | 01:20 | ||
So everybody went back to recursive descent -- the state of the art before the Ritchie/Thompson/Johnson portable C compiler | 01:22 | ||
Recursive descent is easy to hack and that's its attraction | 01:24 | ||
01:27
mtk left
|
|||
diakopter | imho, the perspective of P6 is that the grammar user should know how to write a grammar optimized for recursive descent, failing fast, committing early | 01:30 | |
jeffreykegler | That's how I read it too | 01:31 | |
Folks have resigned themselves to the idea that recursive descent was as it as it was gonna get | 01:34 | ||
*as good as it was gonna get | |||
diakopter | now, LTM is implemented variously as NFAs | 01:35 | |
jeffreykegler | Sorry, LTM? | ||
diakopter | longest token matching. what enables Perl operators to be several characters and still distinguishable | 01:36 | |
all the grammar things are discussed in S05 | 01:37 | ||
01:37
mtk joined
|
|||
diakopter | (a large paragraph on LTM) | 01:37 | |
jeffreykegler | I've read it several times, just didn't recognize the acronym | ||
If I were defending recursive descent, I would point out that when push came to shove, you could go procedural, and you know that's gonna work | 01:40 | ||
diakopter | MGrammar made a distinction between token rules and parser rules, but combined in the same grammar. Antlr does the same. P6 does the same, but defines the distinction differently | ||
jeffreykegler | But I believe that Earley-based parsing (which Marpa is) can offer the same benefits, while assisting the programmer far more | 01:42 | |
That is, you can still go procedural, but you have to far less often | |||
01:43
benabik joined,
tokuhiro_ left
|
|||
diakopter | you mention that it's slower than p5 regexes | 01:45 | |
at most things? | |||
jeffreykegler | which is slower? | ||
diakopter | marpa | ||
jeffreykegler | To back up, when it comes to regular expressions, properly so called, you ain't gonna beat a regex engine at its own game | 01:46 | |
On the other hand, if you're doing something that is not a regular expression, like matching parentheses ... | |||
Marpa wins | 01:47 | ||
The caveat being that Marpa is intended for large parses and does a lot of preprocessing, so it's a match in a 10 character string | |||
Marpa won't win that race | |||
Marpa is a general BNF parser, designed to have acceptable speed over a wide range of applications | 01:51 | ||
But, for example, if it is a pure LL grammar, or close to it, I'd think recursive descent has to be faster | 01:52 | ||
However, few grammars are pure LL(1) | |||
01:52
cognominal left
02:07
dbr left
02:19
cognominal joined
02:24
Guest25919 left
02:30
jeffreykegler left
02:40
orafu left,
OuLouFu joined,
OuLouFu is now known as orafu
02:53
Nick16 is now known as virtual6
02:54
virtual6 is now known as nick,
nick is now known as nick16
03:15
jeffreykegler joined,
jeffreykegler left,
jeffreykegler joined
03:16
jeffreykegler left
03:17
quietfanatic left
03:18
quietfanatic joined
|
|||
quietfanatic | testing... | 03:19 | |
okay, huh | |||
03:27
HarryS left
03:49
skids left
03:50
Moukeddar joined
03:54
HarryS joined
04:06
drbean joined
04:15
thelazydeveloper left,
cognominal left
04:16
orafu left,
tokuhiro_ joined
04:18
cognominal joined
04:30
aloha left
04:31
aloha joined
04:40
tokuhiro_ left
04:47
HarryS left
04:56
xinming left
04:58
Moukeddar left,
nick16 left
05:08
HarryS joined
05:10
daniel-s joined
05:34
JimmyZ_ joined
|
|||
JimmyZ_ | sorear: hi | 05:35 | |
05:38
kaare_ joined
|
|||
moritz | \o | 05:42 | |
JimmyZ_ | \o/ | 05:51 | |
06:10
xinming joined
06:23
JimmyZ_ left
06:35
att joined
06:42
screencast joined
|
|||
screencast | hey im new | 06:43 | |
06:43
gongyiliao joined
|
|||
screencast | hello | 06:49 | |
06:57
screencast left
|
|||
dalek | nda: 5cf9606 | (Geoffrey Broadwell)++ | bootstrap.pl: Bootstrap panda from cwd, not '.' |
07:11 | |
nda: b7c8b12 | (Geoffrey Broadwell)++ | TODO: Remove completed TODO items |
|||
07:23
tarch joined
07:24
tarch left
07:30
raiph joined
|
|||
raiph | www.reddit.com/r/perl/comments/ygpl...dedicated/ | 07:31 | |
07:32
raiph left
|
|||
masak | morning, #perl6 | 07:33 | |
moritz | good UGT antenoon, masak :-) | ||
masak | moritz: I always feel a bit sad when we miss people who come in, say "hey", and then leave after a few minutes because no-one replies. | 07:34 | |
but on the other hand, if they're that impatient, maybe it'd be too much work to retain them anyway. | |||
moritz | masak: me too. But when I saw it, he was already gone | 07:35 | |
masak | aye, same. | ||
masak has a mental checklist of "indications this new person's first stay is also the last stay" | |||
missing the apostrophe in "I'm" is on that list. | 07:36 | ||
moritz | wanting to know about Perl 5 but joining #perl6 nonetheless is high on mine | ||
masak | another one: among the first 10 utterances, is one ending with "lol" without a preceding comma. | 07:39 | |
also, if the nick is obviously not thought through. 'screencast', as nicks go, is quite a good one, though. | 07:40 | ||
shachaf | I''m putting in extra apostrophes from now on just in case. | 07:42 | |
masak | :D | ||
shachaf: and just to be safe, you should ask questions about Perl 7. | 07:43 | ||
and begin your utterances with "lol". | |||
huf | make that backwards-lol | ||
masak | so obvious in retrospect. :) | 07:44 | |
shachaf | Maybe "yby" | ||
Mayby | |||
07:44
p6rd joined
|
|||
masak | p6rd! \o/ | 07:44 | |
moritz | p6rd: next | 07:45 | |
p6rd | parrot 2012-08-21, rakudo 2012-08-23, niecza 2012-08-27 | ||
masak | rn: say "lol".trans("a..z" => "n..za..m") | ||
p6eval | rakudo 2bbe52, niecza v19-26-g025a6e6: OUTPUT«yby» | ||
dalek | p: de089eb | rurban++ | tools/build/Makefile.in: makefile whitespace cleanup tabs missing |
07:51 | |
08:02
popl joined
|
|||
dalek | kudo/nom: 763b85a | moritz++ | docs/deprecations: deprecated LAZY |
08:06 | |
masak | r: say DateTime.ymd | 08:12 | |
p6eval | rakudo 763b85: OUTPUT«No such method 'ymd' for invocant of type 'DateTime' in block at /tmp/V0bkCBEMIR:1» | ||
masak | r: say DateTime.now.ymd | ||
p6eval | rakudo 763b85: OUTPUT«No such method 'ymd' for invocant of type 'DateTime' in block at /tmp/vyfgKlsSy3:1» | ||
08:13
leont joined
08:19
Psyche^ joined
|
|||
moritz | masak: should have {Date,DateTime}.ymd and DateTime.hms? | 08:20 | |
08:22
Patterner left,
Psyche^ is now known as Patterner
|
|||
masak | moritz: sounds good. wot's the spec say? | 08:23 | |
moritz | masak: nada, afaict | ||
join #p6p5 on irc.perl.org | |||
08:29
popl left
|
|||
masak | moritz: are you currently setting up ilogger2 for #p6p5? | 08:33 | |
08:33
fgomez joined
|
|||
moritz | masak: not yet, but I can do it | 08:33 | |
08:42
brrt joined
08:46
leont left
08:49
cognominal left
09:14
crab2313 joined
|
|||
crab2313 | r: use URI; my $u; URI.new('foo.bar.com'); | 09:16 | |
p6eval | rakudo 763b85: OUTPUT«===SORRY!===Could not find URI in any of: /home/p6eval/.perl6/lib, /home/p6eval/nom-inst/lib/parrot/4.4.0-devel/languages/perl6/lib» | ||
09:34
fgomez left,
fgomez joined
09:35
fgomez left,
fgomez joined
09:56
MayDaniel joined
10:29
brrt left
10:35
spider-mario joined
10:43
erkan left
10:47
crab2313 left
10:49
erkan joined
11:02
brrt joined
11:13
thelazydeveloper joined
11:20
drbean left,
fgomez left
11:24
drbean joined
11:25
whiteknight joined
11:26
whiteknight is now known as Guest98866
11:44
GlitchMr joined
11:45
tokuhiro_ joined
11:48
Guest98866 left
11:59
isBEKaml joined
12:01
isBEKaml left
12:29
JimmyZ joined
12:39
fridim_ joined
12:47
Pleiades` left
12:53
benabik left,
Pleiades` joined
12:54
benabik joined
13:11
colomon left
13:28
MayDaniel left
13:30
JimmyZ left,
kaare_ left,
renormalist left,
[particle] left,
hanekomu left,
awwaiid left,
obra left,
_sri left,
pnu_ left,
shachaf left
14:09
kaare_ joined,
renormalist joined,
[particle] joined,
hanekomu joined,
awwaiid joined,
obra joined,
_sri joined,
pnu_ joined,
shachaf joined
14:11
brrt left
14:15
snearch joined
14:17
tokuhiro_ left
14:24
birdwindupbird joined
14:28
brrt joined
14:32
skids joined
14:39
UncleFester6 joined
14:40
isBEKaml joined
|
|||
UncleFester6 | phenny tell tadzik that I fixed LWP::Simple so that panda installs if for me. A small change involving removal of constant modifiers in two declarations. | 14:44 | |
phenny | UncleFester6: 18 Aug 21:18Z <tadzik> tell UncleFester6 your LWP::Simple doesn't seem to build for me: "Serialization Error: Unimplemented object type 'ByteBuffer' passed to write_ref" | ||
UncleFester6 | phenny: tell tadzik that I fixed LWP::Simple so that panda installs if for me. A small change involving removal of constant modifiers in two declarations. | 14:45 | |
phenny | UncleFester6: I'll pass that on when tadzik is around. | ||
14:45
snearch left
|
|||
isBEKaml | rn: "Hello, #perl6".say #been sometime, heh... | 14:47 | |
p6eval | rakudo 763b85, niecza v19-26-g025a6e6: OUTPUT«Hello, #perl6» | ||
isBEKaml | p6rd: release | 14:48 | |
p6rd: help | |||
p6rd | Perl 6 release dates. Usage: p6rd: [ 'next' | 'next month' | YYYY-MM | YYYY-MM-DD ] | ||
isBEKaml | p6rd: next | ||
p6rd | parrot 2012-08-21, rakudo 2012-08-23, niecza 2012-08-27 | ||
14:54
sergot joined
|
|||
sergot | hi ! o/ | 14:54 | |
isBEKaml | \o | ||
[OT and a slow day] what's a good irc client for windows? I'm leaning towards xchat since I've used it on linux but it's not quite free as it seems | 14:56 | ||
tadzik | hello from Frankfurt | 14:59 | |
phenny | tadzik: 14:45Z <UncleFester6> tell tadzik that I fixed LWP::Simple so that panda installs if for me. A small change involving removal of constant modifiers in two declarations. | ||
masak | good morning, #perl6! | ||
tadzik | masak: first!!111 | ||
masak | tadzik: fraction-of-a-second first! :) | ||
Pleiades` | isBEKaml, you can find some free builds of xchat | 15:00 | |
isBEKaml | yo, masak, tadzik.. how's things on EU'eve? :) | ||
Pleiades` | kvirc is nice too | ||
masak | isBEKaml: pretty awesome. | ||
isBEKaml | Pleiades`, I haven't heard of kvirc but I do know that I don't like IceChat. :) | 15:01 | |
masak dives into slides work | |||
Pleiades` | it's cross platform too | ||
isBEKaml pictures masak frenetically googling pics for his slides.. ;) | |||
Pleiades`, nice - I'll give a whirl | 15:02 | ||
masak | isBEKaml: more like fixing up the generator code so that it supports the content I want to show... :) | ||
isBEKaml | masak: sure, sure - I want to see your slides too. (post YAPC, ofcourse) | 15:03 | |
masak | isBEKaml: :) | ||
isBEKaml: this time around, I'm generating slides with a 39-line Perl 6 script. | |||
isBEKaml | Pleiades`: Finally a client that's actually in active development! Thanks! | 15:04 | |
15:04
kaare_ left
|
|||
masak | it's fast, and it generates squeaky-clean HTML with jQuery (for advancing slides), custom free fonts that I downloaded, the Font Awesome icons, and inlined SVG. | 15:04 | |
isBEKaml | masak: oooh, awe-fricking-some.. github, github! | 15:05 | |
masak | aye. soon enough. | 15:06 | |
this one will actually be usable by non-masak people, which I rather like. | |||
that's also a reason not to cheat when building the slides generator. | |||
15:09
isBEKaml left
|
|||
sorear | hello from Frankfurt, tadzik and masak | 15:10 | |
phenny | sorear: 05:40Z <JimmyZ_> tell sorear speaking of niecza-js, you may be interested in github.com/kripken/emscripten/wiki | ||
15:11
isBEKaml joined
|
|||
isBEKaml | masak: if you don't cheat, that's good enough for me. :P | 15:13 | |
sorear | phenny: tell JimmyZ Seems problematic insofar as mono 2.x lacks an interpreter and is extremely architecture-dependent in AOT mode (might even be ARM only) | 15:16 | |
phenny | sorear: I'll pass that on when JimmyZ is around. | ||
masak | isBEKaml: I would like to be able to convert the HTML to PDF for uploading. I'm not sure I'll manage to do that. | 15:21 | |
15:22
brrt left
15:23
isBEKaml_ joined,
isBEKaml left
|
|||
isBEKaml_ | masak: why not upload as HTML? | 15:24 | |
(sorry, for my on-off thing, wifi's going crazy here) | 15:25 | ||
masak | in my experience HTML is less durable than PDF. it also varies between browsers. | 15:27 | |
arnsholt | masak: You could add an export to LaTeX option to make PDFs O:) | 15:30 | |
15:30
isBEKaml_ left
|
|||
masak | ;) | 15:31 | |
arnsholt: most of it's SVG, though. | |||
jnthn | o/ | 15:33 | |
15:36
thou joined
|
|||
arnsholt | I'm sure you can render SVG to TikZ =D | 15:36 | |
sorear | o/ jnthn :D | 15:38 | |
pmichaud | good afternoon, #perl6 | 15:43 | |
masak | jnthn! \o/ | ||
pmichaud! \o/ | 15:44 | ||
pmichaud | oh, jnthn++ and masak++ -- I have t-shirts for you. | ||
japhb | masak, in my experience, clean HTML on any modern browser aside from IE is less variable than PDF is between PDF readers. :-/ | ||
masak | oh! | 15:45 | |
sorear | no t-shirts for me? | ||
masak | pmichaud: yay! | ||
15:45
isBEKaml joined
|
|||
pmichaud | sorear: you didn't order one :) | 15:46 | |
sorear: what size? I might have an extra that would fit, though | |||
Juerd | japhb: Only if you limit yourself to the commonly implemented part of the spec. And if you look at it that way, PDF is better. | ||
pmichaud | well, I have L and XL | ||
japhb | Juerd, do you know any PDF writers that are good about generating cross-reader identically-interpreted PDF files? | 15:47 | |
(Because it's not too hard to write cross-browser HTML by hand ...) | |||
sorear | pmichaud: I misunderstood, cleared up with masak, I don't need/want one | 15:48 | |
japhb | So ... is there going to be a reveal at some point about what went down at the Sekrit Meeting in Perl? | ||
sorear | yes. | ||
masak | japhb: what do you want to know? | ||
sorear | I think someone else volunteered to do the writeup | 15:49 | |
pmichaud | japhb: I expect many of us will be blogging about the event. I plan to write a manifesto of sorts based on the weekend's events. | ||
sorear | but it's not secret now | ||
japhb | masak, Given that from the outside all I've heard is "it's about the future of Perl 5 and 6 together", I'd like to know quite a lot. :-) | ||
masak | japhb: yeah. I can understand that. | 15:50 | |
isBEKaml | there was a sekrit meeting? er, p6 u p5? :) | ||
masak | japhb: I arrived late, so I was in the same position a day and a half ago. | ||
sorear | I wonder how much I should write about, given that other people will be writing too. | ||
japhb | masak, I bet! | ||
masak | sorear: err on the side of repetition, I'd say. | 15:51 | |
japhb | sorear, IMHO more viewpoints is better. Outsiders can take the closure of all the remembered sets | ||
pmichaud | my short summary would be along the lines of "we got some p5 and p6 folks together and had some very positive discussions about the future of Perl, and some concrete things we can be doing now to increase the integration of the two languages." | ||
isBEKaml | masak: well, since you are using jquery in your HTML, it shouldn't pose much problems with browsers (it -> your slides) | ||
pmichaud | more importantly, I think many people came in as skeptics of p5+p6 together and are leaving as optimists | ||
masak | isBEKaml: the jQuery is only for advancing the slides. | 15:52 | |
pmichaud: I'm one of those people. | |||
isBEKaml | masak: CSS is the troubling part? again, I don't see much problems there unless people are using really ancient browsers. | ||
japhb | pmichaud, That is great to hear | ||
pmichaud | I think I'll tweet that summary, in fact. | ||
masak | pmichaud: I was kinda skeptical about the whole point of the meeting. something like, "haven't we already talked about p5<->p6 in various ways before? isn't that enough?" | 15:53 | |
but no, there were new things to be said. | |||
sorear | also, it was an excuse for me to actuallly talk to perl5 people. | ||
isBEKaml | r: (1..5)>>.say #testing | ||
p6eval | rakudo 763b85: OUTPUT«53142» | ||
masak | and that particular group of people seemed to produce new kinds of ideas, too. | ||
15:53
uniejo joined
|
|||
japhb | Ah, this is all very good to hear. | 15:54 | |
masak | isBEKaml: in Rakudo, >>. invokes .pick(*) | ||
pmichaud | I think I removed that. | ||
.pick(*) is too slow, so I changed the algorithm to something much more efficient. | |||
isBEKaml | masak: Well, I was more angling for unicode issues with my client. :) | ||
japhb | pmichaud, I saw that commit -- you made it run in reverse, didn't you? | ||
pmichaud | I'm about to refactor >>. yet again, because nqp now has a nqp::while where we can avoid creating the exception handler. | 15:55 | |
so we'll end up with much faster loops. | |||
japhb: it currently runs in reverse by odds and evens | |||
masak | ooh | 15:56 | |
pmichaud | so, you can't rely on it being "in order", but it's still fairly fast. Also, by doing the last element first we end up presizing the return list properly at the beginning, instead of growing it repeatedly. | ||
masak | r: (1..6)>>.say | ||
pmichaud | I have more optimizations to do with the hypers and other metas | ||
p6eval | rakudo 763b85: OUTPUT«642531» | ||
masak | r: (0..6)>>.say | 15:57 | |
p6eval | rakudo 763b85: OUTPUT«6420531» | ||
pmichaud | mst++ had some suggestions last night as well regarding randomization of hyper results, which I will likely incorporate as well | ||
japhb | pmichaud, (re >>.) Ah, now I get it, very nice. | 15:58 | |
pmichaud, What further optimizations are there to be had, OOC? | 15:59 | ||
15:59
isBEKaml left
|
|||
pmichaud | ultimately, I think that @list>>.foo has to be faster than @list.map( *.foo ) | 15:59 | |
it certainly must not be slower. | |||
sorear | don't want this lost: looking at the IO::Socket::INET code with an eye to niecza porting, what we currently are doing for utf8 decoding is going to misbehave if there is a packet boundry inside a utf8 byte sequence | 16:00 | |
16:00
isBEKaml joined
|
|||
masak | isBEKaml: I don't understand your quit message. that's after reading it twice. | 16:00 | |
sorear | pmichaud: contrariwise, >>.foo has to do significantly more work because it is a deep map | ||
japhb | raiph++ # #perl6 highlights | ||
pmichaud | sorear: I mean in the straightforward case of a flat list of elements | 16:01 | |
isBEKaml | masak: I didn't set any quit message (what was it? ) :O | ||
pmichaud | yes, if we have nested structures, it'll be slower | ||
sorear | isBEKaml: part message. | ||
pmichaud | and I'm wondering if deep map really wants to be something other than >>. | ||
isBEKaml | heh.. | ||
pmichaud | I really want a hyper map that can be parallelized without deep mapping | 16:02 | |
sorear | .oO( hyper map { ... }, ... |
||
pmichaud | because that's a very common use case that deserves optimization and huffmanization | ||
masak | isBEKaml: "Once you know what it is you want to be true, instinct is a very useful device for enabling you to know that it is" | ||
sorear | ) | ||
pmichaud | yes, there's "hyper map", but that's not really huffman the way .>> is | 16:03 | |
isBEKaml | masak: heh, I don't understand it either. Must have come in along with this new client. :) | ||
sorear | .oO( pmichaud and masak speak in my thoughts ) |
||
isBEKaml | masak: thanks, I have now removed that stupid message. | ||
16:04
flussence joined
|
|||
isBEKaml | rn: (1..5)>>.say | 16:04 | |
16:04
uniejo left
|
|||
masak | isBEKaml: heh, I didn't find it stupid. I found it intriguing, a little confusing, and probably wrong. | 16:04 | |
p6eval | niecza v19-26-g025a6e6: OUTPUT«12345» | ||
..rakudo 763b85: OUTPUT«53142» | |||
isBEKaml | masak: I kind of associate quixotic stuff to stupidity. :) | 16:05 | |
that felt like a roundabout way of saying you've got to work! | |||
o.O(do I hear laughter?) | 16:06 | ||
masak | ;) | 16:08 | |
pmichaud | japhb: (other optimizations) most of the metaops are currently doing things the slow way, so changes similar to those I made to unary-hyper need to be ported to the other metaops | ||
japhb | Ah, I get. | 16:10 | |
er, I get it. | |||
pmichaud | twitter.com/pmichaud/status/237219997062152192 | 16:11 | |
twitter.com/pmichaud/status/237219819139780608 | |||
GlitchMr | Just wondering, does Perl 6 regexpes have assertion "at end or before last line break" just like \Z in Perl 5? | ||
16:11
fridim_ left
|
|||
pmichaud | (urls out of order because apparently my copy-paste method is based on >>. :-/ ) | 16:11 | |
masak | pmichaud++ | 16:12 | |
masak retweeted | |||
pmichaud | GlitchMr: $$ # at end of string | ||
GlitchMr: ^^ # at beginning of string | |||
masak | pmichaud: end of _line_, surely? | ||
pmichaud | oh, wait. | ||
right | |||
^ and $ are eos, $$ and ^^ are end of line | |||
masak | oh thank Huffman :D | ||
japhb | pmichaud++ # tweets | 16:13 | |
pmichaud | and apparently something happened in my copy/paste with the word "things" that I didn't catch on edit :-/ | ||
GlitchMr | I would like to create P5 regexp to P6 thingy, but I wonder how to convert $ (without /m) or \Z | ||
eval print "a\n" =~ /a$/ | 16:15 | ||
buubot_backup | GlitchMr: 11 | ||
GlitchMr | perl6: print "a\n" ~~ /a$/ | ||
p6eval | rakudo 763b85, niecza v19-26-g025a6e6: ( no output ) | ||
benabik | p6: print ("a\n" ~~ /a$/) | ||
p6eval | rakudo 763b85, niecza v19-26-g025a6e6: ( no output ) | 16:16 | |
benabik | huh | ||
benabik always checks precedence, just in case. | |||
p6: say "a\n" ~~ /a$/ | |||
p6eval | niecza v19-26-g025a6e6: OUTPUT«Match()» | ||
..rakudo 763b85: OUTPUT«#<failed match>» | |||
GlitchMr | Nothing | ||
benabik | Ah, there we go. Expected some output, even on failure. But I guess it returns an undefined Match, which stringifies to '' | 16:17 | |
p6: say "a" ~~ /a$/ | |||
p6eval | rakudo 763b85: OUTPUT«「a」» | ||
..niecza v19-26-g025a6e6: OUTPUT«#<match from(0) to(1) text(a) pos([].list) named({}.hash)>» | |||
pmichaud | newline at end is now \n$ | ||
sorry | |||
\n?$ | |||
benabik | True enough. | ||
GlitchMr | ok, I guess I will use this | ||
pmichaud | if you need it as a zero-width match, then <?before \n?$ > | 16:18 | |
GlitchMr | :) | ||
masak | jnthn, pmichaud: is either of you planning to preconf? if so, are you thinking about leaving l'hotel soon? | ||
pmichaud | masak: I hadn't decided on preconf | ||
benabik | p6: say "a\n" ~~ /a$$/ | ||
p6eval | rakudo 763b85: OUTPUT«「a」» | ||
..niecza v19-26-g025a6e6: OUTPUT«#<match from(0) to(1) text(a) pos([].list) named({}.hash)>» | |||
masak | pmichaud: neither have I, really. | 16:19 | |
benabik | $$ matches end of line. $ matches end of string. | ||
pmichaud | if you/jnthn/sorear wish to go, I may tag along for a while, but I think I'm also happy to stay in room a while | ||
masak | pmichaud: sounds like my take on it. | ||
benabik | GlitchMr: Try $$ instead of $ | ||
GlitchMr | benabik: $$ is end of line | ||
masak | pmichaud: lunch was fairly late, so the food urgency is not high. | ||
GlitchMr | I think I will use <?before \n?$ > | ||
benabik | GlitchMr: That's not what you're looking for? | 16:20 | |
masak | rn: say "foo\n" ~~ /foo $/ | ||
p6eval | niecza v19-26-g025a6e6: OUTPUT«Match()» | ||
..rakudo 763b85: OUTPUT«#<failed match>» | |||
masak | rn: say so "foo\n" ~~ /foo $/ | ||
p6eval | rakudo 763b85, niecza v19-26-g025a6e6: OUTPUT«False» | ||
GlitchMr | I want to make P5 regexp to P6 regexp converter | ||
masak | rn: say so "foo\n" ~~ /foo \n? $/ | ||
p6eval | rakudo 763b85, niecza v19-26-g025a6e6: OUTPUT«True» | ||
sorear | 「」? | 16:21 | |
masak | sorear: I'm as surprised as you are. | ||
clearly my <> patch was improved upon. | |||
masak git blames :) | 16:22 | ||
pmichaud | what's the surprise with 「」? | ||
TimToady++ added that. | |||
sorear | I failed to notice. | ||
pmichaud | yes, he revised masak++'s contribution | ||
16:23
benabik_ joined
|
|||
masak | sorear: github.com/rakudo/rakudo/commit/94...5f05bdd527 | 16:24 | |
16:24
benabik left,
benabik_ is now known as benabik
|
|||
masak | TimToady++ added it to the spec, moritz++ added it to Rakudo. | 16:24 | |
benabik | rn: say "a" ~~ /a$$/ | 16:25 | |
p6eval | rakudo 763b85: OUTPUT«「a」» | ||
..niecza v19-26-g025a6e6: OUTPUT«#<match from(0) to(1) text(a) pos([].list) named({}.hash)>» | |||
sorear | n: "\xC2".encode('ISO-8859-1').decode('UTF-8').say | ||
p6eval | niecza v19-26-g025a6e6: OUTPUT«�» | ||
benabik is confused why $$ isn't p5's $. | |||
masak | that commit was later further improved to not use the Unicode characters directly but to escape them, because using them directly in CORE caused a 2x slowdown. | ||
benabik: p5's $ is different things depending on the flags of the regex. | |||
GlitchMr | I'm not sure, but I think that $ is because lines aren't chomped by default. | 16:26 | |
pmichaud | Also, github.com/perl6/specs/commit/cb82...24c01c03b7 | ||
benabik: $$ is p5's $ with the /m flag set | 16:27 | ||
sorear | n: "\xC2".encode('ISO-8859-1').decode('UTF-8').ord.say | ||
p6eval | niecza v19-26-g025a6e6: OUTPUT«65533» | ||
jnthn | masak, pmichaud: Food urgency isn't high for me either, though I'll probably want to eat a little something else at some point this evening. | 16:29 | |
pmichaud | I think the pre-yapc meeting is at the same place we did lunch...? | ||
jnthn | Oh? | ||
masak | jnthn: yeah, sejm. | ||
it's at the same place, yes. | |||
jnthn | eek | ||
jnthn didn't realize. | |||
masak | sorear++ confirms it. | ||
pmichaud | I don't mind that at all, but (1) we know where it is and (2) we can probably wander over there whenever we want and still find #yapceu folks hanging out | 16:30 | |
masak | well, at least we know what they offer... :D | ||
masak liked his burger, fwiw | |||
pmichaud liked his pizza | |||
jnthn | Oh, I enjoyed it too :) | 16:31 | |
Just can be fun to visit different places ;-) | |||
sorear also liked pmichaud's pizza | |||
jnthn | heh :) | ||
Well, they *do* have dunkel beer also \o/ | |||
masak | \o/ | ||
pmichaud | and the place is apparently open today until 01h00 | ||
masak | that's not possible. | 16:32 | |
jnthn | OK, then there's no hurry | ||
masak: :P | |||
pmichaud | masak: it's possible for sufficiently fuzzy values of "today" | ||
masak | pmichaud: yes, sorry, I'm just being difficult and spectrum-y, really :P | 16:33 | |
japhb | masak, If you go far enough back, I suspect "today" would be defined as "the period of time after you wake up and before you go to sleep" | ||
masak | japhb: that's why we don't go far enough back, duh :P | 16:34 | |
japhb | *chuckle* | ||
sorear | well according to the yapcs web site the pre-meeting is only 180m. | ||
masak | that's almost 200 metres. | ||
:P | |||
sorear: I don't think it's that well-defined in practice. | 16:35 | ||
sorear | japhb: saying in my family: It ain't tommorow till you've slept. | ||
japhb | :-) | ||
geekosaur | is that period of time thing also valid for those of us who are prone to slip into a 31-hour circadian schedule if not careful? | ||
pmichaud | I suspect the premeeting also isn't really starting at 18:30, though :) yapc pre-meetings tend to be imprecise affairs :) | ||
masak | sorear: but I could imagine getting hungry within an hour and a half. | ||
sorear | Yeah. No way I'd be getting food immediately. | 16:36 | |
16:37
isBEKaml left
|
|||
pmichaud | jnthn, masak: can I drop off shirts now? | 16:38 | |
or I can wait until we head off to dinner, I suspect | 16:39 | ||
GlitchMr | perl6: ("aaab" ~~ /a ** 1 .. * /).perl.say | ||
p6eval | niecza v19-26-g025a6e6: OUTPUT«===SORRY!===Spaces not allowed in bare range at /tmp/Y6ZyvM_19_ line 1:------> ("aaab" ~~ /a ** 1 ..⏏ * /).perl.sayParse failed» | 16:40 | |
..rakudo 763b85: OUTPUT«Match.new(orig => "aaab", from => 0, to => 4, ast => Any, list => ().list, hash => EnumMap.new())» | |||
masak | pmichaud: we can do it in connection with le dinner. | 16:42 | |
jnthn | pmichaud: at dinner, or sooner...whatever is most convenient for you :) | ||
pmichaud | le dinner is fine; I'll stop by each of your rooms on my way down | ||
masak .oO( which is why we put pmichaud on the top floor ) :P | 16:43 | ||
by the way. I'm very intrigued by the fact that TimToady is now working actively on STD_P5.pm6 | 16:46 | ||
sorear | YES. | ||
GlitchMr | perlcabal.org/syn/S05.html#line_2394 | ||
For me + doesn't seem to work | 16:47 | ||
perl6: / [a]*+ / | |||
p6eval | rakudo 763b85: OUTPUT«===SORRY!===Quantifier quantifies nothing at line 2, near " /"» | ||
..niecza v19-26-g025a6e6: ( no output ) | |||
GlitchMr | std: / [a]*+ / | ||
p6eval | std 235f71b: OUTPUT«Potential difficulties: [a] appears to be an old-school character class; please use <[a]> if you mean a character class, or quote it like 'a' to match string as a unit at /tmp/TH6W7lJAnD line 1:------> / [a]⏏*+ /ok 00:00 42m»… | ||
masak | GlitchMr: Niecza can do that. it's NYI in Rakudo. | ||
GlitchMr | oh, ok | ||
: should work identically? | |||
masak | GlitchMr: also, there's no need to group single characters like that. | ||
sorear | the old-school character class check, OTOH, is NYI in both. | 16:48 | |
masak | GlitchMr: : is the actual form. | ||
GlitchMr: + is mostly for p5 compat, IIUC. | |||
16:48
birdwindupbird left
|
|||
Juerd | japhb: Not specifically | 17:00 | |
japhb: I don't know what Inkscape uses, but it's pretty good. | |||
GlitchMr | Just wondering, is \d ASCII digit or Unicode digit? | 17:01 | |
masak | GlitchMr: Unicode digit. | 17:02 | |
GlitchMr | ok :) | ||
So, I guess I have so use <[0..9]> for safety | |||
masak | rn: say so "೨" ~~ /\d/ | 17:03 | |
p6eval | rakudo 763b85, niecza v19-26-g025a6e6: OUTPUT«True» | ||
masak | rn: say so "፬" ~~ /\d/ | ||
p6eval | rakudo 763b85: OUTPUT«False» | ||
..niecza v19-26-g025a6e6: OUTPUT«True» | |||
masak | (rakudobug) | ||
rn: say so "❾" ~~ /\d/ | |||
p6eval | rakudo 763b85, niecza v19-26-g025a6e6: OUTPUT«False» | ||
masak | Rakudo *and* Nieczabug. | 17:04 | |
sorear | .u ❾ | ||
phenny | U+277E DINGBAT NEGATIVE CIRCLED DIGIT NINE (❾) | ||
sorear | hmm | ||
not sure about that one? | 17:05 | ||
masak sometimes wishes the Unicode consortium were a bit less... dingbat | |||
sorear: surely it's a digit, though? | 17:06 | ||
that's even in the name. | |||
jnthn | it's the props that matter | ||
sorear | general category = Other_Number | ||
GlitchMr | I'm not really happy with non-ASCII digits being in \d, but well... technically they are digits | ||
sorear | I think niecza's \d is looking only for Digit (Nd) | 17:07 | |
GlitchMr | Now only if I could do this | ||
perl6: say +'೨' | |||
p6eval | rakudo 763b85: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '⏏೨' (indicated by ⏏) in method gist at src/gen/CORE.setting:9711 in sub say at src/gen/CORE.setting:7086 in block at /tmp/xLteiadOPl:1» | ||
..niecza v19-26-g025a6e6: OUTPUT«Use of uninitialized value in numeric context at /home/p6eval/niecza/lib/CORE.setting line 1289 (warn @ 5)  at /home/p6eval/niecza/lib/CORE.setting line 296 (Any.Numeric @ 8)  at <unknown> line 0 (ExitRunloop @ 0)  at /home/p6eval/niecza/lib/CORE.s… | |||
sorear | though gc="No" is a somwhat musing propery value. | ||
masak .oO( No property for you! ) | |||
sorear | n: ೨ | ||
p6eval | niecza v19-26-g025a6e6: OUTPUT«Unhandled exception: Digit <೨> too large for radix 10 at /home/p6eval/niecza/boot/lib/CORE.setting line 1402 (die @ 5)  at /home/p6eval/niecza/src/NieczaActions.pm6 line 147 (from_base @ 25)  at /home/p6eval/niecza/src/NieczaActions.pm6 line 153 (Nie… | ||
sorear | I thought that would break :> | 17:08 | |
masak | ೨ isn't so large... :P | ||
sorear | it's probably doing something like ord($_) - 48 | ||
masak submits nieczaissue | |||
sorear | :D | ||
.u ೨ | 17:10 | ||
phenny | U+0CE8 KANNADA DIGIT TWO (೨) | ||
sorear | .u CA0 | 17:12 | |
phenny | sorear: Sorry, no results for 'CA0'. | ||
sorear | .u U+0CA0 | ||
phenny | sorear: Sorry, no results | ||
masak | ಠ_ಠ | 17:13 | |
17:14
kaare_ joined
|
|||
flussence | .u 0CA0 | 17:15 | |
phenny | U+0CA0 KANNADA LETTER TTHA (ಠ) | ||
GlitchMr | .u A | 17:16 | |
phenny | U+0041 LATIN CAPITAL LETTER A (A) | ||
GlitchMr | .u 0A | ||
phenny | GlitchMr: Sorry, no results for '0A'. | ||
GlitchMr | .u 000A | ||
phenny | U+000A (No name found) | ||
17:23
benabik left
17:24
benabik joined
|
|||
masak | .u 001B | 17:25 | |
phenny | U+001B (No name found) | ||
17:26
benabik_ joined
|
|||
GlitchMr | I've done a check. Almost anything except for \C seems to be realistic to be ported. | 17:26 | |
\C being octet | |||
sorear | unicode control characters don't have Names for some stupid reasons | ||
they do have Unicode_1_Names, which the docs for \N (our \c) in UTS18 recommend using | 17:27 | ||
even when other parts of the spec say Unicode_1_Name is obsolete | |||
flussence | Do P6 regexes work on Bufs? \C wouldn't even matter in that case. | 17:28 | |
17:29
benabik left,
benabik_ is now known as benabik
|
|||
GlitchMr | www.dropbox.com/s/1463kw7p6fbh3kp/...0perl6.ods | 17:29 | |
Besides, \C sounds so dangerous that I doubt many have used it | |||
I guess it would be fine if Perl 6 implementation wouldn't support \C with :P5 modifier? | 17:32 | ||
sorear | \C is specced for perl6 | ||
[:bytes .] | 17:33 | ||
GlitchMr | oh, ok | ||
Thanks :) | |||
sorear | nobody implements it and I doubt anyone will soon | ||
GlitchMr | I guess that :bytes would return Buf | ||
(actually, I think that :bytes shouldn't work on anything that isn't Buf) | 17:34 | ||
masak | pmichaud: ping | ||
GlitchMr | Str.bytes already went | ||
masak | pmichaud: 'use C;\nC.new' works in a file but not on the Rakudo REPL. | 17:35 | |
jnthn | masak: that one's in RT. I tried to hunt it down without luck. :( | ||
masak: Seems type objects get lost somewhere in the collected context. | 17:36 | ||
masak: Whereas subs dont. | |||
pmichaud | TimToady: I have your t-shirt available also | ||
jnthn | Or somehting like that. | ||
pmichaud | masak: pong | ||
jnthn | I spent an hour on it a while ago... | ||
masak | jnthn: oh, ok. | ||
jnthn | I expected to find a defined check or something somewhere but...no dice | ||
masak | jnthn: I got a report for it on URI.pm | ||
jnthn: do you happen to have the RT # handy? | 17:37 | ||
jnthn | 'fraid not here | ||
jnthn has it open on a browser window on his dev machine at home :P | |||
s/window/tab/ | |||
masak greps for REPL | 17:38 | ||
rt.perl.org/rt3/Ticket/Display.html?id=114308 | 17:39 | ||
pmichaud | jnthn, masak, sorear: shall we head over to the pre-meeting soon? | 17:45 | |
masak | pmichaud: yes, let's. | 17:47 | |
jnthn | aye | 17:48 | |
sorear | let's. | ||
jnthn is at a good stopping pont | |||
er, point | |||
masak .oO( the bridge of no return ) | |||
jnthn | .oO( like a bridge over troubled typing... ) |
||
pmichaud | ponts are not necessarily good places to stop. be on one side or the other :) | ||
masak .oO( I'm on the fence about which side of the pont I should be on... ) | 17:49 | ||
17:50
Helios left
|
|||
masak | & | 17:52 | |
17:55
Helios joined
18:02
MayDaniel joined,
cognominal joined
18:10
Helios left
18:12
Helios joined
18:22
spider-mario left,
benabik left
18:25
erkan left
18:32
erkan joined,
erkan left,
erkan joined
18:37
Circlepuller joined
18:38
Circlepuller_ left
18:42
cognominal left
18:45
fridim_ joined
18:49
fridim_ left,
fridim_ joined
18:52
mathw joined
|
|||
mathw | Good evening! | 18:52 | |
japhb | o/ mathw | 18:59 | |
phenny, ask tadzik Why does panda's boostrap.pl want to add the DESTDIR into PERL6LIB while bootstrapping? Wouldn't you want to ignore it as an available lib until the bootstrap completed? | 19:01 | ||
phenny | japhb: I'll pass that on when tadzik is around. | ||
japhb | phenny, ask tadzik For that matter, it seems like PERL6LIB should be entirely disabled during the bootstrapping process; you want only the contents of panda's tree to be used to fill the DESTDIR or ~/.perl6, right? | 19:03 | |
phenny | japhb: I'll pass that on when tadzik is around. | ||
japhb | phenny, tell tadzik Sorry, I meant the *original* PERL6LIB should be entirely disabled during bootstrapping ... | 19:04 | |
phenny | japhb: I'll pass that on when tadzik is around. | ||
19:04
GlitchMr left
|
|||
moritz home | 19:10 | ||
19:19
birdwindupbird joined
19:23
cognominal joined
19:24
uniejo joined
19:25
uniejo left
19:26
uniejo joined
19:34
cognominal left
19:37
cognominal joined
19:40
Helios left
19:41
Helios joined
19:51
nodmonkey joined
19:57
uniejo left
19:59
cognominal left
20:03
raiph joined
|
|||
raiph | hi | 20:05 | |
moritz | hi raiph | 20:06 | |
raiph | what's #p6p5? | 20:07 | |
moritz | raiph: see perlgeek.de/blog-en/perl-6/2012-quo...-perl.html | 20:09 | |
japhb | Now that's what I call an answer -- "A wrote a whole blog entry just to answer that question, before you even asked it." | 20:27 | |
20:28
colomon joined
20:33
birdwindupbird left
20:47
vlixes joined
20:49
benabik joined
20:55
Circlepuller_ joined
20:57
Circlepuller left,
vmspb joined
21:01
kaare_ left
21:09
vmspb left
21:15
spider-mario joined
21:26
UncleFester6 left
|
|||
raiph | moritz: thanks. | 21:29 | |
phenny, tell GlitchMr www.equinoxbase.com/p5p6regconv/ is a p5 to p6 regex converter (last updated 2009?) | 21:31 | ||
phenny | raiph: I'll pass that on when GlitchMr is around. | ||
masak | hi, #perl6 | 21:33 | |
jnthn | lolitsmasak! | 21:34 | |
pmichaud | good evening, #perl6 | ||
jnthn | pmichaud: oh, you weren't far behind us in leaving :) | ||
pmichaud | not too far, no. | ||
masak | jnthn: they must've tailed us back to l'hotel ;) | ||
pmichaud | I had a few more conversational-ish things to wrap up before leaving, but it felt like you both had been gone a fair bit before we left | 21:35 | |
jnthn | yeah, I wanted to diddle a few more things for tomorrow's talk before sleeping, and wanted to avoid a late night ;) | 21:36 | |
pmichaud | at any rate, safely back at l'hôtel for the night :) | ||
jnthn | :) | ||
pmichaud | moritz++ # excellent writeup of #p6p5 | 21:37 | |
sorear | good odding #perl6 | 21:39 | |
masak | pmichaud++ # ô | ||
sorear++ # odding | |||
21:48
Circlepuller_ left
21:49
Circlepuller_ joined
21:57
benabik left
22:01
UncleFester6 joined
|
|||
dalek | ecza: 51face1 | sorear++ | lib/CodeGen.cs: Auto-fetch in (unbox) to reduce boilerplace a bit |
22:03 | |
ecza: ec0eab3 | sorear++ | lib/ (2 files): Low-level backend support for sockets |
|||
ecza: e441498 | sorear++ | examples/sock.pl: Minimal implementation of sockets (not in setting yet) |
|||
masak | sorear++ # IO::Socket::INET | 22:06 | |
UncleFester6 | p6: class C {has $.a}; my C constant $c = C.new(:a<red>); say $c.perl; | 22:07 | |
p6eval | niecza v19-26-g025a6e6: OUTPUT«C.new(...)» | ||
..rakudo 763b85: OUTPUT«C.new(a => "red")» | |||
UncleFester6 | p6: class C {has $.a}; my C constant $c .= new(:a<red>); | 22:08 | |
p6eval | rakudo 763b85: OUTPUT«use of uninitialized value of type Mu in string context in any <anon> at src/gen/BOOTSTRAP.pm:104use of uninitialized value of type Mu in string context in any <anon> at src/gen/BOOTSTRAP.pm:104===SORRY!===error:imcc:syntax error, unexpected ADV_NAMED, expec… | ||
..niecza v19-26-g025a6e6: OUTPUT«Unhandled exception: Unable to resolve method ctxzyg in type Method at /home/p6eval/niecza/src/NieczaPassSimplifier.pm6 line 162 (run_optree @ 8)  at /home/p6eval/niecza/src/NieczaPassSimplifier.pm6 line 166 (run_optree @ 19)  at /home/p6eval/niecza/… | |||
22:08
sergot left
|
|||
UncleFester6 | p6: my Rat $r .= new(3, 5) | 22:08 | |
p6eval | niecza v19-26-g025a6e6: OUTPUT«Potential difficulties: $r is declared but not used at /tmp/ICCcdEKwKe line 1:------> my Rat ⏏$r .= new(3, 5)» | ||
..rakudo 763b85: ( no output ) | |||
UncleFester6 | p6: my Rat constant $r .= new(3, 5) | ||
p6eval | niecza v19-26-g025a6e6: OUTPUT«Unhandled exception: Unable to resolve method ctxzyg in type Method at /home/p6eval/niecza/src/NieczaPassSimplifier.pm6 line 162 (run_optree @ 8)  at /home/p6eval/niecza/src/NieczaPassSimplifier.pm6 line 166 (run_optree @ 19)  at /home/p6eval/niecza/… | ||
..rakudo 763b85: OUTPUT«===SORRY!===Default constructor only takes named arguments» | |||
UncleFester6 | I sort of think that .= on constants like this should be disallowed with a nicer error message ... | 22:09 | |
masak | agreed. | ||
UncleFester6: feel free to submit a rakudobug (or a nieczabug) about it. | 22:10 | ||
pmichaud | this sounds a bit too close to "readonly objects" for me to consider it a bug yet, though. | ||
UncleFester6 | thx, I will I just wanted some feedback on my understanding of the problem .. | 22:11 | |
LTA | |||
pmichaud | p6: my Rat constant $r .= new(:num(3), :den(5)); # checking | ||
p6eval | rakudo 763b85: OUTPUT«use of uninitialized value of type Mu in string context in any <anon> at src/gen/BOOTSTRAP.pm:104use of uninitialized value of type Mu in string context in any <anon> at src/gen/BOOTSTRAP.pm:104===SORRY!===error:imcc:syntax error, unexpected ADV_NAMED, expec… | ||
..niecza v19-26-g025a6e6: OUTPUT«Unhandled exception: Unable to resolve method ctxzyg in type Method at /home/p6eval/niecza/src/NieczaPassSimplifier.pm6 line 162 (run_optree @ 8)  at /home/p6eval/niecza/src/NieczaPassSimplifier.pm6 line 166 (run_optree @ 19)  at /home/p6eval/niecza/… | |||
jnthn | That's CERTAINLY a bug! | 22:12 | |
(mis-code-gen) | |||
I dunno what it should do though. | |||
Maybe work somehow | |||
tadzik | pass what? | ||
phenny | tadzik: 19:01Z <japhb> ask tadzik Why does panda's boostrap.pl want to add the DESTDIR into PERL6LIB while bootstrapping? Wouldn't you want to ignore it as an available lib until the bootstrap completed? | ||
pmichaud | the messages from the earlier example were technically correct; they were complaining about the argumetns to .new | ||
phenny | tadzik: 19:03Z <japhb> ask tadzik For that matter, it seems like PERL6LIB should be entirely disabled during the bootstrapping process; you want only the contents of panda's tree to be used to fill the DESTDIR or ~/.perl6, right? | ||
tadzik: 19:04Z <japhb> tell tadzik Sorry, I meant the *original* PERL6LIB should be entirely disabled during bootstrapping ... | |||
tadzik | /o\ | ||
sorear | o/ tadzik | ||
jnthn | pmichaud: yes, those were | ||
tadzik | \o | 22:13 | |
pmichaud | p6: my Rat $r .= new(:num(3), :den(5)); # checking | ||
p6eval | niecza v19-26-g025a6e6: OUTPUT«Potential difficulties: $r is declared but not used at /tmp/ks2nVrYzpy line 1:------> my Rat ⏏$r .= new(:num(3), :den(5)); # checkingUnhandled exception: No value for parameter '$n' in 'Rat.new' at /home/p6eval/niecza/lib/CORE.se… | ||
..rakudo 763b85: ( no output ) | |||
tadzik | japhb: you are probably right | ||
pmichaud | p6: my Rat $r .= new(:num(3), :den(5)); say $r; # checking | ||
p6eval | rakudo 763b85: OUTPUT«0» | ||
..niecza v19-26-g025a6e6: OUTPUT«Unhandled exception: No value for parameter '$n' in 'Rat.new' at /home/p6eval/niecza/lib/CORE.setting line 0 (Rat.new @ 1)  at /tmp/wL7SPAy9T4 line 1 (mainline @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 3946 (ANON @ 3)  at /home/p6eval/niec… | |||
sorear | anything with "error:imcc:syntax error" is 110% a bug, unless you used Q:PIR | ||
tadzik | japhb: I'm very sensitive in terms of touching bootstrap.pl when it's working :) | ||
UncleFester6 | I think that pmichaud's example sort of reasigns $r with "$r .=" and one could try to dwim but I think disallow would make sense to me | ||
masak | pmichaud: 0!? | 22:14 | |
pmichaud | I guess I'm okay if we think of reassignment as being disallowed. | ||
masak: I passed the wrong named args, apparently. | |||
masak | oh! | ||
pmichaud | p6: my Rat $r .= new(:n(3), :d(5)); say $r; # checking | ||
p6eval | niecza v19-26-g025a6e6: OUTPUT«0.6» | ||
..rakudo 763b85: OUTPUT«0» | |||
masak | :nu and :de? | ||
oh, those were right for Niecza... :) | |||
pmichaud | apparently there's not a consistent Rat.new definition :-( | ||
sorear | It's common enough that I'm tempted to dwim it | ||
pmichaud | p6: my Rat $r .= new(:nu(3), :de(5)); say $r; # checking | ||
p6eval | niecza v19-26-g025a6e6: OUTPUT«Unhandled exception: No value for parameter '$n' in 'Rat.new' at /home/p6eval/niecza/lib/CORE.setting line 0 (Rat.new @ 1)  at /tmp/VU9W9mo8Ww line 1 (mainline @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 3946 (ANON @ 3)  at /home/p6eval/niec… | 22:15 | |
..rakudo 763b85: OUTPUT«0» | |||
masak | oh, come on, Rakudo! | ||
if those attributes are public, they should be spec'd. | |||
and then the implementations shouldn't disagree on them. | |||
pmichaud | p6: my Rat $r .= new(:numerator(3), :denominator(5)); say $r; | ||
p6eval | rakudo 763b85: OUTPUT«0» | ||
..niecza v19-26-g025a6e6: OUTPUT«Unhandled exception: No value for parameter '$n' in 'Rat.new' at /home/p6eval/niecza/lib/CORE.setting line 0 (Rat.new @ 1)  at /tmp/NaIdNJ7kTk line 1 (mainline @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 3946 (ANON @ 3)  at /home/p6eval/niec… | |||
sorear | r: my $r = (3/5); say $r # does Rat.gist work at all? | 22:16 | |
p6eval | rakudo 763b85: OUTPUT«0.6» | ||
22:16
popl joined
|
|||
pmichaud | method new(NuT \nu = 0, DeT \de = 1) { | 22:17 | |
that looks wrongish. | |||
but it does mean: | |||
sorear | agh, right, Rat is polymorphic\ | ||
pmichaud | r: my $r = Rat.new(3,5); say $r; # should work | ||
p6eval | rakudo 763b85: OUTPUT«0.6» | ||
pmichaud | r: my Rat $r = Rat.new(3,5); say $r; # should work | ||
p6eval | rakudo 763b85: OUTPUT«0.6» | ||
pmichaud | r: my Rat $r .= new(3,5); say $r; # should work | ||
p6eval | rakudo 763b85: OUTPUT«0.6» | ||
pmichaud | r: my Rat constant $r .= new(3,5); say $r; # should work | 22:18 | |
p6eval | rakudo 763b85: OUTPUT«===SORRY!===Default constructor only takes named arguments» | ||
sorear | r: my constant Rat $r .= new(3,5); say $r; | ||
p6eval | rakudo 763b85: OUTPUT«===SORRY!===Missing initializer on constant declarationat /tmp/3UZMWEXzB2:1» | ||
pmichaud | p6: my Rat constant $r .= new(3,5); say $r; # should work | ||
p6eval | niecza v19-26-g025a6e6: OUTPUT«Unhandled exception: Unable to resolve method ctxzyg in type Method at /home/p6eval/niecza/src/NieczaPassSimplifier.pm6 line 162 (run_optree @ 8)  at /home/p6eval/niecza/src/NieczaPassSimplifier.pm6 line 166 (run_optree @ 19)  at /home/p6eval/niecza/… | 22:19 | |
..rakudo 763b85: OUTPUT«===SORRY!===Default constructor only takes named arguments» | |||
UncleFester6 | r: my Rat $r; $r .= new(3,5); say $r; | ||
p6eval | rakudo 763b85: OUTPUT«0.6» | ||
pmichaud | why is it looking at the Default constructor, I wonder? | ||
UncleFester6 | r: my Rat constant $r; $r .= new(3,5); say $r; | ||
p6eval | rakudo 763b85: OUTPUT«===SORRY!===Missing initializer on constant declarationat /tmp/5bkfYIbmVp:1» | ||
jnthn | pmichaud: Maybe an initialization fail | 22:20 | |
pmichaud: I mean...it doesn't call on Rat for some reason. | |||
pmichaud | anyway, seeing that I agree: BUG | 22:21 | |
masak submits rakudobug | |||
moritz: I agree that we should have .ymd and .hms in S32/Temporal... but... | 22:22 | ||
moritz: some part of me in 2012 wonders what it was that made me reject it in 2010. because I'm pretty sure I considered it. | 22:23 | ||
22:23
MayDaniel left
|
|||
geekosaur recalls a bunch of "don't hardcode a preference for one particular date / time system" back then | 22:24 | ||
...claiming it belonged in a module | |||
japhb | phenny, ask tadzik Did you mean that you agree with keeping DESTDIR out of PERL6LIB during bootstrap, but are nervous about keeping the original PERL6LIB out? Or do you mean you agree on both counts, but are nervous about both as well? | ||
phenny | japhb: I'll pass that on when tadzik is around. | ||
sorear | seen supernovus | 22:25 | |
aloha | supernovus was last seen in #perl6 10 days 19 hours ago saying "Anyway, enough for tonight. Hope someone finds the library useful. I need to expand the documentation, as currently you need to read the WWW::App documentation in addition to the WWW::App::Easy to figure out all of the different | ||
..features.". | |||
quietfanatic | I believe there's a standard cross-culture seperator for hms but not for ymd. | 22:26 | |
japhb | masak, geekosaur, while I (very vaguely) remember the "avoid particular DT system" discussion happening, I argue that ymd and hms are so commonly used that they should get a boost into core. | 22:27 | |
quietfanatic, that's why ymd properly has an optional separator param (as does hms, actually). | |||
quietfanatic | ah | ||
geekosaur | not to mention that the US uses mdy order and much of europe uses dmy | ||
japhb | (The proper defaults for which are the ISO 8601 standard) | 22:28 | |
geekosaur, both of those are cultural, and belong in a cultural module. ymd is an international standard and the only one the collates using a simple model | |||
(trivial, actually) | |||
s/one the/one that/ | 22:29 | ||
quietfanatic | trivial assuming we don't have computers by the year 10000 | ||
japhb | quietfanatic, I find it at least as likely that we will have a completely different calendar system 8 millinea from now. :-) | 22:30 | |
sorear | 'lets provide all six, it cant be harder than npr:' | ||
22:30
fridim_ left
|
|||
masak | :) | 22:31 | |
quietfanatic | japhb: yes, though it's possible that we might refer now to dates later. | ||
geekosaur did not really intend to touch off the bikeshed all over again... /o\ | |||
masak | I'm fine with it this time around. | ||
japhb | quietfanatic, now now, don't taunt geekosaur. ;-) | ||
quietfanatic wouldn't be sad with something like now.fmt('%y-%m-%d') | |||
masak | but it might have been bikeshedding that made me decide to leave them out last time. | 22:32 | |
sorear | +1 | ||
quietfanatic | Ah, I didn't realize this was a bikeshed already | ||
masak | no no, this is good. | ||
please go on. :) | |||
quietfanatic: I've decided I don't like formatting strings anymore. | |||
diakopter | who gets to define what's a bikeshed anyway | ||
quietfanatic | well, fmt wouldn't be right, but a similar mechanism | ||
masak | diakopter: the meta-bikeshedders. | ||
japhb | But I'm absolutely serious, I think method ymd(:$sep = '-') and method hms(:$sep = ':') should be the only core, and the rest treated as cultural. | ||
diakopter | :) | ||
quietfanatic | given now { "{.y}-{.m}-{.d}" } | ||
masak | quietfanatic: formatting strings are insufficiently language-y. | 22:33 | |
quietfanatic: yes, that's much better. | |||
r: given Date.today { say "{.hour}:{.minute}:{.second}" } | |||
p6eval | rakudo 763b85: OUTPUT«No such method 'hour' for invocant of type 'Date' in block at /tmp/JRXng2diI6:1 in block at /tmp/JRXng2diI6:1» | ||
masak | aww | 22:34 | |
masak czhechs the sauce | |||
sorear | datetiime? | ||
masak | indeed. | ||
r: given DateTime.now { say "{.hour}:{.minute}:{.second}" } | |||
p6eval | rakudo 763b85: OUTPUT«0:34:51» | ||
masak | I blame general lateness. | ||
pmichaud | datetiiiiiiiiiiiiiiime | 22:36 | |
masak | r: say (.hour, .minute, .second).fmt("%02d", ":") given DateTime.now | ||
p6eval | rakudo 763b85: OUTPUT«00:36:17» | ||
pmichaud | I blame a sticky keyboard. | ||
masak | :P | ||
the above is quite nice, and very readable, I think. | |||
granted, `DateTime.now.ymd` is a lot shorter. | 22:37 | ||
so maybe we should put it in there. | |||
quietfanatic | Ah, yes, interpolating strings directly would cause problems like 0:11:4 | ||
sorear | DateTime.now.fmt('%d/%m/%y') would also be shorter | ||
masak will leave it to simmer in the general discourse for a day or so, and then add it to the Temporal spec | 22:38 | ||
sorear: yes, but that would further overload format strings, and I don't like format strings. | |||
quietfanatic | yes, but it'd need a different name from .fmt | ||
masak | quietfanatic: not really; we could steal .fmt for that for DateTimes. | ||
quietfanatic | I'd expect .fmt to coerce to string and format | 22:39 | |
Even if DateTime isn't Cool, that's what I'd expect. | |||
*coerce to Cool | |||
masak | you don't coerce to Cool. either you're Cool or you're not :P | 22:40 | |
quietfanatic | right right | ||
sorear | masak: prefer c++ iomanip? | 22:41 | |
masak | sorear: haven't seen how C++ does formats. | ||
sorear: but my main kvetch about format strings is that they, like p5 regexes, are insufficiently AST-y. | |||
they're just flat strings when they should be full compilable sublanguages. | 22:42 | ||
quietfanatic | sorear: Do you mean cout << astring << ":" << anumber << endl ? | ||
masak | oh, that bit. I don't have much sympathy for that part of C++. | ||
quietfanatic | Neither do I. I just use printf instead. | ||
sorear | quietfanatic: I'm more talking about putting << width(2) << fill('0) in the middle | ||
quietfanatic | oh, you can do that? | 22:43 | |
sorear | yeah, because %02d is horrible | ||
quietfanatic | C++ gets weirder every time I learn a new feature | ||
%02d is indeed horrible, but I know it already. :) | 22:44 | ||
...says everyone who wants sprintf in Perl 6, as far as I can tell | 22:45 | ||
sorear | if we don't provide anything like strftime(), we're putting quite a bit of burden on users for this | ||
I could get behind a macro/slang form for strftime patters | 22:46 | ||
it doesn't have to be runtime checked (ew) | |||
masak | quietfanatic: we have sprintf in Perl 6. | ||
sorear: yeah, something like that. | |||
japhb | The only reason I like format *strings* is because formats are one of the things I am most likely to generate programmatically and then use. | ||
quietfanatic | masak: Yeah, and I think it's for the purpose of historical cohesion primarily. | 22:47 | |
22:47
whiteknight joined
|
|||
jnthn | sleep & | 22:47 | |
sorear | o/ whiteknight | ||
whiteknight | hello sorear | ||
22:47
whiteknight is now known as Guest82297
|
|||
japhb | Guest82297, Why do you join as whiteknight and then guestify yourself? | 22:48 | |
Guest82297 | japhb: it isn't intentional | ||
22:48
Guest82297 is now known as wknight8111
|
|||
quietfanatic | runtime-parsing a custom sublanguage is nice, but runtime-generating a custom AST-like thing also has something to be said for it | 22:48 | |
22:48
wknight8111 left,
wknight8111 joined
|
|||
geekosaur | guestification means someone owns the /nick in querstion and turned on protection, so nickserv gives them time to identify and then boots them off it | 22:48 | |
quietfanatic | Going through a string-like representation to generate formats could be an unnecessary step. | 22:49 | |
japhb | geekosaur, ah, forgot about that | ||
wknight8111 | I'm registered as "wknight8111", but I haven't set my my client to use that nick on this network | ||
japhb | quietfanatic, I don't care about how I produce the format. Only that the production method is terse enough to form a picture in my mind. | ||
quietfanatic | (could be but isn't in just about every language :) | 22:50 | |
masak | quietfanatic: I'm not sure I agree about "historical cohesion". sometimes q strings are enough, sometimes you have to do qq strings, and for those extra-special times, you want to go full sprintf. | ||
quietfanatic: it's not just backwards-compat. sometimes that's just the level to solve the problem on. | |||
quietfanatic | masak: Hmm, perhaps so | ||
I should take as evidence that even aggressively functional languages tend to provide a sprintf-like thing. | 22:52 | ||
it'd still be nice if it was a sublanguage like regexes, so that the compiler and the programmer could agree on how to think about them. | 22:53 | ||
japhb | sprintf, while it definitely has its issues, is very terse, even for relatively complex formats. That's much of what I like about it. | ||
22:53
thelazydeveloper left
|
|||
japhb | (Especially the extended forms that allow argument rearrangement and suchlike) | 22:54 | |
masak | right. | ||
sorear wonders how strftime could be made to handle formal Japanese dates | |||
masak | I think it's insane that sprintf doesn't compile-time-check the number of arguments. that's when you realize that things are evaluated too late. | ||
quietfanatic | sorear: strftime("%Y年%m月%d日"), you mean? | 22:55 | |
Oh, you mean the eras and stuff | |||
sorear | quietfanatic: I'm thinking the ones that start with Heisei 21, yeah | 22:56 | |
22:56
UncleFester6 left
|
|||
quietfanatic | Yes, we should let people mark time by their own emporers, not just ours | 22:56 | |
japhb | Well, I definitely like the idea of printf-formats being a first-class slang, so that, as quietfanatic says, the compiler and programmer can think of them on the same level. | 22:57 | |
quietfanatic | I think formats are a prime target for Perl 6 slangization, and if we don't use them as an example, nobody'll bother to slangize anything. | ||
japhb | point. | 22:58 | |
masak | +1 | ||
quietfanatic | fmt/%02d:%02d:%02d/ <-- consider | ||
in matching with rx// | 22:59 | ||
masak | ooh | ||
quietfanatic | *in parallel, I mean | ||
.oO(matching means something else in this context) |
|||
japhb | quietfanatic, that's a rather nice idea | 23:00 | |
sorear | macro fmt() is parsed(/ [ <![%]> | '%' \d* <[cdfs]> ]* /) { ... } | ||
needs a '/' at begin & end | 23:01 | ||
quietfanatic | and it generates something like an N-ary function that can be made at compile-time. | ||
japhb | sorear, and a pile more cases. ;-) | ||
sorear | =for masak | ||
quietfanatic | well, it's a quoting form, so it could take any character as delimiters | ||
sorear | eek how to provide access to <quibble> from slangs | 23:02 | |
japhb | sorear, and we now have an immediate reason to try to make a slang outside of the core grammar -- we find out what we accidentally made difficult. ;-) | 23:03 | |
quietfanatic | eek indeed. In the case of regexes, you'd have to make the regex and quibble methods of the same grammar | ||
masak | sorear: ugh, 'is parsed'... :) | 23:04 | |
'night, #perl6 | |||
quietfanatic | night masak | ||
sorear | 'night | 23:05 | |
japhb | o/ | 23:06 | |
23:20
wknight8111 left
23:48
cognominal joined
23:54
zhutingting joined,
cognominal left
23:56
gongyiliao left
|