»ö« | perl6.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot usage: 'perl6: say 3;' or rakudo: / pugs: / std: , or /msg p6eval perl6: ... | irclog: irc.pugscode.org/ | UTF-8 is our friend! Set by wolfe.freenode.net on 30 October 2009. |
|||
romanhunt | still no dice | 00:00 | |
it sets me up to track ng from origin but origin is my fork | |||
I cannot get it to accept "remote" or "upstream" | |||
would it just be easier to delete the repository and pull it from the master? | 00:01 | ||
[particle] | yeah, it's easy to recreate the repo | 00:03 | |
zaslon | lolperl6adventhazblogged! perl6advent++ 'Day 10: A Regex Story': perl6advent.wordpress.com/2009/12/1...gex-story/ | ||
[particle] | nuke it | ||
carlin | rakudo: 1~~/./;my @a=((1|1),'',[],1,{1},1,$/,/1/,/1/,(1=>1),/1/,'',{1},$/,[],{1},/1/,'');my @b=(0,2,0,2,0,1,1,1,2,1,2,1,4,1,1,1,0,1,0,1,1,1,2,1,1,1,4,1,0,1,3,2,1,1,2,1);for map {lc .WHAT},@a {print .substr(@b.shift,@b.shift)}; | 00:06 | |
p6eval | rakudo 7ef386: justanotherperlhacker | ||
carlin | rakudo: my %h = { foo => 1 }; | 00:07 | |
p6eval | rakudo 7ef386: ( no output ) | ||
carlin | rakudo: my %h = { foo => 1 }; say 'alive' | ||
p6eval | rakudo 7ef386: ( no output ) | ||
carlin | looks like evalbot's hashes are broken too | 00:08 | |
00:09
payload left
|
|||
romanhunt | ok I think Im set | 00:13 | |
the parrot rev is correct so I am reconfiguring --gen-parrot | |||
thx for the help | |||
jnthn | my $advent-post is scheduled; | 00:14 | |
00:17
spinclad left
|
|||
romanhunt | can ~~ be used in place of an isa ? as in $obj.method if $obj ~~ 'Foo'? | 00:17 | |
colomon | no quotes around the Foo. | 00:18 | |
romanhunt | cool | ||
colomon | rakudo: say 1 ~~ Int; | ||
p6eval | rakudo 7ef386: 1 | ||
colomon | say (4/7) ~~ Rat | ||
jnthn | If you want to try and call a method if it's there, there's also $obj.?method, fwiw. :-) | ||
colomon | what happens if it's not there? | 00:19 | |
jnthn | (not quite the same thing) | ||
colomon: failure | |||
colomon: but not exception. | |||
colomon | makes sense. | ||
jnthn | I most like it when you've got some object that may or may not have had a thingy mixed into it. | ||
And you want to call a potentially mixed in method if it's there. | |||
00:20
Wolfman2000 joined
|
|||
jnthn | sheesh, the wordpress admin area is sloooow | 00:20 | |
Wolfman2000 | jnthn: perhaps there is another slashdot effect? | ||
jnthn | dunno | ||
I wonder if my post really is scheduled yet... | 00:21 | ||
00:21
nihiliad left
|
|||
jnthn | ah yes | 00:23 | |
2009/12/11 | |||
Scheduled | |||
:-) | |||
colomon | \o/ | ||
jnthn | review welcome | ||
colomon | I like the blog being at least a day ahead. | ||
00:23
felipe left
|
|||
jnthn | Less stress. :-) | 00:24 | |
colomon | :) | ||
arnsholt | I wish you'd publish at something like 8 or 9 in the morning European time though | 00:25 | |
Less temptation for me to peek before going to bed that way =) | |||
colomon | jnthn: nice post. | 00:27 | |
00:29
cdarroch left
00:30
gfldex left
00:31
gfldex joined
|
|||
jnthn | colomon: Thanks for checking it :-) | 00:35 | |
00:36
Limbic_Region joined
00:37
Limbic_Region left
00:38
supernovus left
|
|||
romanhunt | so where has src/setting 's functionality moved to in ng? | 00:40 | |
src/core ? | 00:41 | ||
jnthn | yes. | ||
romanhunt | werd | ||
ha! the work I was peeking at to do id done | 00:42 | ||
jnthn | There's plenty more work, I'm sure ;-) | 00:44 | |
<- exhausted | |||
jnthn goes for a rest | |||
romanhunt | all of traints.pm doesnt look to still be there | ||
are the other funcs obsoleted? | |||
*traits | |||
colomon | ng still has huge holes in it. | ||
(For perspective: I implemented pop and shift today.) | 00:45 | ||
romanhunt | jesus | ||
thats cool though! | |||
colomon | Basically, ng is waiting to get a few more key components that a lot of things depend on. Then I imagine there will be an explosion of stuff moved to it very quickly. | 00:47 | |
pop, for instance, is a lot simpler in ng than it was in master. | |||
our multi method pop() { self.elems > 0 ?? pir::pop__PP($!values) !! Mu; } | 00:48 | ||
romanhunt | cool. I am just glad to be sync'd to the current dev tree at this point | ||
colomon | (The Mu should really be fail with a message, but we don't quite have that yet.) | ||
quantumEd | what's Mu? | 00:49 | |
colomon | quantumEd: it used to be called Object. | ||
Used like that it's the most fundamental undefined type. :) | |||
quantumEd | coool | ||
TimToady | seems like it should return Nil, maybe | 00:50 | |
colomon | romanhunt: Today I ran into the fact that @ array arguments don't work in ng yet. So @array.pop works, but pop(@array) causes a NullPMC crash. | ||
TimToady: It should return a fail, shouldn't it? | 00:51 | ||
If you reckon Nil is a more appropriate psuedo-fail, I'd be glad to change the code. | |||
TimToady | I can argue it both ways | ||
RichiH | what is the rationale behind using ^^ and $$ instead of ^ and $ in regexp? | 00:52 | |
TimToady | s/instead of/in addition to/ | ||
^^ and $$ can match multiple places in a multi-line string, while ^ and $ can only match at beginning/end of string | 00:53 | ||
PerlJam is so glad he did his perl6advent entry early | 00:58 | ||
There is no way I would have gotten it done today. | |||
RichiH | PerlJam: guess why i asked ;) | 00:59 | |
TimToady: so would $$ match \n\n\n\n in a multi-line match? | |||
TimToady | it would match before each \n | ||
PerlJam | RichiH: it would match multiple times. | ||
s/would/could/ (depending on how it was used) | 01:00 | ||
RichiH | ah, ok | ||
01:00
lestrrat is now known as lest_away,
jaldhar left
|
|||
RichiH | PerlJam: in my specific example, it would | 01:00 | |
but i know what you mean :) | |||
TimToady | and ^^ would match after each \n | 01:01 | |
except maybe that last one | |||
I think ^^ shoudn't match at $ | |||
colomon | Would it match before the first \n as well? | ||
TimToady | *shouldn't | ||
if that were at ^, yes | |||
PerlJam | RichiH: you know, you can leave comments on the calendar. Perhaps someone else could gain the wisdom of the answer to your question :) | 01:02 | |
01:02
jaldhar joined
|
|||
RichiH | PerlJam: actually, i think it would be cleaner if you modified the the entry itself to explain this | 01:03 | |
not everyone reads the comments | |||
i know i don't | |||
pmurias | /exit | ||
01:03
pmurias left
|
|||
PerlJam | RichiH: if I modified the entry, then I'd have to introduce ^ and $ and explain them in some way. I think it's better to leave people asking questions :) | 01:04 | |
TimToady | well, it's certainly questionable... | 01:06 | |
but ^ and $ wouldn't have to be explained to people who think they know how those work already | |||
01:06
felipe joined
|
|||
RichiH | PerlJam: the concept behind the advent calendar entries is to introduce new stuff in perl 6. as you are the first to use ^^ and $$, it's your job to explain them | 01:07 | |
'build upon prior entries or explain it yourself' | |||
PerlJam | RichiH: I did! :) | ||
01:07
thowe left
01:08
quantumEd left
|
|||
RichiH | '^^ matches the beginning of a line' '$$ matches the end of a line' -- to me, that read as if ^ and $ were being replaced by ^^ and $$ which is why i asked. as i _did_ ask, i obviously disagree about if you did explain this properly ;) | 01:09 | |
01:09
spinclad joined
|
|||
zaslon | lolfrettledhazblogged! frettled++ 'GCD - A Small Language Enthuser': howcaniexplainthis.blogspot.com/200...huser.html | 01:09 | |
frettled | carlin++ - zaslon didn't barf :D | ||
RichiH | in any case, battery dead and 0210 local -> bed | 01:10 | |
PerlJam: i still think the original article needs t be modified, though | 01:11 | ||
PerlJam | RichiH: perhaps we can agree to disagree here, but the way I see it, if I waxed prosaic about every little detail, then there'd be nothing to talk about. And I much prefer dialog to monolog. | ||
(add the missing "ue"s as is your wont :) | 01:12 | ||
01:14
japhb left
|
|||
RichiH | "[UPDATE]tim rememered that perl has the neat new ^^ and $$ identifiers which match beginning and end across several lines and decided to use them[/UPDATE]" | 01:14 | |
but your choice, really | |||
one last point though: it's not about every little detail, but it is very much about stuff that is new in perl6 | 01:15 | ||
RichiH will leave it t^Hat that :) | |||
01:26
SmokeMachine joined
|
|||
Tene | colomon: ng does have fail with a message. It just returns Mu right now, but if you use it in ng, it'll do the right thing once fail() dtrt too. | 01:35 | |
colomon | Tene: really? I thought I had issues when I tried to use it. | ||
hmm... | |||
Tene | ng: sub foo { fail("lol") }; my $a = foo(); say $a.WHAT; | 01:36 | |
p6eval | ng dc293e: Mu() | ||
Tene | see? | ||
colomon | Tene++ | ||
ng: say fail("hello"); | 01:37 | ||
p6eval | ng dc293e: No exception handler and no messagecurrent instr.: '&fail' pc 13834 (src/builtins/Junction.pir:200) | 01:38 | |
colomon | I was misled by that. | ||
Tene | ng: say return("lol"); | 01:39 | |
p6eval | ng dc293e: Could not find non-existent sub &returncurrent instr.: '_block14' pc 29 (EVAL_1:0) | ||
01:39
cotto joined
|
|||
Tene | same thing | 01:39 | |
01:40
lest_away is now known as lestrrat
|
|||
colomon is running through the ng code adding fails... | 01:40 | ||
Tene | That's great. Thank you. | 01:42 | |
colomon | Thank you! | 01:44 | |
Tene | real Failure support is coming soon. Not tonight, but maybe tomorrow. | ||
colomon | Okay, so that wasn't a lot of changes, actually. Still, feels good to have proper fails in there. | 01:46 | |
Will have them pushed in a few minutes. | 01:48 | ||
01:53
justatheory left,
japhb joined
|
|||
colomon | Tene: The commit is pushed. When it pops up, could you double check it to see if my uses of fail look right to you? | 01:54 | |
Wolfman2000 | umm...isn't today Day 11? | 01:55 | |
I'm not seeing the post | |||
colomon | Wolfman2000: Today is day 10. | 01:56 | |
Hmmm... maybe Dalek's down again. github.com/rakudo/rakudo/commit/920...63d8bb1c59 | |||
01:57
jl_2 left
01:58
silug joined
|
|||
dalek | kudo/ng: 920640f | (Solomon Foster)++ | src/core/A (2 files): Replace several cheat returns of Mu with actual returns of fail messages. |
01:58 | |
Tene | colomon: according to the spec, the very first hunk is wrong, as a failed index should return some kind of NYI StrPos object, which should still be reflected in a comment there. | 02:00 | |
fail is the best option for now, though, yes. | |||
otherwise, that looks fine. | |||
colomon | Tene: thanks. | 02:01 | |
There is a comment at the beginning of the function about StrPos... | 02:04 | ||
Tene | that's probably good enough. | 02:06 | |
colomon | Woah, StrPos looks very tricky to implement. | 02:07 | |
02:10
jferrero left
02:15
agentzh joined
02:35
colomon left
02:37
JimmyZ joined
02:44
ShaneC left,
Entonian joined
02:55
vamped joined
03:05
tann1 left
03:13
colomon joined
03:17
IMeMyself joined
03:18
rgrau` joined,
agentzh left
03:19
rgrau left,
hicx174 left,
reid06 left,
r0bby left,
dalek left,
sundar left,
athomason left,
dalek joined
03:20
rgrau joined,
hicx174 joined,
reid06 joined,
athomason joined,
r0bby joined,
agentzh joined
03:31
agentzh left
03:40
Entonian left
03:42
envi^office joined
03:49
rgrau left
03:56
tarbo2 joined
03:57
vamped left
04:14
crythias left
04:25
stephenlb left
04:34
Entonian joined
04:35
c9s_ left
|
|||
wayland76 | xenoterracide: Also, there's Web.pm for perl 6 :) | 04:35 | |
04:36
c9s_ joined
04:40
meppl left
04:42
Lorn left,
Lorn joined
04:49
hicx174 left
05:01
aindilis left
05:09
envi^home joined
05:10
hicx174 joined
05:19
Lorn left
05:30
Lorn joined
05:31
tann1 joined
05:32
tann2 joined
05:34
hicx174 left
05:38
hugh4life joined
05:42
thowe joined,
hicx174 joined
|
|||
thowe | good evening | 05:42 | |
sjohnson | hi | 05:43 | |
05:44
perigrin left
05:45
perigrin joined
05:50
tann1 left
05:51
masak joined
|
|||
masak | good morning! | 05:52 | |
diakopter | masak: how | ||
TimToady | I'd say scrambled, but I'm allergic to eggs... | 05:53 | |
05:53
Entonian left
|
|||
masak | :P | 05:53 | |
TimToady | so it's a good thing he asked you instead... | ||
masak | sunny side up for me, then. | ||
TimToady | I daresay it's not very sunny where thowe lives at the moment | 05:54 | |
thowe | No. Also very very cold... | ||
I think the contents of my compost tumbler may be frozen... | 05:55 | ||
TimToady | though Bend itself is kinda down in a slightly warmer pocket | ||
thowe | Not currently. | ||
We are experiencing a strange long spell of very cold. | |||
diakopter | mono.pastebin.com/d3a20d235 # causes Microsoft's C# compiler to emit invalid MSIL bytecode, but which isn't caught by its verifier. | ||
TimToady | well, compared to the surrounding hills... | ||
thowe | yeah. One of my data center AC units froze... | 05:56 | |
masak | diakopter: submit a monobug! | ||
diakopter | mono doesn't even implement __refvalue and __makeref | ||
masak | oh, ok. | ||
diakopter | they're Microsoft extensions to the ECMA C# standard | ||
also undocumented/unsupported kewords | 05:57 | ||
keywords | |||
TimToady | thowe: I was in Bend when I figured out who I was going to marry, as it happens. :) | ||
(she wasn't there at the time) | |||
thowe | Must be a story there... The examined life, so to speak. | 05:58 | |
TimToady | well, not really, the realization took about 5 seconds. | ||
was installing some registration software at COCC at the time... | 05:59 | ||
thowe | The examination must have been a background process... | ||
Whoa, really? | |||
TimToady | ancient history | ||
1978, in fact | 06:00 | ||
thowe | I have only been there to play disk golf and see a speach. | ||
er speech | 06:01 | ||
Yeah... a bit before my time... | |||
They are a customer of ours... | |||
their network configuration is sad... | 06:02 | ||
I know a couple people who teach there. | |||
TimToady | so what interests you about Perl 6? | 06:03 | |
06:03
hicx174 left
|
|||
thowe | So, there you were, installing some registration software and you suddenly said "hm, I'm gonna marry..." | 06:03 | |
TimToady | well, I was sitting in my motel room at the moment. | ||
but yes, pretty much like that. | |||
thowe | several things... some of them subjective | ||
TimToady | helped that we'd already been good friends for two years | 06:04 | |
thowe | I work for this phone company and we do a lot of our own data processing in-house... | ||
I write a million little programs to throw data around all the time | 06:05 | ||
I use a lot of Ruby | |||
I kind of cut my teach on this kind of stuff with Perl 5... sys admin stuff, CGI stuff, everything to run an ISP basically.. | 06:06 | ||
er teeth | |||
I'm probably like a million other guys/gals who just need to get stuff done | |||
TimToady | good, we can certainly use your viewpoint on all this | 06:07 | |
diakopter | use it or lose it! ;) | ||
thowe | Perl 6 sounds like it has cool features. I like to learn new things, too. | ||
For some reason Ruby is becoming less fun | 06:08 | ||
TimToady | do you have any feelers for why that might be? | ||
thowe | Maybe all the Rails hype... When I started RUby there wasn't even any english docs | ||
Hmm... | |||
TimToady | so you read 日本語, do you? :) | 06:09 | |
thowe | I have some ideas, but they are hard to put into words... | ||
read? sure | |||
less than I would like | |||
masak too | 06:10 | ||
TimToady | かっくいい! | ||
06:10
envi^home left
|
|||
masak | Google Translate turns that into "Kuii hue!". | 06:10 | |
TimToady | more or less means "Cool!" | 06:11 | |
kinda slangy though | |||
masak | ah. | ||
thowe | to me, Ruby is becoming less interesting because when I first got into it, I was not really good at OOP. But I've pretty much figured oop out for practical purposes now, and Ruby just seems to be less pragmatic than I feel I want to be on a day to day basis... | ||
TimToady | is that because it's a bit too single-paradigm? | 06:12 | |
or something else? | |||
thowe | Possibly... I took a look at Python because I thought that might be it, but Python doesn't feel right. | 06:13 | |
I used to like Perl 5, but it started to feel... undisciplined might be a close word... | |||
TimToady | Python is sort of a one-trick pony | ||
masak | by design! | 06:14 | |
TimToady | yes, well, it grew more than it was designed | ||
masak | "The pony should have only one obvious trick." | ||
thowe | The idea that a modern language built from the ground up with so much thought put into it but a Perl sensibility sounds appealing. | ||
06:15
kaare joined
|
|||
thowe | I mean, I like Z Shell scripting too, but that's only gonna get me so far. | 06:15 | |
06:15
kaare is now known as Guest4923
|
|||
thowe | "Perl sensibility" probably means something different in my head than in many others. | 06:15 | |
TimToady | yeah, part of the p6 motivation was from the places where p5 just runs out of juice | ||
it's been obvious for ten years that p5 would never be able to outgrow those limitations | 06:16 | ||
so many of the p6 design decisions have been driven by the desire not to run into those boundaries quite so soon | |||
thowe | I take a disciplined approach to my code, and I do like it to be easy to read... Never a fan of the crazy one-liners, but I do find them impressive. | ||
TimToady | while still giving an easily used core language | ||
so you don't have to learn the fancy stuff till you need it | 06:17 | ||
but with subtle encouragement to do things in a way that will scale better | |||
thowe | I'm also interested in the idea of Parrot. WHich is odd, because Java and Mono don't get my mojo up. | ||
06:18
hicx174 joined
|
|||
thowe | THis one thing always bugged me.... | 06:18 | |
passing a multi-dimensional array to a function always seemed to flatten it... I probably just needed to know how to pass by reference or something, but it was really un-intuative... | 06:19 | ||
I'm talking about Perl 5 | |||
I could have just been much less clever then.... | 06:20 | ||
TimToady | yeah, fixed that one too, so normal parameters don't flatten any more, only slurpies | ||
a lot of the p6 design was just picking better defaults | |||
thowe | Well, I'm interested in this new perl. At least for the past couple of days. I may get some time to poke around with it this weekend... | 06:21 | |
TimToady | well, have fun with it | 06:22 | |
thowe | It's probably no secret that Perl gets hated on a bit by some crowds. | ||
TimToady | we aim to fix that too, but it takes time :) | ||
and some folks will just never appreciate freedom | 06:23 | ||
thowe | Well, I have to say (and I said it the other day)... | ||
this is just about the friendliest prog lang channel I have ever been in. | |||
TimToady | but we can take away all the not-so-good reasons for hating Perl, and leave the good ones. :D | ||
06:24
beggars joined
|
|||
masak | thowe: it is very friendly. and we're having a lot of fun, too. | 06:24 | |
TimToady | I blame the butterfly, it chases away the meanies. :) | ||
sjohnson | hi | ||
TimToady | actually, in large part it's Audrey Tang's legacy | ||
thowe | TimToady: it totally does! | ||
masak | it definitely repels the meanies. don't know if it chases them away. :P | ||
thowe | That's been a thought in my head | ||
It struck me odd at first, but it is a bit disarming | 06:25 | ||
it kind of sets a tone | |||
06:25
Wolf2k_Pinged joined
|
|||
thowe | I came accross some talk Larry Wall did about music or something the other day. He seems manic, but also brilliant. | 06:26 | |
TimToady | one of the things we'd like to fix is the culture of high priesthood that looks down on lesser mortals | ||
thowe | well, manic isn't the right word... | ||
06:26
Wolfman2000 left
|
|||
TimToady | yes it is | 06:26 | |
or at least maniacal... | |||
thowe | heh, no. I think that means something I don't mean to say. It could just be that I was reading it instead of listening to it. It seemed really fast-paced | 06:27 | |
masak | I like Larry Wall's talks. | ||
thowe | but in an odd way, despite the fact it seemed all over the place, it came back and made a point when I least expected it to. | ||
masak | thowe: "Strangely Consistent" :) | 06:28 | |
thowe | OK, yeah. I'll go with that. | ||
masak | thowe: that's actually a description that emerged about Perl 6. | ||
TimToady | well, if you can't fix it, feature it. | ||
in any case, Larry is not a linear thinker, and never will be. | 06:29 | ||
masak | probably a good thing. linear is also a bit of a one-trick pony. | 06:31 | |
thowe | Well, to build a projet like this probably requires many kinds of thinking. | ||
masak | look at Linear Algebra, for example. wildly successful, but also very limited. | ||
thowe | Wall was doing this stuff before I was born... When I think of everything I have learned in the past 4 years alone, that's got to be a lot of stuff going on in that head. Also, I imagine his experiences have often been more enriching than mine. | 06:33 | |
wait... | 06:34 | ||
TimToady: dude, you're Larry Wall? | |||
TimToady | you mean, experiences like visiting Bend, OR :) | ||
TimToady pretends to be | 06:35 | ||
TimToady pretends to be better than anyone else | |||
thowe is confused | |||
TimToady pretends to be Larry Wall better than anyone else | |||
diakopter | TimToady: I thought you were the answering machine Larry Wall | ||
TimToady | you should ask someone who has stayed at my house | 06:36 | |
thowe | oh, dude... I just got your nick too... TMTOWTDI | ||
masak | :) | ||
thowe | OK, I'm a little embarrassed now | ||
diakopter | oh, the suspense | ||
TimToady | never a serious moment around here... :) | ||
I don't mind hearing what people really think, either positiver or negative. | 06:37 | ||
thowe | OK, so, that must have been a bit of a laugh | ||
TimToady | I am easily amused. :D | 06:38 | |
masak | thowe: TimToady does this quite frequently lately. :) | 06:39 | |
thowe | OK, so I kind of wonder... How do you stay interested in doing this for so long? | 06:40 | |
TimToady | mostly by being interested in everything else at the same time | ||
but it's true in a sense that I'm the only person who isn't allowed to quit. | 06:41 | ||
thowe | wow. that.... makes a hell of a lot of sense | ||
TimToady | so I have learned to pace myself. | ||
the last several years I've been keeping sane by learning Japanese | |||
diakopter | yeah, but the pace car already lapped the lead car a few times :/ | ||
TimToady | and classifying all the CJK characters in Unicode | 06:42 | |
and learning to play the drums | |||
thowe | Nice. I started gardening... and making beer. | 06:43 | |
TimToady | both are well-loved, if ephemeral, arts | 06:44 | |
06:45
fridim_ joined
|
|||
thowe | You can enjoy doing them badly. | 06:45 | |
TimToady | fraid I froze some of the new leaves on my avocado tree last night; didn't think I'd need to put a light-bulb in its little tent | ||
I blame your cold air coming down to California | 06:46 | ||
thowe | I don't think it was ours... | ||
TimToady | well, wind was from the nne, so maybe it was from Pendleton :) | ||
thowe | Yeah, I wouldn't put it past them... | 06:47 | |
I hope the parrot lisp stuff works out... I probably would have stuck with CL if I found an implementation I liked... | 06:49 | ||
TimToady | that'd be nice, though I suspect parrot's current data structures are rather heavyweight compared to the usual lisp implementation | 06:53 | |
thowe | Well, I'm a bit in awe and impressed that you took some time to talk to me, TimToady. I'm unusually interested in getting something going with Rakudo. | 06:55 | |
06:55
szabgab_ left
|
|||
thowe | hmm. Those were two different thoughts separated by more on this end than is apparent.. | 06:56 | |
TimToady | talking to people is another thing I do to stay sane :) | ||
or at least saner | |||
less insaner | |||
thowe | I'm quite sure I will be no help there.. | ||
masak | thowe: of course you can. | 06:57 | |
thowe: for one thing, it's been interesting reading the above conversation. | |||
TimToady twitches | |||
masak | thowe: and if you have an interest in Perl 6, you'll probably help just by sticking around and asking questions as you discover it. | 07:00 | |
thowe | Well, if that's what you call help, my ignorance is at your disposal. | ||
thowe salutes | |||
07:00
mberends joined
|
|||
masak | :) | 07:00 | |
07:00
rgrau` left
|
|||
masak | thowe: I've put my ignorance at #perl6's disposal for about five years now. :) | 07:01 | |
mberends | morning masak :) # that was an adjective | ||
masak | mberends: greetings mberends # that too :) | ||
TimToady | technically, a noun being used as an adjective... | 07:02 | |
mberends | masak, "a man for all timezones" | ||
masak | mberends: mornings are so nice. I got up at 5-ish this morning out of *impatience*! | ||
that's never happened before, I think. | |||
thowe | I seem to hate mornings more and more lately... Maybe I need a vacation. | ||
TimToady | maybe you have seasonal affective disorder | 07:03 | |
mberends | masak: bring on *hubris* and *laziness* and you'll have a perfect Perl day | ||
masak | mberends: the conditions are favourable, that's for sure. :) | ||
mberends | here too :) | 07:04 | |
07:05
szabgab joined
|
|||
mberends | TimToady: using 'make test' in pugs/src/perl6 throws up a few viv errors. are they serious? | 07:05 | |
masak | TimToady: if waking up in time is the disorder, I'm not interested in treatment. :) | ||
TimToady | mberends: probably not | 07:06 | |
mberends | :) ignoring them. I may do some commenting in the Makefile on the forgiveness principle | 07:07 | |
TimToady | I usually do 'make snaptest' myself | ||
mberends | ah, will try that | ||
TimToady | includes the non-spec tests, and does a snapshot so I can keep editing | ||
should get about 6 hard errors, and a number of warnings about missing modules and such | 07:08 | ||
two of the hard errors are because it doesn't really understand 'use v5' yet | 07:09 | ||
mberends | the Makefile:52 looks wrong: 'distclean purge: clean' | ||
supposedly purge is the new distclean, or what? | |||
TimToady | no clue, I didn't write that part | 07:10 | |
and a couple of the errors are due to the fact that STD doesn't really run any P6 code at compile time, but just fakes it | |||
mberends | I'll try a few variations and comment the conclusions | 07:11 | |
TimToady | so some of the more macro-y things don't work out right | ||
mberends | those faking errors are understandable, will make a note somewhere | 07:12 | |
TimToady | and I never bothered to fix the Temporal::DateTime error because I don't like that typename :) | 07:14 | |
masak neither | 07:15 | ||
mberends | renegotiating those names was a hopeless bikeshed session :( | ||
masak | I'd prefer just DateTime. | ||
mberends runs away from the bikeshed | |||
masak | "It's going to blaow!" | 07:16 | |
mberends | or should thet be BikeShed ;) | ||
masak | :P | ||
07:19
vamped joined
|
|||
thowe | is there a list of available perl 6 modules? Specifically PostgreSQL? | 07:22 | |
07:22
krunen left
|
|||
thowe | are they just in CPAN? | 07:22 | |
I ask because I seem to be finding various stuff online, but I don't know what's been settled on... | 07:24 | ||
like CPAN6... | |||
masak | thowe: there's a big hole right now where a Perl 6 modules/projects manager should be. | ||
thowe: we fill it with various things in the meantime, mostly proto. | |||
thowe | proto? | ||
masak | thowe: there's a list of projects in there: github.com/masak/proto/blob/master/projects.list | 07:25 | |
thowe: yes, proto is the "throw me away when there's something better" installer. | |||
hence the name. | |||
thowe | looks like yaml | ||
masak | it is. | ||
...and since there's no YAML reader for Perl 6 yet, we fake that when we read the file. :/ | 07:26 | ||
thowe | once again, I know just enough to look like I know what I am alking about... | ||
07:26
c9s_ is now known as c9s,
envi^home joined
|
|||
thowe | thought of adding a description field? | 07:27 | |
mberends | patches welcome ;) | ||
masak | thowe: it's been suggested several times. I've opposed it each time. | 07:28 | |
moritz_ | re | ||
masak | the 'patches welcome' slogan is generally right, but there's an exception for proto. in short "don't improve it". :) | 07:29 | |
work on the real one instead. | |||
thowe | but, say I am looking for a Pg interface... Any someone decides to name it "Becky"... | ||
masak | thowe: yes, I see your use case. | 07:30 | |
thowe | s/Any/And/ | ||
mberends | that functionality is too far down the road for now | ||
masak | thowe: it's just that I want things to get better not by improving a bad solution, but by building a good one. | ||
07:30
corneliu1 joined
07:31
corneliu1 left
|
|||
mberends | masak: revolution, not evolution | 07:31 | |
thowe | Ah. OK, I can see your point. | ||
masak | thowe: note the word 'hyper-lightweight' in the github description of proto. | ||
thowe: oh, and speaking of github descriptions -- there you go. :) | |||
thowe: much better to write a 3rd-party tool that traverses proto's projects.list and fetches the github descriptions. :) those are already filled in and often very good. | 07:32 | ||
that way, proto is kept lean, and the work on the 3rd-party tool can possibly be re-used when the revolution comes. | 07:33 | ||
mberends | plumage could be that successor to proto | 07:34 | |
thowe | well, I should really call it a day... | 07:35 | |
TimToady: very nice meeting you. | |||
masak | mberends: yes, for what I've heard of it, it seems very nice. and it's targeted for Parrot things, not just Perl 6 things, which seems inherently right. | ||
thowe | masak: Thank you for your help... again. | ||
masak | thowe: thanks for stopping by! do come back. | 07:36 | |
thowe | I'll be around. Need to catch up on these Advent Calendar articles... | ||
masak | :) | 07:37 | |
07:37
Su-Shee joined
|
|||
Su-Shee | good morning. | 07:37 | |
masak | Su-Shee! \o/ | ||
thowe | Good night, all. | ||
masak | 'night, thowe. | ||
moritz_ | good morning | 07:38 | |
07:38
c9s_ joined
|
|||
Su-Shee | my cto yesterday emphasized his will to switch to perl 6 with our product. "people are watching!" :) | 07:39 | |
mberends | moritz_: good morning, do you often type 're' on a line by itself? | ||
moritz_ | mberends: somtimes I do | ||
mberends | moritz_: it usually causes a pregnant pause... | 07:40 | |
moritz_ | usually not in the morning, though | ||
07:40
agentzh joined
|
|||
mberends | Su-Shee: that is great news! | 07:40 | |
masak | mberends: I've been thinking the same thing. to be 're' seems 1-ary. :) | 07:41 | |
Su-Shee | yes. he doesn't what to abandon the perl ship. :) | ||
want. | |||
mberends | Su-Shee: can you tell us a little more about the product? | ||
Su-Shee | more coffee. | ||
moritz_ | "more coffee" sounds like a good product for programmers :-) | 07:42 | |
Su-Shee | mberends: it's essentially a web application where "members" exchange "messages" and put "documents" in which both can be filtered in a highly flexible way. | ||
masak | a CMS? | 07:43 | |
Su-Shee | hmhm, more like a domain specific "groupware" kind of thing. it's used to manage very large construction projects. | 07:44 | |
masak | ah. | ||
07:44
rbaumer joined
|
|||
Su-Shee | so people stuff large plans and such in it. the largest site is about 1.5 tb data. | 07:44 | |
07:45
rbaumer left
|
|||
moritz_ | it will be a while before anything parrot based can handle such large data :/ | 07:45 | |
mberends | that's a common enough use case that the support libraries for it would be relevant to many other developers. Nice. | 07:46 | |
Su-Shee | I'm planning the next version right now, afterwards I can be rather precise what a future version would really need. (really international date handling for example, ssl...) | ||
mberends: very much so, yes. it's really just "web app" under the hood with a SOAP interface in addition. | 07:47 | ||
mberends | Su-Shee: does the employer have confidentiality concerns or is it permissible to discuss functionality in this public forum? | 07:48 | |
Su-Shee | mberends: those are very common problems; what makes our product fancy is essentially the way data is handled and the architecture which definetely easily fit into perl 6. (it works with perl 5.8, html 3 with frames and such right now. ;) | 07:50 | |
mberends: so discussing speed, the amounts of data involved and i18n stuff: no problem. | |||
mberends | Su-Shee: I think some sort of collaboration between your employer and members of #perl6 would be mutually beneficial | 07:51 | |
Su-Shee | cto is willing to. we've participiated in some postgres stuff and in SOAP modules. | 07:52 | |
(global majestic "we" - I didn't, I'm not even out of the probation period :) | 07:53 | ||
mberends | :) a win-win scenario for #perl6 and the $job | ||
Su-Shee | and my nervs. :) | ||
what I'm probably be doing is to code something inbetween-ish - mildly moose based, as much 6-ish concepts as possible to make the transition easy. | 07:54 | ||
mberends | yes, a very sound plan | 07:55 | |
07:58
vamped left
|
|||
Su-Shee | here, that's all based on our product: www.thinkproject.com/projects-refer...e-studies/ (remove the marketing foo and imagine the amount of organizational stuff involved) | 07:58 | |
mberends | yes, I see | 08:00 | |
CMS indeed, with plugin extensions per installation | 08:02 | ||
masak groans at pun in first sentence of jnthn++'s draft post | |||
Su-Shee | mberends: handling russian and arabic required. ;) | 08:05 | |
mberends | masak: arrgh, beyond my pun threshold | 08:06 | |
masak | :) | ||
mberends: it's a sort of text-only pun. | |||
mberends | Su-Shee: that's not obvious from your main site. How do you work for the Munich people when you live near Berlin? | 08:07 | |
Su-Shee | tech is in berlin, sales is in munich | 08:08 | |
(which is common due to the structure of german economy and the busines landscape.) | 08:09 | ||
add an s, please. :) | 08:10 | ||
mberends | right. well, terabytes of data is not scary when it's suitably chopped up and indexed. the database is the key. (oops, pun) | ||
masak groans again | |||
Su-Shee | in terms of http load, there's nothing complicated. it's not a million users facebook kind-of-thing. :) | 08:11 | |
mberends | Su-Shee: like you said, allowing the clients to specify custom relationships between various documents and other records is crucial. Also audit trails, archiving... | 08:13 | |
Su-Shee | exactly. | ||
perl does all this quite happily since 1997 or something, so there is no reason at all why perl 6 shouldn't be the perfect language later on. | 08:14 | ||
mberends knows that stuff, but mainly under a M$ veil of obfuscation | |||
Su-Shee | our veil of obfuscation is called "age of the code" ;) | 08:16 | |
mberends | Su-Shee: you should not need to change the database at all. Multiple web front ends in different languages should be able to share the content, thus letting you develop old and new code side by side. | 08:17 | |
Su-Shee | anyway. in a few weeks or so I can probably be rather precise about what this software needs, but there won't be any surprises for anyone who's dealing with web apps. | ||
mberends: what, I don't get to play with one of those noSQL thingies? no way. :) | 08:21 | ||
mberends | Su-Shee: beware the "object databases", they make hollow promises and fail to scale. long live the relational model :) | 08:22 | |
08:23
flip214 joined
|
|||
flip214 | `\_o_/´ | 08:23 | |
morning | |||
08:25
fridim_ left
08:30
c9s is now known as cornelius
08:37
Baggio_ joined
|
|||
mathw | Morning | 08:37 | |
08:47
kcwu left
08:48
riffraff joined
08:53
gfx joined
|
|||
Su-Shee | mberends: luckily, I hate databases anyway. so not my thing.. :) | 08:54 | |
08:55
mofino left
|
|||
wayland76 wants a real tree-based database with a real tree-based path language for selecting data | 09:02 | ||
09:02
cotto left
|
|||
mberends too | 09:02 | ||
09:03
egypt joined
|
|||
wayland76 was writing one until he ran into an intractable XML::LibXML bug :( | 09:03 | ||
ie. a segfault that moves every time you change any part of the code :( | 09:04 | ||
masak | wayland76: I've been using eXist and Xindice. they're pretty good, both with their strengths and weaknesses. | ||
wayland76 | Mine had thins nice overlay thing, where you could overlay one tree on another | 09:05 | |
It was great for eg. providing defaults that could be overwritten | |||
s/thins/this/ | |||
egypt | wayland76: are you a dvorak user? :) | 09:06 | |
wayland76 | No :) | ||
mberends | maybe one day people will stop being entranced by XML and will be more open to alternatives eg YAML. the problem is inertia in the name of interoperability | ||
wayland76 | But I have two keyboards, one with a normal layout, and one with 4 different layouts I can switch between :) | ||
One thing I wanted in my tree stuff is to be able to backend onto any tree -- XML, filesystem, LDAP, whatever | 09:07 | ||
egypt | wayland76: ah, being able to change the way you input is quite handy sometimes | ||
wayland76 | My plan now is to do it as a Perl6 lib | 09:08 | |
Oh, also, I want to invent EXML that is like XML, but can have multiple "perspectives". Tags within a perspective must nest properly, but ags from different perspectives do not have to nest properly | |||
egypt: my plan is to be able to select things like /etc/config/whatever.xml/Document/Section/Tag | 09:09 | ||
Su-Shee doesn't want to see "/etc/config" and "xml" in one sentence. ;) | 09:10 | ||
wayland76 | Well, you know what I mean. I don't want xml in the /etc directory either | 09:11 | |
egypt | having had sufficient unix brain massaging I'm inclined to agree. :P | ||
wayland76 | but how about /etc/fstab/*[name ="/mnt"] to select an fstab entry? | ||
(kind of like what augeas does) | 09:12 | ||
mberends | wayland76: way to go! | ||
wayland76 | Well, all kinds of ideas, but not much code at the moment :) | ||
When -ng lands, though, I'll revisit, and see if they've cleared up some of my pet bugs :) | 09:13 | ||
Su-Shee | egypt: I recently switched from xorg.conf to hal.. from now on, I will call it hell. | ||
wayland76 | hal is deprecated. You're supposed to use auto-detect now :) | 09:14 | |
Su-Shee starts crying. :) | |||
wayland76 has spent the last year on the xorg list, hoping for multi-monitor functionality to be fixed; I think it has now, but I haven't upgraded :) | 09:15 | ||
hugme: hug Su-Shee | |||
hugme hugs Su-Shee | |||
09:15
zaslon left
|
|||
Su-Shee waits for so many things for over a decade now.. :) | 09:15 | ||
wayland76 | Well, at least E17 is here now :) | ||
(FSVO here :) ) | |||
Su-Shee | installed, clicked, thrown away. | 09:16 | |
wayland76 | You didn't like E17? | 09:17 | |
Su-Shee | fancy gimmicks, really bad UI. | ||
wayland76 | Ah. Well, it handles multiple monitors in different sizes fairly well | ||
Maybe you needed a different theme :) | 09:18 | ||
Su-Shee | yeah, I was too lazy to build one and it simply doesn't have what I really want so I stick with fvwm. | ||
if there would be a really good xlib/xcb API in something like let's say perl 6 with a really nice book, one could easily code their favorite WM. ;) | 09:19 | ||
09:19
tann2 left
|
|||
wayland76 | I once tried to convince them to use parrot-based languages as their scripting languages, but it didn't fly :) | 09:20 | |
Su-Shee | why not? | 09:21 | |
mberends groans at the flying pun | |||
Su-Shee | instead having no scripting language at all? | ||
wayland76 | mberends: Unintentional, but I'll take karma :) | ||
No, instead of (IIRC) lua | |||
mberends | wayland76++ | 09:22 | |
wayland76 | something with a small vm, anyway | ||
Thanks :) | |||
Su-Shee | isn't lua just included as a scripting lang to xcb based awsome? | ||
09:24
Baggio_ left
|
|||
wayland76 | Su-Shee: Not sure I understood that, but I had only the vaguest understanding of what they were actually using it for anyway :) | 09:24 | |
egypt | Su-Shee: weren't you looking into Parrot bindings for some graphics lib a while ago? | 09:25 | |
Su-Shee | wayland76: the window manager awsome is coding in xcb instead of xlib and uses lua as their built-in scripting language. | ||
egypt: still doing. hence me cursing the tediousness of learning "x" | |||
wayland76 | Ah, I'm unfamiliar with the window manager called "awsome" | ||
09:26
ejs joined
|
|||
Su-Shee | wayland76: another tiling one. | 09:26 | |
awesome? looks better. | |||
wayland76 | "awesome" is the correct spelling; I was assuming that the product name was an acronym or something clever that required that it not have an 'e' | 09:27 | |
Su-Shee | no, just me failing in english. :) | 09:28 | |
egypt | Su-Shee: my sympathies (learning x) :) | ||
I think I looked into using the API many years ago and quickly gave up. | 09:29 | ||
wayland76 | Well, your English is a lot better than many I've seen. Don't take #perl6 as being typical; much like others have said of themselves, I feel like the dumbest one present :) | ||
Su-Shee is confided to have the appropriate knowledge around 2019. | |||
(x-wise ;) | 09:30 | ||
wayland76 is waiting for perl6-gtk-3 so that he can write his own office suite | |||
egypt | Su-Shee: :P | ||
Su-Shee | wayland76: it's usally depending on how tired I feel or what language I used the hours before. | ||
wayland76: perl 6 will be sooner then gtk 3 afaik. | 09:31 | ||
wayland76 | Possibly. But GTK3 will be more incremental | ||
09:31
gfx left
|
|||
Su-Shee | if there isn't something nicer and more modern based on clutter. | 09:31 | |
wayland76 | If I understand correctly, GTK3 will have "read my lips, /no new features/" | 09:32 | |
Su-Shee | I think so too besides minor things like getting support for a canvas for example. | ||
I think, it's the wrong decision anyway, gtk already looks very outdated compared to qt4. | |||
wayland76 | Oh, yes, forgot that. And moving to a scene-graph thing underneath. And moving to a better ABI | 09:33 | |
Su-Shee | isn't clutter doing this scene graph thing? | ||
wayland76 | Maybe. I'm no expert. I just read up enough on them to get a vague feel for their plans | 09:34 | |
Su-Shee | ah well, if they're contiuing being that slow, chrome os like concepts will have taken over the desktop anyway. ;) | 09:35 | |
egypt | Su-Shee: as long as a) Perl 6 has good bindings for everything and b) Google don't become evil, that's fine by me ;) | 09:38 | |
wayland76 | Not after I write my office suite :) | ||
Su-Shee | wayland76: I haven't used an office suite since 1996 anymore. | ||
wayland76 | I use OpenOffice pretty much daily | 09:39 | |
Su-Shee | egypt: me as well, I realized 2 years ago that I actually need so few things in desktop terms - but those could really interact much better then they're doing today. | ||
wayland76: really? for what? | |||
wayland76 | I also have every file I've ever made, just about | ||
Well, for a start, for the book(s) I'm writing :) | 09:40 | ||
Su-Shee | I write everything in plain text. | ||
articles, books, notes, letters.. | |||
converting only if necessary. | |||
wayland76 | I like to have WYSIWYG when I do tables, especially | 09:41 | |
Su-Shee | the only real apps I still have and use are browser, gimp, inkscape, editor. | ||
chat client. mail client. (both extremely easily transferred to web) | 09:42 | ||
jnthn | Morning, #perl6 | ||
wayland76 | Su-Shee: I use those, + office + rosegarden (sheet music editor); probably not much else, most of the time, but it's nice to have eg. a sound editor sometimes | 09:43 | |
wayland76 waves to jnthn | |||
egypt | <=o (drinks to jnthn's arrival) | ||
mberends | jnthn: morning | 09:44 | |
jnthn | Talking of drinks...I need coffee. | ||
mberends | hmm, a cuppa tea would not go amiss | 09:45 | |
09:49
tann1 joined
|
|||
Su-Shee | ui, web sockets. | 09:51 | |
(alternative to xmlhttprequest) | |||
wayland76 wishes for XForms support in browsers | 09:52 | ||
moritz_ | jnthn: you're up before 10am in your time zone, are you ill? :-) | 09:53 | |
jnthn | moritz_: One of my clients had scheduled a phone meeting for 10am. | 09:55 | |
mathw | wayland76: Might as well wish for HTML to be sane while you're ad it | ||
jnthn | moritz_: However, after I dragged myself out of bed at this odd hour...they decided they didn't want one after all. :-/ | ||
moritz_ | jnthn: so clients are a disease? :-) | ||
jnthn | moritz_: ....not quite the angle I was going for. ;-) | 09:56 | |
wayland76 | mathw: Ha, you think that's insane? Try HTML-with-ferrets! Try HTML-with-pitbulls! Try HTML-with-POLAR-BEARS!!! :) | ||
hugme: hug jnthn | 09:57 | ||
hugme hugs jnthn | |||
egypt | <html><furryhead><sleekbody><icanhazpara>... :| | 09:58 | |
masak | lolitsjnthn! | 10:01 | |
egypt hands jnthn a cup of really. strong. coffee. "think you have healthy adrenals? not after this." | 10:03 | ||
jnthn | masak! \o/ | ||
egypt: mmmm....strong...gooood | |||
jnthn slowly starts to feel awake | |||
jnthn glances over the ng changes list | 10:04 | ||
wayland76 | If strong is *that* good, I'll have to take up weightlifting again | ||
oh, wait, not /that/ kind of strong. | |||
wayland76 tries to stop disturbing jnthn's thought processes :) | |||
jnthn | colomon++ # epic patching win | 10:05 | |
moritz_ | indeed | 10:06 | |
10:07
tann1 left
10:15
agentzh left
|
|||
masak | I'm getting a segfault running t/spec/S32-str/flip.rakudo in the ng branch. | 10:16 | |
right after test 6. | |||
moritz_ | that happens | ||
10:16
krunen joined
|
|||
moritz_ | :( | 10:16 | |
masak | yes, but here it happens consistently. | ||
10:17
envi^office left
|
|||
masak | I'll try and isolate it. | 10:17 | |
jnthn | Runs all 13 here. :-/ | ||
mberends | does that mean Window is better than OS X? | 10:19 | |
jnthn | ng: my %h; %h<a> = 42; say %h<a> | ||
p6eval | ng 920640: Cannot assign to readonly valuecurrent instr.: '&infix:<=>' pc 13684 (src/builtins/Junction.pir:124) | ||
mberends | *Windows | ||
jnthn | mberends: Of course! ;-) | ||
moritz_ still suspects a relation to icu | |||
jnthn | mberends: OSX is too shiny, so the tests slip over all the time. | 10:20 | |
Hmm...is ng actually still totally lacking hashes? | 10:21 | ||
moritz_ | ng: my %h; %h<a> = 'b'; say %h.keys | 10:22 | |
p6eval | ng 920640: Cannot assign to readonly valuecurrent instr.: '&infix:<=>' pc 13684 (src/builtins/Junction.pir:124) | ||
jnthn | And how do we end up in Junction?! | 10:23 | |
moritz_ imagines ng has still a long path to walk | 10:25 | ||
sjohnson | y0 | ||
egypt | y0 sjohnson, welcome :) | 10:26 | |
10:26
Baggio_ joined
|
|||
moritz_ | ok, I recompiled with --optimize and without ICU, that doesn't affect the errors in flip.t and comb.t | 10:26 | |
10:26
Baggio_ left
|
|||
moritz_ | www.twitalyzer.com/twitalyzer/profi...rl&p=7 | 10:28 | |
ng: say (+'24').WHAT | 10:32 | ||
p6eval | ng 920640: Num() | ||
moritz_ | hugme: tweet rakudoperl Perl 6 Advent Calendar Day 9: beautiful arguments perl6advent.wordpress.com/2009/12/0...arameters/ | 10:34 | |
hugme | moritz_: Sorry, too long (142 chars, 140 allowed) | ||
moritz_ | hugme: tweet rakudoperl Perl 6 Advent Calendar Day 9: Arguments perl6advent.wordpress.com/2009/12/0...arameters/ | ||
hugme hugs moritz_; tweet delivered | |||
moritz_ | hugme: tweet rakudoperl Perl 6 Advent Calendar Day 10: A Regex Story perl6advent.wordpress.com/2009/12/1...gex-story/ | 10:35 | |
hugme hugs moritz_; tweet delivered | |||
moritz_ has neglected his duties... can we teach zaslon to tell hugme to twitter? :-) | |||
egypt | yayletthebotsdoeverything :P | 10:36 | |
jnthn | Don't bots talking to each other cause the appocalypse? | ||
10:37
SmokeMachine left
|
|||
moritz_ | hey, they should cause the synopsis instead :-) | 10:38 | |
egypt | i think we'd still need human exegete. :) | 10:39 | |
*a human exegete | |||
moritz_ | egypt++ | 10:40 | |
10:41
JimmyZ left
|
|||
Juerd_ | perl6advent.wordpress.com/2009/12/0...arameters/ | 10:46 | |
Can you use whitespace around .=? | |||
std: $foo.=bar() | |||
p6eval | std 29302: Potential difficulties: Variable $foo is not predeclared at /tmp/br5bZIORAE line 1:------> $foo⏏.=bar()ok 00:01 107m | ||
mathw needs to write the day 12 advent post tonight | |||
Juerd_ | std: $foo .= bar() | ||
p6eval | std 29302: Potential difficulties: Variable $foo is not predeclared at /tmp/x0uVdZKCkN line 1:------> $foo⏏ .= bar() Unsupported use of .= as append operator; in Perl 6 please use ~= at /tmp/x0uVdZKCkN line 1:------> $foo .=⏏ bar()ok 00:01 106m | ||
Juerd_ | Adventbug. Where to report? | ||
mathw | any one of us who have edit permissions | 10:47 | |
Juerd_ | Do you? | ||
mathw | I did two days ago :) | ||
Juerd_ | Do you still have them? :) | 10:48 | |
mathw | I think so | ||
Juerd_ | In day 9 there's $middle .= substr(0, 1); | ||
Should probably be $middle.=substr(0, 1); | |||
10:49
Alias joined
|
|||
jnthn | Juerd_: I call STD bug there. | 10:50 | |
std: my Int $foo .= new; | 10:51 | ||
p6eval | std 29302: ok 00:01 108m | ||
jnthn | std: my Int $foo .= new(); | ||
p6eval | std 29302: ok 00:01 106m | ||
jnthn | std: my Int $foo; $foo .= new(); | ||
p6eval | std 29302: ok 00:01 106m | ||
jnthn | huh... | ||
jnthn wonders what heuristic it's going on. | |||
Anyway, the answer is "you can use whitespace around it, but it's parsed a different way" | 10:52 | ||
moritz_ | aye, it should work | ||
rakudo: my $x = 'foobar'; $x .= substr(0, 1); say $x | 10:53 | ||
p6eval | rakudo 7ef386: f | ||
moritz_ | and it does work :-) | ||
Juerd_ | Oh | ||
moritz_ calls Juerd_bug :-) | 10:54 | ||
Juerd_ | :) | ||
Does this mean whitespace around . is somehow possible too now, or is that still prohibited? | |||
moritz_ | Juerd_: it's special-cased | ||
10:54
pmurias joined
|
|||
moritz_ | for example you can call methods as $foo.+bar, but $foo .+ bar is not allowed | 10:54 | |
and for whitespaces around . you need unspace | 10:55 | ||
std: 'a'\. bar | |||
p6eval | std 29302: ===SORRY!===Confused at /tmp/3ZE4rcVjR4 line 1:------> 'a'\.⏏ bar expecting postfix_prefix_meta_operatorFAILED 00:01 104m | ||
moritz_ | std: 'a'.\ bar | ||
p6eval | std 29302: ok 00:01 104m | ||
Juerd_ | Why is .= special cased? | ||
moritz_ | std: 'a'\ .\ bar | ||
p6eval | std 29302: ok 00:01 104m | ||
moritz_ | Juerd_: might be related to my Type $x .= new being very common | 10:56 | |
mberends frowns at future newbie confusion about whitespace special cases | |||
wayland76 experienced ranting on another channel today on that very topic | 10:57 | ||
pmurias | the p6 design minutes mention that Damian and TimToady gear up for a book, when is "Programming Perl 6" expected? | ||
mberends | after Christmas ;) | 10:58 | |
moritz_ hopes it's way after April, otherwise our combined book effort is likely to pale very quickly :-) | |||
otoh I hope it's rather soon, so that I can finally read something that makes me understand Perl 6 :-) | |||
Juerd_ | Is there anything specific that you'd like to understand? | 11:00 | |
mberends | moritz_: as long as the spec remains in whirlpool mode, the official book cannot be frozen either. | 11:01 | |
moritz_ | Juerd_: there's a long mental list of topics I haven't grokked | 11:02 | |
like how slices and lazyness interact | |||
or how the AST generation in macros work | 11:03 | ||
11:03
PZt left
|
|||
Juerd_ | After the advent calendar it might be a nice project to collect vague and general questions like that, to find out what the community wants to know. | 11:03 | |
moritz_ | and then there's a (varying) list of detail questions that aren't mentioned in the spec at all | 11:04 | |
pmurias | moritz_: AST generation is a bit implementation specific, as you can use quasi quotes but for more details you need to assume a particular representation | ||
moritz_ | for example: which methods on the Whatever star are executed, and which generate a WhateverCode? | ||
what about the corresponding functions? | 11:05 | ||
is defined(*) the same as *.defined? | |||
pmurias: but that still leaves question open... for example if I have an 'is parsed' macro, and match <EXPR> there, how do I get that AST from the parse tree? | 11:07 | ||
how can I execute that statement immediately? | |||
maybe I should write these questions down, as Juerd_++ suggested | 11:09 | ||
11:10
Juerd_ is now known as Juerd
|
|||
moritz_ | or: how do I introspect attributes of foreign objects? | 11:11 | |
how should .perl serialize closures? | |||
Juerd | The questions quickly became very specific :) | 11:12 | |
But writing them down is probably still a good idea :) | |||
11:15
lestrrat is now known as lest_away,
cotto_w0rk left
|
|||
moritz_ | actually two weeks ago I had some less specific questions | 11:16 | |
but TimToady++ cleared some things up recently | |||
11:18
PZt joined
|
|||
jnthn | If he clears these ones up, you'll only be back with more. ;-) | 11:18 | |
moritz_ | sure | 11:19 | |
Juerd | jnthn: That's okay because Perl 6 can handle infinity :) | 11:20 | |
Su-Shee | moritz_: everybody will need both books. | 11:23 | |
11:26
alexn_org joined
11:33
wayland76 left
11:41
jferrero joined
11:42
flip214 left
|
|||
jnthn bbs - dog walk... | 11:43 | ||
Just about got has $.x = 42; style stuff in place again in ng. | |||
mathw | \o/ | 11:48 | |
12:00
Baggio_ joined,
payload joined
|
|||
jnthn back | 12:01 | ||
12:03
envi^home left,
Baggio_ left
12:04
SmokeMachine joined
12:06
envi^home joined
12:07
envi_home2 joined,
envi_home2 left
|
|||
masak | Juerd: I like your idea about the vaguelist. | 12:08 | |
12:10
frettled sets mode: +o masak
|
|||
frettled | You'd lost your kanelbulle again. | 12:10 | |
masak | op bit by liking stuff. | 12:11 | |
frettled: and I'm just leaving, so about to lose it again, I'm afraid. | |||
but thanks. :) | |||
12:11
masak left,
envi_home joined
|
|||
frettled | I'll take care of it until next time. ;) | 12:13 | |
12:14
meppl joined
12:15
lest_away is now known as lestrrat
|
|||
pugs_svn | r29303 | mberends++ | [src/perl6/Makefile] added help and a few comments | 12:17 | |
12:19
Astoria` joined
12:20
Baggio_ joined
|
|||
frettled | nice! | 12:23 | |
12:24
envi_home2 joined,
envi^home left
12:25
mikehh joined
12:37
egypt left
12:42
ejs1 joined
12:45
envi_home left
12:46
Astoria` left
12:48
envi_home2 left
12:50
hicx174 left
12:51
envi^home joined
12:52
ejs left
12:56
pmurias left
|
|||
colomon | Good morning! | 13:06 | |
13:09
quantumEd joined
13:12
SmokeMachine left
13:13
hicx174 joined
13:14
romanhunt left
|
|||
moritz_ | \o/ colomon | 13:17 | |
13:17
moritz_ sets mode: +o colomon
|
|||
colomon | Probably a waste of time promoting me to op the way my connection to the channel has been unstable for the last week, but thank you. :) | 13:18 | |
moritz_ | <aragorn>There is always hope!</aragorn> | 13:20 | |
13:21
takadonet joined
|
|||
takadonet | morning all | 13:21 | |
colomon | I figure its some sort of law of nature that there must always be at least one annoying issue with your computers. | ||
takadonet: o/ | |||
takadonet | colomon: how are you ? | 13:22 | |
colomon | Just had my best night's sleep in over a year, I think. | ||
:) | |||
13:23
mikehh left
|
|||
takadonet | good to hear | 13:23 | |
colomon | Now I just need to rearrange the ground level of our house, which is completely taken apart to let carpet cleaners get to it, and get a bunch of $work done today. | 13:26 | |
13:34
payload left
13:43
JimmyZ joined
13:45
JimmyZ left
13:59
jferrero left,
beggars left
|
|||
dalek | kudo/ng: ecd068a | jnthn++ | src/metamodel/ClassHOW.pir: Fixes to ClassHOW.attributes (it gets shorter...yay.) |
14:26 | |
kudo/ng: 3b958a6 | jnthn++ | src/Perl6/ (3 files): Handle RHS of assignment to an attribute declaration being passed along as the build closure, including creating that closure and passing it when setting up the attribute. Needs updates to CREATE and BUILD before it'll all work though. |
|||
14:29
SmokeMachine joined
|
|||
colomon | \o/ patches! | 14:29 | |
14:30
iblechbot joined
|
|||
jnthn | Yeah. Wish I'd more, but this is a little...tricky. | 14:31 | |
moritz_ | ng: say 1 ~~ Positional | 14:33 | |
p6eval | ng 920640: 0 | ||
moritz_ | ng: say Array ~~ Positional | ||
p6eval | ng 920640: Null PMC access in get_string()current instr.: 'perl6;Perl6Role;Str' pc -1 ((unknown file):-1) | 14:34 | |
moritz_ | the former died in ng before jnthn's patch | ||
colomon | so, progress! | 14:35 | |
errr.... that ng isn't using those patches, is it? | |||
moritz_ | it is | 14:36 | |
I just pulled and make'd on the server | |||
which doesn't update the revision file | |||
so, my fault | |||
colomon | ah. | ||
colomon is easily mislead by lying computers. | |||
s/mislead/misled/ | |||
14:37
ejs2 joined
|
|||
moritz_ | sometimes we miss lead, too :-) | 14:38 | |
jnthn | Huh...I didn't know I'd fixed either of those. :-) | 14:40 | |
Hmm...half of S14-role/attributes.t passes now. | 14:41 | ||
14:47
ejs1 left
|
|||
colomon | Based on what I was seeing yesterday, there are a number of test files which will (or easily could) half-pass. Things like pop where the method version works and the sub version doesn't... | 14:47 | |
14:57
quantumEd left,
takadonet left
|
|||
jnthn | yay FINALLY | 14:58 | |
> class Foo { has $.x = 42; }; say Foo.new.x | |||
42 | |||
lambdabot | <no location info>: parse error on input `class' | ||
15:00
gbacon left
15:01
moritz_ sets mode: +b *!*=lambdabo@*.members.linode.com,
lambdabot was kicked by moritz_ (moritz_))
|
|||
jnthn | \o/ | 15:01 | |
...but...but...karma! | |||
moritz_ sacrifizes karma logging for sanity | |||
jnthn | :-) | ||
wfm. | |||
TimToady: In S14 I find this: | |||
Two C<has> attributes of the same | |||
name, whether public or private, are simply merged into one slot, | |||
provided the types are the same; otherwise, the composition fails. | |||
Please can we kill this "types are the same" exception? | 15:02 | ||
mathw agrees | |||
jnthn | I've never liked it, a Moose guy has said it's "just wrong". | ||
And since has $.a; and has $.a; have the same type... | 15:03 | ||
...well, it relies on people writing type annotations to get compositional safety. Which feels wrong. | |||
mathw | yes | 15:04 | |
and also it means that some collisions are going to silently resolve, where others don't, and that's a bit too weird | 15:05 | ||
because you're probably still going to end up with lots of Wrong | |||
15:05
lisppaste3 left
|
|||
jnthn | Yeha. | 15:05 | |
Feels dangerous. | |||
15:08
lisppaste3 joined
15:09
takadonet joined
|
|||
moritz_ wonders if in Perl 6 it's possible to have two types A and B with A !=== B but A ~~ B and B ~~ A | 15:10 | ||
15:11
KyleHa joined
|
|||
jnthn | ooh...I've caught that pesky segv in flip.t under the debugger. | 15:13 | |
dalek | kudo/ng: 8c95c34 | jnthn++ | src/metamodel/ClassHOW.pir: Need to make .attributes and .parents not use e.g. Array so we can actually use these to more cleanly do BUILD and CREATE. |
||
kudo/ng: aaf1b8d | jnthn++ | build/Makefile.in: Need Parcel earlier on in the bootstrap. |
|||
kudo/ng: 949d32a | jnthn++ | src/metamodel/ClassHOW.pir: Override P6metaclass's new_class helper method so we can get attribute handling correct (e.g. actually call add_attribute, not just hack it into the Parrot table and ignore the attribute protocol). |
|||
pmichaud | good morning, #perl6 | ||
moritz_: one could override .ACCEPTS for A or B | 15:14 | ||
(to accept the other) | |||
jnthn | pmichaud: morning. | ||
moritz_ | pmichaud: I've thought of that too, but it's not what I meant | ||
pmichaud: good morning :-) | |||
pmichaud: have you made a decision wrt release and ng? | |||
pmichaud | I've decided to postpone the decision until Sunday morning :-) | 15:16 | |
because I'm expecting a fair bit of ng hacking time on my part between now and then :-) | |||
PerlJam: ping | 15:17 | ||
jnthn | Meh. 0xbaadf00d is a crappy pointer. | ||
moritz_ | pmichaud: sounds like a good plan | ||
colomon | woo-hoo, jnthn and pmichaud back to hacking on ng more actively! | 15:18 | |
dalek | kudo/ng: 92cd743 | jnthn++ | src/builtins/Mu.pir: Get BUILD working a bit more again; now it uses the .build closure, and actually deals with attributes through the protocol more (we still end up with one use of te underlying Parrot Class, but that's only for the benefit of getattribute). |
||
kudo/ng: c959619 | jnthn++ | src/Perl6/Compiler/Role.pm: Fix to role attribute's build closures. Gets us another test in S14-role/attributes.t. |
|||
frettled | deadbeefcafef00dbabe | 15:20 | |
jnthn | oh my. | 15:21 | |
I dunno how this happens, but Parort's internal state is REALLY f**ked when we segfault. | |||
mathw | :( | ||
jnthn | The current context is full of junk data. | ||
15:25
alexn_org left
|
|||
jnthn | Trouble is, it's sufficiently messed up, I can't even work out what sub we're in. | 15:33 | |
Because the context and thus call chain is corrupt. | |||
colomon | :( | ||
mathw | ouch | 15:34 | |
colomon | jnthn: this is on windows? | 15:35 | |
jnthn | yup | 15:36 | |
worse | |||
it goes away under -G | |||
Which makes it look horribly like we're ending up with contexts, of all things, getting prematurely GC'd. | |||
colomon | I may be seeing similar sorts of things here... | 15:37 | |
I had a crash yesterday in unpolar.t every time I ran it. | |||
jnthn | colomon: If you've got set_returns in your bt, most likely. | ||
colomon: It matchs at least one of the stacktraces you have sent me. | |||
colomon | Today after merging your changes it looks like it's switched to exp.t | ||
jnthn | Yeah | ||
Seems it's a memory corruption bug, so they tend to move. | 15:38 | ||
colomon | Including moving when you switch debugging settings. :( | ||
moritz_ | my spectest run just was all PASS | 15:39 | |
jnthn | Possible, hasn't done that to me. | ||
moritz_: yay :-) | |||
moritz_ | on c959619e7451b3d82e218d58dd60cfd0f0ce8903 that is | ||
colomon | moritz_: that's where I am too. | ||
jnthn | moritz_: dunno if "has $.x = 42" style things working will let us claim back any more. | ||
moritz_ runs tools/update_passing_test_data.pl | 15:40 | ||
speaking of which... any objections to rename that beast? | |||
tools/comb-spectests.pl? | |||
jnthn | tools/brush-spectests.pl? | 15:41 | |
tools/wash-and-blow-dry-spectests.pl | |||
15:41
nihiliad joined
|
|||
colomon | This looks for spectests that aren't run but could work? | 15:41 | |
jnthn | colomon: yeah | 15:42 | |
colomon | Or does it look for unneeded fudges in the currently run tests? | ||
jnthn | I think both? | ||
moritz_ | no | ||
jnthn | colomon: oh noes. --trace=4, which mighta told me where we were when we crashed, also makes it go away. | ||
moritz_ | that's what tool/autounfudge.pl is for | ||
15:43
Baggio_ left
|
|||
jnthn | Goes away with --gc-debug too... *sigh* | 15:43 | |
colomon | jnthn: these sorts of bugs suck, no doubt. | ||
moritz_ | t/spec/S29-conversions/ord_and_chr.t passes all of 408 tests, and then aborts | ||
don't know if it's a LHF | |||
jnthn | colomon: Yes. I feared from the stack trace it may be illusive | 15:44 | |
colomon | moritz_: odds are its the bug we're looking at... | ||
jnthn | And digging in a bit further, it doesn't get any more obvious what could be wrong. | ||
15:44
Psyche^ joined
|
|||
jnthn | Other than somehow we managed to lose a context. | 15:45 | |
colomon | moritz_: yesterday unpolar.t would die in the middle of a loop, after the first N loops went just fine... | ||
15:45
Baggio_ joined
|
|||
moritz_ | actually it dies with Method 'Int' not found for invocant of class 'Range' | 15:45 | |
so... probably blocks on pmichaud++ | |||
colomon | moritz_: or it could be real LHF. :) | ||
15:46
Patterner left,
Psyche^ is now known as Patterner
|
|||
moritz_ | you mean s/ '..' /.../? | 15:46 | |
colomon | Is Int on Range just supposed to be the number of elems if you turn the Range into a list? | ||
moritz_: hold on, let me look at the test | |||
moritz_ | ng: say for 1..3 | ||
p6eval | ng c95961: sh: ./perl6: No such file or directory | ||
moritz_ | oh | ||
that does the trick | 15:47 | ||
colomon | moritz_: it's the 0..31 that's the problem? | ||
15:47
justatheory joined
|
|||
moritz_ | aye | 15:47 | |
pugs_svn | r29304 | moritz++ | [t/spec] use series instead of range in ord_and_chr.t | ||
colomon | yes, ... with two ints works. | ||
woot, that's a nice big test to have working! | 15:48 | ||
moritz_ | that will crack the 2k limit :-) | 15:49 | |
jnthn | \o/ | ||
15:49
xomas_ left
|
|||
jnthn | Crap! --trace=1 also hides the segfault...by causing a differnet segfault. | 15:50 | |
parrot-- | |||
ng: my Str $a = 'Hello World !'; say $a .= flip | 15:51 | ||
p6eval | ng c95961: ! dlroW olleH | ||
15:52
nihiliad left
|
|||
colomon | The ... in ng is the dumbest one possible, I think, but it gets the job done a lot of the time. | 15:52 | |
jnthn | trouble is, that on its own (the test where we segv) doesn't...only in the context of the test. | ||
moritz_ | which test, btw? | 15:53 | |
jnthn | flip.t at the moment | ||
But it moves around. | |||
colomon | Yeah, flip.t works for me but exp.t fails. | ||
dalek | kudo/ng: 695ca5c | moritz++ | t/spectest.data: re-enable ord/chr tests |
||
jnthn | colomon: It's gonna be tricky to get to the bottom of this one, I fear. :-( | 15:54 | |
colomon | it will drive us insane until we do... | ||
KyleHa | I get a segfault in S32-str/words.t | ||
lisppaste3 | moritz pasted "valgrind run on flip.t" at paste.lisp.org/display/91879 | ||
colomon pasted "valgrind error on exp.t" at paste.lisp.org/display/91880 | 15:55 | ||
colomon | apparently moritz_ and I were thinking along the same lines there. | ||
moritz_ | :-) | 15:56 | |
I just fear it's not conclusive | 15:57 | ||
if something corrupted the memory first, the calling conventions would be a natural place for it to show/blow up | |||
15:58
nihiliad joined
|
|||
colomon | oh hey, yours is much more interesting than mine. | 15:58 | |
jnthn | moritz_: Yeah. It doesn't ad a whole lot more info than the backtrace, sadly. | ||
15:58
xomas_ joined
|
|||
jnthn | Yeah. It's gonna be a headache to get to the bottom of this one. :-( | 16:00 | |
moritz_ | maybe you can motivate some parrot folks to work on it? :-) | 16:01 | |
Tene hides. | |||
moritz_ | "hey bacek, it segfaults in a function you recently touched, don't you wanna take a look?" | ||
jnthn | hehe! | ||
frettled | pmichaud: Thanks for the non-recursive version | ||
jnthn | It can be hard to re-produce 'cus it moves around. :-/ | ||
colomon | jnthn: I started to say (and then got sidetracked), maybe you can run all the tests with the --trace=4 (or whatever), and see if it pops up someplace else then? | ||
jnthn | colomon: Hmm, could try that, yeah. | 16:02 | |
16:02
Baggio_ left
|
|||
KyleHa | My valgrind run on words.t looks like Moritz's run on flip.t (It says "Conditional jump or move depends on uninitialised value(s)"). Is it worth pasting? | 16:04 | |
16:05
literal left,
literal joined
16:06
perlygatekeeper joined
|
|||
pmichaud | frettled: you're welcome -- thanks for the interesting post! Made me want to refresh my memory of euclid's algorithm a bit more. :-) | 16:07 | |
16:08
kcwu joined
16:11
alester joined
|
|||
colomon | KyleHa: where does it say that? That's normal (ugh!) for the garbage collector... | 16:12 | |
KyleHa | I'll paste. | ||
frettled | :) | 16:13 | |
pmichaud: I'll keep this in mind; always blog while feverish. ;) | |||
pmichaud | (feverish blogging)++ | 16:14 | |
Tene | pmichaud: is the O() stuff documented anywhere other than cheats/hll-grammar.pir? | 16:19 | |
pmichaud | Tene: at present, no. | ||
Tene | Okay. | ||
pmichaud | I'd welcome some documentation, though :-). | 16:20 | |
the best place for now would be nqpbook | |||
16:21
masak joined
|
|||
Tene | there's an nqp book? | 16:21 | |
jnthn | mORNINGasak! | ||
masak | jnthn: you wish :) | ||
pmichaud | there's an empty shell for writing one :-) | ||
moritz_ | hugme: show nqpbook | ||
hugme | moritz_: the following people have power over 'nqpbook': PerlJam, TimToady, [particle], jnthn, masak, moritz_, pmichaud. URL: github.com/perl6/nqpbook/ | ||
jnthn | oh wow, I had an unknown power | 16:22 | |
pmichaud | my goal is to write a book about compiler writing in nqp | ||
masak | jnthn: I'm back in CEST now. | ||
moritz_ | hugme: add tene to nqpbook | ||
hugme hugs tene. Welcome to nqpbook! | |||
pugs_svn | r29305 | pmichaud++ | [pm.txt]: Another question for TimToady++ . | 16:23 | |
r29305 | | |||
r29305 | Pm-15: S11:300 gives the following as an example of importing | |||
r29305 | a tagset into package scope: | |||
r29305 | | |||
r29305 | require Sense :OUR<ALL> # but this works | |||
r29305 | | |||
r29305 | Should this be :OUR(:ALL) instead? It seems to me that | |||
r29305 | :OUR<ALL> would attempt to import a &ALL symbol (since | |||
frettled | whoa | ||
pugs_svn | r29305 | :MY<common> imports the &common symbol). | ||
masak | jnthn: I agree that we should kill off the 'provided the type names are the same' exception. | 16:25 | |
jnthn | masak: Ooh, all the consensus is almost giving me a feeling of forgiveness over permission! | ||
masak | jnthn: I was just going to follow up with that. :) | ||
pmichaud | +1 from me | ||
Tene | jnthn: any chance you'll look into the vtable issue soon? | ||
masak | jnthn: if nothing else, we'll probably be able to pull off innocent looks when we reach the 'forgiveness' stage. | 16:26 | |
moritz_ | +0.5 # I didn't think enough about it to give it a full +1 :-) | ||
masak | jnthn: with all the agreement flying around, I mean. | ||
frettled | masak: Are you hungry for a kanelbulle tonight? ;) | ||
masak | frettled: I seldom use it, but I think it suits me. :) | ||
frettled | I'm with moritz_ here :d | ||
pmichaud | I didn't think about it a lot either, but having attributes auto-merge sets off alarm bells in my head | ||
16:26
frettled sets mode: +o masak
|
|||
masak admires his kanelbulle in the mirror | 16:26 | ||
jnthn | OK I KILLZ IT | 16:27 | |
frettled | masak: I apparently mostly use it to clone kanelbuller for you | ||
pmichaud | and anytime masak++ and jnthn++ agree on something, that's worth an extra +0.5 :) | ||
frettled | good point | ||
jnthn | what on earth is a kanelbulle? | ||
masak | I agree with jnthn that Indian food tastes yummy. | ||
jnthn | +0.5! | ||
:-) | |||
masak | jnthn: it's a Swedish word. :) | ||
frettled | jnthn: commons.wikimedia.org/wiki/File:Kanelbulle.jpg | ||
Su-Shee | "really?" ;) | 16:28 | |
jnthn | An animal that swims in canals and looks like a cow? | ||
frettled | the white stuff doesn't have to be there | ||
masak | jnthn: it means 'cinnamon bun', but here it's a description of the op @. | ||
colomon | what is the white stuff? | ||
jnthn | Meh, I wish my op tasted so good. | ||
frettled | colomon: sugar | ||
jnthn | colomon: Chunks of health sugar, no? :-) | ||
masak | colomon: melted sugar, I think. | ||
Tene | Looks like Su-Shee is the only person without a Kanelbulle chatting right now. | 16:29 | |
colomon | drooooooollllll | ||
16:29
jnthn sets mode: +o Su-Shee,
jnthn sets mode: +s ,
ChanServ sets mode: -s
|
|||
jnthn | Kanelbulles all around! | 16:29 | |
Su-Shee | great, now I'm hungry. ;) | 16:30 | |
jnthn | masak: You know, I'm tempted to make bless handle the "rebless into a subclass" thingy. | ||
masak: If only 'cus it lets me get rid of some magic in a place I don't want it... :-) | 16:31 | ||
masak gently shoves jnthn towards the temptation | |||
jnthn: I want to rebless something into a subclass. \o/ | |||
frettled | blessed be the subclasses, for they shall inherit the ... | 16:32 | |
16:32
envi^home left
|
|||
jnthn | ...superclass. | 16:32 | |
16:33
thowe left,
REPLeffect_ joined,
KyleHa1 joined
|
|||
jnthn | ng: my @a; say @a eq [] | 16:33 | |
p6eval | ng 695ca5: 1 | ||
jnthn | phew | ||
jnthn noticed that we have no hash support in ng yet either. :- | 16:34 | ||
| | |||
ETOOMUCHTODO | |||
frettled | #brownies | ||
16:34
SmokeMachine left
|
|||
frettled | But I seem to have run out. | 16:34 | |
16:35
KyleHa left
|
|||
frettled | The fact that I never had any may be a good explanation for that. | 16:35 | |
jnthn: don't worry about today what you can worry about tomorrow :D | |||
jnthn | ng: role A { has $.x; }; role B { has $.x; }; class C does A does B { } # plz die kplzthnx | 16:36 | |
p6eval | ng 695ca5: Attribute '$!x' conflicts in role compositioncurrent instr.: 'perl6;Perl6;Metamodel;RoleToRoleApplier;_block203' pc 6919 (src/gen/RoleToRoleApplier.pir:606) | ||
jnthn | whee | ||
16:38
slavik left,
supernovus joined,
slavik joined
|
|||
jnthn | ng: role A { has $.x; }; class C does A { has $.x } # plz die kplzthnx | 16:38 | |
p6eval | ng 695ca5: Attribute '$!x' already exists in the class, but a role also wishes to compose itcurrent instr.: 'perl6;Perl6;Metamodel;RoleToClassApplier;_block179' pc 8328 (src/gen/RoleToClassApplier.pir:342) | ||
jnthn | hmmm...so why eval_dies_ok has a sad... :-/ | 16:39 | |
frettled | I think those error messages are pretty awesome, they help me see the problem. | ||
(if I hadn't already known that you were creating a problem, that is) | |||
jnthn | ng: use Test; role A { has $.x; }; eval_dies_ok 'class C does A { has $.x }'; | 16:40 | |
p6eval | ng 695ca5: not ok 1 -  | ||
jnthn | wtf | ||
ng: use Test; eval_dies_ok 'die "omg"' | |||
p6eval | ng 695ca5: ok 1 -  | ||
jnthn | :-/ | ||
masak | jnthn: re 'attribute $!x already exists in the class, but a role also wishes to compose it'... what would it take to say *which* class and *which* role? | 16:41 | |
jnthn | masak: Not too much. :-) | ||
masak | \o/ | ||
frettled | ooh, that would be even grander! | ||
jnthn | masak: I didn't make .name on ClassHOW and RoleHOW work yet. | ||
masak | oh, ok. | ||
in due time. | 16:42 | ||
jnthn | masak: oh btw, the composition algorithm and the thingy that gives that error is implemented in NQP. ;-) | ||
That means you can hack on it too. ;-) | |||
masak | ORLY? | ||
jnthn | YA RLY | ||
masak | wai~! | ||
jnthn | OK, why does my eval_dies_ok not die... :-| | ||
well, not recognized the death. | 16:43 | ||
ng: eval 'our sub foo(Int $x) { say $x }'; foo("lol") | |||
p6eval | ng 695ca5: Could not find non-existent sub &foocurrent instr.: '_block14' pc 29 (EVAL_1:0) | ||
jnthn | um. | ||
pmichaud: I fear eval may not end up running the loadinits... :-/ | 16:44 | ||
.oO( it's broke, innit? ) |
|||
hmm...but why wouldn't it... :-S | 16:46 | ||
Tene | jnthn: stuff in eval runs inside a lexical scope. | ||
although, it's our..., so nm | |||
masak | this looks interesting for metaheads like jnthn: www.shadowcat.co.uk/blog/matt-s-tro...g-a-moose/ | 16:47 | |
Tene | ng: eval 'our sub foo { say "lol" }; foo()'; say 'h'i; foo(); | ||
p6eval | ng 695ca5: sh: ./perl6: No such file or directory | ||
jnthn | masak: looks interesting. | 16:49 | |
ng: use Test; role A { has $.x; }; say eval 'class C does A { has $.x }'; say $!; | 16:50 | ||
p6eval | ng 695ca5: !class_init_21 | ||
16:50
astrojp joined
|
|||
jnthn | um | 16:50 | |
...so it's returning a reference to the block that does the class init rather than running it. That'd be a problem... | 16:51 | ||
oh. putting those two on consecutive lins in the repl is fail too. | 16:52 | ||
jnthn is has a confused | |||
16:56
Astoria` joined
16:59
cornelius left
|
|||
masak smiles at Sean Hunt's email to p6l | 17:01 | ||
I bet that's another advent newbie. hope someone replies to him. | |||
pmichaud | jnthn: I'm pretty sure that eval runs the loadinits... I mean, it pretty much has to do so. | 17:02 | |
it's possible that it's not firing the phasers, though. | |||
17:02
SmokeMachine joined
|
|||
pugs_svn | r29306 | jnthn++ | [t/spec] Get rid of same type = composition OK test. | 17:02 | |
jnthn | pmichaud: It's Ok, I found it. | ||
pmichaud: reentrancy bug. | 17:03 | ||
S14-roles/attributes.t now passes in ng. | 17:04 | ||
moritz_ | ship it! | 17:05 | |
jnthn | It's only 6 more tests, sadly. | 17:06 | |
17:06
SHTOPOR joined
|
|||
colomon | \o/ | 17:06 | |
jnthn | Though a six that tell us quite a few things work. | ||
17:06
SHTOPOR left
|
|||
pugs_svn | r29307 | jnthn++ | [spec] Kill the same type = attribute composition OK rule; now it's just always a conflict. | 17:10 | |
17:10
payload joined
17:11
cdarroch joined
|
|||
masak | jnthn: hehe, you edited the spec so as to contain the slightly slangy 'fail'-as-a-noun. :) | 17:12 | |
not that I mind. just amused. | 17:13 | ||
17:14
dreadpiratepeter joined
|
|||
jnthn | masak: ;-) | 17:15 | |
17:19
cotto joined
|
|||
dalek | kudo/ng: b95e792 | jnthn++ | src/metamodel/RoleToInstanceApplier.nqp: Fix one of the issues with attribute mix-ins; gets back another test. |
17:20 | |
kudo/ng: fd4738d | jnthn++ | src/Perl6/Actions.pm: Fix a reentrancy issue. |
|||
kudo/ng: 71d5281 | jnthn++ | src/ (2 files): s/Perl6Array/Array/ |
|||
kudo/ng: 4a98e29 | jnthn++ | t/spectest.data: S14-roles/attributes.t now passes. |
|||
17:23
Alias_ joined,
Alias left
17:33
SHTOPOR joined
17:34
SHTOPOR left
17:35
SHTOPOR joined,
SHTOPOR left,
dreadpiratepeter left,
SmokeMachine left,
dreadpir` joined
17:36
SmokeMachine joined
|
|||
masak | by TimToady, 'a method declaration should fail outside of a class regardless of any qualifications to its invocant'. what about the converse? are any sort of qualifications to the invocant allowed in a method declaration inside a class? | 17:41 | |
diakopter | std: submethod foo() { }; | 17:43 | |
p6eval | std : ok 00:01 105m | ||
diakopter | std: method foo() { }; | 17:44 | |
p6eval | std : ok 00:01 105m | ||
diakopter | NYEnforced | ||
masak | in other words, can I do something like this? class A; has $.robot-arm; multi method foo(A $me where { $.robot-arm eq 'spooky and intimidating' }, $a, $b, $c) { ... } | 17:47 | |
I suppose that's no problem. the invocant plays according to the ordinary rules of MMD. | 17:48 | ||
jnthn | ng: say Block | ||
p6eval | ng 4a98e2: Block() | ||
masak | I'm thinking whether there could be funny effects between invocant MMD and inheritance. | 17:49 | |
jnthn | masak: I don't see why that wouldn't work. | ||
p6eval? | |||
masak needs to write a cranky editorial about how p6eval has 'missed the boat' | 17:50 | ||
17:50
IllvilJa left
|
|||
TimToady | which boat were we aiming at? :P | 17:50 | |
colomon | Love Boat. | 17:51 | |
17:51
Guest69693 joined
|
|||
TimToady | maybe it was just a shot across the bow | 17:51 | |
Guest69693 | so perl6 has a formal definition ? | ||
masak | Guest69693: fsvo formal, yes. | ||
TimToady | more like semiformal, where the girls get to dress up, and the guys don't have to | 17:52 | |
masak | we like it if it wears a tie, but it's not a must. | ||
jnthn | Guest69693: It has a formal grammar, a written spec and a test suite that forms a kind of "executable spec" | ||
masak | fsvo executable. :) | ||
17:52
ejs2 left
|
|||
jnthn | :-P | 17:52 | |
TimToady | Guest69693: what is your definition of "formal"? | 17:54 | |
Guest69693 | like any other language, unlike perl5 | ||
TimToady | that's a pretty informal definition of "formal" :) | 17:55 | |
Guest69693 | you can't define formal formally | ||
TimToady | especially since there are other languages that are as informally defined as perl5, but I take your point | 17:56 | |
Guest69693 | TimToady, like ? | ||
well, none popular | |||
TimToady | but yes, p6 is certainly more formally defined than p5 | 17:57 | |
Guest69693 | haha | ||
TimToady | otoh, Perl 5 was one of the first scripting languages to actually come with a test suite, which says something | 17:58 | |
supernovus | Ruby and Python have no "formal" specifications either, and I'd say they are popular. | 18:01 | |
18:01
payload left
18:02
stephenlb joined
|
|||
TimToady | I suppose one might say that French is more formally specified than English... | 18:02 | |
arnsholt | TimToady: I blame the Academie Française for that | 18:03 | |
Prescriptivists (perhaps even proscriptivists) the lot of 'em | |||
TimToady | well, we've got plenty of those English too | 18:04 | |
which is why I try to bend English into a linguistic pretzel whenever possible | 18:05 | ||
I think human languages should be first of all extensible :) | |||
arnsholt | Indeed. Mutable and extensible. Part of what makes them so interesting | ||
supernovus | Mutable and extensible, like Perl 6 itself. Any programming language that has "phaser blasts" in its official specification gets my seal of approval ;-) | 18:07 | |
jnthn | ng: sub foo($x) { say "invoked"; True }; 1 ~~ &foo | ||
p6eval | ng 4a98e2: Method 'ACCEPTS' not found for invocant of class 'Perl6Sub'current instr.: '&infix:<~~>' pc 177563 (src/gen/perl6-actions.pir:12105) | ||
18:07
thowe joined
|
|||
thowe | hi folks | 18:08 | |
colomon | thowe: hello | ||
TimToady | howdy, just in time for me to leave for shirk^Wwork | ||
commutating & | 18:09 | ||
PerlJam | pmichaud: pong | 18:11 | |
colomon | ng: say Array ~~ Positional | ||
p6eval | ng 4a98e2: Null PMC access in get_string()current instr.: 'perl6;Perl6Role;Str' pc -1 ((unknown file):-1) | ||
jnthn | Heh. I really should try and fix that one... | 18:12 | |
colomon | jnthn: Would be handy... :) | ||
jnthn | colomon: Still need to sort out how ng does does. | 18:13 | |
18:14
payload joined
|
|||
colomon | jnthn: I keep on hoping one of your changes will accidentally fix it. | 18:14 | |
jnthn | colomon: Is a change where I deliberatel fix it OK too? ;-) | 18:15 | |
colomon | jnthn: any fix is a good fix. | 18:16 | |
jnthn | colomon: I'm sure I could think of a bad way to fix it too.. | ||
colomon | Well, I suppose if you maybe anything ~~ Positional be true, that would be bad... | 18:17 | |
18:18
ShaneC joined
18:19
cotto left
|
|||
jnthn | hmm...S06-signature/introspection.t is massive fail (I think listy issues), but at least we can parse it now. :-) | 18:20 | |
18:21
ejs joined
|
|||
colomon | t/spec/S06-signature/introspection.... | 18:21 | |
Non-block anonymous sub-types su todo at line 72, near ") { };\n " | |||
That's the massive fail you get? | |||
jnthn | colomon: That's the parse/compile issue I just fixed. | 18:22 | |
(not pusehd yet, verifying I didn't break any spectests) | |||
colomon | ah, okay. | ||
jnthn | I just put anonymous where blocks back in. | ||
pmichaud | PerlJam: In the p6advent post, I was curious if your use of '|' versus '||' is intentional. | 18:23 | |
PerlJam | mostly :) | ||
why? | 18:24 | ||
dalek | kudo/ng: 608e0f1 | jnthn++ | src/core/Parameter.pm: Add missing attribute decl in Parameter. |
||
kudo/ng: 2c77505 | jnthn++ | src/ (2 files): Fix where blocks up a bit (includes adding ACCEPTS for code). |
|||
PerlJam | Are you thinking I missed a good opportunity to introduce || ? | ||
pmichaud | no, I'm wondering if it actually will work with '|' | 18:25 | |
18:25
justatheory left,
masak left
|
|||
pmichaud | i.e., how do we know that the first alternation will match if there's a color in parens at the end? | 18:25 | |
since the second one could match also | |||
18:26
abra joined
|
|||
PerlJam | oh. I guess I was thinking || semantics when I wrote that then | 18:26 | |
18:26
abra left
|
|||
pmichaud | right :-) | 18:26 | |
thus my question. :-) | 18:27 | ||
18:27
abra joined,
justatheory joined
|
|||
pmichaud | I _think_ it might turn out alright in the end because the '(' literal ought to prioritize the ltm to the first alternative..... but I'm not entirely sure that's the case. | 18:27 | |
18:28
ejs left
|
|||
pmichaud | I'm not sure it's worth the difficulty of modifying the article at this point -- was just curious about it. | 18:28 | |
18:29
cotto_work joined
|
|||
colomon | jnthn: oh geez, we won't be passing that test for a long time... needs junctions, hyperoperators, etc. | 18:29 | |
jnthn | colomon: Well, parallel dispatch wroks, I think...but yes. | 18:31 | |
18:31
Lorn left
|
|||
jnthn | colomon: I'll try and get .does stuff fixed up later on today. | 18:35 | |
pugs_svn | r29308 | pmichaud++ | [S11]: 'import' is syntactic sugar for .EXPORTALL, not .import_alias . | 18:36 | |
pmichaud shoots directly for forgiveness > permission in S11. :-) | 18:37 | ||
18:37
payload1 joined
|
|||
pmichaud | although perhaps the .WHO in that patch should be omitted. | 18:39 | |
18:42
ejs joined
|
|||
jnthn takes a break for a nom | 18:43 | ||
18:46
ejs left
18:47
payload left
|
|||
TimToady | PerlJam, pmichaud: the grammar does in fact work okay; since both tokens are the same length, it will pick the '('...')' one if it can, and fail over to the other | 18:47 | |
18:49
snearch joined
18:53
ejs joined
18:57
payload1 left
|
|||
pmichaud | TimToady++ | 18:59 | |
18:59
quantumEd joined
|
|||
pmichaud | TimToady: as you've probably guessed, I'm mucking about with S11 today -- feel free to update/revert anything I do that isn't correct :) | 19:00 | |
19:02
mariano__ joined
|
|||
TimToady | well, it's ruoso that's more likely to quibble, since that was his code :) | 19:04 | |
pmichaud | ah. | 19:05 | |
he can feel free to update/revert things then as well :) | 19:06 | ||
(actually, anyone can, of course) | |||
19:07
hercynium left
|
|||
pmichaud | ugh, most of the import_alias and import_realias calls in S11 seem to have different interfaces | 19:10 | |
moritz_ | feel free to unify :-) | ||
pmichaud | I think I shall. | 19:11 | |
oh, wait | |||
we have 'install_alias', 'import_alias', and 'import_realias' | |||
hrm. | |||
I think I confused install_alias and import_alias | 19:12 | ||
it's not clear to me why they need to be separate anyway, though. (I understand why import_realias is different.) | 19:13 | ||
moritz_ | hugme: tweet rakudoperl rakudo-ng now passes 2430 spectests | 19:15 | |
hugme hugs moritz_; tweet delivered | |||
pmichaud | \o/ | ||
only 30K-ish left to go! :) | |||
moritz_ | :-) | ||
TimToady | .oO(plus however many more we write...) |
19:16 | |
19:17
tann1 joined,
rgrau joined
|
|||
pugs_svn | r29309 | lwall++ | [STD,Cursor] move initparse into Cursor so other grammars don't have to define it | 19:18 | |
pmichaud | left to go before we merge to master.... :) | ||
19:19
payload joined
|
|||
moritz_ | .u hot beverage | 19:20 | |
phenny | U+2615 HOT BEVERAGE (☕) | ||
19:20
ejs left
|
|||
Guest69693 | ☕ a hot block of zeros for me | 19:20 | |
moritz_ | rakudo: say '☕'.ord | 19:21 | |
p6eval | rakudo 7ef386: 9749 | ||
moritz_ | rakudo: say '☕'.ord.fmt('%h') | ||
p6eval | rakudo 7ef386:  | ||
pmichaud | ...%h? | ||
moritz_ forgot what hex is | |||
pmichaud hands moritz_++ a %x | |||
moritz_ | rakudo: say '☕'.ord.fmt('%x') | ||
p6eval | rakudo 7ef386: 2615 | ||
moritz_ | pmichaud++ | ||
TimToady | I don't think WHO.methodname can work; that's P5-think | 19:24 | |
methods don't live in packages anymore | 19:25 | ||
pmichaud | packages don't have methods? | 19:26 | |
this isn't asking for methods in the package, it's a method call *on* the package | |||
i.e., the package is the invocant | 19:27 | ||
19:27
gabiruh_ is now known as gabiruh
|
|||
TimToady | there might not even be a package, it might just be a lexical scope containing an EXPORT package | 19:29 | |
pmichaud | hmmm. | 19:30 | |
Anyway, I was using .EXPORTALL here in the same sense as given by S11:108 | |||
The C<Foo> module will export C<&foo>, C<&bar> and C<&baz> by default; | |||
calling C<Foo::Bar::.EXPORTALL> will export C<&bar> and C<&baz> at runtime | |||
to the caller's package. | |||
I do agree that .WHO probably needs to go, however. | |||
because if Factorial is a class, then we want to use the class' EXPORTALL and not the EXPORTALL on its associated package/namespace | 19:31 | ||
TimToady | maybe | 19:32 | |
I'm thinking the exporting might actually be done by methods in the tag namespaces | |||
under EXPORT:: | 19:33 | ||
pmichaud | maybe | ||
.... then import XYZ <common @horse>; would end up using a method from EXPORT::ALL ? | |||
er, XYZ::EXPORT::ALL ? | |||
TimToady | and we might want to detangle the notion of standard exporting from any extra hook that is for additional shenanigans | ||
19:34
payload left
|
|||
TimToady | as well as a backchannel for macroish redefinition in the importing module, both textual and hygienic | 19:35 | |
in a sense, 'use' is a fancy macro | |||
19:36
JeffreyKegler joined
|
|||
TimToady | and we should look at the extent to which the macro mechanism can do what we want without inventing a lot of new stuff | 19:39 | |
to the extent that they might be unified | |||
pmichaud | I'm fine with that... at the moment I'm just looking for an API that I can implement :-) | ||
so, I'm looking at how one deals with something like | 19:40 | ||
TimToady | btw, currently Package isn't even a class in CORE.setting, it's just a role | ||
my role Package does Stash { } | |||
pmichaud | use XYZ :OUR(:DEFAULT, 'common', '@horse'); # is this even legal? | ||
TimToady | and my role Module does Stash { } | ||
but my role Class does Module { } | 19:41 | ||
jnthn | *cough* | ||
Class? | |||
moritz_ thought there was no Class class or role | |||
jnthn | Aye. :-) | 19:42 | |
TimToady | it's just trying to capture the notion of what methods a Stash that is supporting a metaclass might provide | ||
that's all | |||
PerlJam | Modules don't do the Package role? | ||
jnthn | TimToady: Oh, so a metaclass would do Class, for example? | 19:43 | |
TimToady: Of course, that gets a little fun in that Role also does Class about from Class is a role... ;-) | |||
19:43
hercynium joined
|
|||
TimToady | I'm not thinking that the metaclass does Class | 19:43 | |
19:43
solarion joined
|
|||
jnthn | TimToady: ah, ok | 19:43 | |
TimToady | just trying to clarify what different kinds of package there might be | ||
could go away if it's a useless distinction | 19:44 | ||
pmichaud | at any rate, it feels as though Stash in general has methods for manipulating the stash | ||
TimToady | but anyway, the CORE lexpads are lexical scopes without packages, but they can have an EXPORT list anyway | ||
pmichaud | e.g. import_alias and EXPORTALL from S11 | 19:45 | |
TimToady | well, to the first approximation a Stash is just a Hash | ||
a Stash for a lexical scope has an extra level of indirection over a package Stash | |||
pmichaud | right, it supports the hash interface | ||
19:45
abra left
|
|||
pmichaud | but if we can export from a lexical scope, that is either a method on the lexical scope or some other helper function/method that does it for us, yes? | 19:46 | |
TimToady | but to the extent possible, I'd like to run the export stuff lexically, and not assume the existence of a package on either end | ||
pmichaud | and presumably that would be similar to whatever handles exporting from packages and other stashes | ||
TimToady | but finding the EXPORT in a lexical scope (which is how Cursor does it) is related to the problem of finding lexically scoped constants | 19:47 | |
"all constants are 'our'" is kind of a workaround | |||
pmichaud | in order to export from a lexical scope, one would have to explicitly do something like module EXPORT::XYZ { ... } ? | 19:48 | |
TimToady | if Num::pi can find pi even if pi isn't 'our', then that's much like finding EXPORT without requiring EXPORT to be 'our' | ||
pmichaud | or are you aiming at changing "our sub xyz() is export { ... }" to handle the "is export" in the lexpad instead of a package? | 19:49 | |
TimToady | I think 'my sub xyz() is export' should also work | ||
pmichaud | right, my question is about the "is export" mechanics more than any my/our distinction | 19:50 | |
TimToady | and anything that is exported should perhaps be nameable externally even without a package | ||
well, the mechanics depend on where you're gonna look for the name | |||
pmichaud | right. currently that's done in EXPORT::foo packages | 19:51 | |
TimToady | the tag spaces are packages, which means there's not really a need for the top level to be a package, as long as you can get to the EXPORT space | ||
pmichaud | well, the tag spaces really only have to be hashes also :) | ||
TimToady | packages are only just hashes, really :) | 19:52 | |
pmichaud | so, the export space is just a HoH somehow | ||
I'm perfectly fine with that. In many ways that would be far more acceptable to Parrot | |||
19:52
JeffreyKegler left
|
|||
pmichaud | the question just then becomes "where does one find EXPORT" ? ;-) | 19:53 | |
TimToady | so the notion is rather than looking up the name in the HoH to see if it's exportable, and then aliasing from the top package | ||
you just export from the tag package | |||
and maybe even with code defined in that package somehow (sub or method) | |||
pmichaud | right, I thought that's basically what EXPORTALL was doing :-) | 19:54 | |
TimToady | well, as I mentioned, Cursor already looks for EXPORT in the lexical scope, not in the package | ||
19:56
payload joined
|
|||
pmichaud | feels to me like the tag packages ought to be something other than "packages" though. "Exporters" or something like that. Or even "TagExports" | 19:57 | |
and then EXPORT is just a hash of exporters | |||
TimToady | currently trying to unify OUR:: with EXPORT::ALL:: in my head | ||
pmichaud | from my earlier example? or from a different situation? | 19:58 | |
::OUR and EXPORT::ALL:: don't feel like things that ought to be unified to me | |||
*OUR:: | |||
EXPORT::ALL is a list of all exportable symbols, which might not be the same as OUR::. Or perhaps you're thinking of a different unification. | 19:59 | ||
TimToady | why would you declare anything 'our' if you didn't want to allow aliases to it? | ||
pmichaud | I'm thinking that EXPORT::ALL might contain symbols from subpackages | 20:00 | |
TimToady | so might OUR:: | 20:01 | |
pmichaud | i.e., module Foo { our sub abc is export {...}; module Bar { our sub def is export {...} } } | ||
would we expect Foo::def there? | |||
TimToady | no, why would we? | 20:02 | |
two different packages, and two different lexical scopes | |||
pmichaud | right. But S11 currently says that Foo::Bar::def would appear in Foo's export list | 20:03 | |
thus Foo::EXPORT != Foo | |||
(in terms of the symbols there) | |||
TimToady | hmm | ||
that might be a fossil | 20:04 | ||
pmichaud | it's a long-standing fossil, if so :) | ||
S11:94 is the current reference, at any rate. :) | |||
anyway, I'm personally more comforted with the notion that the only things that get exported are those that are explicitly exported, and that "our" isn't sufficient to do that. | 20:05 | ||
otoh, I see the issue with constants and the like. | |||
TimToady | our would be more 'exportable', but not by default, in that view | 20:06 | |
pmichaud | right | ||
just figured that out :) | |||
so, 'our' causes things to appear in EXPORT::ALL (or whatever we end up calling it), but not in EXPORT::DEFAULT | |||
and if you don't want it to appear in EXPORT::ALL, you use "my" | |||
TimToady | but the point of adding an import verb was to allow inlined modules to export to their surrounding scope, so the autoexport seems wrongish now | 20:07 | |
pmichaud | right | ||
in particular, the S11:94 part seems to imply that "is export" in any module automatically exports to its outer scope | 20:08 | ||
which is probably not what we want. | |||
20:08
_jaldhar joined
|
|||
pmichaud | and actually, exports to its outer scope*s* | 20:08 | |
TimToady | a lot of my revisionist thinking is from trying to work out the namespace issues in the setting | ||
pmichaud | yes | 20:09 | |
TimToady | where we're trying to avoid any overt package searching | ||
pmichaud | a lot of reason that Rakudo (master and ng both) don't always handle namespaces so well is because I couldn't get it to map well to S11 :-) | ||
TimToady | (except maybe embedded packages like EXPORT) | ||
though moving more toward exporting lexicals rather than package vars does increase the potential of "alias will not stay shared" when cloning happens | 20:10 | ||
at which point it becomes slightly beneficial to actually emphasize our-ness | 20:11 | ||
though it makes it possible to export different clones of the same variable to different destinations, if that's what you want | 20:12 | ||
TimToady keeps nudging package semantics and lexical semantics closer to each other to see where it exceeds critical mass and explodes :) | 20:15 | ||
20:15
riffraff left
|
|||
pmichaud | ...it sounds as though S11 may go through another significant revision here... | 20:15 | |
jnthn | TimToady: Well they're both just hashes, right? ;-) | 20:16 | |
TimToady | different value type though | ||
a package is more like a dynlexpad | |||
with directly held containers | |||
jnthn | yeah | ||
pmichaud | jnthn: (both just hashes) -- yes, I've been looking at the hashness aspect quite a bit, especially with respect to mapping them to parrot constructs for hll-interop and exportation | 20:17 | |
TimToady | a lexical scope pad just records positions in whatever the current dynlexpad is | ||
20:17
payload left
|
|||
pmichaud | from a parrot hll-interop perspective, we really want export/import to be more of a function of the compiler than of the lexpad/package/whatever | 20:17 | |
so that we can do name mangling on either side | |||
TimToady | which is why I'd like to keep shenanigans as a separate mechanism, if possible | 20:18 | |
pmichaud | agreed fully there | ||
that thinking lends itself to thinking that namespaces, lexpads, and the like are things that are operated on, rather than things that do the operating. | |||
which tends to move away from ".EXPORTALL" on packages | 20:19 | ||
TimToady | I want to think more about the notion of a module as a large hygienic macro though | 20:20 | |
where shenanigans might mean textual macro instead of hygienic | 20:21 | ||
20:21
jaldhar left
|
|||
TimToady | install this AST here vs reparse this text than the 'use' returned | 20:21 | |
s/than/that/ | |||
where the latter degenerates to a simple include, when you think about it | 20:22 | ||
pmichaud | rakudo already tends towards the former, though. Are you thinking of aiming for the latter ? | 20:23 | |
TimToady | I'm thinking the latter is the 'evalish/beginnish' escape valve that allows the former to be the correct default most of the time | ||
pmichaud | right | 20:24 | |
TimToady | aliasing lives in the former | ||
the 'shenanigans' live in the latter | |||
pmichaud | oh | ||
hmmmmmmmmmmm | |||
right now in order to get precompiled modules to work, we tend to try to put everything into the AST | |||
(or the compiled form, whatever it happens to be) | 20:25 | ||
TimToady | but if a chunk of that AST is a hook that can be executed to return text to be macroized unhygienically, that's what I'm talking about | ||
20:25
estrai left
|
|||
pmichaud | iiuc, you're suggesting that many shenanigans should remain as text and then be ..... right | 20:25 | |
TimToady | it's even possible that lift could get implemented something like that, where the generic code gets instantiated at use time; though that might be doable hygienically | 20:28 | |
pmichaud | I'm not sure that text-based shenanigans would work well from an hll-interop perspective, though. | ||
TimToady | well, you use a module that has that as part of its official interface, you lose. | ||
that why text is unhygienic | |||
20:29
payload joined
|
|||
TimToady | you can't predict the exact language it will be reparsed under | 20:29 | |
same problem with nested source filters | |||
but it's possible that multis containing lift turn into hygienic macros transparently | 20:30 | ||
which means it could be prototyped unhygienically, if the need arose | |||
have to think about that with respect to the current caller semantics of lift | 20:31 | ||
pmichaud | I now have to think about all of this with respect to finishing my grant 1/2 :-) | 20:32 | |
TimToady | it seems like it would work, since a macro by definition is in the caller's scope, if instantiated everywhere the same way | ||
well, we can hope that *something* will be easier to change than *nothing* will, though that doesn't always work out in practice... | |||
pmichaud | for my grant I pretty much need to be able to handle import and export semantics | 20:33 | |
macros aren't part of the grant, nor lift, nor ... :) | |||
20:34
xomas_ left
|
|||
TimToady | well, the standard export/import can be hidden under a compiler abstraction that may or may not implement it with macros | 20:34 | |
I think you are correct there about the passivity of the data | |||
so just aim for that for now | 20:35 | ||
pmichaud | oh good (more) | ||
yes, if I'm correct about passive data for export/import, then it becomes much easier on this end | |||
I can put something together that's workable for now, supports some level of hll-interop, and we clean it up as we know more later | |||
TimToady | .oO(I love it when it sounds like we know what we're talking about. :) |
20:36 | |
pmichaud | lol | ||
I'll just aim for some simple interfaces on compiler objects, along with various warning notes that it's still somewhat on the experimental side | 20:37 | ||
(so the particulars may change) | |||
we can then hide Perl 6 complexities under those interfaces when we have them | |||
and, of course, a compiler talking to its own modules is generally free to ignore the interfaces anyway | |||
20:37
payload left
20:38
payload joined
|
|||
pmichaud | afk, kid pickup | 20:41 | |
20:43
pmurias joined
20:44
snearch left
20:45
_jaldhar left
20:46
Tideflat joined
|
|||
Tideflat | rakudo: [*] [1,2,3,4]; | 20:47 | |
p6eval | rakudo 7ef386: ( no output ) | ||
moritz_ | rakudo: say [*] 1, 2, 3, 4 | ||
p6eval | rakudo 7ef386: 24 | ||
Tideflat | rakudo:say [*] [1,2,3,4]; | 20:48 | |
moritz_ | you might need the space after ':' | ||
Tideflat | rakudo: say [*] [1,2,3,4]; | ||
p6eval | rakudo 7ef386: 1 2 3 4 | ||
Tideflat | oh | ||
20:48
romanhunt joined
|
|||
moritz_ | reducing a list of one element returns that element | 20:48 | |
romanhunt | hello all | 20:49 | |
moritz_ | here it's an Array | ||
hi romanhunt | |||
Tideflat | does perl 6 have "off the wall" support? Like how in python you use ' ' to mark blocks? | 20:50 | |
quantumEd | don't think so.. | ||
moritz_ doesn't understand what that means | |||
20:53
Tideflat left
|
|||
colomon is with moritz_ here | 20:55 | ||
sjohnson | afternoon guys | 20:56 | |
moritz_: i think he means white-space significance in regards to delimit when a block starts and ends | |||
TimToady | yeah, he just means counting whitespace characters as syntax | 20:57 | |
pmichaud | whitespace characters *are* syntax :) :) | ||
TimToady | but not counting them | ||
pmichaud | okay | ||
TimToady | well, except counting from 0 to 1 | 20:58 | |
pmichaud | I tend to say "whitespace as block delimiters" to get the point across :) | ||
TimToady | negative indentation to indicate something positive | ||
but the whole notion of counting whitespace characters is really Unicode-unfriendly | 20:59 | ||
moritz_ | and evalbot-unfriendly :-) | ||
TimToady | and programmer unfriendly the moment your block exceeds the size of your screen | ||
[particle] | screens are cheap. | 21:00 | |
moritz_ | programmers aren't :-) | ||
TimToady | even on the same screen, it can be hard to line things up vertically | ||
romanhunt | rakudo ng: say [1...4] | 21:01 | |
moritz_ | it's just 'ng: ' | ||
romanhunt | that just segfaulted my cp of ng | ||
TimToady | and ... nyi, I think | ||
moritz_ | ng: say [1...4] | ||
p6eval | ng 2c7750: 1 2 3 4 | ||
TimToady | of course, I could be wrong... | 21:02 | |
pmichaud | ng: say 1...4 | ||
TimToady | ng: say 1 ... 4 | ||
p6eval | ng 2c7750: 1234 | ||
moritz_ | only the most basic, eager case is implemented in ng | ||
rakudo: say 'a' ... 'd' | |||
romanhunt | mustve been something else it is running it now | ||
TimToady | ng: say 1 ... *+2, 5 | ||
p6eval | rakudo 7ef386: abcd | ||
ng 2c7750: too few positional arguments: 3 passed, 4 (or more) expectedcurrent instr.: 'perl6;Code;new' pc 11596 (src/builtins/Positional.pir:142) | 21:03 | ||
moritz_ | rakudo: say 1 ... *+2, 5 | ||
p6eval | rakudo 7ef386: 135 | ||
pmichaud | ng doesn't whatever yet, I don't think. | ||
TimToady | ng: say 1,3,5 ... 9 | ||
p6eval | ng 2c7750: No applicable candidates found to dispatch to for '&infix:<...>'current instr.: '_block14' pc 29 (EVAL_1:0) | ||
pmichaud | ng: say (*+2)(3) | ||
p6eval | ng 2c7750: too few positional arguments: 3 passed, 4 (or more) expectedcurrent instr.: 'perl6;Code;new' pc 11596 (src/builtins/Positional.pir:142) | ||
pmichaud | ...although implementing WhateverCode and the Whatever forms shouldn't be all that difficult. | 21:04 | |
TimToady | ng: say 1 ... { $_ + 2 }, 5 | ||
pmichaud | ng: say *.WHAT | ||
p6eval | ng 2c7750: No applicable candidates found to dispatch to for '&infix:<...>'current instr.: '_block14' pc 29 (EVAL_1:0) | ||
ng 2c7750: too few positional arguments: 3 passed, 4 (or more) expectedcurrent instr.: 'perl6;Code;new' pc 11596 (src/builtins/Positional.pir:142) | |||
pmichaud | ng: my $x = *; say $x.PARROT; | 21:05 | |
p6eval | ng 2c7750: too few positional arguments: 3 passed, 4 (or more) expectedcurrent instr.: 'perl6;Code;new' pc 11596 (src/builtins/Positional.pir:142) | ||
pmichaud | I think a dispatcher issue there. | ||
afk, kid studies | |||
jnthn | Ah, just a problem in the way something is creating code objects. | 21:06 | |
pmichaud | but * by itself shouldn't be a code object.... should it? | ||
moritz_ | nope | 21:07 | |
pmichaud | it's just.... Whatever. | ||
rakudo: my $x = *; say $x.PARROT; | |||
jnthn | pmichaud: Yes, but then you call a method on it. | ||
p6eval | rakudo 7ef386: !whatever_dispatch_helper | ||
pmichaud | oh, and calling a method on it turns it into a WhateverCode.... right | ||
jnthn | pmichaud: Right. | 21:08 | |
pmichaud: Apart from something is broken about that atm. | |||
pmichaud | right | ||
jnthn | I think it's untested and then never caught up with the lazy sig init changes. | ||
sjohnson | use python; | ||
pmichaud | use python; fail; | ||
TimToady | std: use python; | 21:09 | |
p6eval | std : Potential difficulties: Can't locate module python at /tmp/tLX7ySHFKu line 1:------> use python⏏;ok 00:01 104m | ||
jnthn | std: use whitespace; | ||
p6eval | std : Potential difficulties: Can't locate module whitespace at /tmp/55i7EBqiV3 line 1:------> use whitespace⏏;ok 00:01 102m | ||
TimToady | std: use STD; | 21:10 | |
p6eval | std : ok 00:01 123m | ||
jnthn | std: use STD:ver<6>; | 21:12 | |
p6eval | std : Potential difficulties: Can't locate module STD:ver<6> at /tmp/gGlDMzDQ8b line 1:------> use STD:ver<6>⏏;ok 00:01 103m | ||
jnthn | ;-) | ||
TimToady | std: use STD; my Cursor $c; | ||
p6eval | std : ===SORRY!===In "my" declaration, typename Cursor must be predeclared (or marked as declarative with :: prefix) at /tmp/n74wHEefrB line 1:------> use STD; my Cursor⏏ $c;FAILED 00:01 124m | ||
TimToady | std: use STD; my STD::Regex $r; | 21:13 | |
p6eval | std : ok 00:01 126m | ||
diakopter | std: method foo() { method bar() { } } | 21:16 | |
p6eval | std : ok 00:01 105m | ||
21:16
Intensity joined
|
|||
jnthn | ng: class Dog { method foo() { say 1; method bar() { say 2 } } }; Dog.foo; Dog.bar; | 21:17 | |
p6eval | ng 2c7750: sh: ./perl6: No such file or directory | ||
jnthn | ng: class Dog { method foo() { say 1; method bar() { say 2 } } }; Dog.foo; Dog.bar; | ||
p6eval | ng 2c7750: 12 | 21:18 | |
jnthn | :-) | ||
pugs_svn | r29310 | duff++ | [perl6advent] update schedule | ||
21:19
meppl left
21:22
romanhunt left
21:24
cognominal left,
supernovus left
21:26
payload left
|
|||
diakopter | std: class Bar is also { }; | 21:33 | |
p6eval | std : ok 00:01 104m | ||
21:33
cognominal joined
21:34
SmokeMachine left
|
|||
diakopter | std: class Foo { }; class Foo is also { }; | 21:34 | |
p6eval | std : ===SORRY!===Illegal redeclaration of symbol 'GLOBAL::<Foo>' (from line 1) at /tmp/kQ5DPAG0T1 line 1:------> class Foo { }; class Foo⏏ is also { };FAILED 00:01 104m | ||
pugs_svn | r29311 | pmurias++ | [mildew] more porting to new STD | 21:35 | |
diakopter | std: class Bar does Bar { }; | ||
p6eval | std : ok 00:01 104m | ||
21:38
guest28 joined
|
|||
colomon | TimToady: unless someone got up to something when I wasn't looking, ng so far only handles the n1 ... n2 case right now. It's as dumb as possible, just enough to get a bunch of tests that formerly used .. for that working. | 21:39 | |
pmurias shouldn't have let mildew lag behind STD so much :/ | 21:41 | ||
guest28 | Hi. Quick question: If Perl 6 is another language in the Perl family, and if Perl 5 keeps being referred to by many as simply "Perl", is Perl 6 always going to be called "Perl 6" (with a binary named "perl6")? | 21:42 | |
moritz_ | guest28: I call both Perl 5 and Perl 6 "Perl" | 21:43 | |
guest28: but if a binary is called "perl", it must default to perl5 | 21:44 | ||
pmurias | guest28: Perl 6 will replace Perl 5 once it good enough | ||
21:44
pjcj_ joined
|
|||
sjohnson | pmurias: that will be a day to crack a celebration beer | 21:46 | |
jnthn | pmurias: Provided people choose to use it instead of Perl 5. ;-) | ||
TimToady | when Perl 6 includes Perl 5 as a module, and Perl 5 includes Perl 6 as a module, we can call it all "Perl" :) | 21:47 | |
arnsholt | jnthn: I think it's a (very) long term goal | 21:49 | |
After all, how long did it take before Perl 5 had entirely supplanted Perl 4? (If that has actually happened yet =) | |||
21:49
pjcj left
|
|||
diakopter thinks TimToady's last statement should be put into S01 | 21:51 | ||
guest28 | Ok. I think I see. With Perl 5, the language is "Perl 5" and the implementation (the binary) is "perl". With Perl 6, the language is Perl 6 (which some might eventually just call "Perl"), and one implementation is called rakudo. | 21:53 | |
pugs_svn | r29312 | pmurias++ | [mildew] ported over for | ||
frettled | guest28: That's nice and succintly put. | 21:54 | |
21:54
Astoria` left
|
|||
frettled | guest28: To some outsiders who don't care about Perl at all, they're both "Perl" already. :D | 21:54 | |
sjohnson | how is SMOP coming along? | 21:55 | |
pmurias | slowly | ||
frettled | I know this from trying my "hey, would you look at this, it's a new member of the Perl family" and getting a "meh, it's still Perl" response. | ||
(and not just once!) | |||
pmurias | sjohnson: i'm updating mildew to the current STD.pm | ||
sjohnson | neat | ||
guest28 | @frettled: Well, I would hope so, no? I mean, that's a good sign if people look at Perl 6 code and say, "yeah, that's Perl alright". :) | 21:56 | |
21:57
perlygatekeeper left
|
|||
sjohnson | std: hi | 21:57 | |
p6eval | std : Undeclared routine: 'hi' used at line 1ok 00:01 105m | ||
pmurias | sjohnson: i added a js backend to mildew, and was focusing on it before as dealing with C and the assorted memory leaks is very fun | ||
frettled | guest28: Yep, it means it's still recognizable as such. | ||
pmurias | * isn't | ||
frettled | And that is sortof the point, isn't it? | ||
21:57
hercynium left
|
|||
moritz_ | actually for perlgeek.de/blog-en/perl-6/rats-and...-pets.html I wrote code that's both valid Perl 5 and Perl 6 | 21:57 | |
and it doesn't look too contrived | 21:58 | ||
frettled | moritz_: cool | ||
guest28 | The only trouble is, if I follow the instructions on the Perl 6 Advent calendar to build a Perl 6, I'm building rakudo, but I *get* a binary called "perl6" instead of "rakudo". | 21:59 | |
PerlJam | guest28: how is that trouble? :) | 22:00 | |
frettled | moritz_: huh? I suggested that blog post? Oh. | ||
moritz_ | frettled: you suggested the title :-) | ||
frettled | I must have been brilliant in September, for that was a very good blog post. | ||
moritz_ | guest28: at times that bothered me a bit too | ||
guest28 | Because rakudo is supposed to be only one particular impl of Perl 6. | ||
sjohnson | pmurias: keep up the good work | 22:01 | |
frettled | guest28: Well, yes, ehrm. Season to taste, and all that. You get the same problem with Java, actually. | ||
guest28: I think it may be more of a problem now when none of the implementations are quite 100% functionally compliant and bug-free, but when implementations are functionally equivalent, using the same binary name makes sens. | 22:03 | ||
It's how we've traditionally done it with other executables in Unix, even with versions that _aren't_ functionally equivalent. (awk, nawk, gawk, ...) | 22:04 | ||
guest28 | So, perhaps rakudo will name its binary "rakudo" when other Perl 6 implementations come along? | ||
frettled | I don't think it should. | ||
arnsholt | It should certainly be an option to play nice with other implementations | ||
guest28 | Arg. Must go. Thanks for the clarifications all. Bye. | 22:05 | |
22:05
guest28 left
|
|||
arnsholt | But if your system has a Perl 6 implementation installed, it'd make sense to link one of the to /usr/bin/perl6 | 22:05 | |
frettled | arnsholt: like Debian's /etc/alternatives, I suppose | ||
moritz_ | I guess Debian would use the "alternatives" mechan... what frettled said :-) | 22:06 | |
frettled | Too bad that our guest had to run, I was about to suggest just that, and that "perl6 --version" should say which implementation it is according to some standard. | ||
22:06
Su-Shee left
|
|||
frettled | Rakudo already identifies itself as Rakudo, but I was thinking about something more similar to the java binary, actually. | 22:07 | |
lisppaste3 | frettled pasted "Java version identifiers" at paste.lisp.org/display/91905 | 22:08 | |
frettled | Like that. | ||
I don't think an exact copy of that would be necessary, but it's reasonably nice and clean. | 22:09 | ||
22:09
Guest4923 left
|
|||
moritz_ | when we're so far I'd like to see language version, implementation and implementation version | 22:10 | |
moritz_ peels the Puma off his sweater | |||
frettled | That's essentially how it's done with Java. | 22:11 | |
TimToady peels the sweater off his puma | 22:12 | ||
moritz_ | in Soviet Russia Pumas peal you off :-) | 22:13 | |
diakopter | pmichaud said that "maybe rakudo should [consider naming its fakecuteable rakudo]", if I recall correctly | ||
frettled | I don't really see any advantage to that. | 22:16 | |
jnthn | gah...so I need to like, do some cleaning...and I can't figure out how on earth to use my family's super-advanced vacuum cleaner... | ||
it blows rather than sucks... | |||
frettled | jnthn: Get paid help! :) | ||
jnthn | yeah! | ||
diakopter | frettled: for less confusion in the long run, imho | ||
(because if the most-used distributions will rename it anyway and have an alternatives system.....) | 22:17 | ||
frettled | heh | ||
lrwxrwxrwx 1 root root 40 2009-10-07 17:55 /etc/alternatives/java -> /usr/lib/jvm/java-6-openjdk/jre/bin/java | 22:18 | ||
that one's not renamed | |||
diakopter | true.. I guess I meant renamed in the PATH resolution-namespace | ||
frettled | Nor is this one: | ||
frettled skips that paste. | 22:19 | ||
RHEL 5 also uses /etc/alternatives, BTW | |||
I see they use a different Java version than Debian: /usr/lib/jvm/jre-1.4.2-gcj/bin/java | 22:20 | ||
Anyway, I think it's reasonable that the executable is named perl6 to avoid unintentional side-effects from presumptious programs. :) | |||
Now I'll crawl back into bed and hope that the fever gives up before tomorrow. :D Good-night! | 22:21 | ||
TimToady | get better! | 22:22 | |
22:22
IllvilJa joined
|
|||
TimToady | you'd better get better... | 22:22 | |
moritz_ | get well soon! | ||
diakopter | frettled: I see, yeah... I guess we're talking about the 'install' target more than the default target | 22:23 | |
frettled | Thanks, guys. diakopter: yup | ||
sjohnson | cya | ||
diakopter | apparently the BSDs/Solaris don't use a config-file/symlink-based system like that | ||
sjohnson | frettled: you need to do way instain flu bug> | 22:24 | |
jnthn | My parry are with the frettled | 22:25 | |
sjohnson | who lost his concentraiton | 22:26 | |
jnthn | *lots | ||
Know Your Memes! | |||
pmurias | moritz_: aren't pumas North American cats? | ||
sjohnson | jnthn: the lots is when we are "truly sorry" | 22:27 | |
jnthn | oh! | ||
damm! | |||
I fail! | |||
sjohnson | but we are truly sorry for his lots none the less | ||
moritz_ | pmurias: this one was made in Herzogenaurch, Germany :-) | ||
jnthn | I am truly sorry for frettled's lots (of bacteria) though. | ||
jnthn decides to procrastinate the .does changes until tomorrow. | 22:29 | ||
Turned out not quite so straightforward as hoped. :-/ | |||
22:29
KyleHa1 left
|
|||
jnthn | Muchly because Parrot insists on being able to turn things into strings and compare them when pointer comp would be just fine (and what Rakudo is going to do...) | 22:30 | |
22:31
takadonet left
22:34
pmurias left
|
|||
colomon is trying to install icu on his Mac.... | 22:35 | ||
TimToady | jnthn: I'm sure Dijkstra would have no difficulty pinning the brain rot onto the use of Perl 5, which is, after all, just a disguised form of BASIC | 22:38 | |
22:39
hercynium joined
22:46
TiMBuS joined
|
|||
thowe | that's a hell of a disguise | 22:48 | |
IllvilJa | The last BASIC I dealt with were with that old Commodore 64 back in the 1980ies. Compared with that, Perl 5 is rocket science and LHC combined! | 22:49 | |
sjohnson | basic is the first language i learned on an apple //e | 22:50 | |
daddy showed my brother and I how to write code. i thought it was pretty cool and straightforward | |||
cognominal | I did not know this one : "Object-oriented programming is an exceptionally bad idea which could only have originated in California" | ||
colomon imagines LHC means "Low Hanging Chocolate"... | 22:51 | ||
dbrock | mmm... | ||
cognominal | he did not talk of the awful 00 Perl 5 syntax though, even if it is from California too | 22:52 | |
22:52
nihiliad left,
nihiliad joined,
mariano__ left
|
|||
colomon | Hmmm, with ICU the unpolar.t crash went away and now I have the words.t crash instead. | 22:53 | |
jnthn | Ain't it wonderful to have a choice. | 22:55 | |
:-/ | |||
colomon: It'll just be slightly different memory layout causing the bug to manifest in different ways I guess. | |||
colomon | jnthn: something like that, I'm sure. | ||
Any notion how I could help track it down here? | 22:56 | ||
22:56
synth joined
|
|||
jnthn | colomon: I spent an hour or so looking...unfortunately, the debugger doesn't yield much. --trace=4 makes the problem go away...if we can catch it under that, it *may* help. | 22:57 | |
colomon: I'm not sure if knowing where we've been beforehand will tell us anything. | |||
colomon | Does that go in the perl6 command line? | ||
jnthn | No, you have to run Parrot with that flag. | 22:58 | |
path/to/parrot --trace=4 perl6.pbc script.p6 | |||
colomon | okay, that's dumping a lot of something... :) | 22:59 | |
oh yup, with that turned on, no crash. | 23:00 | ||
23:03
synth left
23:07
jferrero joined
|
|||
thowe | dang... C++ is hard | 23:11 | |
sjohnson | thowe: ... and then Perl came along. you came to the right place | 23:12 | |
colomon | rakudo: say hyper 1...10; | 23:17 | |
p6eval | rakudo 7ef386: Could not find non-existent sub hyperin Main (file src/gen_setting.pm, line 324) | ||
colomon | hmmm... didn't expect it to do anything useful, but I thought it might at least be stubbed in there. | ||
thowe | been reading about and working with C++ for almost 2 years now and I feel like I know nothing... | 23:18 | |
maybe I'm reading the wrong stuff... | 23:19 | ||
anyway, sorry.. OT Hurray for Perl! | |||
colomon | I've been working with C++ for 20 years now... | 23:20 | |
thowe | so you almost have the hang of it then? | 23:21 | |
colomon | I think I do okay, anyway. :) | ||
I stay the hell away from template metaprogramming and things like that. | |||
thowe | Well, I eventually get stuff to work well, but I have to think about it hard. | 23:22 | |
It's not easy to read. | |||
colomon | It's incredibly verbose. | ||
jnthn | I suspect if I did C++ I'd find the template metaprogramming too hard not to try and do Crazy Stuff with... | 23:23 | |
thowe | I like Qt4... | ||
colomon | I'm slowed down with trying funky new stuff because the C++ code I write has to be *very* portable. | ||
That's as in, I got complaints when I did things earlier this year that made the code not compile on Microsoft's Visual C++ 6.0 Compiler, from circa 1999. | 23:24 | ||
And I think some customers may still be using Borland's circa 2000 compiler. | 23:25 | ||
jnthn: for what it's worth, I just got some bus errors using master, too. | |||
23:25
iblechbot left
23:26
mberends left
|
|||
thowe | So, I see that there is a markdown "compiler" for Parrot. I'm not quite sure how to think about that, but does it mean that any parrot lang now can do markdown? | 23:27 | |
Can I stick markdown in my Perl 6 somehow for some reason? | |||
if I am using Rakudo? | 23:28 | ||
should I be bugging parrot guys with that one? | |||
colomon | thowe: I don't think so. | ||
(I don't think you can do in rakudo, maybe the parrot guys can tell you more.) | 23:29 | ||
jnthn: seems like the difference is in master I have to do a lot of computations before the bug triggers, in ng it happens pretty early. | 23:31 | ||
jnthn | thowe: If you can get things set up right, it's possible $output = eval($markdown_input, :lang<markdown>) or some such may work. | 23:36 | |
pugs_svn | r29313 | lwall++ | [IO] long promised destruction of p{} | 23:37 | |
thowe | hmm | 23:38 | |
23:39
Patterner left
|
|||
colomon | Oh, weird. I've been thinking about how to write a simple Mandelbrot program in p6. | 23:44 | |
It felt to me like it ought to be possible to code it using a hyperoperator, but I was having trouble figuring it out. | 23:45 | ||
Just occurred to me the most natural way might be: | |||
rakudo: class Complex is also { method mandel() { $z = 0i; my $i = 50; while $z.abs < 2 && $i-- { $z = $z * $z + self; } return $i == -1; }; }; say (0i).mandel; | 23:46 | ||
p6eval | rakudo 7ef386: Confused at line 2, near "return $i "in Main (file <unknown>, line <unknown>) | ||
colomon | rakudo: class Complex is also { method mandel() { $z = 0i; my $i = 50; while $z.abs < 2 && $i-- { $z = $z * $z + self; }; return $i == -1; }; }; say (0i).mandel; | 23:47 | |
p6eval | rakudo 7ef386: Symbol '$z' not predeclared in mandel (/tmp/Yo858t1QYV:2)in Main (file <unknown>, line <unknown>) | ||
colomon | rakudo: class Complex is also { method mandel() { my $z = 0i; my $i = 50; while $z.abs < 2 && $i-- { $z = $z * $z + self; }; return $i == -1; }; }; say (0i).mandel; | ||
p6eval | rakudo 7ef386: 1 | ||
colomon | That strikes me as a rude way to code it, but it's the best I've been able to figure out so far. | 23:48 | |
Then you can just load up a 2D list with the complex points you're interested in, and do >>.mandel on it. | 23:49 | ||
23:50
coppro joined
23:51
Psyche^ joined,
Psyche^ is now known as Patterner
|
|||
colomon | rakudo: say (0i ... 10i).perl | 23:53 | |
p6eval | rakudo 7ef386: Multiple Dispatch: No suitable candidate found for 'cmp', with signature 'PP->I'in Main (file <unknown>, line <unknown>) | ||
colomon | rakudo: say (0i ... { $_ + (1/10)i }, 1i).perl | 23:55 | |
p6eval | rakudo 7ef386: Multiple Dispatch: No suitable candidate found for 'cmp', with signature 'PP->I'in Main (file <unknown>, line <unknown>) | ||
colomon | rakudo: say (0i, (1/10)i, (2/10)i, ... 1i).perl | 23:56 | |
p6eval | rakudo 7ef386: Confused at line 2, near "1i).perl"in Main (file <unknown>, line <unknown>) | ||
colomon | rakudo: say (0i, (1/10)i, (2/10)i ... 1i).perl | ||
p6eval | rakudo 7ef386: Multiple Dispatch: No suitable candidate found for 'cmp', with signature 'PP->I'in Main (file <unknown>, line <unknown>) | 23:57 | |
coppro | is the rule about 'default' coming last a syntactical one, or one of convenience? | 23:58 | |
(in a 'given' block) | |||
colomon | default will execute the block that follows whenever it is reached. | ||
so anything that comes after it cannot be executed. | |||
(Well, unless that block breaks or something like that.) | 23:59 | ||
sorry, continues, not breaks. |