»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend! Set by sorear on 4 February 2011. |
|||
TimToady | there are many cursors, of many cursor types; they are all "special" in their own way | 00:00 | |
but each of them knows what language it is parsing, and what state they represent in the current parse | 00:01 | ||
perlOblivious | TimToady, so you always get a $xA2 when you work with regex? o.O | ||
TimToady | yes, but you're not supposed to know about that most of the time | ||
it's more a concept | |||
when you write a method in a grammar, the current cursor actually comes in as self, and the method returns a new cursor | 00:02 | ||
nothing actually has to be called $¢ | |||
perlOblivious | so you just return self+1? | ||
TimToady | that's just its name if you happen to refer to it in STD's action closures | ||
no, a cursor is not a number | 00:03 | ||
perlOblivious | that is, you do self.cursor_fresh(self.pos+1) | ||
TimToady | yes, and return that | ||
perlOblivious | kewl | ||
alright. thank you. this means perl already has everything i thought of :-) | |||
TimToady | well, not cursor_fresh, that's for changing type | 00:04 | |
perlOblivious | then self.pos-1? | ||
TimToady | just self.cursor(self.pos + 1) | ||
perlOblivious | self.pos-1; return self? | ||
ungh. | |||
TimToady | you can't modify a cursor | ||
they are immutable | 00:05 | ||
perlOblivious | alright. | ||
yeah, didn't make sense what i said anyway ;-) | |||
TimToady | (well, you can, if you're the optimizer, but that's cheating) | ||
perlOblivious | thanks for the clarification | ||
i'll have to learn perl already. | |||
TimToady | the BIG point is that you backtrack merely by throwing away cursors, and getting the next one from a lazy list | ||
so backtracking never has to "undo" anything it did when going forward | 00:06 | ||
perlOblivious | yeah. and it has to return to the state before, it's more complex than to just decrement a cursor, the transition from that state could've been a group | 00:07 | |
00:07
armitage81 left
|
|||
TimToady | it's just throwing away possible future universes, like Schrödinger's Cat. :) | 00:07 | |
mhasch | poor kitten :-) | 00:08 | |
japhb_ | TimToady, can a backtrack jump way back at once (dropping a pile of choice points all in one "step")? | ||
perlOblivious | TimToady, hmm, isn't it actually adding on more, given that it is going back in time, where present wasn't decided? | ||
TimToady | perlOblivious: but if the previous group was producing a lazy list of possible universes, you just throw away the current universe and pick the next on off the list, and it automatically recurses into the group through the magic of lazy lists | ||
japhb_ is thinking in terms of GC tuned for making the grammar engine happy | |||
TimToady | *next one | 00:09 | |
00:09
armitage81 joined
|
|||
TimToady | lazy lists are a way of doing poor-man's continuations | 00:09 | |
00:10
armitage81 left
|
|||
TimToady | so a form of time travel, yes, in a branching universe | 00:10 | |
perlOblivious | TimToady, if you're resetting state to a previous point, how would you count then? | ||
japhb_ | I guess if it's a lazy list, you never move more than one at a time ... it just may end up being logically distant, even though it's just "the next item on the list" | ||
perlOblivious | *all state | ||
sorear | perl 6 gather/take is exactly equal in power to coroutines | ||
00:10
armitage81 joined
|
|||
TimToady | as long as the state of all the butterflies flapping in China is contained in the cursor, you're good to go | 00:10 | |
sorear | in the macro-reducibility sense | ||
TimToady | yes, but cursors can at least be reused | 00:11 | |
mhasch | can we choose between "longest match" and "first match"? | ||
TimToady | sure, use | vs || | ||
mhasch | nice. | 00:12 | |
perlOblivious | i'm thinking perl doesn't get the respect deserves - all because of the few extra ascii chars used for making code more succinct. | ||
TimToady | so cursors are a little more like continations in that respect than pure coroutines | ||
*nuat | |||
japhb_ | TimToady, do you have any sense on how big the collection of "active" cursors gets to be in a typical STD parse? | 00:13 | |
TimToady | perlOblivious: we don't want respect; we just want to help people get their work done | ||
diakopter | japhb_: it goes past warning's recursion threshold | 00:14 | |
japhb_ | "Respect, no respect ... we're the ones with the chainsaw." | ||
TimToady | well, we wouldn't mind a little more respect, but it's easy to get so much respect you can't get anything else done | ||
perlOblivious | TimToady, marketing is almost everything unfortunately. | 00:15 | |
mhasch | it's nice to be important, but more important to be nice | ||
diakopter | perlOblivious: I agree, at least for nowadays | ||
20 years ago, things were far less industrialized | 00:16 | ||
perlOblivious | diakopter, there's really no escaping it. flocking is human nature | ||
i use marketing in quite a broad sense | |||
diakopter | me too | ||
00:16
armitage81 left
|
|||
TimToady | we do marketing; we're just subtle about it | 00:16 | |
00:16
armitage81 joined
|
|||
TimToady | p6 marketing is still mostly in the "Shh! Don't tell anyone yet!" stage. :) | 00:17 | |
perlOblivious | TimToady, that's actually good | ||
I think | |||
TimToady | it's a phase that will pass when the time is right | 00:18 | |
perlOblivious | Otherwise there'd be pressure to prematurely standardize and freeze | ||
TimToady | "Avoid success at all costs." | ||
perlOblivious | What's that? | ||
TimToady | Haskell slogan. | ||
ours is "Second system syndrome done right!" | 00:19 | ||
perlOblivious | hmm... weren't they designed by a committee decades ago? | ||
TimToady | committees are people too | ||
perlOblivious | yeah, they don't meet very often though, and their agreements are pretty much set in stone | ||
TimToady | well, of course, they believe in immutable values | 00:20 | |
perlOblivious | XD | ||
TimToady | we only believe in them when it's convenient | ||
perlOblivious | i only believe in mutable values when they are convenient | ||
speaking of which, i just got acquainted with Rust. Quite nice | 00:21 | ||
diakopter | lolz; committee convenient | ||
00:21
armitage81 left,
armitage81 joined
|
|||
perlOblivious | alright, nice chatting with you guys. cya | 00:23 | |
00:23
perlOblivious is now known as paxcoder,
paxcoder left
00:25
armitage81 left
00:26
armitage81 joined,
atrodo left
00:31
armitage81 left,
armitage81 joined
00:32
armitage81 left
00:33
supernovus joined,
armitage81 joined
|
|||
supernovus | Fwew, well, the XML library now has some rudimentary documentation. Currently just stuffed in the README.md on github, but hey, it's better than the previous state (which was zero documentation.) | 00:34 | |
00:36
supernovus left
00:37
armitage81 left
00:38
armitage81 joined,
cognominal joined
00:40
armitage81 left
00:43
cognominal left,
cognominal_ joined
|
|||
cognominal_ | r: Pair.new | 00:43 | |
p6eval | rakudo 2fca74: ( no output ) | ||
cognominal_ | I am not sure what to think of that. I would expect the method .new to return an instance of the same type as of the invocant, not from some base type | ||
r: say Pair.new | |||
p6eval | rakudo 2fca74: OUTPUT«Any => Mu» | ||
00:44
cognominal_ left
00:46
grondilu joined
|
|||
skids | .oO(would it be too nanny to warn/fail harmlessly if --output= is set to the same file as the program file) |
00:47 | |
[Coke] has a qast question - if I want to not only create a lexical var but assign it a new instance of a class, how do I do that? (qast::var lets me make the lexical...) | 00:53 | ||
japhb++ # army of darkness | 00:56 | ||
00:58
anuby joined
|
|||
japhb_ | heh | 01:05 | |
01:14
rindolf joined,
hypolin joined
01:20
armitage81 joined,
sjohnson left,
kst left,
gootle left,
arlinius left,
Tene left,
rhr left,
ruz left,
frettled left,
charsbar_____ left,
`patch` left
01:21
sjohnson joined,
kst joined,
gootle joined,
arlinius joined,
Tene joined,
rhr joined,
ruz joined,
frettled joined,
charsbar_____ joined,
`patch` joined
|
|||
[Coke] | japhb_: new evil dead movie coming soon. | 01:30 | |
japhb_ | Schweet. | ||
Still starring The Chin? | |||
[Coke] | nope. | 01:31 | |
rjbs | It's a remake of the first one. | ||
en.wikipedia.org/wiki/Evil_Dead#The...13_film.29 | |||
no Ash | |||
[Coke] | rjbs: not exactly a remake, as I understand it, but definitely closer in tone to the 1st one. | ||
rjbs | I think it's as much a remake of Evil Dead as (say) Friday the 13th recently was a remake of the original. | 01:32 | |
fwiw | |||
01:39
benabik left
01:43
rindolf left
01:50
armitage81 left,
armitage81 joined
01:52
armitage81 left,
armitage81 joined
01:53
armitage81 left,
armitage81 joined
01:54
armitage81 left
01:55
sjohnson left
01:57
armitage81 joined,
armitage81 left,
armitage81 joined,
grondilu left
01:58
benabik joined,
sjohnson joined
02:05
MikeFair left
02:12
MikeFair_ joined
02:14
tokuhiro_ left
02:15
tokuhiro_ joined
02:19
tokuhiro_ left
|
|||
japhb_ | I'm getting this with ./perl6-debug -e 'say "test"' : | 02:27 | |
===SORRY!=== | |||
P6opaque only supports type changes where the MRO of the original type is a suffix of the MRO of the new type | |||
Anybody else getting that? | |||
(Fresh 'git pull; git clean -dxf; make') | 02:28 | ||
02:29
japhb_ left
02:30
orafu left,
orafu joined
02:35
am0c joined
02:59
kaleem joined
03:05
MikeFair_ left
03:15
sjohnson left,
sjohnson joined
03:20
cognominal joined
|
|||
[Coke] needs "make install" on the debugger. | 03:27 | ||
japhb | agreed | 03:29 | |
03:34
cognominal left
03:35
sjohnson left
03:39
sjohnson joined,
araujo left
03:42
cognominal joined
03:51
cognominal left
03:59
thou joined
04:16
hash_table left
04:18
telex left
04:26
telex joined
04:33
telex left
04:37
telex joined
04:40
armitage81 left
|
|||
sorear | phenny: tell masak mobile.twitter.com/neiltyson/statu...360384?p=v | 04:41 | |
phenny | sorear: I'll pass that on when masak is around. | ||
04:46
azawawi joined
|
|||
azawawi | hi | 04:46 | |
what's the usual module namespace for writing language grammars in Perl? | 04:47 | ||
Perl/Perl6 i.e. | 04:48 | ||
sorear | There isn't one yet. | 04:49 | |
azawawi | i was thinking about Language::XYZ or Grammar::XYZ | 04:50 | |
do we have a smoke server somewhere for panda modules? | 04:51 | ||
i.e. modules.perl6.org/ | 04:52 | ||
05:03
azawawi left
05:04
am0c left
05:13
rogerrogerstein left
|
|||
masak | morning, #perl6 | 05:15 | |
phenny | masak: 04:41Z <sorear> tell masak mobile.twitter.com/neiltyson/statu...360384?p=v | ||
masak | sorear: indeed. | ||
though here we're clearly skirting the line between "self-reference" and "autopun". | 05:16 | ||
sorear wonders if masak can hear that in Tyson's voice | 05:22 | ||
still, I thought it would amuse you. | |||
masak | aye :) | 05:23 | |
I think I can hear it in Tyson's voice. I've seen him on streamed media. | |||
[Coke]: I think rt.perl.org/rt3/Ticket/Display.html?id=74946 is legit, fwiw. or at least, I don't see offhand why it would not be. | 05:24 | ||
05:27
GlitchMr joined
05:29
replore joined,
replore left
05:32
birdwindupbird joined
|
|||
moritz | good morning | 05:36 | |
masak | good morning, good moritz. | 05:38 | |
sorear | good moritzning. | ||
05:39
birdwindupbird left
|
|||
sorear | how be you and Ronja? | 05:39 | |
moritz | tired, otherwise quite fine | ||
05:39
birdwindupbird joined
|
|||
moritz | yesterday night when I came home from $work, Ronja delightfully shouted "papa" and ran to me, throwing her into my arms | 05:40 | |
that was nice :-) | |||
TimToady | Heidi did that to me once, except she was on the wrong side of the swimming pool. :) | 05:41 | |
moritz | :-) | ||
05:41
tokuhiro_ joined
|
|||
masak | TimToady: how old? | 05:41 | |
TimToady | good excuse for daddy to ruin a pair of shoes :) | ||
about 2 | 05:42 | ||
masak | oh! | ||
yes, ruin those shoes. | |||
sorear | :-) | 05:43 | |
masak | rn: my %h = a => "b"; %h<a> = %h.delete("a"); say %h.perl | 06:08 | |
p6eval | niecza v22-13-g0d2a99e: OUTPUT«{"a" => "b"}.hash» | ||
..rakudo 2fca74: OUTPUT«().hash» | |||
masak | [Coke]: another indication Rakudo is doin' it rong. | ||
sorear | masak: how so? | 06:10 | |
pmichaud and I reached an agreement months ago that = should evaluate its right argument first | |||
(niecza does not actually do this, yet) | |||
06:12
simcop2387 left,
simcop2387 joined
06:15
tokuhiro_ left,
tokuhiro_ joined
|
|||
masak | sorear: the above niecza evaluation is consistent with infix:<=> evaluating its right argument first. the key is deleted by the rhs, and the re-inserted by the lhs. | 06:16 | |
06:16
jaldhar left
06:17
jaldhar joined
|
|||
dalek | d: bcb3aa6 | larry++ | STD.pm6: properly diagnose missing assignop on s[] |
06:18 | |
d: f14804f | larry++ | STD.pm6: (except do it right) |
|||
d: 47e39ad | larry++ | CursorBase.pmc: Merge branch 'master' of github.com:perl6/std |
|||
06:20
tokuhiro_ left
06:21
nyuszika7h left
06:22
flightrecorder joined,
FROGGS joined
06:29
sjohnson left,
sjohnson joined
|
|||
sorear | masak: ack, I misread p6eval's output and thought niecza's output was actually rakudo's | 06:29 | |
06:30
nyuszika7h joined
06:32
_jaldhar joined,
jaldhar left
06:35
_jaldhar left,
_jaldhar joined
06:37
odoacre left
06:41
_jaldhar left
06:46
azawawi joined
|
|||
azawawi | hi | 06:46 | |
moritz | \o | 06:47 | |
azawawi | is there any modules.perl6.org test smoker? | ||
it is been a while since i did anything interesting in the perl6 land | 06:48 | ||
06:48
bbkr_ left
|
|||
azawawi takes a look at github.com/perl6/ecosystem/wiki/Mo...ed-Modules | 06:48 | ||
so what's the recommended rakudo release for playing with modules? | 06:49 | ||
s/rakudo release/perl6 distro/ | 06:50 | ||
sorear | azawawi: rakudo star | 06:54 | |
moritz | azawawi: github.com/tadzik/emmentaler | 06:56 | |
06:58
odoacre joined
06:59
aharoni joined
07:09
brrt joined,
GlitchMr left
|
|||
azawawi | moritz: thx | 07:14 | |
07:38
mucker joined
07:39
fhelmberger joined
07:42
hoelzro|away is now known as hoelzro
07:48
mst left
07:49
mst joined
07:55
MolbOrg joined
07:56
rking left
|
|||
masak | <TimToady> committees are people too | 07:57 | |
:D | |||
07:59
rking joined
|
|||
sorear | OT: α Cen Bb. man, there is no time like the present. | 08:01 | |
masak | full ACK. | ||
"The planet is not in the habitable zone [...]" aww. en.wikipedia.org/wiki/Alpha_Centauri_Bb | 08:03 | ||
08:04
azawawi left
|
|||
FROGGS | cool, didn't know | 08:07 | |
must be a sign that they finally found an extra-solar-planet on my birthday :P | |||
UFP++ | |||
masak | FROGGS: happy belated birthday. | 08:08 | |
sorear | pretty soon exoplanet discoveries are going to be daily. | 08:10 | |
maybe even in time for my 22nd | |||
FROGGS | masak: thanks ;o) | 08:11 | |
22nd what? not birthay, right? | |||
you don't look that young | |||
tadzik | :) | ||
Life's full of surprises | 08:12 | ||
FROGGS | damn it, I'm an oldie | ||
tadzik | he's not that young, he's older than me :P | ||
FROGGS | and that exactly is... ? | ||
sorear | has FROGGS seen me? | ||
FROGGS | at the YAPC::EU, ya | ||
I made jokes afterwards here that you look like weird al, remember? | 08:13 | ||
tadzik | so I'm not the only one :) | ||
sorear | heh | ||
tadzik | FROGGS: I'm 21 for a few more months | ||
FROGGS | I'm 30 now xF3.xF2 | 08:14 | |
but hey, I can still go to toilet on my own, so thats fine | 08:15 | ||
masak | FROGGS: I can report that being 31 feels exactly like being 30. | ||
FROGGS | hehe | 08:16 | |
ya, think you are right | |||
you'Re just getting wiser | |||
moritz | it's big-ish events that make you feel older (living abroad, becoming a parent, starting to $work), not passing of time | 08:17 | |
08:17
kurahaupo left
|
|||
moritz | at least for me, so far | 08:17 | |
FROGGS | definitely | ||
sorear | yeah | ||
tadzik | starting to live on my own felt like quite a jump for me | ||
sorear | yapc::eu was a much bigger deal for me than my 18th | ||
FROGGS | have two kids now, the oldest one is getting three years old this xmas | 08:18 | |
sorear | (age of legal majority in US) | ||
FROGGS | two sons and the fact that I'm married to the best girl there is makes me think: what did I do before all that? sure, had my own flat and a good job, but it's nothing compared to what I "have" now | 08:20 | |
stuff like that my youngest can walk now is much of a jump to me that any of my birthdays | |||
tadzik | I view it as sort of a next level-up there is to be | 08:21 | |
08:21
fgomez left
|
|||
FROGGS | ya | 08:21 | |
tadzik | as for "what did I do", well, get ready? :) | ||
(got ready?) | 08:22 | ||
moritz | FROGGS: full ack | ||
masak | applied to Perl 6, it's the milestones we hit that matter, not the years that pass. | 08:23 | |
08:24
mucker left,
mucker joined
|
|||
FROGGS | true | 08:26 | |
there are official milestones? | |||
(written somewhere I mean) | |||
masak | github.com/rakudo/rakudo/blob/nom/docs/ROADMAP | 08:27 | |
FROGGS | ohh cool, thanks | 08:28 | |
08:28
araujo joined
|
|||
masak | I'm not aware of a similar resource for Niecza. future milestones are sometimes mentioned with the release announcements. | 08:28 | |
jnthn | japhb: I somewhat suspect something I comitted to Rakudo last night may have caused the debugger bustage. | 08:29 | |
08:30
mucker left
|
|||
masak | I seem to recall there was at least a per-version roadmap of Pugs, but I can't find it now. | 08:31 | |
ah, here: en.wikipedia.org/wiki/Pugs#Version_numbering | 08:32 | ||
08:44
nwc10 joined
08:45
daxim left
08:49
dakkar joined
08:56
kaleem left,
kaleem joined
|
|||
moritz found blog.rfw.name/2012/10/17/c%2B%2B_templates.html quite fascinating | 08:56 | ||
Timbus | Andrei Alexandrescu replied :o | 09:06 | |
odd that he didnt bring up D and its compile time function evaluation | |||
09:14
birdwindupbird left
09:17
anuby left,
anuby joined
09:34
am0c joined
09:37
birdwindupbird joined
09:42
thou left
09:44
sjohnson left
10:00
brrt left
10:04
hypolin left
10:06
anuby left
10:14
SamuraiJack joined
10:15
xinming_ left
10:22
SamuraiJack_ joined
10:24
SamuraiJack left
10:25
kaleem left
10:29
xinming joined,
mucker joined
10:31
birdwindupbird left
10:33
birdwindupbird joined
10:39
rindolf joined
10:42
birdwindupbird left
10:47
Guest2351 joined
|
|||
Guest2351 | hello | 10:47 | |
am0c | Hi! | ||
Guest2351 | am coo | 10:48 | |
where are u from | |||
am0c | It may be an obvious question for others, what is the pronunciation for 'niecza' ? | ||
from South Korea. | |||
tadzik | it's something along nye-tscha | 10:49 | |
10:49
Guest2351 left
|
|||
am0c | tadzik: I see. thanks! | 10:49 | |
p6eval: help | 10:50 | ||
p6eval | am0c: Usage: <(star|pugs|nqp|b|std|niecza|rakudo|nom|npr|n|r|perl6|prn|rn|p|rnp|nrp|pnr|rpn|p6|nr)(?^::\s) $perl6_program> | ||
am0c | p6eval: nom:: say "nom" | 10:51 | |
nom:: say "nom" | |||
nr: say "nr" | 10:52 | ||
moritz | nom: say 'nom' | ||
p6eval | rakudo 2fca74, niecza v22-13-g0d2a99e: OUTPUT«nr» | ||
rakudo 2fca74: OUTPUT«nom» | |||
am0c | nqp: say "nqp?" | ||
p6eval | nqp: OUTPUT«Confused at line 2, near "say \"nqp?\""current instr.: 'panic' pc 20008 (src/stage2/gen/NQPHLL.pir:7316) (src/stage2/gen/NQPHLL.pm:324)» | ||
am0c | n: say "n?" | ||
moritz | nqp doesn't like listops | ||
p6eval | niecza v22-13-g0d2a99e: OUTPUT«n?» | ||
moritz | you have to use say() with parens in nqp | ||
am0c | I see. | ||
dislike listops.. that's really nice explanation, easy to understand! | 10:54 | ||
11:03
rindolf left
11:05
Su-Shee_ joined
11:08
Su-Shee left
11:09
benabik left
11:17
Su-Shee_ is now known as Su-Shee
|
|||
Hor|zon | well, that's actually a bad case for an array, better case for a hash | 11:19 | |
woops wrong channel | |||
soz | |||
11:24
birdwindupbird joined
11:27
sudokode left
11:28
_jaldhar joined
|
|||
bbkr__ | what is the syntax to declare method with quoted name (for example with dot in it)? | 11:34 | |
jnthn | r: class Foo { method ::("what? spaces and stuff!") { say 42 } }; Foo."what? spaces and stuff!"() | 11:35 | |
p6eval | rakudo 2fca74: OUTPUT«No such method 'what? spaces and stuff!' for invocant of type 'Foo' in block at /tmp/xWgjYSyx0H:1» | ||
jnthn | uh, I thought that... | ||
11:35
sudokode joined
|
|||
bbkr__ | rakudo: class A {}; A.^add_method( "foo.bar", sub (A) { 123 } ); A."foo.bar"().say | 11:37 | |
p6eval | rakudo 2fca74: OUTPUT«123» | ||
jnthn | r: class Foo { method ::("what? spaces and stuff!") { say 42 } }; say Foo.^methods | 11:38 | |
p6eval | rakudo 2fca74: OUTPUT«::("what? spaces and stuff!")» | ||
jnthn | fail | ||
bbkr__ | i can do it through HOW but i was hoping for simpler syntax | ||
hm, so the ::() syntax is correct but calling such method is bugged? | 11:39 | ||
I see not - the method is registered but with ::() wrapping as part of the name | 11:41 | ||
should I report bug? | |||
moritz | r: sub ::('&what? spaces and stuff!') () { say 42 }; say MY::.keys | 11:43 | |
p6eval | rakudo 2fca74: OUTPUT«!UNIT_MARKER GLOBALish EXPORT $?PACKAGE ::?PACKAGE $_ $/ $! &&what? spaces and stuff! $=pod» | ||
moritz | r: sub ::('what? spaces and stuff!') () { say 42 }; ::('what? spaces and stuff!')() | 11:44 | |
p6eval | rakudo 2fca74: OUTPUT«No such symbol 'what? spaces and stuff!' in method <anon> at src/gen/CORE.setting:9957 in at src/gen/Metamodel.pm:2401 in any find_method_fallback at src/gen/Metamodel.pm:2389 in any find_method at src/gen/Metamodel.pm:925 in at src/gen/BOOTSTRAP.pm:827… | ||
moritz | r: sub ::('what? spaces and stuff!') () { say 42 }; ::('&what? spaces and stuff!')() | ||
p6eval | rakudo 2fca74: OUTPUT«42» | ||
moritz | r: sub ::('what? spaces and stuff!') () { say 42 }; &::('what? spaces and stuff!')() | ||
p6eval | rakudo 2fca74: OUTPUT«42» | ||
bbkr__ | how to co the same for class method? | 11:47 | |
moritz | I don't think it works yet | 11:48 | |
11:48
MayDaniel joined
|
|||
bbkr__ | rakudo: Int.::("xyz")() # LTA error message IMO, worth reporting? | 11:48 | |
p6eval | rakudo 2fca74: OUTPUT«No such method 'QAST::Want<-349714076>' for invocant of type 'Int' in block at /tmp/FA1GhHpXzU:1» | ||
bbkr__ | std: Int.::("xyz")() | ||
p6eval | std 47e39ad: OUTPUT«ok 00:00 42m» | ||
moritz | bbkr__: I'm testing a really simply patch for method ::(...) { } now -- no idea if it'll work | 11:56 | |
pmichaud | phenny: tell PerlJam when creating the 2012.10 release, note that we need to keep PARROT_REVISION at RELEASE_4_4_0 (i.e., don't bump it up to 4.9.0 because of issue #861). | 11:57 | |
phenny | pmichaud: I'll pass that on when PerlJam is around. | ||
11:58
kaleem joined
|
|||
moritz | $ ./perl6 -e 'class A { method ::("spac y") () { say 42 } }; A."spac y"()' | 12:02 | |
42 | |||
but it causes lots of spectestf failures :( | 12:03 | ||
12:03
daxim joined
12:04
SamuraiJack__ joined,
SamuraiJack_ left
12:09
rindolf joined,
pmurias joined
|
|||
jnthn | moritz: odd it causes failures... | 12:09 | |
moritz | jnthn: I noticed that my nom was out of date; I've rebased now and spectest again | 12:10 | |
jnthn | consuming outdated nom is normally bad for you... | 12:11 | |
moritz | :-) | ||
am0c | anyway what is "r:" for ? | ||
jnthn | rakudo | 12:12 | |
am0c | ah.. I see | ||
p6eval: help | 12:13 | ||
p6eval | am0c: Usage: <(star|pugs|nqp|b|std|niecza|rakudo|nom|npr|n|r|perl6|prn|rn|p|rnp|nrp|pnr|rpn|p6|nr)(?^::\s) $perl6_program> | ||
jnthn | nom and rakudo and r are all the same these days | ||
"prn"? sounds like a Web 2.0 site for, well... :) | |||
am0c | tehe :3 | ||
then, star is now based on nom? | 12:14 | ||
moritz | yes | ||
since 2012-04 iirc | |||
am0c | me notes | 12:15 | |
am0c notes | |||
that's nice! | |||
daxim | p6eval: help help | 12:20 | |
p6eval | daxim: Usage: <(star|pugs|nqp|b|std|niecza|rakudo|nom|npr|n|r|perl6|prn|rn|p|rnp|nrp|pnr|rpn|p6|nr)(?^::\s) $perl6_program> | ||
daxim | what's b? drawing a blank there | ||
am0c | b: say "Yey" | 12:21 | |
p6eval | b 922500: OUTPUT«Yey» | ||
pmichaud | b is the Beijing release of Rakudo (2011.07) | ||
it's the version before nom. | |||
12:22
nmishin joined
|
|||
am0c | b: say $?VM | 12:22 | |
p6eval | b 922500: OUTPUT«===SORRY!===Symbol '$?VM' not predeclared in <anonymous> (/tmp/qZqIblZMuy:22)» | ||
12:23
nmishin is now known as mishin
|
|||
masak | trim-leading and trim-trailing are in the spectests but not in S32/Str. | 12:26 | |
rn: say trim-trailing("oh yeah! ") | |||
p6eval | rakudo 2fca74, niecza v22-13-g0d2a99e: OUTPUT«oh yeah!» | ||
masak | anyone mind if I add them to S32/Str? :) | 12:27 | |
moritz doesn't mind | |||
pmichaud | +1 if we're sure that we're keeping them :) | ||
12:29
mishin left
|
|||
dalek | ecs: eb7089a | masak++ | S32-setting-library/Str.pod: [S32/Str] mention trim-leading and trim-trailing |
12:29 | |
masak | I think they're fairly established at this point. | ||
12:30
SamuraiJack__ left
|
|||
colomon | masak++ | 12:30 | |
12:30
nmishin joined
|
|||
masak | I wonder what would happen if we gave 10 volunteers the task "find 10 things in the spec that can be improved, and propose patches to improve them". | 12:34 | |
omissions and typographical things rather than radical new features, of course. | 12:35 | ||
am0c | r: "yey".gist.say | ||
p6eval | rakudo 2fca74: OUTPUT«yey» | ||
jnthn | .say calls .gist, iirc. so that's probably redundant :) | 12:36 | |
masak | am0c: the '.gist' is redundant; .say already prints the .gist of what jnthn said. | ||
am0c | er.. okay | ||
jnthn | uh-oh...do I really want Rakudo giving people the gist of what I said? :P | ||
[Coke] | so, regarding the debugger. Once I use make, there is no "perl6-debug" - there's an nqp script, but nqp bin/perl6-debug.nqp foo.p6 errors out. What am I missing? | 12:37 | |
jnthn | make | 12:38 | |
12:40
nmishin left
|
|||
jnthn | oh, you did use make | 12:40 | |
wtf | |||
why is there no perl6-debug? | |||
What does "make" output for you? | 12:41 | ||
[Coke] | wtf. I just remade and now it's there. wtf. | ||
ah. some weirdness with with the literal .exe perhaps. | |||
or perhaps I was sleepy. jnthn++ | 12:42 | ||
ah... you can't use it with straight rakudo compiler, eh? | |||
jnthn | if you make install'd Rakudo, yes but... | 12:43 | |
[Coke] | star: use Term::ANSIColor | ||
p6eval | star 2012.07: ( no output ) | ||
jnthn | ...I fear a Rakudo commit I made last night busted it. | ||
[Coke] | r: use Term::ANSIColor | ||
p6eval | rakudo 2fca74: OUTPUT«===SORRY!===Could not find Term::ANSIColor in any of: /home/p6eval/.perl6/lib, /home/p6eval/nom-inst/lib/parrot/4.8.0-devel/languages/perl6/lib, /home/p6eval/nom-inst/lib/parrot/4.8.0-devel/languages/perl6/custom/lib» | ||
jnthn | Oh, you need to install Term::ANSIColor too :) | ||
12:43
jerome left
12:44
benabik joined
|
|||
moritz | jnthn: fwiw moritz.faui2k3.org/tmp/0001-allow-m...name.patch is that patch. It makes several test files fail with ambiguous dispatch to method Str | 12:45 | |
my only theory right now is that it misparses a method declaration somewhere | |||
$ make && ./perl6 -e 'Nil.Str' | 12:48 | ||
Ambiguous call to 'Str'; these signatures all match: | |||
:(Mu:U \v: Mu *%_) | |||
:(Mu : Mu *%_) | |||
12:48
fhelmberger left
12:49
tokuhiro_ joined,
skids left
|
|||
am0c | std: Nil.Str | 12:49 | |
p6eval | std 47e39ad: OUTPUT«ok 00:00 41m» | ||
12:51
jaldhar_ joined,
_jaldhar left
|
|||
moritz | std is pretty boring, because it only parses. | 12:51 | |
12:54
gootle left
|
|||
am0c | p6: Nil.Str | 12:54 | |
p6eval | rakudo 2fca74, niecza v22-13-g0d2a99e: ( no output ) | ||
moritz | it seems my patch causes other subtle breakage as well | 12:56 | |
12:57
jerome joined
12:58
mtk joined
12:59
hash_table joined
|
|||
am0c | I see! | 13:00 | |
13:04
Psyche^ joined
13:05
PacoAir joined
13:06
PacoAir left,
PacoAir joined
|
|||
jnthn | moritz: Hmm, you switched to deflongname there... | 13:06 | |
I'm not sure that'll work out | |||
13:07
Patterner left,
Psyche^ is now known as Patterner
|
|||
moritz | seems it doesn't, though I don't understand why it doesn't parseerror then | 13:11 | |
13:16
am0c left
13:22
GlitchMr joined
13:23
atrodo joined
13:28
bloonix joined
|
|||
GlitchMr | perl6: .say for 10, 9, 8, +* ... * | 13:38 | |
p6eval | rakudo 2fca74: OUTPUT«(timeout)1098888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888xE2x90 | ||
..niecza v22-13-g0d2a99e: OUTPUT«(timeout)1098888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888 | |||
benabik | GlitchMr: +* just converts the previous number to a number. This seems unlikely to be what you intended. | 13:39 | |
GlitchMr | I just wanted identify function | ||
Simple * didn't worked | |||
benabik | Ah. | 13:40 | |
13:40
sqirrel joined
13:42
rindolf left
|
|||
moritz | {$_} is the identity function | 13:42 | |
13:42
jaldhar_ left
|
|||
benabik | True. +* is only identity for numbers. | 13:43 | |
pmichaud | perl 6: .say for 10, 9, (8 xx *) | 13:45 | |
perl6: .say for 10, 9, (8 xx *) | |||
p6eval | rakudo 2fca74: OUTPUT«(timeout)1098888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888xE2x90 | 13:46 | |
..niecza v22-13-g0d2a99e: OUTPUT«(timeout)1098888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888 | |||
sjn | \o | 13:47 | |
Hor|zon | I need a better font :D | ||
sjn managed to get rakudo to segfault o/ | |||
flussence | why's the rakudo one got "��" on the end? | ||
truncating a  on a byte? | 13:48 | ||
Hor|zon | GlitchMr: did you get my email? wasn't sure if you still used the myopera address | 13:49 | |
GlitchMr | Yes, I've received it | ||
If you mean that Pygments e-mail | |||
Hor|zon | yeah | ||
are you still working on it? | 13:50 | ||
GlitchMr | Not really, but perhaps I'll continue it someday | ||
Hor|zon | oki doki | ||
I was going to start, but I found your project on bitbucket | |||
GlitchMr | If you want to, start it | 13:51 | |
Currently I've problem with highlighting strings | |||
I just want to make highlighter as accurate as possible | |||
13:52
hash_table left
|
|||
GlitchMr | But thanks for reminding me | 13:52 | |
Hor|zon | it was just from annoyance with Github's perl5 highlighting on perl6 | 13:53 | |
bbkr__ | what does : before "my" mean? there are many entries in Perl6/Grammar that look like this ":my %*RX;" | ||
Hor|zon | I was just going to "improve" the Perl 5 one under the name Perl 6 | ||
GlitchMr: sounds like you've thought it through a bit more | 13:54 | ||
jnthn | bbkr__: If yo just wrote "my" in a regex it'd match as text | ||
:my is how you write a variable declaration in a regex | |||
moritz | bbkr__: : followed by a declaration is parsed as normal mainline code | ||
up until the final ; | |||
Hor|zon | hmm, some stop gap would be nice | ||
bbkr__ | thanks! | ||
GlitchMr | Yeah, I want let's say, q:s[] highlight $scalars, but q[] shouldn't. | ||
moritz | so :my $x = 2 * 3; would initialize $x with 6 | ||
Hor|zon | sounds like it already works a lot better than the Perl 5 hightlighting | 13:56 | |
would you feel comfortable releasing it before "perfection" ? | |||
GlitchMr | Well, perhaps yes, but I don't have basic stuff too... I want to make more complex things before less complex | 13:57 | |
I already have support for delimiters, such as #`[[ hello ] [ world [[ ]] yep it's still comment ]] | |||
(well, technically Rakudo doesn't have so good support for delimiters, but it's still part of Perl 6 specification) | 13:58 | ||
13:58
sirrobert left
14:00
jaldhar joined
|
|||
Hor|zon | hmm, I may play with it as well, it seems like a fun way to learn the STD module properly | 14:06 | |
14:06
flightrecorder left,
FROGGS left,
stopbit joined
14:08
flightrecorder joined,
hoelzro left
14:09
aharoni left,
hoelzro joined
|
|||
[Coke] | This is perl6 version 2012.09.1-36-g0937c72 built on parrot 4.8.0 revision RELEASE_4_8_0 | 14:10 | |
^ I think this should say "rakudo" somewhere. | |||
14:11
nyuszika7h left,
nyuszika7h joined
|
|||
moritz | nqp/src/HLL/Compiler.pm | 14:12 | |
483: nqp::say("This is $!language version $version built on parrot $parver revision $parrev"); | |||
and we should include the NQP revision | 14:13 | ||
benabik | You don't really want to set $!language to Rakudo because you'd like to find Rakudo with compreg("perl6"). | ||
moritz | thought so | ||
14:13
sjohnson joined
|
|||
benabik | Rakudo probably should just override that method and print a more custom message. :-/ | 14:13 | |
moritz | aye | 14:14 | |
currently I'm wondering if we store the NQP revision anywhere | |||
14:15
skids joined
|
|||
moritz | what's the name of the plugin or system that allows me to injection custom javascript into webpages in firefox? | 14:17 | |
ah, greasemonkey | |||
sjn | hmf. having trouble logging into rt.perl.org to submit a rakudobug | 14:18 | |
anyone else having problems? | 14:19 | ||
[Coke] | moritz++ | ||
14:19
FROGGS joined
|
|||
[Coke] | sjn: I am already logged in. | 14:19 | |
jnthn | sjn: You submit by sending mail | ||
[Coke] | you can't submit tickets via the webterface, though. | ||
sjn | hm | 14:20 | |
[Coke] | r: say (;:[]) | 14:21 | |
p6eval | rakudo 2fca74: OUTPUT«» | ||
sjn | that kinda sucks.. | ||
jnthn: which address? | |||
[Coke] | (that's specific to rt.perl.org, not rt) | ||
[email@hidden.address] I think. | |||
14:22
aharoni joined
|
|||
jnthn | that one | 14:24 | |
sjn: Sending email is *much* more accessible that getting an RT account... | |||
14:26
jaldhar left
|
|||
flussence | zavolaj fails a test if I'm using panda to install it, but if I run it manually as "PERL6LIB=lib perl6 t/04-pointers.t" it's fine | 14:28 | |
skids | does panda have a "dont compile" flag of some sort? | 14:30 | |
flussence | there's --notests, I'm using that now... | ||
not one for skipping the compile-to-pir step though | 14:31 | ||
skids | Well, as a stopgap for issues that crop up it could be useful. | ||
sjn | jnthn: I already have an rt account | ||
skids | (there are similar issues pointed out to me with Sum, and also anything that accesses its own POD right now will break.) | 14:32 | |
sjn | although I'm thinking Ask's bitcard thing really is more in the way than being useful :-( | ||
sjn has sent a mail | |||
14:33
mucker left
|
|||
jnthn | May just be getting unlucky with pointrs | 14:34 | |
as in, memory layout differs | |||
flussence | maybe... prove was spitting out "Wstat: 11". That's a segfault isn't it? | 14:37 | |
14:38
hash_table joined
14:39
mucker joined
|
|||
GlitchMr | Hor|zon: dl.dropbox.com/u/63913412/pygments.png | 14:40 | |
Putting aside lack of quote like stuff highlighting, it works rather well | |||
Notice how * * * is highlighted correctly :-) | 14:41 | ||
14:43
kaare_ joined
14:45
am0c joined
14:47
replore_ joined
|
|||
jnthn | GlitchMr: ooh, nice | 14:47 | |
Hor|zon | GlitchMr: oooh, you're further than you claim ;) | 14:48 | |
arnsholt | Cool! | ||
Hor|zon | I was looking for existing standalone Perl 6 highlighters to steal their tests | 14:49 | |
can't seem to find any...maybe Padre has some... | |||
timotimo_ | oh, you use fish. is that the newer fork of fish? | 14:50 | |
diakopter | std: s[a]=* | 14:53 | |
p6eval | std 47e39ad: OUTPUT«ok 00:00 43m» | ||
diakopter | hmm | ||
std: s[a] | |||
p6eval | std 47e39ad: OUTPUT«===SORRY!===Missing assignment operator at /tmp/mtQrY7qbHw line 1 (EOF):------> s[a]⏏<EOL>Parse failedFAILED 00:00 42m» | ||
diakopter wonders what s[a]=* does | 14:54 | ||
phenny: tell TimToady try std: /= # unblessed reference | 14:56 | ||
phenny | diakopter: I'll pass that on when TimToady is around. | ||
GlitchMr | s[a]=* is substitution | ||
14:56
benabik left
|
|||
GlitchMr | Except * in this context makes no sense | 14:56 | |
14:56
benabik joined
|
|||
GlitchMr | For example, s[a]='b' means replace first 'a' in $_ with 'b'. | 14:57 | |
jnthn | r: my $x = "aaaa"; $x ~~ s[a] = *; say $x | ||
p6eval | rakudo 2fca74: OUTPUT«Whatever<1362513759>aaa» | ||
diakopter | O_O | 14:58 | |
jnthn | decommute & | ||
lumi__ | See, it just replaces it with whatever | ||
15:02
benabik left
|
|||
diakopter | r: /@_/ | 15:09 | |
p6eval | rakudo 2fca74: OUTPUT«=␀␀␀=␀␀␀=␀␀␀S␀␀␀O␀␀␀R␀␀␀R␀␀␀Y␀␀␀!␀␀␀=␀␀␀=␀␀␀=␀␀␀␀␀␀C␀␀␀a␀␀␀n␀␀␀n␀␀␀o␀␀␀t␀␀␀ ␀␀␀u␀␀␀s␀␀␀e␀␀␀ ␀␀␀p␀␀␀l␀␀␀a␀␀␀c␀␀␀e␀␀␀h␀␀␀o␀␀␀l␀␀␀d␀␀␀e␀␀␀r␀␀␀ ␀␀␀p␀␀␀a␀␀␀r␀␀␀a␀␀␀mxE2x90 | ||
diakopter | whee | ||
I get lots of boxes | 15:10 | ||
FROGGS | unwrap them then | ||
diakopter | what does that mean | ||
oh. heh | |||
FROGGS | ;o) | ||
diakopter | they look funny on the irclog too | 15:11 | |
15:11
tokuhiro_ left
|
|||
diakopter | it's like.. the string is utf32 but interpreted as ascii... | 15:11 | |
15:11
tokuhiro_ joined
|
|||
diakopter | phenny: tell jnthn try r: /@_/ # wide chars interpreted as non-wide? | 15:12 | |
phenny | diakopter: I'll pass that on when jnthn is around. | ||
15:15
rindolf joined
15:16
tokuhiro_ left
|
|||
diakopter | phenny tell jnthn try r: my &={say 6;}; (my &).() # should it let me redeclare & but have it still the original assigned value? | 15:16 | |
moritz | r: my &={say 6;}; (my &).() | ||
p6eval | rakudo 2fca74: OUTPUT«6» | ||
moritz | that looks wrong | ||
r: my $ = 5; say my $ | 15:17 | ||
p6eval | rakudo 2fca74: OUTPUT«5» | ||
diakopter | <- no clue | ||
rindolf | Hi all. The "Current supported release" link here is broken - www.parrot.org/source.html - who can I report it to? | 15:19 | |
moritz | [email@hidden.address] | ||
15:19
orafu left
15:20
aindilis joined
15:25
hoelzro is now known as hoelzro|away
15:26
sirrobert joined
15:31
birdwind1pbird joined,
FROGGS left
15:37
brrt joined
|
|||
jnthn home | 15:45 | ||
phenny | jnthn: 15:12Z <diakopter> tell jnthn try r: /@_/ # wide chars interpreted as non-wide? | ||
jnthn | r: /@_/ | ||
p6eval | rakudo 2fca74: OUTPUT«=␀␀␀=␀␀␀=␀␀␀S␀␀␀O␀␀␀R␀␀␀R␀␀␀Y␀␀␀!␀␀␀=␀␀␀=␀␀␀=␀␀␀␀␀␀C␀␀␀a␀␀␀n␀␀␀n␀␀␀o␀␀␀t␀␀␀ ␀␀␀u␀␀␀s␀␀␀e␀␀␀ ␀␀␀p␀␀␀l␀␀␀a␀␀␀c␀␀␀e␀␀␀h␀␀␀o␀␀␀l␀␀␀d␀␀␀e␀␀␀r␀␀␀ ␀␀␀p␀␀␀a␀␀␀r␀␀␀a␀␀␀mxE2x90 | ||
jnthn | ... | 15:46 | |
pmichaud | some ucs4 string is being concatenated with the ascii string somewhere | ||
jnthn | wtf. | ||
Yeah but... | |||
That's no damn excuse! | |||
pmichaud | and then being sent to stderr, which I suppose is not encoded as utf8 | ||
jnthn | Yeah :S | ||
Well, that's what one gets for implementing strings with encodings rather than treating encoding as a purely I/O time thing. | 15:47 | ||
pmichaud | ...but strings do have encodings. | 15:48 | |
15:48
flightrecorder left
|
|||
jnthn | In Parrot. | 15:48 | |
In Perl 6 strings are opaque thingies. | |||
pmichaud | string as a data type is an opaque thingy, yes, but internally there still has to be an encoding. | ||
jnthn | It's the transition to Buf where encoding gets interesting. | ||
Well, if you call NFG an encoding, yes :) | 15:49 | ||
pmichaud | Perl 6 even goes so far as to declare that NFG is its encoding, iirc. | ||
by every definition I can think of, NFG is an encoding. | |||
the real question is probably... where's the ucs4 encoded string coming from? ;-) | 15:51 | ||
TimToady | well, if an encoding has to be linear, without indirection, then NFG isn't quite one of those | 15:52 | |
phenny | TimToady: 14:56Z <diakopter> tell TimToady try std: /= # unblessed reference | ||
TimToady | NFG is also a bit of a data structure | ||
15:53
fgomez joined
15:57
thou joined
16:01
hoelzro|away is now known as hoelzro
16:05
kaleem left
|
|||
am0c | r: say ~ Rat.^attributes | 16:07 | |
p6eval | rakudo 2fca74: OUTPUT«$!numerator $!denominator» | ||
timotimo_ | i don't quite understand what the ~ does there. is it somewhat like [~] except it does something different (insert spaces)? | 16:11 | |
16:12
circlepuller is now known as Circlepuller
|
|||
TimToady | r: say Rat.^attributes | 16:12 | |
p6eval | rakudo 2fca74: OUTPUT«$!numerator $!denominator» | ||
TimToady | it's unneeded in this case | ||
geekosaur | does whatever is necessary to make it a string.. but I htought say did that itself. like that :) | ||
TimToady | but it's stringification | ||
timotimo_ | oh, it's like this: | 16:13 | |
r: say +<a b c> | |||
p6eval | rakudo 2fca74: OUTPUT«3» | ||
TimToady | r: say "{Rat.^attributes}"; # same thing | ||
p6eval | rakudo 2fca74: OUTPUT«$!numerator $!denominator» | ||
TimToady | r: say '' ~ Rat.^attributes; # also same thing | 16:14 | |
p6eval | rakudo 2fca74: OUTPUT«$!numerator $!denominator» | ||
16:15
fglock joined
|
|||
timotimo_ | hm. how do i figure out what to do with an attribute? | 16:15 | |
r: say Rat.^attributes[0].^attributes | |||
p6eval | rakudo 2fca74: OUTPUT«No such method 'gist' for invocant of type 'BOOTSTRAPATTR' in method gist at src/gen/CORE.setting:4839 in sub say at src/gen/CORE.setting:7268 in block at /tmp/RrQkwyPFwF:1» | ||
timotimo_ | at least i can figure out that it has 10 of them | 16:16 | |
jnthn | timotimo_: doc.perl6.org/type/Attribute :) | 16:17 | |
timotimo_ | r: .name.say for Rat.^attributes[0].^attributes | ||
p6eval | rakudo 2fca74: OUTPUT«$!name$!rw$!ro$!has_accessor$!type$!container_descriptor$!auto_viv_container$!build_closure$!package$!box_target» | ||
timotimo_ | this is nice enough :) | 16:18 | |
16:19
pmurias left
16:23
kikulli joined
16:26
aharoni left,
Chillance joined
16:29
birdwind1pbird left,
sjohnson left,
sjohnson joined
16:31
thou left
16:36
thou joined
|
|||
Hor|zon | does anyone know what generates the html from pod at doc.perl6.org? | 16:43 | |
tadzik | Pod::To::HTML I think | ||
Hor|zon | ooh OK | 16:45 | |
I noticed the "Methods supplied by class <name>" sections, just trying to figure out what does it | 16:46 | ||
doesn't look like Pod::To::HTML | |||
16:46
hoelzro is now known as hoelzro|away
|
|||
tadzik | oh | 16:46 | |
moritz++ does it :) | |||
well, methods are introspectable, it's probably generated from this | 16:47 | ||
r: say Rat.^methods | |||
p6eval | rakudo 2fca74: OUTPUT«Rat FatRat new nude Num floor ceiling Int Bridge base succ pred norm abs sign conj sqrt rand sin asin cos acos tan atan atan2 sec asec cosec acosec cotan acotan sinh asinh cosh acosh tanh atanh sech asech cosech acosech cotanh acotanh round unpolar cis Complex log … | ||
Hor|zon | lol, mr lenz | 16:48 | |
moritz | Hor|zon: what's so funny? :-) | 16:49 | |
Hor|zon: there's a htmlify.pl script in the perl6/doc repo that generates the HTML for doc.perl6.org | |||
Hor|zon | people power | 16:50 | |
ah, so it is automated | |||
diakopter | TimToady: ws calls unsp and unv, and unsp calls unv, so you can remove the <.unv> from token ws | ||
16:50
daxim left
|
|||
Hor|zon | moritz: any thoughts on a module? | 16:50 | |
moritz | Hor|zon: what module? | 16:51 | |
dalek | rlito: f81758e | (Flavio S. Glock)++ | README-perlito5-js: Perlito5 - js - milestones - add CPAN testing |
16:52 | |
Hor|zon | a htmlify package / module | 16:53 | |
TimToady | diakopter: no | 16:54 | |
tadzik | it'll be more like App:: module I think | ||
TimToady | diakopter: look at what the unsp rule matches | 16:55 | |
(or ask yourself "Why is it named that?") | 16:56 | ||
diakopter | migrate to meeting; brb & | ||
moritz | Hor|zon: well, look at htmlify.pl and ask yourself if you find stuff worth reusing in other applications | 16:57 | |
Hor|zon: if you find something, you're welcome to factor it out into a separate module | |||
sirrobert | What's a good way to show only the ends of a bunch of differently-lengthed strings. Like: "this is a very long string" -> "...ery long string" | 16:58 | |
16:58
hoelzro|away is now known as hoelzro
|
|||
sirrobert | is there an sprintf for showing the *right* $x chars of a string? | 16:59 | |
Hor|zon | moritz: thanks, I was thinking of some higher level pod-to-pod niceness like htmlify already does, but maybe pod to pod, leaving the final format to another module | ||
from a quick look most of the htmlify stuff is fairly format agnostic | 17:00 | ||
dalek | kudo-debugger: e4c27f0 | jnthn++ | bin/perl6-debug.nqp: Diddle %*LANG in comp_unit. This is where it shoulda been done in the first place. Makes things work again with latest Rakudo. |
||
Hor|zon | I will steal a few things if I do start a module, if you don't mind :) | 17:01 | |
17:01
dakkar left
|
|||
jnthn | [Coke]: Debugger patched for latest Rakudo. | 17:01 | |
17:03
spider-mario joined
|
|||
skids | r: say "string".substr(min(*-5,0),min(*,5)) # sirrobert: | 17:03 | |
p6eval | rakudo 2fca74: OUTPUT«tring» | ||
sirrobert | skids: ahh, great. I was going down a dark path there... fraught with regexes and .split.reverse | ||
thanks =) | |||
skids | Oh actually, the second parm can be skipped. | 17:04 | |
sirrobert | ahh, catch to end | ||
great | |||
so the * in that context means ... | |||
"the thing in question" ? | |||
in this case the string | |||
(I still haven't wrapped my head around * in a holistic way) | |||
skids | Whatever :-) length of the string. | 17:05 | |
sirrobert | skids: cool... as an aside: | ||
diakopter | TimToady: the only difference I see is the \\ <?before [\s|'#'] > | ||
17:06
birdwindupbird left
|
|||
sirrobert | r: "foobarbaz".substr(*-5) | 17:06 | |
p6eval | rakudo 2fca74: ( no output ) | ||
sirrobert | r: say "foobarbaz".substr(*-5) | ||
p6eval | rakudo 2fca74: OUTPUT«arbaz» | ||
masak | r: say "foobarbaz".substr(*/2) | 17:08 | |
p6eval | rakudo 2fca74: OUTPUT«This type cannot unbox to a native integer in method substr at src/gen/CORE.setting:3634 in block at /tmp/40KzzZH3Ch:1» | ||
masak | r: say "foobarbaz".substr(* * .5) | ||
p6eval | rakudo 2fca74: OUTPUT«This type cannot unbox to a native integer in method substr at src/gen/CORE.setting:3634 in block at /tmp/jNbypEjRnD:1» | ||
sirrobert | r: say "foobarbaz".substr(*) | ||
p6eval | rakudo 2fca74: OUTPUT«No such method 'Int' for invocant of type 'Whatever' in method substr at src/gen/CORE.setting:3634 in block at /tmp/AkvvmoAlII:1» | ||
masak | r: say "foobarbaz".substr((*/2).Int) | ||
p6eval | rakudo 2fca74: OUTPUT«arbaz» | ||
masak | that was too difficult. | ||
aren't Rats Cool? | 17:09 | ||
moritz | masak: patch it, it's not too hard :-) | ||
masak | r: say Rat ~~ Cool | ||
p6eval | rakudo 2fca74: OUTPUT«True» | ||
masak | so I posit it should work. | ||
moritz: patching it is a good idea. | |||
moritz: would you suggest I start by writing a spectest? | 17:10 | ||
moritz | masak: whaterver your usual workflow is | ||
masak | I'd say it's write spectest, see it fail, then patch rakudo and make sure all spectests still pass. then push spectest and rakudo patch. | 17:11 | |
oops, need to detrain & | 17:12 | ||
17:14
brrt left
|
|||
TimToady | diakopter: yes, well, unsp only matches unv after a backslash; what if ws needs to match unv without a backslash in front of it? | 17:17 | |
r: say "foobarbaz".substr(* div 2) | 17:20 | ||
p6eval | rakudo 2fca74: OUTPUT«arbaz» | ||
TimToady | sirrobert: use this for now^^ | 17:21 | |
oh, that was masak :) | 17:22 | ||
agree that a Rat should Coolify to Int in this case | |||
skids | r: multi sub foo (WhateverCode $foo) { $foo(3).say }; foo(*-1); # Didn't realize making your own Whatevers was so easy | 17:23 | |
p6eval | rakudo 2fca74: OUTPUT«2» | ||
sirrobert | TimToady: thanks | ||
diakopter | TimToady: oh. I forgot the \\ means something :) | ||
17:24
bbkr joined
|
|||
TimToady | what did you think it didn't mean? :) | 17:25 | |
diakopter | some kind of weird alternation | 17:30 | |
sirrobert | my $foo = 'foo'; my $bar = 'bar'; for ($foo, $bar) -> $x { $x = 'baz' }; say "$foo $bar"; | 17:34 | |
in a situation like that, how do I write to $foo and $bar by reference? | |||
so that writing to $x writes into $foo then $bar | 17:35 | ||
TimToady | r: my $foo = 'foo'; my $bar = 'bar'; for $foo, $bar <-> $x { $x = 'baz' }; say "$foo $bar"; | ||
p6eval | rakudo 2fca74: OUTPUT«===SORRY!===Missing blockat /tmp/1kJBOZM5Gg:1» | ||
TimToady | r: my $foo = 'foo'; my $bar = 'bar'; for $foo, $bar -> $x is rw { $x = 'baz' }; say "$foo $bar"; | ||
p6eval | rakudo 2fca74: OUTPUT«baz baz» | ||
sirrobert | ahh | 17:36 | |
TimToady | b: my $foo = 'foo'; my $bar = 'bar'; for $foo, $bar <-> $x { $x = 'baz' }; say "$foo $bar"; | ||
p6eval | b 922500: OUTPUT«===SORRY!===Missing block at line 22, near "; say \"$fo"» | ||
TimToady | n: my $foo = 'foo'; my $bar = 'bar'; for $foo, $bar <-> $x { $x = 'baz' }; say "$foo $bar"; | ||
p6eval | niecza v22-13-g0d2a99e: OUTPUT«baz baz» | ||
sirrobert | so the <-> just isn't in rakudo yet | ||
what is b: ? | |||
TimToady | right, though I thought it was in at one point | ||
I have a vague recollection there were parsing problems before rakudo had LTM | 17:37 | ||
so maybe not | |||
sirrobert | well, is rw works for me =) | ||
geekosaur | sirrobert, IIRC b is an older version of rakudo | ||
sirrobert | geekosaur: thanks | ||
TimToady | it would prefer to parse < over <-> | ||
sirrobert | TimToady: ah, that makes sense | 17:38 | |
sorear | o/ | 17:39 | |
skids | r: say 3 <<+<<< (1,2) # lingering LTM problem | 17:40 | |
p6eval | rakudo 2fca74: OUTPUT«===SORRY!===Preceding context expects a term, but found infix < insteadat /tmp/848X61VuJB:1» | ||
sirrobert | While running a test (with Test.pm) is there a way of knowing the number of the test currently being run? | 17:42 | |
moritz | you mean, the sequence number? | 17:43 | |
sirrobert | yeah | ||
moritz | seems not, it's in a lexical variable in Test.pm | 17:44 | |
sirrobert | fair enough =) | ||
thanks | |||
where is Test.pm stored? rakudo star repo? | |||
ah, found it in Rakudo (not star) | 17:45 | ||
jnthn | skids: Do you know it's LTM, or is that just a guess? | ||
skids | Oh, a guess, sorry. | 17:46 | |
jnthn | skids: No worries - if you knew it was LTM I was just gonna ask for how you knew, which may help me in tracking down the problem ;) | ||
masak | TimToady: Rakudo did <-> at one point, yes. though it was long ago. alpha, I think. | 17:47 | |
the b lineage never did it. nom still doesn't do it. | |||
masak .oO( NYRI ) | |||
<TimToady> I have a vague recollection there were parsing problems before rakudo had LTM | 17:49 | ||
TimToady: well, <-> is an interesting one, isn't it? | 17:50 | ||
moritz | <-> lambdas were reputed to be one of them | ||
masak | because <-> belongs to the statement level, whereas < belongs to EXPR. | ||
so naively it should find < and ignore <-> | |||
jnthn | I think that's what I ran into last time I investigated. | ||
masak | so <-> has to be special in some way. a stopper. | ||
jnthn | And yes, when EXPR calls infix, <-> isn't on the menu. | ||
masak | right. | ||
that's what I mean. | 17:51 | ||
it's a very clear case of a more general problem: how do I tell the parser "ok, enough of the sublanguage; come back up"? | |||
jnthn | oh gosh | ||
infix:lambda | |||
oh, but | 17:53 | ||
That does | |||
<?before '{' | '->' > | |||
moritz | masak: you just return from your parser, and then the calling parser takes control again | ||
jnthn | Which doesn't handle <-> | ||
TimToady | infixstopper calls lambda | ||
lambda shouldn't be considered an infix | 17:54 | ||
masak | moritz: yesbut. | ||
moritz: my point is that it doesn't happen automagically. in this case, infixstopper is needed. | |||
jnthn | TimToady: aha | ||
TimToady | I think infix:lambda is really only there to produce error messages | 17:55 | |
not sure why it has a <O(|%term)> at the end | 17:56 | ||
that might be a fossil | 17:57 | ||
masak | do a git blame! oh wit. | ||
wait* | |||
jnthn | :) | ||
I'll have some dinner, then look at giving Rakudo an infixstopper | |||
masak | \o/ | ||
or should I say \<->/ | |||
TimToady | well, if you're a cobra maybe | 17:58 | |
masak | I can not say with certainty I'm not a cobra. | 18:00 | |
dalek | rlito: 828649a | (Flavio S. Glock)++ | / (19 files): Perlito5 - add Perlito5X namespace |
18:01 | |
rlito: 19136b6 | (Flavio S. Glock)++ | ChangeLog: Perlito5 - add Perlito5X namespace - ChangeLog |
|||
skids | Perhaps the <-> just goes spinning off into space yelling "curse you skywalker" | 18:09 | |
[Coke] | O_o | 18:11 | |
masak | r: role W[$s] { method q { say $s; nextsame } }; ([but] class {}, W["wrapper"], W["6"], W["Perl"], W["another"], W["just"]).q | ||
p6eval | rakudo 2fca74: OUTPUT«justanotherPerl6wrapper» | ||
18:11
_edwin joined
|
|||
_edwin | hi perl6! | 18:11 | |
masak | hi _edwin! | ||
_edwin | should something like has @.a handles('postfix:<[]>') work? | ||
18:12
cognominal joined
|
|||
masak | r: role W[$s] { method q { say $s; nextsame } }; ([but] class {}, (W[$_] for <wrapper 6 Perl another just>)).q | 18:13 | |
p6eval | rakudo 2fca74: OUTPUT«justanotherPerl6wrapper» | ||
masak | _edwin: I don't see why not. | ||
cognominal | Is there a Perl6 html formatter for Perl 6 pod? I know Damian Conway as a perl5 package for that. | ||
_edwin | oh, I meant postcircumfix, but nevertheless | 18:14 | |
moritz | Pod::To::Html exists, though it's far from perfect | ||
when it's installed, you can say perl6 --doc=html yourfile > output.html | 18:15 | ||
_edwin | woo! handles('postcircumfix:<[ ]>') did it! :) | ||
very cool | 18:16 | ||
18:16
MolbOrg left,
zby_home_ joined
|
|||
cognominal | thx moritz | 18:17 | |
diakopter | TimToady: what is $ { $¢.moreinput } | 18:19 | |
18:19
mucker left
|
|||
[Coke] | p6: Nil.comb(*); | 18:19 | |
p6eval | niecza v22-13-g0d2a99e: ( no output ) | ||
..rakudo 2fca74: OUTPUT«Cannot call 'comb'; none of these signatures match::(Cool : Mu *%_):(Cool : Regex $matcher, $limit = { ... }, Mu *%_) in method comb at src/gen/CORE.setting:2101 in block at /tmp/LaQ5cPmwt2:1» | |||
am0c | r: class A { has $.cat is rw = "grr.." }; A.new.cat: "meow!"; | 18:20 | |
p6eval | rakudo 2fca74: OUTPUT«Too many positional parameters passed; got 2 but expected 1 in method cat at src/gen/CORE.setting:1590 in block at /tmp/nJ54rcw3yj:1» | ||
_edwin | do I read the spec correctly, that substr is supposed to work on arrays, too? | ||
am0c | r: class A { has $.cat is rw = "grr.." }; A.new.cat( "meow!" ); | ||
p6eval | rakudo 2fca74: OUTPUT«Too many positional parameters passed; got 2 but expected 1 in method cat at src/gen/CORE.setting:1590 in block at /tmp/QjftFcgAuE:1» | ||
_edwin | "$piece = substr(@buffer, $beg, $end - $beg);" | ||
am0c | r: class A { has $.cat is rw = "grr.." }; A.new.cat = "meow!"; | ||
p6eval | rakudo 2fca74: ( no output ) | ||
am0c | r: class A { has $.cat is ro = "grr.." }; A.new.cat = "meow!"; | ||
p6eval | rakudo 2fca74: OUTPUT«===SORRY!===Cannot call 'trait_mod:<is>'; none of these signatures match::(Mu:U $child, Mu:U $parent):(Attribute:D $attr, :rw(:$rw)!):(Attribute:D $attr, :readonly(:$readonly)!):(Attribute:D $attr, :box_target(:$box_target)!):(Routine:D $r, :rw(:$rw)!):(Rout… | ||
am0c | r: class A { has $.cat = "grr.." }; A.new.cat = "meow!"; | ||
p6eval | rakudo 2fca74: OUTPUT«Cannot assign to a readonly variable or a value in block at /tmp/cnlXwL1BLQ:1» | ||
am0c | aha! readonly is default behavior! | 18:21 | |
arnsholt | Is it possible to change/influence the behaviour of a container by applying a trait? | 18:22 | |
Say, as a random example: my $errno is native('libc') | |||
am0c | r: class A { has $.cat = "grr.."; method meow { $.cat = "meow" }; A.new.meow; | 18:23 | |
p6eval | rakudo 2fca74: OUTPUT«===SORRY!===Unable to parse expression in block; couldn't find final '}' at line 2, near ""» | ||
am0c | r: class A { has $.cat = "grr.."; method meow { $.cat = "meow" } } A.new.meow; | ||
p6eval | rakudo 2fca74: OUTPUT«===SORRY!===Confusedat /tmp/ZY6jAxOglv:1» | ||
am0c | r: class A { has $.cat = "grr.."; method meow { $.cat = "meow" } } A.new.meow(); | ||
p6eval | rakudo 2fca74: OUTPUT«===SORRY!===Confusedat /tmp/GsxT7I218S:1» | ||
moritz | am0c: you need ; after } | ||
masak | am0c: }; | 18:24 | |
am0c | r: class A { has $.cat = "grr.."; method meow { $.cat = "meow" }; } A.new.meow(); | ||
p6eval | rakudo 2fca74: OUTPUT«===SORRY!===Confusedat /tmp/AoSYR66_YF:1» | ||
masak | other } | ||
am0c | r: class A { has $.cat = "grr.."; method meow { $.cat = "meow" }; }; A.new.meow(); | ||
p6eval | rakudo 2fca74: OUTPUT«Cannot assign to a readonly variable or a value in method meow at /tmp/zdoO1GKado:1 in block at /tmp/zdoO1GKado:1» | ||
masak | heh :) | ||
arnsholt | And you want $!cat = | ||
am0c | I see. thank you :3 | ||
moritz | am0c: you need to assign to $!cat, which is the actual attribute; $.cat is the attribute | ||
masak | accessor* | ||
moritz | erm yes | 18:25 | |
18:25
alester joined
|
|||
moritz | doc.perl6.org/language/objects#Attributes | 18:25 | |
18:25
cognominal left
|
|||
masak feels he has a right to correct moritz' typos, since their nicks both start with "m" :P | 18:25 | ||
am0c | I see | ||
moritz | masak: better you correct them than they go uncorrected and confuse everybody | 18:26 | |
am0c | I agree! | 18:27 | |
unless masak helped I would not understanded. | |||
s/ed// | 18:28 | ||
masak | moritz: it's weird. overall, we've met very little in meatspace, but I still feel I know how you work well enough to dare to auto-correct your typos. it's as if my simulation of you is good enough :) | ||
moritz | masak: I kinda feel the same about you | ||
am0c | heh | ||
_edwin | just thinking, it would be cool if one could "lift" methods of an attribute to methods of the class | 18:29 | |
masak | that made me happy. :) | ||
_edwin: isn't that what 'handles' does? | |||
am0c | so, does it mean that `has $.something"` is not a declaration for 'attribute'? | 18:30 | |
moritz | am0c: it's a declaration of an attribute $!something and of an accessor | ||
masak | am0c: more like, it declares both attribute and (readonly) accessor. | ||
_edwin | as in: class Foo { has $.value lifts('prefix:<->') } would implement multi prefix:<->(Foo $x) { Foo.new(:value(- $x.value) } | ||
moritz | .oO( macros! ) |
18:31 | |
_edwin | masak: the difference would be the Foo.new(:value(...)) part | ||
masak | yes, I see the difference now. | ||
not sure I see what the use cases would be, but certainly something like this would be *possible*, at least. | 18:32 | ||
am0c | I see! | ||
masak | what kind of grammar category does 'handles' belong to, anyway? | ||
18:32
SamuraiJack joined
|
|||
_edwin | masak, I came accross a use case working on a RC solution, which might be considered "artificial" ;) | 18:32 | |
masak | maybe, maybe not :) | 18:33 | |
am0c | r: class A { has $.cat = "grr.."; method meow { $cat = "meow" }; }; A.new.meow; | 18:34 | |
p6eval | rakudo 2fca74: OUTPUT«===SORRY!===Variable $cat is not declaredat /tmp/nUfluf3Vt6:1» | ||
am0c | r: class A { has $.cat = "grr.."; method meow { $!cat = "meow" }; }; A.new.meow; | ||
p6eval | rakudo 2fca74: ( no output ) | ||
masak | moritz: linking back to an earlier topic, courses.csail.mit.edu/6.851/spring1...e/lec1.pdf contains the phrase "our tree traversal technique is does [sic] not extend to DAGs". meaning that the nested subset algorithm doesn't work. | 18:35 | |
am0c thinks the last code seems not good though | |||
arnsholt | Where are containers specced? | ||
18:39
kikulli left,
sqirrel left
18:41
sirrobert left
18:45
flightrecorder joined
|
|||
am0c | r: class A { submethod BUILD { .perl.say }; }; A.new; | 18:47 | |
p6eval | rakudo 2fca74: OUTPUT«Any» | ||
am0c | r: class A { method p6 { .perl.say }; }; A.new.p6; | 18:48 | |
p6eval | rakudo 2fca74: OUTPUT«Any» | ||
masak | arnsholt: what kind of containers? arrays/hashes/sets, or scalar containers holding values? | 18:49 | |
jnthn | am0c: self does not go in $_ | ||
am0c | I see. | ||
masak | not since 2005 ;) | ||
18:49
GlitchMr left
|
|||
am0c | r: class A { method p6 { .^attributes.say }; }; A.new.p6; | 18:49 | |
p6eval | rakudo 2fca74: OUTPUT«» | ||
_edwin | arnsholt, S32-setting-library/Containers.pod looks promising | 18:50 | |
am0c | is 'Any' just to mean nothing here? | ||
18:50
GlitchMr joined
|
|||
geekosaur | it's a type object, which behaves as a typed "undefined" | 18:51 | |
am0c | I see.. | 18:52 | |
masak | am0c: what geekosaur said. each type has a type object, like the Str type has the Str type object. | ||
r: say "OH HAI".defined; say Str.defined | 18:53 | ||
p6eval | rakudo 2fca74: OUTPUT«TrueFalse» | ||
am0c | oh, sorry for rtfm-ish question! I typed my mutterings here before I try to search them because this place is so so so kind and comfortable. | ||
masak | that's allowed. | ||
rtfm-ish questions inform our documentation efforts :) | 18:54 | ||
diakopter | don't forget design decisions | ||
18:55
SamuraiJack left
|
|||
am0c | heh :3 | 18:56 | |
18:56
fgomez left
|
|||
am0c | r: say Mu.WHAT | 18:57 | |
p6eval | rakudo 2fca74: OUTPUT«Mu()» | ||
diakopter | TimToady: is <.finishlex> implicitly called at the end of a rule? | 18:58 | |
or does it not need to be called at all | |||
oh; nm | 19:02 | ||
am0c | perlcabal.org/syn/S32/Basics.html It's interesting that Any is a role, and Mu is a class. and 'a role does a class' in this case. | 19:03 | |
jnthn | masakbot: search RT <-> # :) | ||
am0c | r: class Joyable { }; role Anyway does Joyable { }; | 19:04 | |
p6eval | rakudo 2fca74: OUTPUT«===SORRY!===Joyable is not composable, so Anyway cannot compose itat /tmp/hrSU0a0wuJ:1» | ||
jnthn | am0c: The claim that Any is a role feels highly suspect. | 19:05 | |
moritz | am0c: Any is a class, whatever S32::Basic might say | ||
arnsholt | masak: Yeah, sorry. Scalar containers holding stuff (I'm pondering ways to get global variables in Zavolaj) | ||
jnthn | arnsholt: "get global variables"? | ||
19:06
fgomez joined
|
|||
moritz | also 'role Any does Mu' would suggest that Mu was also a role | 19:06 | |
am0c | er.. | ||
19:06
amkrankruleuen joined
|
|||
am0c | S32::Basic says that Mu is a class though. | 19:06 | |
dalek | ecs: 5945c20 | moritz++ | S32-setting-library/Basics.pod: [S32::Basic] Any is a class, not a role |
||
arnsholt | jnthn: Stuff like errno. Non-function symbols shared in a library | 19:07 | |
_edwin | .u ellipsis | ||
phenny | U+0EAF LAO ELLIPSIS (ຯ) | ||
_edwin | not what I expected :} | ||
am0c | I found a typo yey! | ||
dalek | kudo/nom: b08d545 | jnthn++ | src/Perl6/Grammar.pm: First pass at adding $*GOAL and infixstopper. This fixes parsing of <->. |
19:09 | |
kudo/nom: d617f7d | jnthn++ | src/Perl6/World.pm: Fix <-> semantics. |
|||
19:11
SamuraiJack joined
|
|||
masak | jnthn++! | 19:12 | |
quick, release Rakudo! :P | |||
_edwin | rosettacode.org/wiki/Binary_strings#Perl_6 | 19:13 | |
colomon | _edwin++ | 19:16 | |
masak | arnsholt: I don't believe they are spec'd in one single place. | 19:17 | |
19:19
fhelmberger joined
|
|||
dalek | ast: 26d9454 | jnthn++ | S0 (3 files): Unfudging/refudging for <-> fix. |
19:19 | |
jnthn | masak: Release isn't until tomorrow :P | ||
arnsholt | masak: Right. Off to the Rakudo code then =) | 19:20 | |
dalek | kudo/nom: 6064d0f | jnthn++ | docs/ChangeLog: Note <-> in ChangeLog. |
||
masak | jnthn: maybe I could cut a "rogue masak release" tonight, and direct people to it! :D | 19:21 | |
jnthn | masak: Even better, you could close the RT for <-> if we have one! :P | ||
masak | we have one. | 19:22 | |
shall I find it for you? | |||
am0c | jnthn++ | ||
jnthn | masak: Go for it. | ||
masak: Just resolve it; I unfudged tests. | |||
masak | rt.perl.org/rt3/Ticket/Display.html?id=74182 | 19:23 | |
jnthn | am0c: I hear there's a Korean Perl Workshpo. | ||
*Workshop | |||
masak resolves it | |||
jnthn | am0c: Happy it's happening again. :) | ||
am0c | yes, 2 days left! | ||
jnthn | am0c: I'll have to make it over to Korea again sometime. It was great. :) | 19:24 | |
am0c | Although I'm not good at Perl 6, planed to present about Perl 6. :3 | 19:25 | |
jnthn | ;) | ||
diakopter | phenny tell sorear leaky error: n: /a/($_) | 19:26 | |
am0c | jnthn: I will give you beers and gifts then! | ||
diakopter | n: /a/($_) | ||
p6eval | niecza v22-13-g0d2a99e: OUTPUT«Unhandled exception: System.InvalidCastException: Cannot cast from source type to destination type. at Anon.1.Run.MAIN.C1ANON (Niecza.Frame ) [0x00000] in <filename unknown>:0  at Niecza.Kernel.RunCore (Niecza.Frame& cur) [0x00000] in <filename unknown… | ||
am0c | we will welcome you anytime you here >_< | 19:27 | |
s/here/come/; | |||
jnthn | \o/ | ||
am0c | o/ | 19:28 | |
jnthn shall see if he can manage it next year sometime | |||
diakopter | r: say /a/(1) | ||
p6eval | rakudo 2fca74: OUTPUT«No such method '!cursor_start' for invocant of type 'Int' in regex at /tmp/YZQSy8AOb4:1 in block at /tmp/YZQSy8AOb4:1» | ||
diakopter | heh | ||
moritz | r: say (;:[]) | 19:29 | |
p6eval | rakudo 2fca74: OUTPUT«» | ||
moritz | r: say (;:[]).perl | 19:30 | |
p6eval | rakudo 2fca74: OUTPUT«[]» | ||
moritz | r: say (:[]).perl | ||
p6eval | rakudo 2fca74: OUTPUT«[]» | ||
moritz | what does the colon do? | ||
n: say (;:[]).perl | |||
p6eval | niecza v22-13-g0d2a99e: OUTPUT«"" => []» | ||
moritz | that's kinda what I expected | 19:31 | |
diakopter | bwahaha | ||
rn: say (::[]) | |||
p6eval | niecza v22-13-g0d2a99e: OUTPUT«Unhandled exception: System.IndexOutOfRangeException: Array index is out of range. at Niecza.Kernel.InstantiateRole (Niecza.Frame th, Niecza.Variable[] pcl) [0x00000] in <filename unknown>:0  at Run.CORE.C669_param_role_inst (Niecza.Frame ) [0x00000] i… | ||
..rakudo 2fca74: OUTPUT«GLOBALish 7 EXPORT 11 $?PACKAGE 15 ::?PACKAGE 19 $_ 23 $/ 27 $! 39 $=pod 43 !UNIT_MARKER 51» | |||
diakopter | phenny: tell sorear another leaky error: n: say (::[]) | ||
phenny | diakopter: I'll pass that on when sorear is around. | ||
19:31
hoelzro is now known as hoelzro|away
|
|||
diakopter | what is rakudo doing there | 19:32 | |
moritz | diakopter: symbol table | ||
r: say MY:: === :: | |||
p6eval | rakudo 2fca74: OUTPUT«False» | ||
moritz | r: say MY:: | ||
p6eval | rakudo 2fca74: OUTPUT«PseudoStash.new("GLOBALish", GLOBAL, "EXPORT", EXPORT, "\$?PACKAGE", GLOBAL, "::?PACKAGE", GLOBAL, "\$_", Any, "\$/", Any, "\$!", Any, "\$=pod", Array.new(), "!UNIT_MARKER", !UNIT_MARKER, )» | ||
diakopter | oh | ||
moritz | r: say :: | ||
p6eval | rakudo 2fca74: OUTPUT«PseudoStash.new("GLOBALish", GLOBAL, "EXPORT", EXPORT, "\$?PACKAGE", GLOBAL, "::?PACKAGE", GLOBAL, "\$_", Any, "\$/", Any, "\$!", Any, "\$=pod", Array.new(), "!UNIT_MARKER", !UNIT_MARKER, )» | ||
moritz | nr: say (;).perl | 19:33 | |
p6eval | niecza v22-13-g0d2a99e: OUTPUT«Nil» | ||
..rakudo 2fca74: OUTPUT«()» | |||
moritz | nr: say (;).elems | ||
diakopter | rn: say (:::[]) | ||
p6eval | rakudo 2fca74, niecza v22-13-g0d2a99e: OUTPUT«0» | ||
niecza v22-13-g0d2a99e: OUTPUT«Unhandled exception: System.NullReferenceException: Object reference not set to an instance of an object at Niecza.StashCursor.Core (System.String key, Boolean final, Niecza.StashCursor& sc, Niecza.Variable& v, Niecza.Variable bind_to) [0x00000] in <file… | |||
..rakudo 2fca74: OUTPUT«===SORRY!===ResizablePMCArray: index out of bounds!» | |||
diakopter | phenny: tell sorear another: n: say (:::[]) | ||
phenny | diakopter: I'll pass that on when sorear is around. | ||
diakopter | rakudo shouldn't say that there | 19:34 | |
I wonder what index it's trying | 19:35 | ||
tadzik | I don't like it when things like this parse | ||
so you make a syntax error somewhere, and there's no syntax error, it just misworks | 19:36 | ||
dalek | ast: f2fa61e | moritz++ | S02-types/parcel.t: RT #115282, (;) parses |
||
19:36
replore_ left
|
|||
masak submits rakudobug | 19:36 | ||
jnthn | diakopter: It's an internal error of some kind | 19:37 | |
My motivation to fix these things, or have them clutter RT, is relatively low, fwiw. | |||
masak | r: say (:::[]) | ||
p6eval | rakudo 2fca74: OUTPUT«===SORRY!===ResizablePMCArray: index out of bounds!» | ||
diakopter | _._. | ||
jnthn | Maybe somebody else likes hunting them though. | ||
masak | jnthn: I prefer to have them in RT. | ||
jnthn: could mark them up in some way if you like. | |||
colomon | rn: say (1..10).list.Array | ||
p6eval | niecza v22-13-g0d2a99e: OUTPUT«Unhandled exception: Unable to resolve method Array in type List at /tmp/1zuJIDwEPl line 1 (mainline @ 4)  at /home/p6eval/niecza/lib/CORE.setting line 4212 (ANON @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 4213 (module-CORE @ 579)  at /home… | 19:38 | |
..rakudo 2fca74: OUTPUT«1 2 3 4 5 6 7 8 9 10» | |||
masak | sometimes I've given them the label [WEIRD] | ||
diakopter | my premise is that exposing such things could point to larger problems | 19:39 | |
19:39
fgomez left
|
|||
am0c | std: sub nom ($a, $b? = "question") { }; | 19:39 | |
p6eval | std 47e39ad: OUTPUT«Potential difficulties: $b is declared but not used at /tmp/Sh_mbI_3X2 line 1:------> sub nom ($a, ⏏$b? = "question") { }; $a is declared but not used at /tmp/Sh_mbI_3X2 line 1:------> sub nom (⏏$a, $b? = "question") { };o… | 19:40 | |
am0c | std: sub nom ($a, $b? = "question") { return $a + $b; }; | ||
p6eval | std 47e39ad: OUTPUT«ok 00:00 45m» | ||
jnthn | am0c: The default value implies the ? | ||
So you may omit it here | |||
am0c | yes! though I was curious if I explicitly denote it when default value is provided. | 19:41 | |
19:41
thou left
|
|||
colomon | n: say Array.new((1..10).list) | 19:41 | |
p6eval | niecza v22-13-g0d2a99e: OUTPUT«Unhandled exception: Excess arguments to List.new, used 1 of 2 positionals at /home/p6eval/niecza/lib/CORE.setting line 0 (List.new @ 1)  at /tmp/LGEEIrzIWT line 1 (mainline @ 4)  at /home/p6eval/niecza/lib/CORE.setting line 4212 (ANON @ 3)  at /ho… | ||
jnthn | am0c: You may put it there if you wish. | 19:42 | |
am0c: It's just not required. | |||
19:42
hash_table left
|
|||
am0c | I see. | 19:43 | |
diakopter | hee hee | ||
std: /a <~~ >/ | |||
p6eval | std 47e39ad: OUTPUT«Can't locate object method "desigilname" via package "STD::Regex::_X_SsSlash::_X_SsGt" at STD.pm line 62308.FAILED 00:00 42m» | ||
diakopter | I'm getting better at this code manual inspection thing | 19:44 | |
I used to be awful. Now I'm slightly less awful | |||
phenny tell sorear sorry for the spam - another n: /a <~~ >/ | 19:45 | ||
masak | diakopter: if you use phenny too much, she'll overflow and fall back to pm. | 19:47 | |
am0c | std: sub foo (|bareword) { }; | ||
p6eval | std 47e39ad: OUTPUT«ok 00:00 43m» | ||
19:48
fhelmberger left
|
|||
masak | rakudo: <-> $x { } | 19:48 | |
p6eval | rakudo 2fca74: ( no output ) | ||
_edwin | how difficult would string macros be to implement in rakudo? | 19:49 | |
colomon | n: say (@((1..10).list)).WHAT | ||
p6eval | niecza v22-13-g0d2a99e: OUTPUT«List()» | ||
diakopter | phenny: tell TimToady stdbug std: /a <~~ >/ | ||
phenny | diakopter: I'll pass that on when TimToady is around. | ||
_edwin would love to solve an RC task with macro include($filename) {$filename.MAGIC.slurp } | |||
colomon | n: my @a = (1..10).list; say @a.WHAT | 19:50 | |
p6eval | niecza v22-13-g0d2a99e: OUTPUT«Array()» | ||
_edwin | where .MAGIC would be incantation to evaluate an AST argument. | ||
diakopter | oh hm. the ~~ thing wasn't what I thought it was | 19:52 | |
moritz | nqp: my @a := []; @a[-1] | 19:53 | |
p6eval | nqp: ( no output ) | ||
moritz | r: :::[] | 19:55 | |
p6eval | rakudo 2fca74: OUTPUT«===SORRY!===ResizablePMCArray: index out of bounds!» | ||
moritz | the lines that dies is | ||
@components[+@components - 1] := @components[+@components - 1] ~ (...) | |||
in World.pm | |||
jnthn | std: :::[] | 19:56 | |
p6eval | std 47e39ad: OUTPUT«ok 00:00 42m» | ||
tadzik | ( ° ー°) | ||
moritz | (that's in dissect_longname) | ||
nqp: my @a := []; @a[+@a - 1] := @a[+@a - 1 ] ~ 'foo' | |||
p6eval | nqp: OUTPUT«ResizablePMCArray: index out of bounds!current instr.: '' pc 78 ((file unknown):150492226) (/tmp/qd6wCbd1F7:1)» | ||
19:57
fgomez joined
|
|||
moritz | nqp: my @a := []; @a[+@a - 1] := @a[+@a - 1 ]; | 19:57 | |
p6eval | nqp: OUTPUT«ResizablePMCArray: index out of bounds!current instr.: '' pc 78 ((file unknown):167979266) (/tmp/TZt0kPQPtY:1)» | ||
moritz | nqp: my @a := []; @a[+@a - 1] := 1; | ||
p6eval | nqp: OUTPUT«ResizablePMCArray: index out of bounds!current instr.: '' pc 68 ((file unknown):154888031) (/tmp/UELWz4VSuD:1)» | ||
moritz | nqp: my @a := []; @a[+@a - 1] ; | ||
p6eval | nqp: ( no output ) | ||
moritz | ah, it's parsed bit like infix:['foo'] | 19:58 | |
jnthn | ah... | 19:59 | |
Hmm. | |||
moritz | except that the [] is emptz and there's a :: instead of an identifier | ||
19:59
Chillance left
|
|||
jnthn | yeah | 19:59 | |
20:00
thou joined
20:01
GlitchMr left,
Chillance joined
20:02
kurahaupo joined
|
|||
am0c | > my @a = (0, :a<b>, 2); my $a = @a.Parcel; $a.WHAT.say; $a.^does('Parcel()').say | 20:07 | |
Parcel() | |||
False | |||
> my @a = (0, :a<b>, 2); my $a = @a.Parcel; $a.WHAT.say; $a.^isa('Parcel()').say | |||
Parcel() | |||
0 | |||
diakopter | "after Perl 6 comes out.." should probably be updated in STD.pm6 | ||
am0c | is it right that 'isa' returns zero, and 'does' returns False? | ||
20:08
nlpplz left
|
|||
pmichaud | well, Rakudo and Niecza are "out", but Perl 6.0.0 isn't yet. :-) | 20:08 | |
masak | 'night, #perl6 | 20:09 | |
pmichaud | r: my $a = (1,2,3); $a.WHAT.say; $a.isa(Parcel).say | ||
p6eval | rakudo 2fca74: OUTPUT«Parcel()True» | ||
pmichaud | r: my $a = (1,2,3); $a.WHAT.say; $a.isa(Parcel).say; $a.HOW.isa(Parcel).say | 20:10 | |
p6eval | rakudo 2fca74: OUTPUT«Parcel()Truetoo few positional arguments: 2 passed, 3 (or more) expected in any isa at src/gen/Metamodel.pm:960 in block at /tmp/2gos69bPtT:1» | ||
pmichaud | r: my $a = (1,2,3); $a.WHAT.say; $a.isa(Parcel).say; $a.HOW.isa($a, Parcel).say | ||
p6eval | rakudo 2fca74: OUTPUT«Parcel()True1» | ||
moritz | I wonder if code like :::[] should die with "empty name disallowed" or so | ||
20:12
birdwindupbird joined
20:13
colomon_ joined
|
|||
Hor|zon | moritz: I saw Pod::To::HTML for Perl 6, that's why I was thinking Pod => Pod or some kind of Pod syn tree | 20:14 | |
problem with pod mdules in p5 was all the reinventing of wheels | |||
who cares about the final format, it's the "nice bits" we need to share | 20:15 | ||
on that note, it would be nice to port String::Tagged | |||
hmmm | |||
20:16
colomon left,
colomon_ is now known as colomon
|
|||
_edwin | std: s[]*] | 20:17 | |
p6eval | std 47e39ad: OUTPUT«===SORRY!===Null pattern not allowed at /tmp/ME9Siv5BjQ line 1:------> s[⏏]*] expecting any of: statement end statement listParse failedFAILED 00:00 41m» | ||
20:21
kurahaupo left,
Chillance left,
Chillance joined
20:23
alester left
|
|||
diakopter | n: (sub { * })() | 20:24 | |
p6eval | niecza v22-13-g0d2a99e: OUTPUT«Unhandled exception: System.NullReferenceException: Object reference not set to an instance of an object at Niecza.Kernel.TypeDispatcher (Niecza.Frame th, Boolean tailcall) [0x00000] in <filename unknown>:0  at Niecza.Kernel.StandardTypeProtoC (Niecza.… | ||
diakopter | phenny: tell sorear sorry again, another: n: (sub { * })() | ||
phenny | diakopter: I'll pass that on when sorear is around. | ||
diakopter likes the tailcall Boolean above | 20:25 | ||
20:25
nlpplz joined,
SamuraiJack left
|
|||
_edwin | nr: $x='$x';eval($x).say | 20:28 | |
p6eval | rakudo 6064d0: OUTPUT«===SORRY!===Variable $x is not declaredat /tmp/nUS6w9XzDB:1» | ||
..niecza v22-13-g0d2a99e: OUTPUT«===SORRY!===Variable $x is not predeclared at /tmp/mPVLAVWdfI line 1:------> <BOL>⏏$x='$x';eval($x).sayVariable $x is not predeclared at /tmp/mPVLAVWdfI line 1:------> $x='$x';eval(⏏$x).sayUnh… | |||
_edwin | nr: my $x='$x';eval($x).say | ||
p6eval | rakudo 6064d0, niecza v22-13-g0d2a99e: OUTPUT«$x» | ||
_edwin | nr: my $x='$x';$x.eval.say | ||
p6eval | niecza v22-13-g0d2a99e: OUTPUT«Unhandled exception: Variable $x is not predeclared at /home/p6eval/niecza/boot/lib/CORE.setting line 1437 (die @ 5)  at /home/p6eval/niecza/src/STD.pm6 line 5633 (STD.sorry @ 7)  at /home/p6eval/niecza/src/NieczaActions.pm6 line 2049 (ANON @ 41)  … | ||
..rakudo 6064d0: OUTPUT«===SORRY!===Variable $x is not declaredat eval_0:1» | |||
diakopter | phenny: tell sorear different error: n: (sub { ** })() | 20:29 | |
phenny | diakopter: I'll pass that on when sorear is around. | ||
_edwin | why does eval($x) behave differently from $x.eval ? | ||
does $x.eval get a different lexical scope? | 20:30 | ||
20:32
birdwindupbird left
20:33
tokuhiro_ joined
20:34
hash_table joined
20:39
flightrecorder left
|
|||
diakopter | rn: class Foo::Bar { }; sub baz(--> Foo::Bar) { Foo::Bar.new }; say baz | 20:39 | |
p6eval | niecza v22-13-g0d2a99e: OUTPUT«Bar.new(...)» | ||
..rakudo 6064d0: OUTPUT«Foo::Bar.new()» | |||
diakopter | niecza likes the shortname; rakudo likes the long one | ||
20:40
MayDaniel left
20:42
flightrecorder joined
20:46
rindolf left,
kaare_ left
20:58
benabik joined
21:05
sftp left
21:09
sftp joined
|
|||
_edwin | rosettacode.org/wiki/Narcissist#Perl_6 | 21:11 | |
maybe this is a motivation for implementing nested quote delimiters? *hint* *hint* ;) | 21:12 | ||
21:13
kurahaupo joined
|
|||
_edwin | btw the perl 5 solutions cheats IMHO | 21:13 | |
diakopter | _edwin: _edwin++ _edwin++ _edwin++ _edwin++ _edwin++ _edwin++ _edwin++ _edwin++ | 21:14 | |
21:14
skids left
|
|||
_edwin blushes | 21:14 | ||
colomon | _edwin: how are nested quoting delimiters supposed to work? | 21:15 | |
21:16
zby_home_ left
|
|||
_edwin | like q{ this is a string and this -->q{ is just part of the string } <-- } | 21:16 | |
hm, actually if slurp() does text mode, this narcissist should also work with a Windows newline in narcissist.pl, I guess | 21:17 | ||
colomon | std: say q{ this is a string and this -->q{ is just part of the string } blu + 23 43 } | 21:19 | |
p6eval | std 47e39ad: OUTPUT«ok 00:00 42m» | ||
colomon | n: say q{ this is a string and this -->q{ is just part of the string } blu + 23 43 } | ||
p6eval | niecza v22-13-g0d2a99e: OUTPUT« this is a string and this -->q{ is just part of the string } blu + 23 43 » | ||
colomon is still not quite clear why that works, but it just did, right? | 21:20 | ||
_edwin | r: q{ this is a string and this -->q{ is just part of the string } blu + 23 43 } | ||
p6eval | rakudo 6064d0: OUTPUT«===SORRY!===Confusedat /tmp/XrOfE7TGLI:1» | ||
_edwin | niecza++ | ||
too bad niecza does not like slurp() | |||
21:21
benabik left
|
|||
_edwin | as in multi slurp (IO $fh = $*ARGFILES, ... | 21:21 | |
colomon | _edwin: that ought to be fixable | ||
dalek | ecza: 136ddcf | (Solomon Foster)++ | lib/CORE.setting: Add Parcel.Array and List.Array. There's probably a better way of doing this, but this gets the job done for the moment. |
21:22 | |
colomon | _edwin: that's in S32? | 21:23 | |
_edwin | yes, line 115 | ||
S32-setting-library/IO.pod | |||
good night perl6 | 21:27 | ||
21:27
_edwin left
|
|||
dalek | p: 21af32a | jnthn++ | src/HLL/Grammar.pm: Allow nesting of quotes. |
21:37 | |
kudo/nom: 42a280b | jnthn++ | / (2 files): Get nested delimeters parse fix. |
21:39 | ||
jnthn | phenny: tell _edwin I fixed the nested quote delimeters thing, I think :) | ||
phenny | jnthn: I'll pass that on when _edwin is around. | ||
colomon is working on slurp() in niecza. | 21:40 | ||
does slurp() eat all the files in $*ARGS and then stdin, too? | 21:51 | ||
or is it one or the other? | 21:53 | ||
21:59
PacoAir left
|
|||
bbkr | is it safe to pass shallow clone to bless like that: "class B is A { method new (A $a) { self.bless($a.clone) } };" ? | 22:00 | |
on logical level interferences between two instances of A and B is desired. however on syntax level i'm not sure if shallow clone is the same as $class.CREATE() which bless is expecting. | 22:06 | ||
jnthn | bbkr: CREATE creates a much more "empty" object | 22:07 | |
bbkr: If you want to make a clone but with some attributes changed, you can pass named args to clone, I believe. | 22:08 | ||
sleep & | 22:10 | ||
bbkr | i noticed that CREATE is empty container and initialization params follows in bless(). that's why I was not sure if I can pass already initialized object there. | 22:11 | |
rakudo: class A { has $.x is rw = [6]; }; class B is A { method new (A $a) { self.bless($a.clone) } }; my $a = A.new; my $b = B.new($a); $b.x.[0]++; $a.say | 22:12 | ||
p6eval | rakudo 6064d0: OUTPUT«A.new(x => [7])» | ||
bbkr | n: class A { has $.x is rw = [6]; }; class B is A { method new (A $a) { self.bless($a.clone) } }; my $a = A.new; my $b = B.new($a); $b.x.[0]++; $a.say | 22:13 | |
p6eval | niecza v22-14-g136ddcf: OUTPUT«A.new(...)» | ||
bbkr | n: class A { has $.x is rw = [6]; }; class B is A { method new (A $a) { self.bless($a.clone) } }; my $a = A.new; my $b = B.new($a); $b.x.[0]++; $a.x.[0]say | ||
p6eval | niecza v22-14-g136ddcf: OUTPUT«===SORRY!===Confused at /tmp/U4LLfGHzKc line 1:------> my $b = B.new($a); $b.x.[0]++; $a.x.[0]⏏sayParse failed» | ||
bbkr | n: class A { has $.x is rw = [6]; }; class B is A { method new (A $a) { self.bless($a.clone) } }; my $a = A.new; my $b = B.new($a); $b.x.[0]++; $a.x.[0].say | ||
p6eval | niecza v22-14-g136ddcf: OUTPUT«6» | ||
bbkr | discrepancy here between R and N. according to clone spec this looks like nieczabug | 22:15 | |
22:24
cognominal joined
|
|||
cognominal | nr: my @a = [[1, 2], 3, 4, [5, [6, [7]]]]; sub flatten($a) { $a ~~ Positional ?? $a.map({ &?ROUTINE($_)}) !! $a }; say flatten(@a).perl | 22:25 | |
p6eval | rakudo 42a280, niecza v22-14-g136ddcf: OUTPUT«(1, 2, 3, 4, 5, 6, 7).list» | ||
cognominal | is there a better way to flatten, arrays of arrays? | ||
22:29
tokuhiro_ left,
amkrankruleuen left
22:30
Chillance left,
Chillance joined
|
|||
TimToady | colomon: it's one or the other | 22:32 | |
phenny | TimToady: 19:49Z <diakopter> tell TimToady stdbug std: /a <~~ >/ | ||
TimToady | only reads $*IN if there are no filenames | ||
colomon | TimToady++ | 22:33 | |
22:33
flightrecorder left,
cognominal left
|
|||
TimToady | if we followed p5 here, slurp would actually only do one file at a time, but maybe we don't want that, since nobody will expect slurp to iterate | 22:34 | |
that would more properly be done by undefining the newline on the filehandle and using .get, I think | 22:35 | ||
22:44
thou left
|
|||
sorear | o/ | 22:46 | |
phenny | sorear: 19:31Z <diakopter> tell sorear another leaky error: n: say (::[]) | ||
sorear: 19:33Z <diakopter> tell sorear another: n: say (:::[]) | |||
sorear: 20:24Z <diakopter> tell sorear sorry again, another: n: (sub { * })() | |||
sorear: 20:29Z <diakopter> tell sorear different error: n: (sub { ** })() | |||
sorear | *shrug* | ||
22:49
stopbit left,
spider-mario left
|
|||
TimToady | just so your name isn't Atlas :) | 22:50 | |
22:55
m0ss joined
22:56
Chillance left
22:58
m0ss left
|
|||
bbkr | std: class A { class B is A { } }; A::B.new | 23:00 | |
p6eval | std 47e39ad: OUTPUT«ok 00:00 42m» | ||
bbkr | rn: class A { class B is A { } }; A::B.new' | ||
p6eval | niecza v22-14-g136ddcf: OUTPUT«===SORRY!===Confused at /tmp/bhbYrTIh10 line 1:------> class A { class B is A { } }; A::B.new⏏'Parse failed» | ||
..rakudo 42a280: OUTPUT«===SORRY!===Confusedat /tmp/dHBvhsqeq9:1» | |||
bbkr | rn: class A { class B is A { } }; A::B.new | ||
p6eval | niecza v22-14-g136ddcf: ( no output ) | ||
..rakudo 42a280: OUTPUT«No such method 'new' for invocant of type 'B' in block at /tmp/0pmKibaECe:1» | |||
23:07
fgomez left
|
|||
am0c | I think an 'Array' should be a class rather than a role. perlcabal.org/syn/S32/Containers.html#Array | 23:26 | |
23:27
jerome left
|
|||
sorear | am0c: Array has to be a role | 23:27 | |
am0c | oh | ||
sorear | because it's parametrized, and classes can't be | ||
am0c | aha, I see! | 23:30 | |
sorear | I agree it's kind of silly | 23:31 | |
am0c | it feels like a sort of meta-template thingy in c++ term although it's different internally. | 23:35 | |
but it makes me feel that Hash could be better if it is parameterized, for example, like Hash[Str; Int]; | 23:37 | ||
sorear | the techical term for that is parametric polymorphism. | ||
shachaf | Yay, parametric polymorphism. | 23:38 | |
23:41
jerome joined
|
|||
am0c | then, could I check it is right the reason that Array has to be parameterized is.. exactly because of the `parametric polymorphism`? | 23:42 | |
or by other parametrical term? | 23:43 | ||
sorry, I just got confused. | |||
sorear | hey shachaf | 23:45 | |
shachaf | hi sorear | ||
I was looking up newtype Curry a = Curry (Curry a -> a) and your name kept coming up in IRC logs. | 23:47 | ||
sorear | yeah that kind of thing happens | 23:49 | |
has ghc been fixed yet to not explode when compiling curry's paradox? | |||
shachaf | Well, (\f -> (\x -> outR x x) (InR (\x -> f (outR x x)))) is a usable "fix". | 23:51 | |
I think it wasn't at one point because of inliner issues? | |||
sorear | shachaf: I mean it used to be the case that when attempting to compile curry's paradox, the inliner would crash, and this stood as a WONTFIX ticket for several years | 23:53 | |
shachaf | When trying to compile which code? | 23:55 | |
sorear | the code you just pasted. | 23:56 | |
shachaf | By usable I mean that it compiles and runs. | ||
sorear | then clearly ghc has been fixed | ||
shachaf | Oh, I'm wrong. | 23:57 | |
It works in ghci but no with ghc. | |||
Bah. |