»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend! Set by diakopter on 6 April 2013. |
|||
00:10
Targen left
00:38
BenGoldberg joined
|
|||
xilo | does perl6 have protected attributes? | 00:40 | |
tried looking | |||
only saw private/public | |||
00:40
sftp_ joined
|
|||
BenGoldberg | p5eval: print qq[Test\n]; | 00:46 | |
p5eval | BenGoldberg: Test1 | ||
cognominal | xilo, I think protected attributes have been found problematic. I think Stroustrup said so somewhere and explains why so | ||
Perl 6 is not C++ but Stroustrup's explanation may still apply | 00:47 | ||
xilo | cognominal: but almost every OOP language has protected | 00:48 | |
stroustrup complains about a lot of things in c++. i had him for a few classes :| | |||
00:48
obra joined
|
|||
cognominal | good languages tends not to repeat the mistake of their predecessor | 00:48 | |
* mistakes (plural) | 00:49 | ||
00:50
obra left
|
|||
flussence | What problems do protected attributes solve? | 00:50 | |
cognominal | but maybe it takes to design bad languages or have been burnt by them to understand why other are good | ||
xilo | i'm sure if they were truly bad | 00:51 | |
almost every OOP language released since wouldn't have them | |||
:| | |||
flussence | herd mentality has a strong influence on the popularity-minded | 00:52 | |
xilo | well | 00:53 | |
cognominal | xilo, I think the big lesson to draw from C++ is that it has been originally designed as a premature optimisation and that leaves little place for growth. But that does not answer your question | ||
xilo | it's like goto and such | ||
it's not always the best, and can lead to problems | |||
but sometimes is necessary and fine if used correctly | 00:54 | ||
cognominal | flussence, herd mentality is not popular, but hive mentality is. probably hive mentality is the popular version of the former. :) | 00:56 | |
xilo | so the answer is | ||
perl6 only has private and public? | |||
flussence | the answer is that perl6 doesn't need workarounds like half-private half-public. | ||
cognominal | xilo: the important part about Perl 6 is that it has roles | 00:57 | |
* about Perl 6 an OO | |||
xilo | flussence: i didn't ask for personal opinions | 00:58 | |
it was a yes/no question :| | |||
cognominal | the answer is no | 00:59 | |
flussence | the language being designed free from legacy cruft from the start isn't a personal opinion | ||
xilo | flussence: that's an opinion | ||
flussence | you still haven't answered my question. | 01:00 | |
cognominal | xiolo, you learn much more from open questions than closes one so here we often tend to frame yes and no question in a more general frame. | ||
xilo: the answer is "Perl 6 has no protected attributes" | 01:01 | ||
xilo | cognominal: yes sometimes, but interjecting personal opinions instead of answering isn't the way to discuss | ||
cognominal | but that does not answer the why or here the why not. | ||
xilo | personal opinions don't either | 01:02 | |
valid examples do | |||
which no one has given | |||
so this conversation has gotten no where other than answering my original questin lol | |||
flussence | what we have here is an XY problem | 01:03 | |
cognominal | xilo, I think Stroustrup had a valid argument about his mistake about the 'protected' as a mis designed. So I suggest to read Stroustrup (on that point, at least). | 01:04 | |
* misdesign | |||
japhb | xilo: Let's try this -- what do you want to do, that Perl 6 as currently designed is not allowing you to do? | 01:05 | |
(By which I don't mean "protected attributes", I mean, an actual use case.) | |||
cognominal | I am searching a web page where Stroustrub explains his mistake. But maybe it is in one of his books. | 01:07 | |
xilo | japhb: i'm converting some c++ code to perl6 | 01:09 | |
01:12
FROGGS_ joined
|
|||
japhb | xilo, OK, fair enough -- but those are fairly different languages, so it's going to be less than optimal to try to do an exact port. | 01:12 | |
xilo | i realize that | ||
japhb | Usually it works out better to make use of the features of the target language. :-) | ||
xilo | japhb: which is why i asked if it supports it | 01:13 | |
japhb | OK, so then -- what did the C++ code *need* to use protected attributes for, that you would miss? | ||
xilo | it doesn't | ||
hence | |||
cognominal | xilo: perlgeek.de/blog-en/perl-6/protecte...sense.html | ||
japhb | Or was it just using protected attributes because that's C++ idiom? | ||
xilo | i need to really change things around | ||
it's a windowing library of sorts | |||
there's the base window that always exists, and you can spawn other windows | 01:14 | ||
01:14
anuby joined
01:16
FROGGS left
|
|||
japhb | I think we're collectively talking past each other a bit. | 01:16 | |
xilo | it uses the protected member to set some pointers to the root window because certain functions act only on the root window | ||
japhb | But why is that "protected" instead of public? | ||
xilo | let me post on pastebin the gist of what it's doing | 01:17 | |
japhb | xilo, also, the page linked by cognominal just above is short and worth reading so we're all on the same page in this discussion. | ||
xilo, OK, sounds like a good idea. | |||
cognominal | japhb, the comments are worth reading too | 01:19 | |
xilo | pastebin.com/9TChSMMX | 01:23 | |
01:24
Psyche^ joined
01:27
Patterner left,
Psyche^ is now known as Patterner
|
|||
xilo | pastebin.com/QxCCDnq9 noticed i typed something wrong | 01:27 | |
gtodd | hmm does .WHY work? | ||
flussence | the tests for it seem to pass | 01:28 | |
r: #= foo  class Foo { }  say Foo.WHY | 01:29 | ||
p6eval | rakudo 460c2a: OUTPUT«Ambiguous call to 'gist'; these signatures all match::(Pod::Block:D : Mu *%_):(Pod::Block:D : Mu *%_) in method gist at src/gen/CORE.setting:902 in sub say at src/gen/CORE.setting:7788 in block at /tmp/lafrbeyeHI:3» | ||
flussence | r: #= foo  class Foo { }  say ~Foo.WHY | ||
p6eval | rakudo 460c2a: OUTPUT«foo» | ||
flussence | there you go | ||
cognominal | Apparently Pod-To-HTML does not use .WHY | 01:31 | |
flussence | it was written when that was NYI :) | ||
japhb | xilo, so essentially you're trying to hide *data from non-child classes? | 01:32 | |
Are you trying to hide it because you don't want non-child classes to muck with it (alter the value, thus breaking things)? | 01:34 | ||
For that use case, Perl 6 would use a read-only public attribute. | |||
Visible, but not changeable. | |||
xilo | i didn't write the c++ | ||
one sec | |||
japhb | Well, instead of saying "you" and "you're", perhaps I should be saying "the code" | 01:35 | |
cognominal | data is written as a void* because a subclass will probably cast it to a specific struct type | ||
japhb | cognominal, *data really is an opaque pointer; see the comment at the end of line 15 | 01:36 | |
cognominal | Some how it is too much (specifying the existence of that variable) or not enough (being incapable of specifying the exact type) | ||
japhb: that's my point | |||
a void* is a design smell of something that will be precised in a derived class. | 01:37 | ||
japhb | I don't see (honestly) how we are saying the same thing. I'm saying that subclasses won't do anything but continue to treat it as a void*, because they're only using it as essentially a handle to hand to the wrapped library. | ||
xilo | japhb: root window has some special methods that only are operated on by root, hence the static Console root. instead of having to declare a root window and your other windows, data was made protected so the whole Console class can take care of it | ||
01:38
kurahaupo left
|
|||
cognominal | ok | 01:38 | |
01:38
kurahaupo joined
|
|||
xilo | cognominal: you can't do anything with a void * if you don't know what it is besides corrupting it which you can do to anything | 01:38 | |
there is some retardedness in there | 01:40 | ||
cognominal | It can be opaque or it can acessed safely in subclasses | ||
xilo | but that's how the c++ was made | ||
i'm just trying to convert into sensible p6 code :3 | |||
cognominal | xilo, one advice. Read about roles and read rakudo sources how uses them. It often recast (no pun intended) how one think about OO | 01:41 | |
japhb | xilo, I guess I'm saying that when converting to Perl 6, if you don't want to restructure the code in terms of e.g. roles, it *sounds* like you want to declare 'class Console { has $.data; has $.root; BUILD { self!initRoot } }' or so | 01:42 | |
But yes, I'd seriously suggest reading up on roles. They are just a way better way to do complex OO than a lot of older designs. | 01:43 | ||
xilo | i know what they are | ||
cognominal | * to see how rakudo uses them | ||
japhb | xilo, I meant no offense ... | 01:44 | |
xilo | this C library i'm wrapping doesn't really require much in the way of complex OO | ||
japhb | xilo, then I think my suggestion of 3 minutes ago applies. | 01:45 | |
xilo | of what | ||
japhb | -- 'class Console { has $.data; has $.root; BUILD { self!initRoot } }' or so | ||
By not declaring them 'is rw', those become read-only outside the Console class, but still visible. | 01:46 | ||
xilo | ha | ||
ah | |||
thought they were rw by default | 01:47 | ||
gtodd | flussence: I get things like: | ||
use of uninitialized value of type Mu in string context | |||
Ambiguous call to 'gist'; these signatures all match: | |||
:(Pod::Block:D : Mu *%_) | |||
flussence | yes, those are Pod objects, you need to call .Str on them if you just want plaintext | 01:48 | |
gtodd | ah ok | 01:49 | |
01:50
Ben_Goldberg joined
|
|||
xilo | r: class Foo { has $.bar; }; Foo $foo = Foo.new($bar=>2); say $foo.bar; | 01:50 | |
p6eval | rakudo 460c2a: OUTPUT«===SORRY!===Two terms in a rowat /tmp/iRg7GRt87m:1------> class Foo { has $.bar; }; Foo ⏏$foo = Foo.new($bar=>2); say $foo.bar; expecting any of: postfix infix stopper infix or meta-infix s… | ||
BenGoldberg | Can anyone recommend an irc client for windows which translates those escape- type sequences into colors? | 01:59 | |
I'm currently using webchat.freenode.net, with which they show up as-is... which is basically linenoise :) | 02:00 | ||
Or at least, a client with which I could strip them out entirely. | |||
xilo | mirc? | 02:01 | |
japhb | r: class Foo { has $.bar; }; my Foo $foo .= new(:bar(2)); say $foo.bar; | ||
xilo | or if you cool use irssi lol | ||
p6eval | rakudo 460c2a: OUTPUT«2» | ||
japhb | xilo: that's ^^ what you wanted, I think. | ||
xilo | yeah | 02:02 | |
japhb | BenGoldberg, or xchat | ||
xilo | so stuff is rw by default | ||
japhb | r: class Foo { has $.bar; }; my Foo $foo .= new(:bar(2)); $foo.bar = 3; | ||
p6eval | rakudo 460c2a: OUTPUT«Cannot assign to a readonly variable or a value in block at /tmp/tdRSqdI0pm:1» | ||
japhb | xilo: nope, just can be set on instantiation. | ||
xilo | ah | ||
japhb | r: class Foo { has $.bar is rw; }; my Foo $foo .= new(:bar(2)); $foo.bar = 3; say $foo.bar; | ||
p6eval | rakudo 460c2a: OUTPUT«3» | ||
japhb | But the 'is rw' changes that. | 02:03 | |
or 'has $!bar' would make it not visible outside the class. | |||
xilo | yeah | ||
02:05
prammer left
02:07
rhinux joined
02:08
erkan left,
prammer joined
02:15
tgt left
02:16
tgt joined
02:18
lustlife joined
02:19
tgt left
|
|||
cognominal | r: my %a = ( 'a' => sub { 'ha!' }); %a<a>.?() | 02:37 | |
p6eval | rakudo 460c2a: OUTPUT«===SORRY!===Cannot use .? on a non-identifier method callat /tmp/Qq8Pcs7v11:1------> %a = ( 'a' => sub { 'ha!' }); %a<a>.?()⏏<EOL>» | ||
BenGoldberg | r: my %a = ( 'a' => sub { say 'ha!' }); %a<a>() | 02:43 | |
p6eval | rakudo 460c2a: OUTPUT«ha!» | ||
BenGoldberg | I forget, what does .? do? | 02:44 | |
r: my %a = ( 'a' => sub { say 'ha!' }); %a<a>.() | |||
p6eval | rakudo 460c2a: OUTPUT«ha!» | ||
02:46
orafu left
02:47
orafu joined
02:49
Ben_Goldberg left
02:50
preflex_ joined
|
|||
cognominal | I was supposing that it would execute only if %a<a> ~~ Code | 02:50 | |
02:51
preflex left,
preflex_ is now known as preflex
|
|||
cognominal | I was infering it could exist because .? works with a named method | 02:51 | |
I would even say it should exist | 02:52 | ||
02:55
awwaiid joined
03:17
tgt joined
03:19
odoacre joined
|
|||
diakopter | seen kid51 | 03:19 | |
.seen kid51 | 03:20 | ||
yoleaux | I haven't seen kid51 around. | ||
japhb | diakopter, isn't he usually over on MAGnet in #parrot? | ||
diakopter | mmm | ||
03:20
awwaiid left
03:21
awwaiid joined
03:22
Ben_Goldberg joined
03:26
tgt left
|
|||
Ben_Goldberg | .ping | 03:27 | |
yoleaux | There is no ping command; nor can this be construed as a response. | ||
diakopter | .construe this | ||
Ben_Goldberg | .ud perl | 03:35 | |
yoleaux | pur'-el (n) 1. Computer programming language used mostly by male virgins, between the ages of 17 and 35, who are also well versed in the Lord Of The Rings stories.Pratical Extraction and Reporting La | ||
labster | That can't be true. We never talk about Manwë and Varda in here. | 03:37 | |
03:37
Ben_Goldberg left
03:39
Ben_Goldberg joined
|
|||
japhb | .ask jnthn It looks like the next most common pir:: is pir::perl6_current_args_rpa__P. Is that just replaceable with nqp::usecapture and friends? If so, it seems like a good LHF. | 03:43 | |
yoleaux | japhb: I'll pass your message to jnthn. | ||
japhb | .ask jnthn I see an "odd man out" in the use of pir::const:: instead of nqp::const:: for CCLASS_PRINTING. Was that just a missed conversion from some time ago, or is there a reason it wasn't converted? | 03:45 | |
yoleaux | japhb: I'll pass your message to jnthn. | ||
japhb | .ask jnthn Once all the pir:: is out of the Rakudo code, will you also be removing pir:: and Q:PIR from the Rakudo grammar? | 03:47 | |
yoleaux | japhb: I'll pass your message to jnthn. | ||
03:53
rindolf joined
04:00
arlinius left,
BenGoldberg left
04:02
Ben_Goldberg left
04:16
fgomez left
04:24
awwaiid left,
awwaiid joined
|
|||
xilo | damn... wish NativeCall and CStructs would be finished... just spent all this time trying to write wrapper only to find out can't because it's bugged ;_; | 04:29 | |
japhb | xilo: What is not working for you? | 04:30 | |
04:30
fgomez joined
|
|||
xilo | japhb: c struct that has 3 uint8. so made my cstruct. whatever is getting interpreted and past to the C calls ends up screwy | 04:31 | |
japhb | xilo, ah, you should talk to arnsholt then, he's the current maintainer of that stuff | 04:34 | |
xilo | ah | ||
kk | 04:35 | ||
seems like no one is really maintaining or anything for all the C binding stuff | 04:38 | ||
had to use this nasty hack gist.github.com/skids/2771728 lol | |||
japhb | xilo, your interpretation is incorrect. Work on C binding is continuing -- it's unfinished, not unmaintained -- but the next big piece has been somewhat delayed. | 04:42 | |
xilo | different words same result lol | 04:43 | |
japhb | xilo, except that the original words could be considered hurtful to those working on the problem. While you may end up in the same situation -- having to use a workaround for functionality that is not yet up to spec -- we try hard here to be supportive of our volunteers. :-) | 04:45 | |
xilo | i know | 04:46 | |
just kinda sucks scrapping entire project idea cause things aren't finished :/ | 04:47 | ||
labster | Why do you give up so easily? | 04:48 | |
japhb | Sure, I understand. But the best response to that is to pitch in and help finish it! :-) | ||
labster | Just wait around and it will get done eventually. | ||
Or help out, like japhb says. | |||
xilo | labster: eventually could be 1 month or 2 years from now | 04:49 | |
japhb: i don't have the skills to work on core language features | |||
labster | xilo: You'd be surprised. I submitted my first module 4 months ago and now I'm working on core language features. | 04:50 | |
don't undersell yourself. | |||
diakopter | humility is kinda foreign. delusions of grandeur, I mean, hubris, is preferred. :) | 04:51 | |
japhb | xilo, we do try to help people get up to speed -- and trust me, if your native language is C++, you've nothing to fear. :-) | ||
04:52
zby_home_ joined
|
|||
xilo | i do C kernel programming at work | 04:52 | |
and before that was perl5 lol | |||
diakopter | xilo: I'm kidding, of course. Humility is a breath of fresh air. | ||
xilo | well not kernel, but OS stuff | ||
labster | The issue is right now that our project leaders are working on porting rakudo the the JVM (read: making everything faster). Once that work is done, I'm sure we'll be working on more features. | ||
japhb | xilo, just start small and work your way up here then. If you know a Perl, and you do C kernel programming, you're more experienced than many people who have contributed. | 04:53 | |
.oO( "Come on in, the water's fine!" ) |
|||
diakopter | also insa ane other | ||
urp | |||
stupid p hone | |||
xilo | porting from parrot to jvm? | ||
diakopter | among other things | 04:54 | |
japhb | xilo, well, more precisely, adding the jvm as another supported VM. | ||
xilo | i see | ||
diakopter | xilo: I'm curious what led you to try rakudo/NativeCall? | 04:55 | |
japhb | But since JVM is the first added VM after the first, jnthn and various helpers have been hard at work making the NQP and Rakudo code more portable, replacing stuff that requires or assumes Parrot is the only VM. | ||
diakopter | blog? | ||
xilo | diakopter: i like perl5, wanted to learn perl6, so found a library i wanted to make a wrapper for | 04:56 | |
diakopter wonders hos you dodged the FUD (justified and spurious) | |||
*how | 04:57 | ||
04:59
frdmn left
|
|||
diakopter | oops... | 04:59 | |
xilo | oh and niecza doesn't have support for a native call type of thing | 05:01 | |
so yeah | |||
diakopter | actually it's possible, just not ohvious | ||
you'd have to do some IL generation... ;) | 05:02 | ||
japhb | xilo, it uses the normal .net methods of accessing libraries -- someone got gtk working in Niecza. | ||
xilo | yeah... no thanks lol | ||
diakopter | oh oops | ||
but you can do it my way too, it's just stupid | 05:03 | ||
xilo: yes the gtk example comes sith niecza | 05:04 | ||
now that japhb remindsme... | |||
xilo | that's not really hard when .net libraries are (mostly) interopperable | 05:05 | |
just use gtk# | |||
seems like that's what they are doing | |||
ah | 05:06 | ||
which is what japhb said | |||
japhb | ;-) | ||
05:10
lizmat joined
|
|||
diakopter | lizmat: howdy | 05:10 | |
lizmat | morning | 05:13 | |
breakfast& | |||
05:15
SamuraiJack joined
05:26
_daniel-s__ left
05:27
daniel-s joined
05:40
eternaleye_ joined
|
|||
japhb | Failing panda with new rebuild of Rakudo uncovers two problems: | 05:41 | |
1. The new nqp::copy, which powers IO.copy, does not seem to work -- it's got a comment that IO.copy is unspec'ed, so probably no failing test to notice the problem. | 05:42 | ||
2. When the last line of a for loop results in a Failure, the Failure may not trigger properly. (moritz -- sink problem?) | 05:44 | ||
05:48
dmol joined
05:53
rindolf left,
rindolf joined
06:00
rindolf left,
rindolf joined
06:01
eternaleye_ is now known as eternaleye
06:08
shachaf_ joined,
shachaf_ left,
shachaf_ joined,
shachaf left,
shachaf_ is now known as shachaf
06:09
lizmat left
06:12
zby_home_ left,
rindolf left,
rindolf joined,
domidumont joined,
domidumont left
06:13
domidumont joined,
frdmn joined
06:25
telex left
06:27
telex joined,
rindolf left,
rindolf joined
06:30
dmol left
|
|||
moritz | r: sub f { fail "foo" }; for 1 { f() }; say 42 | 06:31 | |
p6eval | rakudo 460c2a: OUTPUT«42» | ||
moritz | aye, sink problem | ||
06:35
FROGGS_ left
06:43
domidumont left
06:45
domidumont joined
06:47
Heather joined
|
|||
Heather | hey | 06:47 | |
diakopter | YO | 06:48 | |
Heather | were trying to become Clementine user | 06:49 | |
labster | hi | ||
Heather | labster hi | ||
but all I need is groobeshark and hotkeys now I've got own script (Script) to listen it: heather.cynede.net/2013/04/f-openshark.html \o/ | 06:50 | ||
06:51
domidumont left
06:55
sivoais joined
07:03
domidumont joined
07:08
FROGGS joined
07:10
domidumont left
07:18
fgomez left
07:31
snearch joined,
kurahaupo left
07:33
Celelibi left,
robinsmidsrod joined
07:39
Celelibi joined,
tgt joined
07:42
domidumont joined
07:46
fgomez joined,
snearch left
07:51
pjcj left
07:53
arlinius joined
07:56
kresike joined
|
|||
kresike | hello all you happy perl6 people | 07:56 | |
yoleaux | 10 Apr 2013 15:55Z <isBEKaml> kresike: thanks for all the "happy"s. :-) | ||
kresike | :) | ||
FROGGS | .tell lizmat that v5's spectest fudging works now, FROGGS the prat had local changes to the fudge script and hasn't seen it because of about hundred changed testfiles -.- | 07:57 | |
yoleaux | FROGGS: I'll pass your message to lizmat. | ||
FROGGS | hi kresike | ||
kresike | FROGGS o/ | ||
07:58
pjcj joined
08:00
berekuk joined
|
|||
FROGGS | .tell lizmat you need to update nqp/rakudo to make it work though (jnthn is refactoring stuff, and I needed to pull in his changes) | 08:01 | |
yoleaux | FROGGS: I'll pass your message to lizmat. | ||
08:06
daxim joined
|
|||
jnthn | morning, #perl6 | 08:15 | |
yoleaux | 03:43Z <japhb> jnthn: It looks like the next most common pir:: is pir::perl6_current_args_rpa__P. Is that just replaceable with nqp::usecapture and friends? If so, it seems like a good LHF. | ||
03:45Z <japhb> jnthn: I see an "odd man out" in the use of pir::const:: instead of nqp::const:: for CCLASS_PRINTING. Was that just a missed conversion from some time ago, or is there a reason it wasn't converted? | |||
03:47Z <japhb> jnthn: Once all the pir:: is out of the Rakudo code, will you also be removing pir:: and Q:PIR from the Rakudo grammar? | |||
diakopter | .tell jnthn yes. | ||
yoleaux | diakopter: I'll pass your message to jnthn. | ||
cognominal | r: my $now = now; sub a(*@a) { BEGIN { my $now = now; }; say( now - $now, ' ') }; a(|(1..2**$_)) for 0..15 | 08:16 | |
p6eval | rakudo 460c2a: OUTPUT«0.02479915 0.0578670 0.0752480 0.0955463 0.1228598 0.1466741 0.1671509 0.1969555 0.2210602 0.2436307 0.2748047 0.2955496 0.3227044 0.3864262 0.53831108 1.5823045 » | ||
jnthn | .tell japhb it's not so simple as nqp::usecapture 'cus it hllize's arguments and handles natives too. I suspect it may stay as an op and we just implement it in the set of extra ops we'll add for JVM, so it'll get an nqp::p6arglist op or so (should not say RPA in nqp:: op names). | 08:20 | |
yoleaux | jnthn: I'll pass your message to japhb. | ||
08:15Z <diakopter> jnthn: yes. | |||
jnthn | .tell japhb CCLASS_PRINTING being missing is just an oversight; should be converted too | ||
yoleaux | jnthn: I'll pass your message to japhb. | ||
jnthn | .tell japhb other things may use Q:PIR and pir:: outside of Rakudo, so that can live a bit longer, but we may want to make it require a pragma and spend a while warning if the pragma ain't there. | 08:21 | |
yoleaux | jnthn: I'll pass your message to japhb. | ||
FROGGS | morning jnthn | 08:23 | |
08:26
berekuk left
08:30
tgt left
|
|||
Heather | hi krunen jnthn FROGGS | 08:31 | |
08:32
berekuk joined,
domidumont left
08:33
domidumont joined
|
|||
jnthn | o/ Heather | 08:34 | |
oh, and FROGGS :) | |||
jnthn thought the int8 stuff worked in structs, fwiw... | 08:35 | ||
FROGGS | ya, thought that too, but never tested it... (even my SDL module would benefit from using it) | 08:38 | |
08:39
renormalist joined,
dakkar joined
08:42
tgt joined
08:44
isBEKaml joined
08:47
isBEKaml` joined,
isBEKaml` left
08:48
isBEKaml` joined
08:50
isBEKaml is now known as Guest45330,
Guest45330 left
08:51
isBEKaml` left,
isBEKaml` joined
08:56
pjcj left
08:57
pjcj joined
09:00
domidumont left,
amit_zero joined
09:01
domidumont joined
09:03
tgt left
09:04
isBEKaml` is now known as isBEKaml,
isBEKaml left,
isBEKaml joined
09:08
sqirrel joined,
tgt joined
09:09
Pleiades` joined
09:10
fhelmberger joined
09:11
berekuk left
09:14
berekuk joined
09:15
Pleiades` left
09:19
berekuk left
09:29
erkan joined,
erkan left,
erkan joined
09:32
domidumont left
09:33
domidumont joined
09:34
Pleiades` joined
09:35
isBEKaml` joined
09:36
isBEKaml left,
isBEKaml` is now known as isBEKaml,
isBEKaml left,
isBEKaml joined
|
|||
FROGGS | .u ⏏ | 09:39 | |
yoleaux | U+23CF EJECT SYMBOL [So] (⏏) | ||
09:40
amit_zero left
|
|||
dalek | : e31c030 | (Tobias Leich)++ | STATUS.md: test to see how that works |
09:49 | |
daxim | what. | 09:50 | |
p5 grammar? for real? | |||
dalek | : aa1276e | (Tobias Leich)++ | README.md: perl syntax highlighting |
09:53 | |
isBEKaml | FROGGS: Nice, I never thought this could be a module. :) | 09:54 | |
dalek | : 863436a | (Tobias Leich)++ | STATUS.md: text alignment |
09:57 | |
FROGGS | daxim: yes :o) | ||
isBEKaml: well, I believe nothing is impossible with the current implementation | 09:58 | ||
isBEKaml | FROGGS: ehh, is the STATUS.md doc right? | ||
FROGGS: I see a rakudo error message about TTIAR in there. :) | |||
FROGGS | isBEKaml: it is just a test | 09:59 | |
isBEKaml | FROGGS: well, I didn't say impossible. :) | ||
jnthn | Even the debugger is able to be module-esque rather than being tied into Rakudo itself. :) | ||
FROGGS | that is what I want to generate | ||
jnthn | Generally, the aim is that the architecture doesn't demand such things be core. | ||
FROGGS | isBEKaml: but what you see within the table are actually real values | 10:00 | |
isBEKaml | jnthn: Nice things are nice. :) | ||
jnthn | The fun bit will be seeing if an alternative frontend (like the debugger) and alternative backend (like the JVM) can compose nicely. :) | ||
isBEKaml | FROGGS: are you taking the tests from somewhere or are you generating them as you go? (roast, perlito)? | ||
FROGGS | isBEKaml: I took the tests from perl5 source, and we have perlitos tests | 10:01 | |
... and made a roast5 repo out of that | 10:02 | ||
isBEKaml | jnthn: definitely, fun things are to come to perl6 land! | 10:03 | |
FROGGS: I was nodding off asleep in the day when I saw your commit message to jolt me awake in interest. :D | |||
arnsholt | jnthn: Did you merge nqp/hll? | ||
My internet supply has been really spotty the last few days | 10:04 | ||
jnthn | arnsholt: yes | ||
arnsholt: And the corresponding rakudo/hll | |||
arnsholt: Both branches are gone now. | |||
arnsholt | Yeah, I went looking for the branch and couldn't find it =) | ||
jnthn | ah :) | ||
isBEKaml | arnsholt: heh, my internet supply has always be spotty. It's literally dotted with useless packets. :P | 10:05 | |
*been | 10:06 | ||
arnsholt | For some reason my laptop flat out refused to connect to the wifi at the hotel I was at (for a work seminar) | ||
Which was annoying, especially when I needed to be online >.< | 10:07 | ||
jnthn | :( | 10:11 | |
10:14
rking1 joined
|
|||
timotimo | hello, people. what's new? :) | 10:14 | |
10:14
rking left,
rking1 is now known as rking,
anuby left
|
|||
isBEKaml | hey, timotimo | 10:14 | |
jnthn | r: class This { }; This.new # this is new, timotimo :) | 10:15 | |
p6eval | rakudo 460c2a: ( no output ) | ||
jnthn | timotimo: Also from backlog, seems something didn't work out with nqp::copy | 10:16 | |
timotimo | oh. the rakudo tests didn't catch it, sadly | 10:18 | |
jnthn | No, turns out copy is not spec'd and so not tested :( | 10:19 | |
10:20
Heather left
|
|||
jnthn | Alas, it is used by Panda... | 10:20 | |
timotimo | how many hours ago is the message regarding that? | 10:22 | |
jnthn | 4.5 | ||
timotimo | ah, i was hoping there would be a better explanation than just "doesn't work" | 10:23 | |
i'll look into it | |||
jnthn | imho, we can spec it and add a spectest... | 10:24 | |
timotimo | i need to do a few errands first | ||
jnthn | np | 10:25 | |
jnthn is busy $dayjobbin' too | |||
10:33
fhelmberger left
10:36
fhelmberger joined
10:43
stevan_ left
10:48
isBEKaml left
11:04
anant joined
|
|||
anant | S02:1940 says "$:foo self-declared formal named parameter" ... shouldn't it be ":$foo"? | 11:14 | |
jnthn | No | 11:15 | |
That's in a parameter list | |||
This is the named equivalent of $^foo parameters. | |||
r: my $x = -> :$greeting { say "$greeting, anant" }; $x(:greeting('Привет')) | 11:16 | ||
p6eval | rakudo 460c2a: OUTPUT«Привет, anant» | ||
timotimo | that's neat! | 11:17 | |
jnthn | r: my $x = { say "$:greeting, anant" }; $x(:greeting('Привет')) | ||
p6eval | rakudo 460c2a: OUTPUT«Привет, anant» | ||
timotimo | i wonder for how much longer perl6 will surprise me with cool stuff | ||
11:19
snuffles left
|
|||
anant | jnthn: oh, so that's why the "self-declared" thingy in that sentence (S02:1940)? | 11:21 | |
jnthn | anant: Yes | ||
$^foo and $:bar are both declarations (as parameters) | |||
anant | jnthn: wow, this is head-spinning! Another question, is ":$foo" an example of twigil ? | 11:24 | |
jnthn | No, but $:foo is :) | 11:25 | |
The pattern is <sigil> <twigil> <name> | |||
$.foo # $ sigil, . twigil, name foo | |||
The twigil pretty much always tells you something about scope or lifetime. | 11:26 | ||
anant | jnthn: which synopsis will enlighten me about :$foo :) | 11:27 | |
moritz | S06 I think | 11:28 | |
or maybe S02 | |||
cognominal | :$foo is a pair | 11:29 | |
r: my $foo; say :$foo | |||
p6eval | rakudo 460c2a: OUTPUT«» | ||
cognominal | r: my $foo; say :$foo.perl | ||
p6eval | rakudo 460c2a: OUTPUT«"foo" => Any» | ||
moritz | r: my $foo = 42; say (:$foo).perl | ||
p6eval | rakudo 460c2a: OUTPUT«"foo" => 42» | ||
jnthn | :$foo in a signature, S06. :$foo as colon pair syntax, S02. | 11:30 | |
cognominal | by design, very often a :$foo pair is an argument passed to bind an parameter of the same name | 11:35 | |
r: sub foo(:$foo) { say $foo }; my $foo = 42; say $foo.perl; foo(:$foo) | 11:36 | ||
p6eval | rakudo 460c2a: OUTPUT«4242» | ||
cognominal | this usage explains why the same syntactical construct has two different meanings in different context. They are indeed very related. | 11:38 | |
11:39
isBEKaml joined
11:44
rhinux left
11:56
domidumont left
12:08
domidumont joined
12:14
skids left
12:18
tgt left
12:25
tgt joined
12:31
arlinius left
12:34
dayangkun joined
12:37
anant left,
crab2313 joined
12:38
stevan_ joined
12:49
sqirrel left
12:59
chinaXing joined
13:00
stevan_ left
13:02
tgt left
13:10
kaare_ joined
13:11
drbean left
13:12
PacoAir joined
13:13
drbean joined
13:25
bluescreen10 joined
13:27
avar joined,
avar left,
avar joined
13:29
jfried joined
13:31
gtodd joined
|
|||
gtodd | pmichaud: tadzik: how are doc.perl6.org p6doc and all those sorts of things doing? | 13:34 | |
moritz | occasionally somebody improves them :-) | 13:35 | |
gtodd | p6doc Str seems fairly errm slow compared to perldoc :) | ||
moritz | as does pretty much everythiing that builds on rakudo instead of p5 | 13:36 | |
which is why doc.perl6.org hosts static sites :-) | 13:38 | ||
13:39
bluescreen100 joined
|
|||
hoelzro | I think the best next step for Perl 6 web dev is site generators =) | 13:39 | |
gtodd | heh yeah but that will automagically improve some day :) p6doc seems very picky about where it is run from and where the index should be located etc. I can't see anyway to change that except hardcoded strings inside the script? | ||
moritz | huh? p6doc should look into @*INC | ||
which means it should look for .pod files anywhere that rakudo looks for modules | 13:40 | ||
if that's not the case, please submit a bug report | |||
13:42
skids joined
13:43
bluescreen10 left
|
|||
FROGGS | r: say @*INC | 13:44 | |
p6eval | rakudo 460c2a: OUTPUT«/home/p6eval/nom-inst/lib/parrot/5.2.0-devel/languages/perl6/site/lib /home/p6eval/nom-inst/lib/parrot/5.2.0-devel/languages/perl6/vendor/lib /home/p6eval/nom-inst/lib/parrot/5.2.0-devel/languages/perl6/lib /home/p6eval/.perl6/2013.03-81-g460c2ad/lib» | ||
FROGGS | r: say %*CUSTOM_LIB | ||
p6eval | rakudo 460c2a: OUTPUT«("perl" => "/home/p6eval/nom-inst/lib/parrot/5.2.0-devel/languages/perl6", "vendor" => "/home/p6eval/nom-inst/lib/parrot/5.2.0-devel/languages/perl6/vendor", "site" => "/home/p6eval/nom-inst/lib/parrot/5.2.0-devel/languages/perl6/site", "home" => "/home/p6eval/.per… | ||
gtodd | moritz: actually it finds the docs but it seems not to be able to find itself or the index.data file unless I run it from bin/p6doc inside the cloned doc repo ... I thought I might have done something bad to ENV or config settings but can't really find any :-) | ||
FROGGS | moritz: custom lib is always in INC too, right? | ||
ahh, so it wants its own bin-dir in path? | 13:45 | ||
moritz | gtodd: oh, I've never looked at the index.data file stuff | 13:46 | |
I'm not even sure if it's installed | |||
but yes, that needs fixing | |||
gtodd | moritz: I like static html pages for documentation especially when the idea seems to be dynamic updates, etc. Along with his /package hierarchy djb of tinydns/qmail fame had and idea for /doc/packages.html (an autogenerated set of links to /package/category/name/doc/index.html) ... it worked well but wasn't used widely | ||
13:47
colomon left
13:49
domidumont left
13:50
domidumont joined
13:55
rking left
13:56
rking joined
13:57
rking left
|
|||
gtodd | moritz: there seems to be some attempt made to "serve" the p6doc pages locally with a Mojolicious app .. but the routing doesn't seem to work ... perhaps something simpler to set up for local use that excercised some perl6 modules (HTTP::Easy?) would be a good idea (do we like dogfood ?) ... | 13:57 | |
moritz | we like dogfood, yes | ||
13:58
colomon joined
|
|||
gtodd | of course the doc.perl6.org site should be static and use massively optimized approaches in anticipation of the deluge to come | 13:58 | |
13:59
rking joined
|
|||
moritz | well, doc.perl6.org is static, and will remain that way (though maybe a dynamic search backend would be OK) | 13:59 | |
gtodd | oops I just typed "p6doc HTTP::Easy" to take a quick look at how that might work (if I'm patient panda tells me it is installed) | 14:00 | |
14:00
BigBear joined
14:02
crab2313 left
14:03
groky left
|
|||
dalek | : 2d51ec5 | (Tobias Leich)++ | t/test_summary: add script which produces STATUS.md |
14:03 | |
: c3d49d8 | (Tobias Leich)++ | STATUS.md: smoke the whole testsuite! |
|||
14:03
domidumont left
|
|||
gtodd | there's no docs but p6doc found the "placeholder" /home/gtodd/perl6/lib/parrot/5.2.0-devel/languages/perl6/site/lib/HTTP/Easy.pm6 without problems | 14:04 | |
14:04
domidumont joined,
groky joined
14:05
rking left,
stevan_ joined,
rking joined
|
|||
FROGGS | moritz: if someone wants to know v5's status, just point him to this: github.com/rakudo-p5/v5/blob/master/STATUS.md :P | 14:06 | |
timotimo | could you sort that by number of spec-(fails+skips)? | ||
FROGGS | hmmm, I coudl... | 14:07 | |
*could | |||
then I'd add a summary too | |||
nwc10 wonders where Perlito stands on that metric | |||
FROGGS | nwc10: maybe a bit better then v5 | ||
nwc10 | and anything else that is intending to parse or run Perl 5 | ||
timotimo | i think perl5 beats v5 by a big margin | 14:08 | |
FROGGS | hehe | ||
gtodd | moritz: I then did "panda install HTTP::Server::Simple" ... then "p6doc HTTP::Easy::PSGI" and it found everything .. it was empty but it found it "No Pod found in /home/gtodd/perl6/lib/parrot/5.2.0-devel/languages/perl6/site/lib/HTTP/Easy/PSGI.pm6" so well I'm surprised because all that's missing is the documentation :) | ||
jnthn | timotimo: i1.kym-cdn.com/entries/icons/origin...58202f.png :) | ||
gtodd | which folks will write eventually (perl6's pod format is different?) | 14:09 | |
FROGGS | *g* | ||
gtodd | a bunch of nascent pods are probably incubating as README.md's on github | 14:11 | |
14:17
drbean left,
fgomez left,
Celelibi left,
labster left,
moritz left,
nyuszika7h left,
sjohnson left,
gtodd left,
hoelzro left,
raiph left,
wolverian left,
jferrero left,
kaare_ left,
charsbar______ left,
cxreg left,
PerlJam left,
mtk left,
felher left,
nwc10 left,
simcop2387 left,
markov left,
stevan_ left,
domidumont left,
jfried left,
dakkar left,
frdmn left,
SamuraiJack left,
loops left,
daxim left,
prammer left,
xilo left,
crazedpsyc left,
erkan left,
shachaf left,
cognominal left,
SHODAN left,
TimToady_ left,
mattp__ left,
bluescreen100 left,
avar left,
kst left,
Yappo______ left,
ggoebel left,
pjcj left,
jtpalmer left,
rvchangue left,
kresike left,
odoacre left,
araujo left,
zamolxes_ left,
bruges left,
kingbeast left,
BigBear left,
skids left,
PacoAir left,
dayangkun left,
awwaiid left,
xinming_ left,
groky left,
chinaXing left,
rindolf left,
ironcamel left,
mls left,
Maddingue left,
ingy left,
preflex left,
Patterner left,
jerome left,
p6eval left,
tadzik left,
eternaleye left,
GlitchMr left,
risou left,
daniel-s left,
rking left,
fhelmberger left,
Pleiades` left,
FROGGS left,
orafu left,
pib1908 left,
isBEKaml left,
renormalist left,
robinsmidsrod left,
sivoais left,
telex left,
sftp_ left
14:19
rking joined,
stevan_ joined,
groky joined,
domidumont joined,
BigBear joined,
skids joined,
bluescreen100 joined,
gtodd joined,
jfried joined,
avar joined,
drbean joined,
PacoAir joined,
kaare_ joined,
chinaXing joined,
dayangkun joined,
isBEKaml joined,
fhelmberger joined,
Pleiades` joined,
erkan joined,
pjcj joined,
dakkar joined,
renormalist joined,
daxim joined,
kresike joined,
fgomez joined,
Celelibi joined,
robinsmidsrod joined,
FROGGS joined,
sivoais joined,
rindolf joined,
telex joined,
frdmn joined,
shachaf joined,
eternaleye joined,
daniel-s joined,
SamuraiJack joined,
awwaiid joined,
odoacre joined,
preflex joined,
orafu joined,
prammer joined,
Patterner joined,
sftp_ joined,
cognominal joined,
loops joined,
GlitchMr joined,
labster joined,
PerlJam joined,
jtpalmer joined,
mtk joined,
xinming_ joined,
kst joined,
kingbeast joined,
araujo joined,
Yappo______ joined,
felher joined,
hoelzro joined,
nwc10 joined,
zamolxes_ joined,
ironcamel joined,
raiph joined,
nyuszika7h joined,
wolverian joined,
rvchangue joined,
jerome joined,
jferrero joined,
mls joined,
pib1908 joined,
bruges joined,
ggoebel joined,
wtw joined,
cibs joined,
dalek joined,
Khisanth joined,
lue joined,
Timbus joined,
toddr_ joined,
mikemol joined,
LoRe joined,
Tene joined,
djanatyn joined,
perigrin joined,
hypolin joined,
Util joined,
kshannon joined,
diakopter joined,
xorp joined,
scottp joined,
cotto joined,
tomaw joined,
kcwu joined,
Juerd joined,
rhr_ joined,
felipe joined,
[Coke] joined,
ivan`` joined,
szbalint joined,
chee joined,
[particle] joined,
bakedb_ joined,
broquaint joined,
ruoso joined,
dpk joined,
timotimo joined,
yoleaux joined,
_sri joined,
rom1504 joined,
breinbaas joined,
Exodist joined,
BinGOs joined,
atrodo joined,
mj41 joined,
sorear joined,
pmichaud joined,
takesako___ joined,
betterwo1ld joined,
yves_ joined,
_ilbot joined,
jlaire joined,
yx joined,
flussence joined,
cooper joined,
jnthn joined,
swarley joined,
japhb joined,
nebuchadnezzar joined,
Rix joined,
sjohnson joined,
mathw_ joined,
SHODAN joined,
krunen joined,
Vlavv joined,
huf joined,
vaelxon joined,
dvj joined,
Bucciarati joined,
Gothmog_ joined,
lestrrat joined,
sdgvf_ joined,
pnu_ joined,
autumn joined,
arnsholt joined,
rafl joined,
genehack joined,
dbr joined,
salv0 joined,
anocelot joined,
BooK_ joined,
rurban joined,
cosimo joined,
p5eval joined,
bonsaikitten joined,
geekosaur joined,
apejens joined,
gfldex joined,
revdiablo joined,
mikec__ joined,
sergot joined,
ponbiki joined,
Ayiko joined,
clkao joined,
integral_ joined,
LordV joined,
sitaktif1 joined,
Hor|zon joined,
patspam joined,
nemesys joined,
mst joined,
eiro joined,
c1sung joined,
baest joined,
Grrrr joined,
yeltzooo joined,
charsbar______ joined,
TimToady_ joined,
Maddingue joined,
cxreg joined,
mattp__ joined,
simcop2387 joined,
ingy joined,
markov joined,
crazedpsyc joined,
tadzik joined,
p6eval joined,
risou joined,
mikess joined,
lee_ joined,
sjn joined,
sendak.freenode.net sets mode: +v p6eval,
moritz joined
14:27
rurban left
14:30
census joined
|
|||
isBEKaml | .u arch | 14:35 | |
yoleaux | U+032B COMBINING INVERTED DOUBLE ARCH BELOW [Mn] (◌̫) | ||
U+0372 GREEK CAPITAL LETTER ARCHAIC SAMPI [Lu] (Ͳ) | |||
U+0373 GREEK SMALL LETTER ARCHAIC SAMPI [Ll] (ͳ) | |||
14:36
PacoAir left
|
|||
FROGGS | .u ankh | 14:36 | |
yoleaux | U+2625 ANKH [So] (☥) | ||
FROGGS | .u klingon | 14:37 | |
yoleaux | No characters found | ||
FROGGS | -.- | ||
gtodd | moritz: pmichaud: tadzik: so for p6doc any local HTTP served version of a site's docs would need to behave like doc.perl6.org i.e. if I'm looking at lang.html it should be accessible at locahost:8080/lang/ and where the page says --> "lang' is a method from type X::Eval::NoSuchLang" ... those terms should link like this: | 14:38 | |
<a href="X::Eval::NoSuchLang">X::Eval::NoSuchLang</a> and the server/plackapp/whatever should be able to present X::Eval::NoSuchLang.html without the extension appearing. | |||
14:39
xilo joined
|
|||
gtodd | so that it's sort of RESTful ... in a Perl::Package::Kindof::Way | 14:39 | |
14:39
xilo_ joined,
xilo_ left
14:41
frdmn left
14:43
arlinius joined
14:47
colomon left
14:53
tgt joined
14:54
colomon joined
|
|||
moritz | RESTful doesn't have much to do with URL layouts | 14:58 | |
15:00
tgt left,
tgt joined
|
|||
jnthn | REST done Really Right (following the hypermedia constraint) treats URLs as opaque | 15:01 | |
With the outside world coupling only to the entry point. | 15:02 | ||
Just like humans only couple to amazon.com, then follow links for the rest of the business process. | |||
15:02
isBEKaml left
|
|||
jnthn bbiab | 15:05 | ||
FROGGS .oO( bbwab - be back with a beer ) | 15:07 | ||
census | FROGGS ++ | 15:10 | |
xilo | mm beer | 15:25 | |
15:28
GlitchMr left
15:29
GlitchMr joined
15:33
spider-mario joined,
kbenson joined
15:35
chinaXing left
15:37
SamuraiJack_ joined
|
|||
xilo | wish i could drink beer at work | 15:38 | |
would make the day go by better | |||
15:38
rurban joined
|
|||
kresike | bye folks | 15:38 | |
15:38
kresike left
|
|||
xilo | g'day sir | 15:39 | |
15:40
SamuraiJack left
|
|||
FROGGS | coffee is my beer | 15:40 | |
15:56
census left
16:00
stevan_ left
16:01
spike joined
|
|||
spike | hello. | 16:01 | |
xilo | hola | ||
spike | Quick question to anyone that's there from a Perl 5 user. | ||
Will perl 6 replace perl 5 at some stage? | |||
I always thought that Perl 6 was a rewrite of the base language but I've a feeling that might not be the case? | 16:02 | ||
16:02
daxim left
|
|||
xilo | no, they are different entities | 16:02 | |
spike | Fair enough. | ||
So they are existing as two separate languages now? | |||
xilo | yes | 16:03 | |
spike | In that case what the reasoning behind Perl 6? I couldn't find anything obvious on the website about history or that sort of thing? | ||
16:04
pmurias joined
|
|||
xilo | en.wikipedia.org/wiki/Perl_6 has a good description of the background | 16:04 | |
geekosaur | I suppose you could say it's intended to be a clean break from some design choices in perl 5 that it's pretty much stuck with for compatibility reasons | 16:05 | |
xilo | basically get rid of the nonsense cruft that's in perl5, make the language cleaner, and formally implement OOP | ||
spike | Ahh wikipedia.. don't know why I didn't hit that to begin with! | ||
Thanks xilo and geekosaur for the info. | |||
xilo | perl5 has some really wtf stuff in it | 16:06 | |
welcome | |||
timotimo | spike: if you're interested in more thorough history digging, you can read the original "apocalypses" where each part of the specification is explained (but it contains lots of outdated informations) | ||
16:06
colomon left
|
|||
timotimo | perlcabal.org/syn/ <- here in the "justification" column | 16:06 | |
spike | Cheers timotimo. High level is enough for me. | ||
The goals make sense.. be interesting to see if Perl 5 every dies! | 16:07 | ||
xilo | i doubt it... | ||
hell cobol/pascal/etc still are used lol | |||
FROGGS | spike: after decades it was just time to create an up-to-date language | 16:09 | |
you'll see what I mean when trying/reading more and more | |||
spike | We're just implementing a CICS based system in cobol. I don't know why the business have bought it but there you go! | ||
xilo | ouch | ||
16:10
spike left
|
|||
timotimo | sometimes i wonder if it would be a good idea to learn cobol to make mad amounts of money | 16:10 | |
gtodd | jnthn: well I meant more that the URLs for web served documentation would be built up out of the ops functions variables etc. in a way that looks more like perl than html and web ... | ||
timotimo | if you look at it like it's a "puzzle", then maybe it could even be enjoyable? | ||
xilo | timotimo: it's getting harder finding people that know cobol to maintain those huge ancient systems | 16:11 | |
geekosaur | ...and are willing to | ||
16:12
ggoebel left
|
|||
timotimo | xilo: that's why there would be crazy amounts of money! | 16:12 | |
16:12
ggoebel joined
|
|||
xilo | indeed | 16:13 | |
gtodd | moritz: so I guess the URLs are opaque compared to typical web_pages.html :) ... but the web served part of docs repo I checked seems broken now ... is doc.perl6.org simply apache and static pages and a bit of javascript ? | 16:14 | |
it seems mostly to work that way if I adjust the root ... but is the idea to have an optional localhost:6666/doc/ "viewer" something like the R console's "web docs" (it will spit out text like "p6doc Str" does but will launch webserver and a browser window to browse the docs if you want). | 16:33 | ||
so maybe p6doc -w Str would launch the (very small efficient) local webserver and point a browser ... p6doc -www Str would spit the url for the docs at doc.perl6.org and launch or point a browser window at it via --remote etc etc that kind of thing ? | 16:36 | ||
16:37
Chillance joined
|
|||
[Coke] | Looks like TPF is not on the list of accepted groups for GSOC 2013. Neither is Pafo | 16:42 | |
nwc10 | Did TPF apply? | 16:43 | |
(I know that Pafo did) | |||
[Coke] | I thought they did. | 16:44 | |
gtodd | moritz: and maybe a configurable setting for a behind firewall server part of the web address could be used instead of 127 .. would also be useful | 16:45 | |
mattp__ | [Coke]: what is pafo? | ||
gtodd | moritz: just wondering if there's some way I can help but it looks like things are almost done :) | ||
[Coke] | mattp__: The Parrot Foundation | 16:46 | |
gtodd | parrot advancement foundation | ||
[Coke] | TPF == The Perl Foundation | ||
mattp__ | [Coke]: ah gotcha | ||
gtodd | does PAFO still get money from MoFo | ||
(MoFo == Mozilla Foundation) | |||
[Coke] | I don't think so, but you'd have to ask the very quiet board members. | 16:48 | |
(I *really* don't think so) | |||
gtodd | to me it would seem parrot and perl6 would be very good for HTML5 because (insert reasons ____) and ... The Moz wants HTML5 ... | ||
hmm parrot.org/sponsors ActiveState BBC MozFo | 16:49 | ||
[Coke] | gtodd: one time donors. | ||
gtodd | NLNet ... but possibly a dated page | ||
yeah | 16:50 | ||
Someone should tell them about "3rd time lucky" | |||
[Coke] | discussion about PaFo is better held on #parrot @ irc.perl.org | ||
FROGGS | "dukeleto Happy to announce that @parrotvm will be mentoring students in #gsoc again this year! If you know awesome CS students, send them to me :) " | ||
gtodd | :) | 16:51 | |
\o/ | |||
[Coke] | FROGGS: when is that from? | ||
gtodd | hehe "this year!" | ||
FROGGS | [Coke]: two days ago | ||
according to parrot.org/sponsors (blue box on the right) | |||
[Coke] | ok. parrot is not in the list of accepted organizations. perhaps he needs to click on something to make it show up. | ||
FROGGS | ya, complete the profile or something | 16:52 | |
gtodd | hmm that would be important to do :) | ||
[Coke] | also, parrot.org/ is horribly broken. | 16:53 | |
whoops, ww. | |||
FROGGS | they say they accepted 177 projects, but only 169 projects are shown... | 16:54 | |
16:55
dakkar left
|
|||
masak | oh hai, #perl6 | 16:55 | |
16:55
PacoAir joined
|
|||
FROGGS | hi masak | 16:56 | |
masak tags irclog.perlgeek.de/perl6/2013-04-10#i_6687602 as an autopun | 16:58 | ||
jnthn | o/ masak | ||
16:58
TimToady_ is now known as TimToady
16:59
BigBear left
|
|||
TimToady starts to fuzz back into existence... | 16:59 | ||
yoleaux | 31 Mar 2013 08:49Z <diakopter> TimToady: welcome back! :) \o/ | ||
jnthn | TimToady! \o/ | ||
nwc10 | TimToady: can I ask a not Perl *6* question, that you might be able to quickly answer with "I don't remember" ? | 17:00 | |
TimToady | well, all but the bits they removed... | ||
nwc10: you can try :) | |||
FROGGS | TimToady: \o/ | 17:03 | |
nwc10 | in Perl 3, toke.c added code which seems to be written to avoid using explicit constants. Did the C compilers of that era (or the machines) generate better code if they could (re)load a value from memory (or figure out that they already had it in a register) than if you gave them an immedate constant (eg '-') that it would take a smart optimiser to realise was already in a register? | ||
masak | TimToady! \o/ | ||
nwc10 | see, said it wasn't Perl 6. :-) | ||
TimToady | nwc10: can you point me to a diff? | 17:04 | |
dalek | rl6-roast-data: ca9cf2d | coke++ | / (4 files): today (automated commit) |
||
rl6-roast-data: 5bc7bf9 | coke++ | / (4 files): today (automated commit) |
|||
pmichaud | TimToady: wb! o/ | ||
[Coke] ~~~ at TimeyWimeyTimmyToady | 17:05 | ||
[Coke] notes that rakudo has been failing S32-io/IO-Socket-INET.t 20 - successful read binary data for 2 days. | 17:06 | ||
TimToady | I don't know if anyone relayed my pathology reports, but the basic gist of it is that the tumor was more agressive/widespread than they thought, but they still think they probably got it all. won't know more for three months, but then the PSA test is a really good indicator, since there's not supposed to be anything producing PSA anymore... | 17:07 | |
17:07
FROGGS[mobile] joined
|
|||
[Coke] | (today's run is in progress.) | 17:07 | |
TimToady | *aggressive | ||
[Coke] | TimToady: best of luck. | ||
TimToady | thanks | ||
pmichaud | TimToady: yes, that's essentially the news we heard. I'll remain very hopeful for a good outcome. | 17:09 | |
jnthn also | |||
nwc10 had not heard it, but is glad that they think that they have it all | |||
also, I suspect that I might have my era of toke.c wrong. Trying to get a diff revealed older things... | 17:10 | ||
17:15
FROGGS left
|
|||
masak hugs TimToady | 17:16 | ||
17:18
frdmn joined
|
|||
[Coke] | r: PRE ; | 17:18 | |
p6eval | rakudo 460c2a: OUTPUT«===SORRY!===Missing block or statementat /tmp/6CTUNIVzyN:1------> PRE ⏏; expecting any of: statement list prefix or term prefix or meta-prefix» | ||
[Coke] | FROGGS++ | ||
nwc10 | TimToady: it's actually from perl 1.0. It's things like this part of perly.y: perl5.git.perl.org/perl.git/blob/pe...rly.c#l333 | ||
where it's doing tmp = *s++; | 17:19 | ||
OPERATOR(tmp); | |||
which makes sense if OPERATOR() is a macro that evaluates its arguments more than once | |||
and the "diff" I suspect is that the relevant code in 3.0 was copied from other parts | |||
so I might have answered my own question sort of | 17:20 | ||
sorry for the interruption. | |||
[Coke] | nwc10: hey! this is #perl6, not #perl1. :P | 17:21 | |
;) | |||
nwc10 | the diff in question *would* have been this one perl5.git.perl.org/perl.git/blobdif...a8:/toke.c | ||
which is the diff from 2.0 p1 to 3.0 | |||
for the code changes after `case '+':` for example | 17:22 | ||
17:22
frdmn left
|
|||
nwc10 | actually, there *is* still a question. | 17:23 | |
17:23
frdmn joined
|
|||
nwc10 | crap. *I* need more coffee. I've jsut answered it. | 17:23 | |
I'm spamming the channel and i'm not even an eval bot | |||
FROGGS[mobile] | nwc10: .commands | 17:27 | |
nwc10 | to return you to your regularly scheduled topic, having just looked at Perl 1's tokeniser, and recently had the fun of looking at what it has turned into, I think that it's an *excellent* idea to write the tokeniser in something other-than-C | 17:28 | |
(now that machines are powerful enough to make that a sane choice) | |||
FROGGS[mobile] | hmmm, must be faulty | ||
nwc10 | :-) | ||
jnthn | nwc10: We can't actually be bothered to write one for Perl 6, so we just write this Perl 6 grammar thing and then generate the lexer automagically :P | ||
17:30
colomon joined
|
|||
nwc10 | so after a lot of time to figure out how to write the code to do that, it looks after itself. That's very long term laziness. | 17:30 | |
arnsholt | nwc10: Do you consider (f)lex to still be C? =) | 17:33 | |
nwc10 | if one doesn't have to write C, it's not C. But unfortunately Perl 1 to 5 were not using flex. It's C code. 12,000 lines of it now: perl5.git.perl.org/perl.git/blame/H...toke.c#l12 | 17:35 | |
pmichaud thinks the above sequence should be saved as a "Perl 6" quote somewhere. | |||
afk, lunch | 17:36 | ||
17:37
FROGGS joined
17:38
ggoebel left
|
|||
diakopter | dpk: ping | 17:39 | |
17:41
ggoebel joined
17:46
PacoAir left
|
|||
diakopter | .. if you have to think in C semantics even though you're not writing C, it's C imho | 17:48 | |
dpk | diakopter, pong | ||
Tene | C's better anyway, because 99 is much higher than 6 | ||
although Perl 6 is catching up quite a bit in recent years, with C11 | 17:49 | ||
diakopter | dpk: hi :) feature request, or ignorant question if it's already got the feature | ||
dpk | fire away | ||
arnsholt | nwc10: Oh. Right. For some reason I thought Perl used flex | ||
In that case, I agree =) | |||
I was just a bit curious about flex, since it's kinda sorta C, but mostly not | |||
17:49
PacoAir joined
|
|||
arnsholt | I have a fond memory of doing a simple data munging flex. My friend did it using Common Lisp and spent way much more time, writing lots more code and ending up with a program that was dog slow =D | 17:51 | |
I had 10 lines of flex \o/ | |||
diakopter | channel-specific definitions - .? Foo is blah blah blah .? Foo <-- to retrieve definition and a way to append multiple [or expanded] definitions instead of replace existing - also with particular syntax for replace [as opposed to default append] you don't need a "confirm" on replace. Also, a way to enable one-way inherit of definitions, with transitivity. So this channel could share/modify the same set of definitions if *both* ... | 17:52 | |
... trusted/inherited each others' | |||
dpk: ^ | 17:54 | ||
enabling the trust is admin-only command obviously... | |||
dpk | hmm. i'll make a note. i can see why that might be useful (channel rules and stuff) | 17:55 | |
diakopter | er, "... the same set of definitions *[as another channel] ..." | ||
it's used a lot on help channels for shortcuts to FAQ answers | 17:56 | ||
dpk nods | |||
diakopter | or acronym explanations | ||
dpk | .acronym AAAAA | 17:57 | |
yoleaux | AAAAA could stand for: American Association Against Acronym Abuse; Association Amicale des Amateurs d'Andouillettes Authentiques; AHo's Amazing Atlas of Antibody Anatomy; American Association Against Alliteration Abuse | ||
diakopter | .acronym A | ||
17:57
shinobicl joined
|
|||
diakopter | .acronym AA | 17:57 | |
yoleaux | A could stand for: About; To; Adult; Are; Amateur; Year; Area; Ass; Account; Action; Advanced; Individual; Advanced Digital Audio; First in Series; Away; Author; Association; Ask; Blood Type; Active; Excellent; American Bank Note Company; Anna; Answer; Article; Accept | ||
AA could stand for: Automobile Association; Ana; Battery Size; Associate in Arts; As Above; Architectural Association; Athletic Association; Asian American; Bra Size; Administrative Assistant; Anti-Aircraft; Aruba; Amino Acid; Atomic Absorption | |||
diakopter | *sigh | ||
well, these would be channel-specific acronyms. :) | 17:58 | ||
dpk | ok, i'll think about it. if you want that functionality right now though, Bucket (github.com/zigdon/xkcd-Bucket) provides some of that functionality … i don't think it does channel-specific keyword associations, though … | 17:59 | |
diakopter | wow, a 2100-line subroutine | 18:00 | |
nice. | |||
jnthn: ^ example of extreme programming | 18:01 | ||
xilo | diakopter: all my whys | ||
diakopter | (bucket.pl) | ||
personally, I don't see anything wrong with it... it doesn't indent horribly much; it's just a very long inlined command-pattern | 18:02 | ||
but I know others would disagree | 18:03 | ||
18:03
BigBear joined
|
|||
japhb | timotimo: Sorry for bad error report re: nqp::copy (I was bleary tired after finding the two problems in the first place, since one was hiding the other). Did you get it figured out yet? | 18:03 | |
yoleaux | 08:20Z <jnthn> japhb: it's not so simple as nqp::usecapture 'cus it hllize's arguments and handles natives too. I suspect it may stay as an op and we just implement it in the set of extra ops we'll add for JVM, so it'll get an nqp::p6arglist op or so (should not say RPA in nqp:: op names). | ||
08:20Z <jnthn> japhb: CCLASS_PRINTING being missing is just an oversight; should be converted too | |||
08:21Z <jnthn> japhb: other things may use Q:PIR and pir:: outside of Rakudo, so that can live a bit longer, but we may want to make it require a pragma and spend a while warning if the pragma ain't there. | |||
japhb | jnthn, understood on all three. #2 (CCLASS_PRINTING) is a good LHF for someone with tuits in the next few hours .... | 18:04 | |
dpk | diakopter: i have to go now, but, so i remember, could you file a feature request at github.com/dpk/yoleaux/issues ? thanks | ||
diakopter | sure | ||
japhb | moritz, I see you confirmed the sink problem with fail at the end of a for loop -- did you manage to figure why the bug is happening? | 18:06 | |
FROGGS | [Coke]: that network stuff might be because of the newer parrot-revision we use :/ | 18:08 | |
dalek | rl6-roast-data: 31398bf | coke++ | / (4 files): today (automated commit) |
18:09 | |
[Coke] | FROGGS: you're off the hook: | ||
niecza has been dirty for 268 days. pugs has been dirty for 7 days. rakudo has been clean for 1 day. | |||
18:09
japhb_ left
|
|||
FROGGS | * [Coke] notes that rakudo has been failing S32-io/IO-Socket-INET.t 20 - successful read binary data for 2 days. | 18:10 | |
18:10
colomon left
|
|||
FROGGS | so S32-io/IO-Socket-INET.t fails? | 18:10 | |
18:10
colomon joined
|
|||
FROGGS | ohh, not anymore as it seems | 18:10 | |
[Coke]: nvm | |||
18:11
cognominal left
|
|||
FROGGS | [Coke]: btw, got my own pass rates now :o) github.com/rakudo-p5/v5/blob/master/STATUS.md | 18:12 | |
18:12
cognominal joined
|
|||
FROGGS | though you don't actually see a rate | 18:12 | |
18:12
cognominal__ joined
|
|||
FROGGS | but it will help me pretty much picking my tasks | 18:13 | |
18:18
[particle] left
18:20
[particle] joined
|
|||
[Coke] | FROGGS++ | 18:26 | |
18:34
[particle] left
|
|||
gtodd | moritz: correction to all of the above ... Mojolcious updated some syntax .. and the htmlify.pl script broke because my graphviz was too old ;-) | 18:35 | |
18:37
[particle] joined
|
|||
gtodd | pmichaud: tadzik: the p6doc app.pl from github.com/perl6/doc.git needs this tiny change for latest mojolicious : | 18:37 | |
-app->static->root('html'); | |||
+app->static->paths(['html']); | |||
18:39
japhb_ joined
|
|||
[Coke] | regarding sixification of modules - can we either get more memory alloted to that instance (if needed) or setup an rsync for updating perl6 builds on that instance? | 18:45 | |
18:54
sqirrel joined
18:56
leprevost joined
19:01
SamuraiJack_ left
19:03
cognominal_ joined
19:05
cognominal__ left
19:06
cognominal left,
cognominal__ joined
19:15
tgt left
19:16
grondilu joined,
domidumont left
|
|||
moritz | gtodd: what's your github ID? | 19:17 | |
19:17
snearch joined
19:18
cognominal_ left
19:22
tgt joined
|
|||
xilo | hmm need something to do | 19:23 | |
gtodd | moritz: opendev I think | 19:24 | |
moritz: not really mine :-) ... it's sort of a leftover from opendevelopment.net not sure I have a password for it | 19:25 | ||
_sri wonders if perl6 has something like nested exceptions bugs.ruby-lang.org/issues/8257 | 19:26 | ||
raiph | i'm thinking it would be nice to be able to declare variables without sigils. this is interpreted to mean because of that i'm wondering what would it take to create a slang in which one could omit the sigil when declaring (and referencing) variables? is it even possible? | 19:27 | |
s/this is interpreted to mean.// | 19:28 | ||
FROGGS | r: my \hello = 42; say hello | ||
p6eval | rakudo 460c2a: OUTPUT«42» | ||
masak | IAI (It's Already Implemented) | ||
gtodd | moritz: this is not me --> github.com/gtodd :) | 19:29 | |
FROGGS | masak: nevar evar seen that :o) | ||
raiph | FROGGS: masak: i think i mean something else (more) | ||
19:30
dmol joined
19:34
Chillance left
|
|||
labster | masak: I took up your challenge and wrote some more character classes. blog.brentlaabs.com/2013/04/perl-6-...-pack.html | 19:36 | |
raiph | i like sigils, for a few reasons. i liked the feature FROGGS demo'd when Larry introduced it. not just because it was a sop to those calling for "sigilless (sp?) variables". but that too. | 19:39 | |
jnthn | labster++ | ||
masak | labster: nice! \o/ | 19:40 | |
it's really been three years? oh man. | |||
labster: minor nit: s/The interpreter/The compiler/ | 19:41 | ||
tadzik | labster: s/prophesy/prophecy/? | 19:42 | |
FROGGS | labster++ | ||
*g* | |||
arnsholt | _sri: I think moritz++ is the one who's most familiar with the exception stuff | ||
tadzik | labster: this is awesome! | 19:43 | |
labster++ | |||
FROGGS | raiph: what did I demo? I can't follow somehow | 19:44 | |
masak is more than fine with being Mäsak the Pretty Cool Guy :) | |||
19:44
snearch_ joined
|
|||
FROGGS | raiph: and yes, it would be possible to omit sigils in a slang, like C or so | 19:44 | |
raiph | 15:28 <FROGGS> r: my \hello = 42; say hello | 19:45 | |
is what i meant | |||
FROGGS | ahh, okay | ||
raiph | i was thinking about something else | ||
19:45
snearch left
|
|||
FROGGS | raiph: you would just need to convince the grammar that you can declare a variable without a sigil and without a backslash, and you're (almost done) | 19:46 | |
raiph: so tell us :o) | |||
raiph | r: my \hello = 42; say hello; $hello = 4; say hello # would dwim | 19:47 | |
p6eval | rakudo 460c2a: OUTPUT«===SORRY!===Variable '$hello' is not declaredat /tmp/QIkMNdxUIM:1------> my \hello = 42; say hello; $hello⏏ = 4; say hello # would dwim expecting any of: postfix» | ||
FROGGS | raiph: what exactly is $hello? a reference to hello ? | 19:49 | |
raiph | btw, i hadn't worked that out when i started typing in to irc so i just had to make that up because it was time to try. :) | ||
labster | thanks guys. I should really join the blog planet. | ||
19:50
larks joined
|
|||
diakopter | masak++ nice abstract OO O_O | 19:50 | |
labster | I like sigilless variables too, but sometimes I just confuse myself when I use them. It's like those sigils are serving as topic markers, which makes it easier for me to read. | 19:52 | |
FROGGS | I only like sigilless thing in C | 19:54 | |
not in Peril | |||
19:55
colomon left
|
|||
masak | diakopter: oh, you noticed? glad you like it ;) | 19:56 | |
raiph | labster: yes, i agree. i like topic markers. so i would write $foo. | ||
not only a topic marker, but a scalar container topic too. | 19:57 | ||
that $ packs a lot of punch | |||
but someone else could write foo | 19:58 | ||
and if they needed to specify the context to make foo work (which is prolly a lot of the time) they'd write $foo | |||
unless they really meant @foo | 19:59 | ||
FROGGS | EBUGDETECTED: that reify_method is not defined: github.com/perl6/nqp/blob/master/s...OW.pm#L151 | ||
masak | raiph: that seems like it would lose a lot of the benefits of the noun/verb namespace separation, though. | 20:00 | |
raiph | only if someone chose to do that | ||
20:00
colomon joined
|
|||
raiph | as i said, i (and it sounds you) would type $foo | 20:00 | |
others would type foo | 20:01 | ||
including, perhaps, myself when i wasn't myself | |||
20:02
kaare_ left
|
|||
diakopter | Peril indeed | 20:04 | |
masak: HAHA | 20:06 | ||
20:07
FROGGS[mobile] left
|
|||
diakopter | masak: but you don't say *which way* it removes all doubts: "This talk aims to remove all doubts." | 20:07 | |
the ambiguity is hilarious. | |||
masak | diakopter: glad you liked that one too ;) | 20:08 | |
diakopter: (it's an old joke. I don't know who originated it.) | 20:09 | ||
diakopter | ah. I didn't know that | 20:10 | |
japhb_ | .tell timotimo Here's the actual error message from the failing copy operation: Failed to copy '/home/geoff/git/panda/ext/File__Tools/README' to '/home/geoff/git/rakudo/install/lib/parrot/5.2.0-devel/languages/perl6/site/panda/src/File__Tools/README': No such method 'copy' for invocant of type 'OS' | ||
yoleaux | japhb_: I'll pass your message to timotimo. | ||
larks | question about the byte code,perl6 compiles stuff to parrot byte right? So if I wanted to do some sort of operation on the byte code, I'd need to looking to parrot, right? | 20:12 | |
jnthn | larks: Rakudo compiles to Parrot bytecode at the moment, yes. | ||
japhb_ | .tell timotimo (You'll only see that error if you work around the fail/for/sink bug by putting something after the copy operation in the loop near the end of .../panda/lib/Panda/Fetcher.pm ($_.IO.copy("$where/{$_.name}"); ) | ||
yoleaux | japhb_: I'll pass your message to timotimo. | ||
jnthn | (Will also do JVM bytecode sometime in the next couple of months...) | 20:13 | |
larks | jnthn: do you think that Rakudo will change anytime soon? | ||
jnthn | larks: Rakudo changes every day... :) | ||
larks: Change what, specifically? | |||
larks | what it compilesbyte code too | ||
will it switch to jvm, or just have that option | |||
jnthn | Have the option. | 20:14 | |
The architecture is the typical frontend/backend compiler one. | |||
Perl 6 -> AST -> (some backend that targets a particular VM) | |||
With the backend bit being selectable. | |||
masak | diakopter: there. all three talk abstracts written, and all three talks confirmed. | ||
diakopter | \o/ masak++ | 20:15 | |
larks | cool, I'm thinking about starting a project that is dependent on the bytecode and if it were to change it would change haha | ||
thanks for the help jnthn | |||
jnthn | larks: What are you thinking of doing, out of curiosity? | 20:16 | |
diakopter perks up | |||
larks | well, I'm a CompE grad student, that's all I'm saying `-` | ||
larks wouldn't mind talking but doesn't know about his advisor | 20:18 | ||
jnthn | OK. May be worth knowing that there's already a mostly-complete NQP that runs on the JVM and produces JVM bytecode. And I probably don't have to tell you the toolchain for manipulating JVM bytecode is much richer, so you may have an easier time there. | ||
larks: Feel free to privmsg me if there's stuff you want to ask but don't want to or can't in public | 20:19 | ||
larks | noted =] | ||
diakopter | larks: plus there are hundreds of times more languages that run on the JVM than parrot... | ||
larks: I assume you're optimizing at the bytecode level (what else would you do with just bytecode?) .. or translate to another VM, I guess, or JIT to some CPU... okay. | 20:21 | ||
20:21
shinobicl left
|
|||
lee_ | jnthn: i hate to waste your time, but... I looked at optimizing the reduce metaop for Ranges. but it looks like the Range is converted to a Parcel before being passed in | 20:21 | |
so the implementation does not have access to .min or .max directly | 20:22 | ||
raiph | labster++ # blog post | ||
lee_ | probably in over my head :P | ||
raiph | labster: cf www.oreillynet.com/onlamp/blog/2005/10/ofun.html | ||
jnthn | lee_: Which thing gets passed the Parcel out of curiosity? | ||
lee_ | jnthn: the subroutine returned by METAOP_REDUCE_LEFT | 20:23 | |
raiph | labster: 16 roles within Perl 6 community | ||
jnthn | lee_: Well, it does *@values, which is a slurpy... | 20:24 | |
20:24
fhelmberger left
|
|||
lee_ | jnthn: yeah, i was just playing around with making that not slurpy | 20:24 | |
jnthn | Yeah, trouble is that slurpy will flatten the range I guess. | ||
Hmmm. | |||
diakopter | wrap in capture? | ||
jnthn | Well, the other thing is to refactor a bit, to declare a couple of multi candidates and return that. | 20:25 | |
raiph | labster: all, wrong URL above. should be www.perl.com/pub/2005/09/22/onion.html | ||
jnthn | multi reduce_it(Range $r) { }; multi reduce_it(*@values) { ...what we do today... }; &reduce_it | ||
Or so. | |||
Would need to turn the ?? !! into an if/else but that's no biggie. | 20:26 | ||
lee_ | what if it simply called $vals.reduce and the implmentation lived in Range/Array/etc? | ||
20:27
berekuk joined
|
|||
jnthn | Trouble is that it's sensitive to left/right assoc and those things, and it'd be preferable not to spread that stuff out. | 20:27 | |
20:27
rindolf left
20:28
rindolf joined
|
|||
jnthn | It's almost certainly better to factor the optimization so it falls out of something like multi-dispatch, rather than doing introspection, though. | 20:28 | |
20:29
rindolf left
|
|||
lee_ | jnthn: would that Range multi candidate get called if it is being passed a Parcel? | 20:32 | |
timotimo | r: my @map; @map[3][3] = "X"; @map.perl.say; @map = Any, map({ when Positional { (Any, @($_)).item }; default { Any } }, @map); @map.perl.say; # why does it get flattened? :( | ||
yoleaux | 20:10Z <japhb_> timotimo: Here's the actual error message from the failing copy operation: Failed to copy '/home/geoff/git/panda/ext/File__Tools/README' to '/home/geoff/git/rakudo/install/lib/parrot/5.2.0-devel/languages/perl6/site/panda/src/File__Tools/README': No such method 'copy' for invocant of type 'OS' | ||
p6eval | rakudo 460c2a: OUTPUT«Array.new(Any, Any, Any, [Any, Any, Any, "X"])Array.new(Any, Any, Any, Any, Any, Any, Any, Any, "X")» | ||
yoleaux | 20:12Z <japhb_> timotimo: (You'll only see that error if you work around the fail/for/sink bug by putting something after the copy operation in the loop near the end of .../panda/lib/Panda/Fetcher.pm ($_.IO.copy("$where/{$_.name}"); ) | ||
jnthn | lee_: Hm, maybe not, but even then you can write (Parcel (Range)) or so | ||
lee_ | ah ok | 20:33 | |
20:38
spider-mario left
20:39
dj joined
|
|||
dj | hi everyone | 20:39 | |
20:40
dj is now known as Guest87564
|
|||
Guest87564 | i just figured out perl6 | 20:40 | |
dalek | : cfff2db | (Tobias Leich)++ | lib/Perl6/P5Grammar.pm: lookup %*ENV for %ENV |
||
FROGGS | hi Guest87564 | 20:41 | |
(aka dj) | |||
Guest87564 | i have a problem with perl 5 with making a class which would be dynamically extendable, read add attribute in runtime | ||
that is how i discovered perl 6 | |||
can someone tell me how convenient this is in perl 6, if its possible at all | 20:42 | ||
FROGGS | well, then welcome :o) | ||
you can define roles and mix then in at runtime for example | |||
masak | yeah, I'd just keep doing 'but' with more roles. | 20:43 | |
japhb_ | Guest87564, also, you can use the metamodel to directly manipulate OO structures (classes, roles, instances, etc.) if the standard syntax like runtime role mixin is not enough for you. | 20:44 | |
xilo | you can do that at runtime? | ||
FROGGS | r: class A { }; role B { method hello { say "hello" } }; my $a = A.new; $a does B; $a.hello | ||
p6eval | rakudo 460c2a: OUTPUT«hello» | ||
xilo | that's really neato | ||
masak | \o/ | ||
yeah, it's nice. | |||
and that's 'does'. | |||
japhb_ | jnthn: he can haz awesome sauce. | ||
xilo | makes component programming ez sauce | ||
masak | with 'but', you get to keep the original object, too. | ||
Guest87564 | yap, that´s what i figured out from here rosettacode.org/wiki/Add_a_variable...ntime#Perl | 20:45 | |
2 more questions: i guess that there is get_all_attributes? | 20:46 | ||
but thats only a guess | |||
masak | Guest87564: yeah, just ask the meta layer. | ||
Guest87564 | another question is if win7 64bit is supported? | 20:47 | |
masak | r: class C { has $.foo; has $.bar }; say C.^attributes | ||
p6eval | rakudo 460c2a: OUTPUT«$!foo $!bar» | ||
masak | Guest87564: yes, win7 64bit is supported. | ||
japhb_ | r: class A { has $.foo; has $.bar; }; my A $a .= new; DUMP($a); | ||
p6eval | rakudo 460c2a: ( no output ) | ||
xilo | Guest87564: yeah i have rakudo running on my windows 7 box | ||
masak | japhb_: 'say' | ||
japhb_ | r: class A { has $.foo; has $.bar; }; my A $a .= new; .say for $a.^attributes; | ||
p6eval | rakudo 460c2a: OUTPUT«$!foo$!bar» | 20:48 | |
FROGGS | r: say Str.^methods | ||
p6eval | rakudo 460c2a: OUTPUT«BUILD Int Num chomp chop substr pred succ match ords lines samecase samespace trim-leading trim-trailing trim words encode capitalize wordcase trans indent codes tclc path WHICH Bool Str DUMP ACCEPTS Numeric gist perl comb subst split» | ||
japhb_ | masak, I know. :-) | ||
FROGGS | Guest87564: see, everything is there, and pretty easy too | ||
20:48
sqirrel left
|
|||
Guest87564 | ok, great | 20:49 | |
i also hope that there is LWP | |||
FROGGS | r: class A { has $.foo; has $.bar; }; my A $a .= new; say $a.DUMP; # that looks nice | ||
p6eval | rakudo 460c2a: OUTPUT«A<1>( :foo(▶Any), :bar(▶Any))» | ||
Guest87564 | search.cpan.org/~gaas/libwww-perl-6...lib/LWP.pm cause that is basically why I started perl | 20:50 | |
xilo | LWP is on the most wanted list | ||
Guest87564 | xilo: which means it´s there, i guess? | 20:51 | |
xilo | Guest87564: which means it's a WIP/doesn't exist and is something that people really want | ||
Guest87564 | aha, i hope it come soon. i am not very familiar with perl | 20:52 | |
but what i have compared perl 5 vs 6 | |||
i found 6 much easier to use | |||
japhb_ | FROGGS, glad you like it. ;-) | 20:53 | |
FROGGS | :o) | ||
yepp | |||
japhb_: you did that? | |||
japhb_ | yup | ||
FROGGS | japhb++ | ||
the <1> after the name is the definedness? | |||
Guest87564 | i mean, this add_attribute via a_role i figured out in perl 6 just from the code, while in perl 5 i still cannt get it running properly | 20:54 | |
japhb_ | Actually, it's the ordinal of the object as it was found in the (possibly circular or aliased) object graph. That way it can show you when you have two things that are bound to the same object, and which one it is. | ||
FROGGS | that is because perl5 was not made for these things... | 20:55 | |
Guest87564 | i guessed so | ||
FROGGS | japhb: ahh, thanks | ||
dalek | : 2d7dcbb | (Tobias Leich)++ | STATUS.md: (I wish it would be an automatic-) smoke test update |
20:56 | |
Guest87564 | so, is there any easy to use devel environment for perl 6 as e.g. eclipse with EPIC? | ||
FROGGS | hmmm, no | ||
japhb_ | The right pointing triangle means 'held in a scalar container', a leading infinity symbol means 'is marked infinite', and a leading = sign means 'same as an already seen object' | 20:57 | |
FROGGS | Guest87564: you have to install rakudo (or rakudo star) and use your editor of your choice | ||
Guest87564 | okey dokey, but some integration package, that when you hit play it executes the script does not exist | 20:58 | |
20:58
frdmn left
21:01
dmol left
|
|||
xilo | Guest87564: you could use vim and setup a shortcut :3 | 21:02 | |
Guest87564 | yap, but i do like eclipse, and its svn. :-) | 21:03 | |
ok guys, i am gone for now | |||
gotta sleep | |||
21:03
skids left
|
|||
Guest87564 | wish u luck | 21:03 | |
ciao | |||
masak | o/ | ||
xilo | g'night sir | ||
japhb_ | I love friendly, curious guests. | 21:04 | |
21:04
dmol joined,
dmol left
21:05
FROGGS left
|
|||
masak | 'night, #perl6 | 21:12 | |
japhb_ | o/ | 21:13 | |
21:13
snearch_ left,
bluescreen100 left
21:17
bruges_ joined
21:18
bruges left
21:22
kurahaupo joined
21:24
colomon left
21:31
FROGGS joined,
toddr_ left
21:32
toddr joined
21:35
colomon joined
21:40
PacoAir left
22:00
kshannon left
22:02
lustlife left
22:03
stevan_ joined,
stevan_ left
22:04
stevan_ joined
22:05
xilo left
22:06
leprevost left
22:07
kshannon joined
22:19
lizmat joined
22:26
xilo joined
22:33
skids joined,
frdmn joined
22:36
grondilu left
22:54
M_o_C joined,
Guest87564 left,
M_o_C left
22:58
BenGoldberg joined
23:03
BenGoldberg left
23:04
BenGoldberg joined
|
|||
labster | r: my $t = now; my $a = "a"; $a ne '' for ^50000; say now - $t; | 23:08 | |
p6eval | rakudo 460c2a: OUTPUT«2.2234445» | ||
labster | r: my $t = now; my $a = "a"; ($a eq '').not for ^50000; say now - $t; | 23:09 | |
p6eval | rakudo 460c2a: OUTPUT«0.8715064» | ||
labster | Why does ne take twice as long here? | ||
r: my $t = now; my $a = "a"; $a eq '' for ^50000; say now - $t; | 23:10 | ||
p6eval | rakudo 460c2a: OUTPUT«0.6334043» | ||
labster | eq takes even less time. | ||
23:11
lizmat left
23:17
gdey joined
|
|||
japhb_ | labster: because ne is defined in terms of a metaop on eq. | 23:17 | |
src/core/Stringy.pm:multi infix:<ne>(Mu \a, Mu \b) { a !eq b } | 23:18 | ||
23:21
pmurias left,
BigBear left
23:24
rafl left
23:27
rafl joined
|
|||
labster | Parrot defines isne as a counterpart to iseq, but we're not using it. I'd imagine that we're not in the mood to add opcodes, though. | 23:30 | |
japhb_ | labster, if the opcode already exists in the nqp:: space, you can always add more str and Str:D multis to src/core/Str.pm | 23:55 | |
(next to all the places that nqp::iseq_s() is used) | 23:56 |