pugscode.org/ | nopaste: sial.org/pbot/perl6 | pugs: [~] <m oo se> (or rakudo:, kp6:, smop: etc.) || We do Haskell, too | > reverse . show $ foldl1 (*) [1..4] | irclog: irc.pugscode.org/ Set by TimToady on 25 January 2008. |
|||
00:00
alester left
00:05
bacek joined
00:07
justatheory left
00:16
japhb left
00:19
japhb joined
00:26
Alias_ left
00:40
justatheory joined
00:54
Alias_ joined
|
|||
meppl | good night | 00:56 | |
00:58
justatheory left
00:59
meppl left
01:13
cathyal joined,
cathyal is now known as planofish,
_timbunce left
01:20
Alias_ left,
Alias__ joined
01:21
hcchien joined
01:35
Limbic_Region left
01:41
alester joined
01:49
jfredett_ joined
02:00
jfredett left
02:23
alester left
02:25
Alias__ left
02:26
Alias_ joined
02:28
aindilis joined,
alester joined
02:33
xinming_ joined
|
|||
pugs_svn | r21443 | lwall++ | [STD] removed all trailing {*} because they inhibit composibility | 02:39 | |
r21443 | lwall++ | meta-infixes now (tend to) include trailing components for complete tokens | |||
02:39
xinming__ joined
02:41
xinming left
02:44
wknight8111 left
02:53
xinming_ left
|
|||
pugs_svn | r21444 | putter++ | [rx_on_re] Establish regression baseline. | 02:59 | |
03:02
Alias__ joined
03:03
Alias_ left
03:08
elmex_ joined
03:11
BinGOs_ joined
03:12
BinGOs left
|
|||
TimToady | @messages | 03:13 | |
lambdabot | masak asked 7h 17m 55s ago: is `class A is B {}; class B {}` allowed in Perl 6? | ||
TimToady | @tell masak "is B" is not allowed unless B is already known to be a trait or type; only subroutines can be post-declared | 03:14 | |
lambdabot | Consider it noted. | ||
03:17
mod_cure left
|
|||
TimToady | moritz_: are you sure your STD is up-to-date? my STD fails on neither of those, and passes 80%+ of the t/spec tests all of which start with 'use v6;' | 03:21 | |
where "passes" means "parses", of course | |||
03:21
elmex left,
elmex_ is now known as elmex
04:31
REPLeffect joined
|
|||
pugs_svn | r21445 | putter++ | [elf] elf_g created. | 04:42 | |
r21445 | putter++ | elf_g copied from elf_f. elf_f now has its own copy of STD_red. elf_f frozen. | |||
r21445 | putter++ | TESTS regressions file dropped. VERSIONS carved out of README. | |||
04:43
REPLeffect left,
REPLeffect joined,
timbunce joined
04:54
kanru joined
|
|||
pugs_svn | r21446 | Auzon++ | [gsoc_spectest] added some S09 tests from TASKS (added 10 tests) | 04:56 | |
05:02
alester left
05:13
luqui joined
05:20
Psyche^ joined
05:22
Alias__ left
05:36
Patterner left,
Psyche^ is now known as Patterner
05:39
justatheory joined
05:44
justatheory left
05:51
[particle1 joined
05:54
alester joined
06:23
barney joined
06:24
xinming__ left
06:28
xinming joined
06:41
penk joined
06:44
iblechbot joined
06:45
audreyt left
07:09
BinGOs_ is now known as BinGOs
07:12
jferrero left
|
|||
rakudo_svn | r29693 | pmichaud++ | [rakudo]: spectest-progress.csv update: 102 files, 1799 passing tests | 07:21 | |
moritz_ | good morning | 07:22 | |
07:38
masak joined
07:46
xinming_ joined
07:47
rho joined
|
|||
moritz_ | TimToady: it was an outdated STD.pmc, so never mind | 07:50 | |
07:51
timbunce left
|
|||
pugs_svn | r21447 | moritz++ | [spec] capture.t: used '...' for strings in which $ should | 07:53 | |
r21447 | moritz++ | not be interpolated. | |||
masak | moritz_: good morning | 07:56 | |
lambdabot | masak: You have 1 new message. '/msg lambdabot @messages' to read it. | ||
masak | @messages | 07:57 | |
lambdabot | TimToady said 4h 42m 31s ago: "is B" is not allowed unless B is already known to be a trait or type; only subroutines can be post-declared | ||
07:57
Alias_ joined
|
|||
moritz_ | good morning masak ;) | 07:57 | |
masak | :) | ||
it's good to have people spread out over the globe | |||
then you have the luxury of getting your questions answered overnight | 07:58 | ||
07:58
timbunce joined,
xinming left
08:01
timbunce left
|
|||
masak | so, next question: if, for some reason, I have to declare classes in reverse order, how do I write? is 'class A { ... }; class B is A {}; class A is also {}' the "standard practice" for this? | 08:03 | |
can I make a class derive a new class using the 'is also' mechanism? | |||
moritz_ | I don't know if class a { ... } (with literal '...') is valid syntax, but I think it should work with 'is also' | ||
masak: I see no reason why not | 08:04 | ||
masak | moritz_: actually, the literal '...' is not strictly required here, I guess | ||
'class A {}; class B is A {}; class A is also { has $.stuff }' | 08:05 | ||
moritz_ | masak: should I retitle RT #57170? | ||
masak | moritz_: if you wish | ||
are these statements eval'ed at BEGIN time? | 08:06 | ||
moritz_ | masak: for example to "inheriting from a non-defined class should give a nice error message" | ||
masak: class definitions are, yes | |||
masak | moritz_: oki | ||
what happens if I put them in an eval? | |||
moritz_ | then they happen at run time, and in the BEGIN-phase of the eval block | ||
masak | what happens if I create instances of A and B, and then eval an 'A is also'? | 08:07 | |
:) | |||
moritz_ | only new instances are affected (I think) | ||
masak | ok, so no Smalltalk here | ||
still, maybe that's reasonable | 08:08 | ||
moritz_ | that's what chitchat is for ;-) | ||
masak | hehe | ||
moritz_ | uhm, that title change didn't work | 08:09 | |
08:14
pmurias joined
|
|||
pmurias | classes are open by default, so modifing them at runtime should work | 08:15 | |
moritz_ | wow, STD.pm now parses 82% of t/spec/ | 08:19 | |
08:19
pmurias left
|
|||
moritz_ | TimToady++ | 08:19 | |
zamanfou is now away: In the rain my tears are forever lost. | 08:22 | ||
moritz_ | masak: so what do we do with t/oo/class/declaration-order.t? | ||
08:22
pmurias joined
|
|||
masak | moritz_: ah, right | 08:23 | |
maybe remove it outright | |||
moritz_ | s/lives_ok/eval_dies_ok/ in the second case? | ||
masak | even better | ||
masak fixes | |||
moritz_ | and maybe move to t/spec/S12-classes/ ? | 08:24 | |
masak | gladly :) | 08:25 | |
pugs_svn | r21448 | masak++ | [declaration-order.t] reformulated test due to new insights about semantics | 08:26 | |
moritz_ | masak: dies_ok isn't good because the class declaration happens at compile time | ||
masak: that's why I suggested eval_dies_ok | |||
masak | ah, I see it now | 08:27 | |
fixing | |||
08:27
Alias_ left,
Alias__ joined
|
|||
pugs_svn | r21449 | masak++ | [declaration-order.t] moved into t/spec | 08:27 | |
r21450 | masak++ | [declaration-order.t] s/dies_ok/eval_dies_ok/ | 08:28 | ||
masak | after the moving-into-t/spec is done, will there be any tests outside t/spec? | 08:29 | |
moritz_ | not in the official test suite | 08:30 | |
masak | ah, so t/spec is the official test suite | ||
moritz_ | aye | ||
there might be implementation specific tests still | |||
pmurias | unless the unspeced features will also be untested ;) | 08:31 | |
pugs_svn | r21451 | moritz++ | [spec] | 08:32 | |
r21451 | moritz++ | capture.t: removed old-style todo markers | |||
r21451 | moritz++ | declaration-order.t: eval_dies_ok takes a string | |||
masak | moritz_++ # oops, again | 08:33 | |
moritz_ | now if only I know why rakudo says "[oops; continuation 0xb5e52144 of type 21 is trying to jump from runloop 22394 to runloop 110]"... | 08:34 | |
moritz_ realcleans and rebuilds | 08:35 | ||
my desk could use a "make realclean" also ;-) | |||
masak | *lol* | 08:36 | |
moritz_ | masak: title of ticket changed (barney++) | 08:41 | |
masak | dz | ||
08:48
barney left
08:56
pmurias left
09:06
bsb left
09:30
chris2 joined
09:33
bacek left
10:03
lambdabot left
10:04
aindilis left,
aindilis joined
10:07
donaldh joined
10:08
lambdabot joined
10:37
orafu left
10:41
qiang joined
10:52
bbkr joined
10:57
ruoso joined
11:10
wknight8111 joined
|
|||
pugs_svn | r21452 | fglock++ | [v6.pm] large test files are chunked | 11:11 | |
11:23
meppl joined
11:24
pbuetow joined
11:28
rindolf joined
11:48
pmurias joined
11:58
Lorn left,
Lorn_ joined
12:06
orafu joined
12:07
penk left
12:14
luqui left
12:23
orafu left
12:27
kanru left
12:29
wknight8111 left
|
|||
pugs_svn | r21453 | moritz++ | [spec] compact.t: ord with $_ as argument is written as .ord | 12:33 | |
rindolf | Hi all. | 12:36 | |
12:39
orafu joined
12:44
masak left
|
|||
pmurias | rindolf: hi | 12:50 | |
rindolf | pmurias: hi. | 12:51 | |
moritz_ | www.mikeonads.com/2008/07/13/using-...te-gender/ # nice one | ||
lambdabot | Title: b Mike On Ads 1 16 ōæ½xBB Blog Archive 1 3a ōæ½xBB Using your browser URL history to estim ..., tinyurl.com/6xmego | ||
rindolf | pmurias: wow! nothingmuch has 114 CPAN distributions. | 12:52 | |
12:54
Jamzio joined
12:55
masak joined
|
|||
pmurias | rindolf: yes, that's quite a lot of CPAN distributions ;) | 12:59 | |
13:15
cognominal_ left
13:16
c1sung joined
13:20
kanru joined
13:28
cmarcelo joined
|
|||
ruoso placing some wood in the fire on the "HLL Interoperability" thread | 13:42 | ||
moritz_ | ;) | ||
ruoso | pmurias, in the end doo we agree on the p6opaque structure? | 13:43 | |
moritz_ | rakudo: multi sub a() { }; say 1; | 13:47 | |
p6eval | rakudo 29697: OUTPUT[1ā¤] | ||
moritz_ | rakudo: multi sub a { }; say 1; | ||
p6eval | rakudo 29697: OUTPUT[get_pmc_keyed() not implemented in class 'Undef'ā¤current instr.: 'parrot;Perl6;Grammar;Actions;multi_declarator' pc 133690 (src/gen_actions.pir:13082)ā¤] | ||
moritz_ | rakudo: multi a() { }; say 1; | ||
p6eval | rakudo 29697: OUTPUT[Statement not terminated properly at line 1, near "{ }; say 1"ā¤current instr.: 'parrot;PGE::Util;die' pc 120 (runtime/parrot/library/PGE/Util.pir:82)ā¤] | ||
moritz_ | masak++ wrote tickets for those two | ||
pmurias | ruoso: looking once more at it ;) | 13:49 | |
nothing objectable there so if you're fine with the one on the wiki we do ;) | 13:51 | ||
lunch& | 13:52 | ||
ruoso | by "on the wiki" you mean www.perlfoundation.org/perl6/index....ementation | ||
lambdabot | Title: SMOP p6opaque Implementation / Perl 6, tinyurl.com/2z5spt | ||
13:54
iblechbot left
|
|||
pmurias | ruoso: yes | 13:55 | |
ruoso | alright then | ||
do we have an lowlevel array implemented already/ | 13:56 | ||
? | |||
13:57
audreyt joined,
b_jonas joined
14:01
pmurias left
|
|||
ruoso brb & | 14:01 | ||
14:02
qiang1 joined
14:03
pmurias joined
|
|||
pmurias | ruoso: not yet, i'll get to work on it then | 14:10 | |
s/get to work/get working/ | 14:12 | ||
ruoso: what do we need for the lowlevel array? | 14:14 | ||
the biggest problem with arrays ATM is that s1p dosn't support postcircumfix:<[ ]> | 14:16 | ||
b_jonas | pmurias: is "s1p" the sed2perl translator | 14:17 | |
pmurias | :) | 14:18 | |
it's the unoffical name for the elf smop backend | |||
b_jonas | yeah, and that would only have made sense with a2p, not s2p | 14:19 | |
14:20
qiang left
|
|||
b_jonas | s2p sucks btw, and would need a rewrite | 14:22 | |
I think I could rewrite it to work but I don't think anyone actually uses it these days so I don't care | |||
and there are more than one (non-perl) sed implementations anyway | |||
otoh compared to how it's written it works remarkably well | 14:23 | ||
it's a nice hack | |||
I especially like how it has substitutions like s/a-zA-Z0-9_/\\w/g affecting the whole code | 14:24 | ||
pugs_svn | r21454 | fglock++ | [PCR] version 0.33 | 14:26 | |
14:26
Exodist joined
14:27
hercynium joined
|
|||
pugs_svn | r21455 | fglock++ | [v6.pm] version 0.024 # 3176 tests pass | 14:30 | |
14:33
iblechbot joined
14:35
timbunce joined,
mofino joined
15:04
[particle1 left
15:09
timbunce left
|
|||
pugs_svn | r21456 | fglock++ | [v6.pm] more tests # 5057 | 15:22 | |
15:25
mncharity joined
|
|||
pmurias | mncharity: hi! | 15:25 | |
mncharity | hi pmurias :) | 15:29 | |
saw the 80% t/spec STD parse go by. woo hoo! | |||
how goes? | 15:30 | ||
pmurias | i made a very simple smop backend | ||
mncharity | ! :) | 15:31 | |
pmurias | but it's blocking on "\\\\" not working in elf | 15:32 | |
mncharity | ha ha. fixing that as we speak. | ||
wow. sometime the universe does bizarre timing coincidences. | 15:33 | ||
Not "ha ha", you were blocked. But funny that I hit the same thing, and was fixing. | 15:35 | ||
pmurias | ;) | ||
15:37
masak left
|
|||
pmurias | re 80% t/spec STD parse i maybe i should revieve pixie | 15:38 | |
s/i// | |||
? | |||
pugs_svn | r21457 | putter++ | [elf_g] String escape handling slightly improved. Probably still flakey. | 15:40 | |
moritz_ | is elf limited by parsing, or by the rest of the compiler? | 15:41 | |
mncharity | "Perl 6 development has been blocked for years on the absence of a parser willing to report on classes." - me ;) | 15:42 | |
so parser | |||
moritz_ | we should promote mncharity to our parser pumpkin | 15:43 | |
pmurias | that's TimToady | ||
moritz_ | he's already got the post of language designer and Last Instance of Everything, (LIE) ;-) | 15:44 | |
mncharity | re pixie, good question. was puzzling over how to proceed. perhaps wrap STD5 as a STD_green alternate front-end, with an second IR from ast. | ||
15:44
justatheory joined
|
|||
mncharity | how does STD(5) speed compare with STD_red? | 15:45 | |
pmurias | STD5 is a bit slower i think | 15:46 | |
the way i got t/01-sanity/01-04 was to fill in the {*} blocks and create ast from it | |||
* got working | |||
mncharity | re pumpkin, I get to be a carriage for a while? | ||
moritz_ can't parse that question | 15:47 | ||
mncharity | re sanity, neat. I'll look (eventually...), and pursue directly, or scavenge code/ideas. | 15:48 | |
pmurias | moritz_: a fairy tale reference i guess | ||
mncharity | re parsing pumpkins, isn't the story that they get to be carriages until midnight? | 15:49 | |
15:50
timbunce joined
|
|||
mncharity | (what, Disney hasn't yet managed to homogenize world-wide recognition of mangled fairy tails? ;) | 15:50 | |
*tales | |||
moritz_ | mncharity: I hardly recognize fariy tails that aren't copyright by GebrĆ¼der Grimm ;-) | 15:51 | |
mncharity | :) | ||
pmurias | re how goes, i have vactions right now so i have no real excuse for not helping with perl6 other than lazines and the opengl book I received yesterday ;) | ||
mncharity | lol | ||
pmurias | mncharity: and how does stuff go for you? | 15:52 | |
got to go to the library& | 15:55 | ||
15:55
pmurias left
|
|||
mncharity | distracted, scattered, tired. neat web project to teach numeracy to kindergarden-postdocs :). keep hitting "if only p6 existed, I'd write this there and then compile it down to js". | 15:56 | |
16:01
rho left
16:02
rindolf left
16:03
[particle1 joined
16:06
ruoso left
|
|||
pugs_svn | r21458 | putter++ | [misc/elfish/rx_on_re] Moved p5 regex engine core into a p6 file. | 16:08 | |
r21458 | putter++ | Core now uses s///g, instead of a source filter, for the backtracking api. | |||
r21458 | putter++ | Sub::Name use undisabled. Switched to elf_g. | |||
r21458 | putter++ | Regressions exist - as yet undiagnosed. It's unexpectedly working "better". | |||
Auzon | moritz_++: Thanks for catching my p5isms :) | ||
moritz_ | you're welcome | 16:09 | |
(I have to show that I actually do something as a mentor, at least from time to time ;-) | |||
mncharity | unexpectedly passing tests. phooey. debugging task for another day. | 16:10 | |
Auzon | .oO(unexpectedly passing tests are bad?) |
||
16:14
alester left
|
|||
mncharity | :) when doing a "mutate the implementation while intending to maintain behavior invariance" exercise, yes. it means I don't really understand the changes I just made. perhaps with excellent test coverage, one might disregard understanding, and simply use suite passing. but a good test suite for regex/regexp regrettably doesn't exist. | 16:16 | |
16:17
Alias__ left
|
|||
Auzon | Incidentally, I'm starting work on S05 testing real soon now (possibly as soon as after lunch). Let me know if you have any requests for it :) | 16:17 | |
pmichaud | how about the test suite that PGE uses? | ||
moritz_ | that's certainly a good start, but rather limited in terms of testing modifiers, iirc | 16:18 | |
mncharity | pmichaud: last time I looked (long ago), my fuzzy recollection it was largely derived from the same p5 regexp.t? which is very partial. | 16:19 | |
pmichaud | no, we build the p6 tests from scratch, essentially | 16:20 | |
*built | |||
we then converted them to use a similar format to p5rx.t so that it would be easier to port to other regex engines | 16:21 | ||
16:21
Alias_ joined
|
|||
mncharity | nifty. that will be a big help for the stage after this. | 16:23 | |
pugs_svn | r21459 | lwall++ | [STD] various buglets | 16:24 | |
r21459 | lwall++ | [t/spec] various buglets | |||
mncharity | plan is get the "historically tiny changes toggle perl5 segfaults" code partially rewritten in p6 (emitting p5 plus a "small" residual p5 engine core). then deal with rx syntax changes since its tests were created. then, at some point, think about improving the implementation. | 16:26 | |
pmichaud: thanks for the pointer. Auzon: looking forward to it. re requests, will ponder. pmichaud: aside from "sync everything to current spec and unify tests", any areas strike you as notably needing improvement? | 16:29 | ||
pmichaud | in the regex tests? we do need some updates to some of the modifiers, as moritz++ suggests | ||
thus far we've been implementing modifiers in terms of "what do we need to write language compilers?" | 16:30 | ||
moritz_ | which mostly means :sigspace and :i, right? | ||
pmichaud | :i works (and is tested) already | 16:31 | |
oh, you mean for compilers. yes, :sigspace and :i primarily | |||
most/many of the other modifiers don't fit within PGE itself but can be done by the outer-language compiler. | |||
mncharity | moritz_: re parsing, given a parser, one can dump parse trees for all of t/. in a nice, simple, generative format which can be easily turned into whatever anyone needs (sexp, terms, whatever). after that... doing partial p6 backends is straightforward if one has a target language without much impedance mismatch. challenge is | 16:32 | |
all the core bits which are unspeced (historically). the p6 object story may actually have matured to the point that you could simply sit down and do the Right Thing. though p6l seemed to still be arguing over what exactly .WHAT(?) does a couple of weeks ago, so perhaps not. | 16:33 | ||
pugs_svn | r21460 | moritz++ | [t/deprecated-syntax.pod] mention variable interpolation in test descriptions | 16:34 | |
16:34
Lorn joined
|
|||
mncharity | re straightforward, PIL-Run and PIL2JS were up in days, doing significant test passing in weeks. increasing stuck on, and then blocked by, pugs's parser not exposing oo-related info. | 16:36 | |
moritz_ | I'm too young for remebering that, I guess ;-) | 16:37 | |
mncharity | now we (almost) have a parser without that limitation. | ||
*grin* | |||
sigh, yes, it's been a while. :/ | |||
16:39
TJCRI joined
|
|||
mncharity | re "rest of the compiler", well, it would be nice to have a prelude written in p6. we're not much further along than when the pugs effort to create it bogged down in fighting pugsbugs. but as for the compiler core, the difficulty is largely a function of the target. Haskell, C - hard. P5, JS, ruby, common lisp - much easier. parrot/pir/C - I'm unclear... perhaps easy if you had a fully working implementation snatched from the f | 16:42 | |
16:43
alester joined
|
|||
moritz_ | mncharity: message truncated after 'snatched from the f' | 16:44 | |
mncharity | Toying with the idea of doing a lisp lightning talk next week. "Perl 6 - The future of Common Lisp" "Perl 6 - | ||
but as for the compiler core, the difficulty is largely a function of the target. Haskell, C - hard. P5, JS, ruby, common lisp - much easier. parrot/pir/C - I'm unclear... perhaps easy if you had a fully working implementation snatched from the future, but obviously hard when it's still a work in progress. | |||
16:45
donaldh left
|
|||
mncharity | "Perl 6 - The means by which CL will take over the world" | 16:45 | |
16:46
Lorn_ left
|
|||
b_jonas | hmm | 16:47 | |
mncharity | p6 and CL are quite similar. 'optional typing', 'do good compiling when you can', 'do dynamic runtime-mutatable oo when you wish', 'MOP-able oo', 'macros', 'alter the language with modifiable parsing/reading', ... | 16:49 | |
pugs_svn | r21461 | moritz++ | [spec] fudged each block in S03-operators/assign.t with a #?DOES directive | ||
r21461 | moritz++ | rakudo doesn't pass any of these tests, but now at least plan() matches the | |||
r21461 | moritz++ | number of skipped tests. | |||
r21461 | moritz++ | fudge's test counting seems seriously borked wrt this test file | |||
16:49
AzureStone_ joined
|
|||
b_jonas | ah, that last one (alter the language with modifiable parsing/reading) is true | 16:49 | |
I never realized that | |||
though you could say that about forth as well... | 16:50 | ||
mncharity | :) | ||
b_jonas | no, really, the reader and compiler is the nicest part of forth | 16:51 | |
the stack thingy is not unique and the unchecked typing isn't unique either and isn't so convenient | |||
16:52
[particle1 left
|
|||
pugs_svn | r21462 | audreyt++ | * INSTALL: Update links to Cabal and cabal-install | 16:52 | |
b_jonas | I mean, the idea that you can define a string-quote-operator as a compile-time macro is from forth | ||
I think that predates common lisp reader macros | |||
mncharity | just combining the "have a compiler story" with "can do hairy runtime mutation of objects" by itself filters the set of all languages down to p6, CL, some individual schemes, and ... not sure there's a forth. | ||
no pun intended | |||
b_jonas | compiler story? | 16:53 | |
what does story mean there | |||
hairy runtime mutation of objects... CL has that? I'll have to look at that | 16:54 | ||
also, CL too is a more modern language using an older and well established language to advocate itself | 16:55 | ||
I think that one itself is quite rare, let's see | |||
perl6, common lisp, scheme, c++, "java"script, no, it's not rare | 16:56 | ||
mncharity | the language talks about and is built for compilation. eg, js, ruby, python, and p5 have the "hairy runtime mutation" (though p5's has often been "buggy - you are not supposed to do that"). but the js, ruby, python compiler stories have largely been jit like thinks, or struggles to compile something not really intended to compile. | ||
*things | |||
b_jonas | yes, I know p6, js, ruby have the runtime mutation, but I don't know about how CL has it | 16:57 | |
I'll look it up in the CL book | |||
mncharity | yes, CLOS can, for instance, add a field at runtime and have it propagated to already created objects. | ||
b_jonas | CL book = Common Lisp the Language, 2nd Edition, in html | ||
add a _field_, meh, any language where fields are in a hash can do that (p5, js, ruby, python) | 16:58 | ||
mncharity | re cltl, looks like www.cs.cmu.edu/Groups/AI/html/cltl/cltl2.html is down at the moment. usually up. | 16:59 | |
b_jonas | I have a local copy, so no problem | ||
though I still depend too much on online docs I'm lazy to download (often because they are in lots of separate html pages) | 17:00 | ||
mncharity | re hash, yes, but CL can statically compile to C++ like performance. | ||
js's jit tamarin is a not-quite-there yet work in progress. p5 doesn't have a jit. ruby's is rather limited but at least is core (for the next major version). python's efforts the most mature, but... it really feels like it's going against the grain of the language. | 17:03 | ||
b_jonas | yeah | 17:04 | |
I dislike jit, but even without jit non-hash-based structures are a good idea | |||
mncharity | lua | ||
b_jonas | scheme definitely has non-hash-based structures as an extension, I think even r6rs might have those | 17:05 | |
mncharity | not for non-hash-based, but for sort of having a compiler story. even if its a forth-like "don't get too far from the machine". | ||
b_jonas | so by "compiler story" you mean the optimizations, not the changeable parser and other such interface things | 17:06 | |
like lexical pragmas etc | |||
17:12
ruoso joined
17:13
[particle1 joined
|
|||
mncharity | by "compiler story" I mean "are language features chosen with compilation in mind", and thus "can I talk to the compiler", and thus "can I compile away abstractions", and thus "can I use abstractions without paying a runtime cost for them". | 17:13 | |
well, only the first two. the latter two are motivation. | 17:14 | ||
17:15
demq joined
|
|||
mncharity | but yes, optimizations. though changeable parser and such blend into optimization via macros and such. | 17:15 | |
eep. /me very late. b_jonas: I'd like to continue the conversation some time (sorry I've been distracted), but I've got to run now. | 17:16 | ||
& | |||
17:16
mncharity left
|
|||
b_jonas | bye | 17:17 | |
17:22
Alias_ left
17:23
justatheory left
17:25
alester left
17:27
iblechbot left,
dmq left
17:28
timbunce left
17:31
justatheory joined
17:37
cognominal_ joined,
cognominal_ left
17:38
cognominal_ joined
17:44
timbunce joined
17:46
cognominal_ left
17:47
iblechbot joined
17:48
justatheory_ joined,
justatheory left
17:52
justatheory_ left
17:57
[particle2 joined
18:02
meppl left
18:03
[particle1 left,
meppl joined
18:06
justatheory joined
18:25
pmurias joined
|
|||
ruoso | pmurias, hi | 18:26 | |
pmurias, about lowlevel array... a lowlevel array can be implemented directly in C, the same way you did with Hash | 18:27 | ||
18:28
alester joined
|
|||
pmurias | ruoso: it's already started | 18:29 | |
ruoso: i can do it this evening | |||
ruoso | pmurias++ | ||
18:34
timbunce left
|
|||
ruoso | pugs: say Any.can('FETCH') | 18:35 | |
p6eval | pugs: OUTPUT[*** No such method in class Any: "&can"ā¤ at /tmp/IVo3dMtfF5 line 1, column 5 - line 2, column 1ā¤] | ||
ruoso | pugs: say Any.^can('FETCH') | ||
p6eval | pugs: OUTPUT[*** No such method in class Class: "&can"ā¤ at /tmp/oBmxsWl5Pc line 1, column 5 - line 2, column 1ā¤] | ||
ruoso | pugs: say 1.FETCH | 18:36 | |
p6eval | pugs: OUTPUT[*** No such method in class Int: "&FETCH"ā¤ at /tmp/1UQatPfEh4 line 1, column 5 - line 2, column 1ā¤] | ||
b_jonas | can is a method now? | ||
18:36
qiang1 left
|
|||
ruoso | b_jonas, it is... | 18:36 | |
b_jonas | and it's lowercased? | ||
ruoso | b_jonas, iirc yes | 18:37 | |
b_jonas | makes sense, we don't have an "is" infix either | ||
18:37
justatheory left
|
|||
ruoso | something just crossed my mind... how do we know if something should be used as a container or as a value? | 18:38 | |
'$a = 1' Ć '$a = foo()' Ć 'foo() = 1' | 18:39 | ||
is it purely syntatic? | |||
pmurias | no | ||
i guess containers redispatch methods on their value | 18:40 | ||
ruoso | which means that if foo() is rw, then we copy the container... | ||
$a = 1 # this copies '1' as a value | 18:41 | ||
$a = foo() # this copy the return of foo() as a value, which means, the scalar returned by foo | |||
$a.bar() works, because the scalar delegates to the value | |||
b_jonas | I think in '$a = foo()' the equal sign copies the value of foo() to inside the container $a | ||
that's how it works in p5 at least | |||
and I think that's how = works in p6 too | |||
18:42
justatheory joined
|
|||
ruoso | so how we differentiate $a = 1 from $a = foo() ? | 18:42 | |
because we can't 1.FETCH | |||
so we can't assume the rvalue to be a container | |||
18:42
timbunce joined
|
|||
b_jonas | ruoso: 1 has some container too, doesn't it? | 18:42 | |
pmurias | no | ||
ruoso | b_jonas, does it? | ||
b_jonas | I mean, isn't just 1 as an expression in a scalar? | ||
or am I thinking p5 there? | 18:43 | ||
ruoso | b_jonas, still | ||
the problem persists | |||
b_jonas | in p5, the return value of every expression is in a scalar | ||
ruoso | my $a = foo() | ||
do you have a scalar with a scalar with a value? | |||
(considering foo() is rw) | |||
b_jonas | ruoso: I think no | ||
ruoso | and how you differentiate from | 18:44 | |
my $a = bar() | |||
b_jonas | in that case the container wouldn't be a scalar | ||
ruoso | (where bar() is ro and returns a value) | ||
b_jonas | but some upgraded container than behaives like a scalar | ||
so there's no inner plain scalar | |||
but I'm not sure | |||
also, waiyt | |||
in p5, a normal (non-lvalue) function or method copies each return values to new scalars | 18:45 | ||
don't they? | |||
eg. p5 'sub foo { $a } foo()' returns the value of $a in a new scratch scalar | |||
I'm not sure if p6 does that though | |||
but that's why p5 lvalue subs can work | 18:46 | ||
ruoso | b_jonas, in fact... p6 have a more clear distinction between value and container | ||
you have values that are not inside containers | |||
which is something that doesn't exist in p5 | |||
b_jonas | yeah | ||
I'm not sure how p6 subs work normally | 18:47 | ||
ruoso | b_jonas, it's not really about subs... | 18:48 | |
b_jonas | I don't really get all the nits about containers in p5, and don't get even the basics of them in p6 | ||
ruoso | except that subs might return scalars | ||
b_jonas | by the way, which languages have an "is" infix operator? | ||
ruoso | java? | 18:49 | |
b_jonas | and also, what does it mean in them? | ||
I think VB might have one | |||
pmurias fetches thinking in java | |||
b_jonas | but is it container/address equality query, class/interface membership query, or a mutator something, or something else? | 18:50 | |
I just checked, and javascript doesn't have an "is" infix | |||
(it has an "in") | |||
ruoso | b_jonas, in Java it is a lowlevel vm operation that introspect the object and class lowlevel data structure directly... | ||
b_jonas | hmm | ||
pmurias | b_jonas: javascript doesn't even have classes | 18:51 | |
b_jonas | I assume you want to say it checks some form of class membership | ||
pmurias: meh, it still has something like them, or it could still be address equalty for objects | |||
I wonder where I find a VB manual online that tells me if it has "IS" | 18:52 | ||
moritz_ | I CAN HAS IS? | ||
pmurias | b_jonas: js has === | ||
b_jonas | let me thing... corelscript has no objects so it can't have them, python has "in", what other language... | ||
I'll check the synopsis for what "is" in p6 is exactly | 18:53 | ||
pmurias: yeah | |||
pmurias | b_jonas: js has prototypes instead of classes because the developers were lazy | ||
b_jonas | pmurias: yeah | 18:54 | |
how about smalltalk? it could have an "is" method or operator in stdlib | |||
18:54
alester left
18:55
[particle2 left
|
|||
pmurias | ruoso: what's the syntax for is in java? | 18:56 | |
b_jonas | yeah, the internets says visual basic has "IS", I was right | 18:57 | |
ruoso | foo isa Object | ||
pmurias | isn't it instanceof | ||
ruoso | heh... | ||
b_jonas | and it's object address equality query infix | ||
ruoso thankfully 3 years away from jaava | |||
it's instanceof indeeed | 18:58 | ||
Auzon | Wow. Rakudo passes the regex test I just wrote | 18:59 | |
18:59
alester joined
|
|||
Auzon | (not a complex one, but still, I didn't know that Rakudo had much/any regex support) | 18:59 | |
moritz_ | hey, cool ;-) | ||
b_jonas | it seems java has no "is" infix | ||
strang | 19:00 | ||
ruoso | b_jonas, it's "instanceof" | ||
pmurias | ruoso: what methods do we need for our lowlevel array? | ||
b_jonas | itnernets might be lying | ||
ruoso | pmurias, postcircumfix:[] at first... | ||
b_jonas | it's instanceof? | ||
pugs_svn | r21463 | Auzon++ | [gsoc_spectest] tests for handling of unknown metasyntax and escaping (added 6 tests) | ||
ruoso | b_jonas, yes | ||
b_jonas | very good, so "is" indeed is used for two things | ||
har har har | |||
no wait | |||
Auzon | moritz_: It can be added to spectest_regression, and it's pure even :P | 19:01 | |
b_jonas | the NAME is instance of | ||
so "instanceof" is the name of the instance of query | |||
right | |||
so there's just one "is" | |||
moritz_ | Auzon: very good | ||
b_jonas | "isa" is a good name though | ||
ruoso | pmurias, postcricumfix:[] returns a scalar, right? | ||
b_jonas | though I think the smartmatch is the best | ||
ruoso: I think it returns whatever the array has for elements | 19:02 | ||
ruoso | b_jonas, and smartmatch is not the same as "isa" | ||
b_jonas | there could be unboxed numeric arrays that don't have scalars in them | ||
but how [] assignment could work in that case I've no idea | |||
ruoso | b_jonas, but the array should return a scalar, so you can STORE on it | ||
b_jonas | yeah | ||
ruoso | and also BIND on it | ||
b_jonas | so it has to return some container | ||
pmurias | ruoso: yes | ||
ruoso | pugs: my @a; my $b := @a[0]; $b = 1; say @a[0]; | 19:03 | |
p6eval | pugs: OUTPUT[1ā¤] | ||
ruoso | pmurias, so you just need postcircumfix:[] | ||
and the proxy scalar object, of course | |||
that should support FETCH and STORE (at least) | |||
moritz_ | Auzon: running spectest_regression, will commit when it finishes | ||
b_jonas | it could return a magical scalar/container created in place like what substr in p5 returns | ||
Auzon | great :) | ||
b_jonas | s/in place/on the fly/ | 19:04 | |
ruoso | b_jonas, yes... that's the most likely solution... | ||
I think that's how Hash works also, isn't it pmurias? | |||
Auzon | Cool, we're almost to 2000 passing tests in Rakudo | ||
b_jonas | ruoso: that's what haskell unboxed arrays do, sort of | ||
ruoso | but I'm still unsure on when the interpreter should expect a value instead of a container... | 19:05 | |
b_jonas | indexing return normal boxed numbers, even though the unboxed arrays don't actually contain them | ||
ruoso | maybe bare-values should generate in-place container for themselves | ||
pmurias | ruoso: hashes are *supposed* to return a proxy | ||
ruoso | actually bare-values should return in-place read-only container for themselves | 19:06 | |
b_jonas | I have to admit that I really prefer how ruby has no containers at all and assignment to methods (including assignment to indexing) is solved by specially named methods | ||
but containers do fit the whole way how p6 is designed | |||
ruoso | pugs: my $a := 1; say $a; | ||
p6eval | pugs: OUTPUT[1ā¤] | ||
pmurias | actually our container model is more powerfull | ||
b_jonas | that is, how p6 has everything you might want it to have, but mostly transparently when you don't need them | 19:07 | |
pmurias | what are the benefits of the ruby def method= {...} way? | 19:08 | |
ruoso | pmurias, does it solve 'my $a = 1' Ć 'my $a = foo()' (where foo() is rw) | ||
pmurias | it = ? | 19:09 | |
ruoso | yes... it's the assignment code... | ||
how does it know if it should call FETCH or not? | |||
b_jonas | pmurias: the no containers | 19:10 | |
pmurias | the kp6 way was that Object supported .FETH irrc | ||
b_jonas | pmurias: it's not just ruby, but also visual basic and digitalmars' D | 19:11 | |
19:11
orphean left
|
|||
ruoso | pmurias, that was my first thought... but I stopped... when pugs failed on 1.FETCH(); | 19:11 | |
b_jonas | pmurias: and the setf in common lisp (and hacks to make scheme set! behaive like that) are also similar to the no-container model | ||
ruoso | perl6: say 1.FETCH(); | ||
p6eval | elf 21463: OUTPUT[Can't call method "FETCH" without a package or object reference at (eval 117) line 3.ā¤ at ./elf_f line 3861ā¤] | ||
..pugs: OUTPUT[*** No such method in class Int: "&FETCH"ā¤ at /tmp/yxgaIkgMaP line 1, column 5-14ā¤] | |||
..rakudo 29697: OUTPUT[Method 'FETCH' not found for invocant of class 'Int'ā¤current instr.: '_block11' pc 21 (EVAL_11:13)ā¤] | |||
pmurias isn't even vaguely familiar with either visual basic or D, and have no intention of looking into the former | 19:12 | ||
s/have/has | |||
b_jonas | pmurias: otoh, containers certainly have some advantages: | 19:13 | |
namely look at C++, it uses containers, | |||
ruoso | b_jonas, pmurias, I think the solution is for Any to have a STORE and a FETCH, where FETCH returns itself, and STORE is a failure (item is readonly by default) | ||
b_jonas | that makes definitions of stdlib somewhat complicated because it has to define some tricky container objects | ||
but it also allows some interface thigns you couldn't do with just foo= methods | |||
pugs_svn | r21464 | lwall++ | [STD] add types for subsets; distinguish endstmts that suppress modifiers | 19:14 | |
b_jonas | so I think in general containers allow for more things to have an equals signed interface | 19:15 | |
compared to just foo= methods or custom setf definitions | |||
but foo= methods allow an easier implementation of modules with such an interface | 19:16 | ||
pmurias | ruoso: $foo := "hello world";say $foo would point to iy | ||
b_jonas: that is not nessesarly true | |||
b_jonas | pmurias: like why? | 19:17 | |
ruoso | pugs: my $foo := "take a look, pmurias"; say $foo | ||
p6eval | pugs: OUTPUT[take a look, pmuriasā¤] | ||
ruoso | but... | 19:18 | |
b_jonas | ruoso: I can't relaly judge if that (default FETCH) is a good enough idea because of my infamiliarity with p6 | ||
ruoso | pugs: say "foo".FETCH() | ||
p6eval | pugs: OUTPUT[*** No such method in class Str: "&FETCH"ā¤ at /tmp/pNlXfchYSo line 1, column 5 - line 2, column 1ā¤] | ||
pmurias | b_jonas: looking for the appropriate paper/presentation | ||
ruoso | pmurias, OTOH, creating in-place ro containers for bare values should also solve it | 19:19 | |
b_jonas | pmurias: well, it's true that implementation of such things in C++ could be simpler if C++ offered some default methods for += and similar operators | ||
(C++ has some default methods but not for that kind of thing) | |||
ruoso | pmurias, actually in-place container doesn't solve it... because foo() might return a plain value without a container... | 19:20 | |
pmurias | ruoso: i would go for the FETCH and STORE | ||
ruoso | yeah... I think that's it... | 19:21 | |
pmurias | b_jonas: there something called bi-directional programming | ||
b_jonas | pmurias: eek, that's a really crazy name | ||
becasue it makes you think of befunge and similar things | |||
broquaint | oobar | ||
Rarr, shoddy window focus :S | 19:22 | ||
pmurias | b_jonas: you can look at www.cis.upenn.edu/~bcpierce/papers/index.shtml , i read about it in the types considered harmfull slides | ||
lambdabot | Title: Benjamin Pierce's Publications | ||
19:22
justatheory left
|
|||
pmurias | b_jonas: it should enable something like class Length {has $!inches;method cm is rw {has $!inches*2.54}} | 19:23 | |
b_jonas | otoh, if containers worked well, that just proved my statement that there are lots of recent activity about generalizing type systems to do something good | ||
19:24
alester left
|
|||
pmurias | b_jonas: it relation with static typing is that it's a challening thing to type | 19:25 | |
b_jonas | well, I didn't specifically said static typing | 19:26 | |
rakudo_svn | r29698 | moritz++ | [rakudo] added S05-metasyntax/unknown.t to spectest_regression, Auzon++ | ||
r29698 | moritz++ | +6 passes | |||
b_jonas | I guess containers or values that can be assigned can be considered an extension to the type system | ||
pmurias | i shouldn't be implementing that array | ||
moritz_ | type systems challenge the sanity of the implementors and language designers ;-) | ||
b_jonas | otoh I can't find what you're referring to on www.cis.upenn.edu/~bcpierce/papers/index.shtml | ||
lambdabot | Title: Benjamin Pierce's Publications | ||
b_jonas | ah, I should look at the types considered harmful | 19:27 | |
which are linked from there | |||
moment | |||
19:28
timbunce left
|
|||
moritz_ | now parrot is at 1805 passing tests | 19:29 | |
pmurias | moritz_: rakudo or parrot? | ||
moritz_ | uhm, rakudo | 19:30 | |
pmurias | moritz_: v6 does 5057 | 19:31 | |
moritz_ | pmurias: of the official test suite? | ||
anyway, impressing number | |||
pmurias | moritz_: just took this number from fglock's commit msg | 19:32 | |
moritz_ | pmurias: numbers without known unit are not very meaningful for me as a physicist ;-) | ||
Auzon | It's "just" parsing them. ("just" because it's very impressive) | 19:34 | |
19:36
meppl left
19:38
meppl joined
|
|||
pmurias | ruoso: i'm wondering wouldn't it be a good idea to make RI destruction automatic | 19:42 | |
? | |||
ruoso | pmurias, as we evolve we'll have to... at some point... | 19:43 | |
I'm not sure that's necessary for list, hash or even p6opaque | |||
(the lowlevel list and hash, I mean) | |||
pmurias | it wouldn't be very hard to do | 19:47 | |
pugs_svn | r21465 | Auzon++ | [gsoc_spectest] explicit tests for changes in metacharacters, fudged for rakudo (added 13 tests) | 19:50 | |
ruoso | pmurias, sure sure... as you have a global namespace you can simply leave the only reference there.. | 19:53 | |
19:53
apeiron_ joined
|
|||
pmurias | thought more of putting responder interfaces into a linked list, to be deleted in smop_destr | 19:55 | |
should i use realloc or do the free,malloc and copying myself? | 19:58 | ||
ruoso | sorry... I missed your point? | 20:00 | |
why a linked list? | |||
Auzon | moritz_: my last commit should be good for spectest_regression too. I should have more such tests if you want to wait though | ||
20:02
apeiron left
|
|||
pmurias | ruoso: putting them into a global namespace would also do it | 20:03 | |
ruoso | pmurias, and that would be more natural, since it would be available for other objects to find it then | 20:04 | |
pmurias | do you know the answer to my second question? | 20:05 | |
ruoso | I didn't understand it, actually | ||
why would you use realloc | |||
pmurias | i have to grow the array | 20:07 | |
when you do my @foo;@foo[10000] = 3; @foo has to grow | 20:08 | ||
20:09
Lorn left
|
|||
ruoso | ah... ok... I'd use realloc then | 20:10 | |
pmurias | got to fetch the loundry for drying& | 20:12 | |
do i have to store a Scalar in each array cell? | |||
ruoso | pmurias, no... you actually need to create a proxy scalar that holds the position in the array | 20:21 | |
ruoso home & | 20:23 | ||
20:23
ruoso left
|
|||
rakudo_svn | r29700 | moritz++ | [rakudo] added S05-metasyntax/changed.t to spectest_regression, Auzon++ | 20:26 | |
r29700 | moritz++ | +10 pass, +3 todo tests | |||
moritz_ | perlbot: karma Auzon | 20:27 | |
perlbot | Karma for Auzon: 144 | ||
20:40
Jedai left
20:41
Jedai joined,
alester joined
20:42
timbunce joined
|
|||
rakudo_svn | r29701 | infinoid++ | [pbc_to_exe] Commit patches from Reini Urban in RT #57188. rurban++ | 20:43 | |
r29701 | infinoid++ | * Add an optional --install flag to pbc_to_exe. | |||
r29701 | infinoid++ | * Add a rule to the rakudo Makefile to generate an installable perl6 binary. | |||
r29702 | infinoid++ | [rakudo] | 20:48 | ||
r29702 | infinoid++ | Followup to r29701, add installable_perl6 to the $CLEANUP list. | |||
20:49
planofish left
|
|||
pmurias | what's the efficient equivalent of pow(2,ceil(log2(n))+1) | 20:51 | |
moritz_ | pow(2, $something) can be made with a bit-shift operation | 20:53 | |
I guess you can do the whole thing with tricky bit shift & mask operations, but I've never been good at that | 20:54 | ||
pmurias | the ceil(log2(n)) is the tricky part | 20:55 | |
20:55
justatheory joined,
jferrero joined
20:56
justatheory left
|
|||
pmurias | i meant floor(log2(n)) | 20:57 | |
wikipedia has a solution | |||
20:58
Alias_ joined
20:59
jferrero left,
jferrero joined
|
|||
rhr | pugs: my $x=63; my $log=0; while $x > 1 { $x = $x +> 1; $log++; } say $log | 21:00 | |
p6eval | pugs: OUTPUT[5ā¤] | ||
rhr | is that the solution? | ||
21:01
[particle1 joined
21:02
jferrero left
|
|||
pmurias | rhr: the wikipedia one is bit smarter | 21:03 | |
en.wikipedia.org/wiki/Binary_logarithm | |||
lambdabot | Title: Binary logarithm - Wikipedia, the free encyclopedia | ||
21:04
justatheory joined
|
|||
pmurias | but it works for a set integer size only | 21:04 | |
pugs: my @foo;say exists @foo[1000]; | 21:07 | ||
p6eval | pugs: OUTPUT[*** No compatible multi variant found: "&exists"ā¤ at /tmp/2nDbA7RHAd line 1, column 13-30ā¤] | ||
pmurias | pugs: my @foo;say exists(@foo[1000]); | ||
p6eval | pugs: OUTPUT[*** No compatible multi variant found: "&exists"ā¤ at /tmp/McReVNGykh line 1, column 13-31ā¤] | ||
21:07
Jedai left
21:08
Jedai joined
21:09
Alias_ left
|
|||
rhr | pmurias: thanks | 21:10 | |
pmurias | np | ||
;) | |||
pugs: my @foo = (1,2,3);say @foo;@foo.elems = 2;say @foo; | |||
p6eval | pugs: OUTPUT[123ā¤*** Can't modify constant item: VInt 3ā¤ at /tmp/gZHzOkYsSd line 1, column 28-42ā¤] | ||
pmurias | .elems is readonly? | ||
rakudo_svn | r29705 | moritz++ | [rakudo] dynamic x_label_skip in tools/progress-graph.pl | 21:11 | |
21:19
Alias_ joined
|
|||
pugs_svn | r21466 | pmurias++ | [smop] | 21:23 | |
r21466 | pmurias++ | sm0p/strip_out_actions - hacked in ~~ | |||
r21466 | pmurias++ | some work on lowlevel Array | |||
pmurias | @tell ruoso i'll finish the Array tommorow morning unless something creeps up on me | 21:24 | |
lambdabot | Consider it noted. | ||
b_jonas | pmurias: reading the typing harmful slides now, and one of the pages has the title "Example: An escaping lens" | ||
Run! One of the lenses has escaped! It's coming! | 21:25 | ||
it's a frightening title | |||
moritz_ | rakudo: class A {}; my A $x .= new; say 1; | 21:28 | |
p6eval | rakudo 29705: OUTPUT[1ā¤] | ||
21:29
masak joined
|
|||
pugs_svn | r21467 | lwall++ | [STD] add <*foo> | 21:31 | |
pmurias | b_jonas: how do you like lenses? | 21:33 | |
21:33
b_jonas left
|
|||
pmurias | sleep& | 21:34 | |
21:35
pmurias left,
b_jonas joined
|
|||
japhb | A friend of mine who is actually at OSCON tells me that Larry announced STD was done ...? | 21:41 | |
moritz_ | japhb: it parses (at least) 80% of the official test suite | ||
21:41
justatheory left
|
|||
japhb | That sounds like a suspicious simplification | 21:42 | |
Ah, I had noticed that last night. | |||
moritz_ | japhb: let's say that the hard parts are done | ||
mostly | |||
japhb | heh | ||
OK, so my friend misheard. Too bad .... | 21:43 | ||
21:44
japhb left
|
|||
masak | rakudo: class A { my $x; method foo { say $x } }; my A $a .= new; $a.foo | 21:44 | |
p6eval | rakudo 29705: OUTPUT[Lexical '$x' not foundā¤current instr.: 'parrot;A;foo' pc 180 (EVAL_13:80)ā¤] | 21:45 | |
masak | is this correct? | ||
moritz_ | don't think so, but I'm not sure | ||
masak | rakudo: class A { has $.x = "hi"; method foo { say $.x } }; my A $a .= new; $a.foo | 21:46 | |
p6eval | rakudo 29706: OUTPUT[Method 'lvalue' not found for invocant of class 'PAST::Stmts'ā¤current instr.: 'parrot;PAST::Compiler;as_post' pc 2698 (src/PAST/Compiler.pir:707)ā¤] | ||
masak | hunh? | ||
moritz_ | try to find out what S12 says on scoping | ||
masak | mm | ||
moritz_ | masak: initalization of attributes never worked | ||
masak | oh, I see :) | ||
21:46
justatheory joined
|
|||
masak | according to S12, 'my' and 'our' makes the attribute a class attribute | 21:47 | |
which means it should work, methinks | 21:48 | ||
moritz_ | same here | ||
unless they have special sigils (which I seriously doubt | |||
masak | oh, but it should still have a twigil | ||
should be my $.x | |||
moritz_ | sure? | ||
21:48
[particle1 left
|
|||
moritz_ | the "my" makes it private to the class anyway | 21:48 | |
masak | says S12 | ||
I'm not able to give you line numbers, because I'm reading the HTML, not the POD | 21:49 | ||
but search for "Class attributes are declared" and you'll find it | |||
but it doesn't work, so I'll submit a bug for this too | 21:50 | ||
heh: | 21:51 | ||
rakudo: class A { has $.x; method foo { say $.x } }; my A $a .= new; $a.foo | |||
p6eval | rakudo 29706: OUTPUT[Objectā¤] | ||
masak | why does it print "Object"? :) | ||
pugs_svn | r21468 | lwall++ | [roundrobin.t] missing ) | 21:54 | |
r21469 | lwall++ | [evalfile.t] 0-ary rand | 21:57 | ||
masak | moritz_: how do I reference into a synopsis, with line numbers? (i.e. where's the POD file stored?) | ||
moritz_ | masak: either just click on the link in the IRC log... | ||
masak: or look at docs/Perl6/Spec/ | |||
TimToady | svn.perl.org/perl6/doc/trunk/design/syn | ||
lambdabot | Title: Revision 14568: /doc/trunk/design/syn | ||
masak | moritz_: thanks, the latter was what I wanted | 21:58 | |
I'm creating a reference, so I need the file itself | |||
moritz_ | what kind of ref? smartlink? hyperlink? | ||
masak | an exact reference in an email to rekudobug | 21:59 | |
s/reku/raku/ | |||
21:59
szr joined,
szr left
|
|||
moritz_ | ah | 21:59 | |
masak | is there no way to set a class attribute? | 22:01 | |
s/a class/an/ | |||
moritz_ | from inside a method, or from outside if it is rw | 22:02 | |
masak | oki, thanks | ||
22:02
justatheory left
22:03
araujo left
22:06
japhb joined
22:10
Jedai left,
Arathorn left,
apple-gunkies left,
frobnitz left,
pmichaud left,
breinbaas left,
moritz_ left,
chris2 left,
japhb left,
b_jonas left,
mofino left,
lisppaste3 left,
bloonix left,
felipe left,
gbacon left,
pl0d left,
yath_ left,
Juerd left,
charsbar left,
hercynium left,
rlb3 left,
nnunley left,
silug left,
r0bby left,
Patterner left,
REPLeffect left,
spinclad left,
smtms left,
pjcj left,
TreyHarris left,
awwaiid left,
Alias_ left,
timbunce left,
apeiron_ left,
AzureStone_ left,
thepler left,
rhr left,
lumi left,
jiing left,
integral left,
audreyt left,
rakudo_svn left,
pugs_svn left,
baest_ left,
p6eval left,
ilbot2 left,
Guest16015 left,
broquaint left,
Lunchy left,
nothingmuch left,
pbuetow left,
bbkr left,
aindilis left,
xinming_ left,
jfredett_ left,
simcop2387 left,
cls_bsd left,
josh- left,
[particle] left,
dalek left,
agentzh left,
iblechbot left,
TJCRI left,
cmarcelo left,
hcchien left,
PZt left,
mj41 left,
cosimo left,
pasteling left,
allbery_b left,
Khisanth left,
smg left,
kanru left,
c1sung left,
lambdabot left,
elmex left,
Auzon left,
kolibrie left,
Maddingue left,
TimToady left,
SamB left,
IRSeekBot left,
Jamzio left,
arguile left,
fridim_ left,
ingy left,
kcwu left,
perlbot left,
zamanfou left,
speckbot left,
jrockway left,
buubot left,
masak left,
meppl left,
demq left,
Exodist left,
orafu left,
jan__ left,
fullermd left,
cj left,
s1n left,
nipotaway left,
yahooooo left,
pengrate left,
PerlJam left,
sunnavy left,
Tene left,
clkao left,
obra left,
BinGOs left,
Grrrr left,
Grrrr joined
22:12
TimToady joined,
japhb joined,
b_jonas joined,
Alias_ joined,
Jedai joined,
timbunce joined,
apeiron_ joined,
meppl joined,
demq joined,
AzureStone_ joined,
TJCRI joined,
mofino joined,
hercynium joined,
Exodist joined,
audreyt joined,
cmarcelo joined,
kanru joined,
c1sung joined,
Jamzio joined,
orafu joined,
pbuetow joined,
bbkr joined,
lambdabot joined,
aindilis joined,
chris2 joined,
xinming_ joined,
Patterner joined,
REPLeffect joined,
BinGOs joined,
elmex joined,
jfredett_ joined,
hcchien joined,
spinclad joined,
TreyHarris joined,
thepler joined,
integral joined,
rlb3 joined,
pjcj joined,
silug joined,
r0bby joined,
rhr joined,
lumi joined,
nnunley joined,
awwaiid joined,
jiing joined,
smtms joined,
Auzon joined,
Arathorn joined,
jan__ joined,
PZt joined,
mj41 joined,
irc.freenode.net sets mode: +o TimToady,
fullermd joined,
simcop2387 joined,
cj joined,
s1n joined,
cls_bsd joined,
pl0d joined,
kolibrie joined,
rakudo_svn joined,
pugs_svn joined,
baest_ joined,
cosimo joined,
josh- joined,
apple-gunkies joined,
pasteling joined,
arguile joined,
Maddingue joined,
frobnitz joined,
ilbot2 joined,
Guest16015 joined,
p6eval joined,
broquaint joined,
Lunchy joined,
nothingmuch joined,
[particle] joined,
fridim_ joined,
moritz_ joined,
pmichaud joined,
breinbaas joined,
ingy joined,
dalek joined,
allbery_b joined,
Khisanth joined,
kcwu joined,
agentzh joined,
lisppaste3 joined,
bloonix joined,
felipe joined,
perlbot joined,
gbacon joined,
smg joined,
nipotaway joined,
zamanfou joined,
Caelum joined,
meteorjay joined,
mtve joined,
charsbar joined,
yahooooo joined,
buubot joined,
SamB joined,
PerlJam joined,
Juerd joined,
sunnavy joined,
yath_ joined,
clkao joined,
obra joined,
IRSeekBot joined,
jrockway joined,
speckbot joined,
funktio joined,
pengrate joined,
Tene joined
22:16
TJCRI left
22:20
hercynium left
22:24
alester left
|
|||
pugs_svn | r21470 | lwall++ | [getc.t] 0-ary rand, bad ."" interaction | 22:31 | |
22:33
Jedai left
22:34
Jedai joined
22:41
aindilis left
22:44
timbunce left
22:46
wknight8111 joined
|
|||
pugs_svn | r21471 | lwall++ | more spec ." snafus | 22:50 | |
23:01
Jedai left
23:04
Limbic_Region joined
23:05
alester joined
23:12
ruoso joined
23:18
cognominal_ joined
23:24
AzureStone_ left
23:27
Alias_ left
23:31
alester left
23:36
AzureStone joined
23:37
justatheory joined
23:42
[particle1 joined
23:43
timbunce joined
23:47
chris2 left
23:50
japhb left
23:54
araujo joined
23:58
cmarcelo left
|