»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend! Set by sorear on 4 February 2011. |
|||
00:02
benabik joined,
thelazydeveloper left
00:05
vlixes joined
00:06
lestrrat left
00:07
lestrrat joined
00:13
thou left,
thou joined
00:21
tokuhirom joined
|
|||
dalek | blets: 2ca2024 | (Herbert Breunung)++ | docs/appendix- (2 files): more anchors |
00:21 | |
00:23
betterworld joined,
integral joined,
integral left,
integral joined
00:31
mspaulding left
00:40
betterworld left,
LylePerl joined,
betterworld joined
00:41
integral left,
integral joined,
integral left,
integral joined
00:52
leprevost joined
00:55
scott__ joined
01:00
nif left,
thou left
01:01
thou joined
01:05
thou left
01:06
nif joined
01:23
fsergot left
|
|||
[Coke] | release complete | 01:28 | |
01:31
da2ce7 left
|
|||
[Coke] | # 04/19/2012 - rakudo++ ; niecza (94.78%); pugs (42.3%) | 01:32 | |
01:32
tokuhirom left
|
|||
colomon | [Coke]++ | 01:45 | |
02:02
fgomez joined,
fgomez_ joined,
fgomez_ left
02:06
whiteknight left
02:07
fgomez left
02:10
fgomez joined
02:12
libertyprime left
|
|||
[Coke] | hearing no complaints, heading to bed. hasta mañana. | 02:15 | |
02:20
da2ce7 joined
02:21
scott__ left
|
|||
japhb | phenny, tell fglock It looks like perlito5.pl does not understand underscores in numbers; adding an underscore inside an integer results in 'unexpected function call at lib5/Perlito5/Expression.pm line 126.' Checked with latest git. | 02:34 | |
phenny | japhb: I'll pass that on when fglock is around. | ||
02:36
wolfman2000 joined
02:49
nif left
02:51
sivoais joined
02:56
orafu left,
orafu joined
03:00
leprevost left
03:05
da2ce7 left
03:06
alvis` joined
03:08
alvis left
03:09
libertyprime joined
03:13
fgomez left
|
|||
tadzik | [Coke]++ \o/ | 03:21 | |
03:21
fgomez joined
|
|||
dalek | blets: 0657c21 | (Herbert Breunung)++ | docs/appendix- (3 files): sweat!! index A is now full anchored |
04:00 | |
blets: 210c9d9 | (Herbert Breunung)++ | docs/appendix-a-index.txt: link true and false |
04:04 | ||
04:10
thou joined
|
|||
dalek | blets: ef30824 | (Herbert Breunung)++ | docs/appendix-a-index.txt: minor typo |
04:14 | |
osystem: 3d29056 | (John Gabriele)++ | README (2 files): Changed name of readme so it displays prettier on github. :) |
04:18 | ||
04:20
libertyprime left
04:21
lichtkind left
|
|||
dalek | href="https://perl6.org:">perl6.org: 5c9912d | (John Gabriele)++ | README (2 files): Renamed and cleaned-up some README. |
04:27 | |
href="https://perl6.org:">perl6.org: e799a44 | (John Gabriele)++ | README.md: minor type/grammar fix |
04:31 | ||
japhb | phenny, tell fglock Also, perlito5.js does not set a non-zero exit code when reporting a syntax error (or at least, not every time). This messes up some testing code I'm working on that thinks perlito5.js can handle syntax that it can't yet. | 04:44 | |
phenny | japhb: I'll pass that on when fglock is around. | ||
04:55
spaceships left
05:08
alvis` left
05:09
birdwindupbird joined
|
|||
sorear | good * #perl6 | 05:19 | |
seen jaffa4 | |||
aloha | jaffa4 was last seen in #perl6 13 hours 46 mins ago saying "oslo is so far away". | ||
sorear | !seen dalek | ||
Hey, does anyone here know the pronunciation of Michaud? | 05:20 | ||
05:21
kaleem joined
05:22
awwaiid left
05:23
[particle] joined
05:25
TimToady joined
05:31
awwaiid joined
|
|||
moritz always proneo | 05:32 | ||
erm | |||
moritz always pronounces it as if it were French | |||
misheau | 05:33 | ||
05:35
sftp left
|
|||
dalek | href="https://perl6.org:">perl6.org: 9f4aca6 | (John Gabriele)++ | source/getting-started/index.html: Added some text numbers and bullets to lists on getting started page. Also cleaned them up a bit, with minor updates. |
05:38 | |
05:39
fgomez left
05:46
NamelessTee joined
05:47
koban left
05:50
fgomez joined
06:00
fhelmberger joined
|
|||
japhb | What's the closest NQP equivalent to '(expr) for 1 .. 100' ? | 06:06 | |
tadzik landed in Oslo o/ | 06:07 | ||
japhb | o/ | 06:08 | |
06:09
lestrrat left
06:10
lestrrat joined
06:11
vlixes left
|
|||
moritz | \o | 06:19 | |
japhb: loop (my $i := 1; $i <= 100; $i++) { (expr) } | |||
japhb | moritz, thanks | 06:21 | |
nqp: loop (my $i := 1; $i <= 100; $i++) { 1 } | 06:23 | ||
p6eval | nqp: OUTPUT«Confused at line 1, near "loop (my $"current instr.: 'nqp;HLL;Grammar;panic' pc 22008 (src/stage2/gen/NQPHLL.pir:7047) (src/stage2/gen/NQPHLL.pm:329)» | ||
japhb | nqp: my $i; loop ($i := 1; $i <= 100; $i++) { 1 } | 06:24 | |
p6eval | nqp: OUTPUT«Confused at line 1, near "loop ($i :"current instr.: 'nqp;HLL;Grammar;panic' pc 22008 (src/stage2/gen/NQPHLL.pir:7047) (src/stage2/gen/NQPHLL.pm:329)» | ||
japhb | Is loop (;;) even understood by nqp? | 06:25 | |
moritz | hm | ||
I thought so, but I might be wrong :/ | |||
hm, seems I'm wrong | |||
then you need while | |||
japhb | nqp: my $i := 1; while $i <= 100 { $i++; 1 } | ||
p6eval | nqp: ( no output ) | ||
japhb | Yeah, that looks like it worked | ||
moritz | nqp: my $i := 1; while $i <= 100 { $i++; 1 }; say($i) | ||
p6eval | nqp: OUTPUT«101» | ||
moritz | [Coke]++ # rakudo release | 06:26 | |
japhb | [Coke]++ # Ditto | 06:27 | |
06:30
bbkr left
06:31
Tedd1 left
|
|||
japhb | perl6-bench updated: github.com/japhb/perl6-bench | 06:38 | |
Now tests perlito5.{pl,js} and NQP, as well as the previous perl5, rakudo, and niecza | 06:39 | ||
How can I add perl6-bench to dalek's project list? | |||
06:41
uniejo joined
|
|||
sorear | japhb: misc/dalek-push.txt in mu | 06:50 | |
dalek | rl6-bench: bf65aa5 | (Geoffrey Broadwell)++ | bench: Use install/bin/perl6 path for rakudo, in case this isn't already in PATH |
06:54 | |
rl6-bench: ba19ab2 | (Geoffrey Broadwell)++ | README: Add note about needing node in PATH for perlito5.js |
|||
rl6-bench: 8a827e4 | (Geoffrey Broadwell)++ | / (3 files): Add NQP (using github perl6/nqp project) to tested compiler groups; add WIP conversion of rc-forest-fire to NQP |
|||
japhb | sorear++ | ||
Thank you, that worked like a charm, clearly. | |||
07:00
mucker joined
07:05
brrt joined
07:14
fglock joined
07:19
overrosy joined
|
|||
masak | 'mounin', #perl6 | 07:19 | |
07:19
thou left
07:20
thou joined
|
|||
japhb | o/ | 07:20 | |
frettled | moun moun | 07:22 | |
07:23
Tedd1 joined
|
|||
masak is in a meeting room for ~14 people, sitting alone with his laptop :) | 07:24 | ||
japhb | You're rarely alone when you're on #perl6 ... | 07:26 | |
masak | troo. | ||
07:26
NamelessTee left
|
|||
arnsholt | masak: Newly arrived at Storo, I take it? =) | 07:29 | |
masak | depends what "Storo" is :) | 07:32 | |
arnsholt | The subway stop for Linpro's offices where we'll be hackathoning =) | 07:33 | |
sorear | heya | 07:34 | |
arnsholt | Greetinks | ||
masak | [Coke]++ # Rakudo #51 Brazos Valley | ||
sorear! \o/ | |||
arnsholt: yes, I'm at Linpro's offices. | 07:35 | ||
arnsholt: I didn't so much "arrive at Storo" as "walk past Storo", 'cus I was staying at sjn++'s place :) | |||
07:36
goksie left
|
|||
arnsholt | Ah, walking distance is always nice | 07:36 | |
fglock | o/ | ||
phenny | fglock: 02:34Z <japhb> tell fglock It looks like perlito5.pl does not understand underscores in numbers; adding an underscore inside an integer results in 'unexpected function call at lib5/Perlito5/Expression.pm line 126.' Checked with latest git. | ||
fglock: 04:44Z <japhb> tell fglock Also, perlito5.js does not set a non-zero exit code when reporting a syntax error (or at least, not every time). This messes up some testing code I'm working on that thinks perlito5.js can handle syntax that it can't yet. | 07:37 | ||
arnsholt | But if we can arrive before 5, I might come in a bit earlier | ||
fglock | japhb: looking | ||
japhb | fglock, thanks! | ||
arnsholt | I should probably do some work first, but hackathon is more fun than work today =) | ||
japhb | nqp: pir::rand__NN(1.0) | ||
p6eval | nqp: OUTPUT«error:imcc:syntax error, unexpected NREG, expecting '(' ('$N101') in file '(file unknown)' line 39» | ||
japhb | What's wrong with that ^^ ? | 07:38 | |
arnsholt | Good question. Try to compile with --target=pir and inspect the result? | 07:40 | |
japhb | arnsholt, I did ... and it didn't look any more weird than usual. It's possible my PIR skills may have bitrotted a bit, of course. | 07:41 | |
arnsholt | No idea in that case I'm afraid | 07:43 | |
I did hack on NQP a bit, but that knowledge has bitrotted completely | |||
benabik | rand__NN is in the math dynoplib, not in core. My guess is that NQP doesn't load that library. | 07:45 | |
japhb | benabik, ah, you're probably right, thanks! | ||
dalek | kudo/nom: 082dd1a | masak++ | docs/release_guide.pod: [docs/release_guide.pod] Frankfurt! \o/ |
07:46 | |
frettled | masak: technically speaking, you're at Storo (sjn lives at Storo, too) – it's a place which the metro stop borrowed the name from, arnsholt is just rambling. :) | 07:54 | |
masak | gotcha. I'm at Storo, arnsholt is rambling. | 07:56 | |
arnsholt | Well, yes. I figured I'd refrain from a lecture on the local geography of Oslo =) | ||
But yes. Also rambling | |||
japhb | ah-ha! | 07:59 | |
benabik, looks like I have to specify --vmlibs=math_ops option for nqp | 08:00 | ||
Perhaps that ought to be default behavior under p6eval. | |||
fglock | japhb: commit eab75f8 accept underlines inside numbers | 08:15 | |
jnthn | ohhai | 08:18 | |
jnthn is at le hackathon :) | |||
pmichaud | good morning, #perl6 | ||
japhb: often that error indicates that imcc doesn't have an opcode loaded | 08:20 | ||
in this particular case, it's missing the rand opcode. ISTR that rand was removed from Parrot's opcode set. | |||
japhb | fglock, thank you. Did you see the perlito5.js error exit code item as well? | 08:26 | |
pmichaud, understood. | |||
jnthn | It may have been shufflted out into a dynop library | 08:27 | |
japhb | Yeah, it was. | ||
Now I need to do 'nqp --vmlibs=math_ops' | |||
jnthn | It's the principle of conservation of startup time. I made it better in Rakudo recently, so Parrot had an equal and opposite reaction. | ||
fglock | yes - commit 7c5dd3b - set exit code on error | ||
japhb | fglock, EXCELLENT | ||
jaffa4 | jnthn: what are you doing at hackathon at the moment? | 08:32 | |
08:32
LylePerl left,
kst` joined
|
|||
jnthn | jaffa4: Drinking coffee. | 08:32 | |
jaffa4: And thinking about doing something useful :) | 08:33 | ||
jaffa4 | LIke what? | ||
08:33
kst left
|
|||
jnthn | Probably tracking down the MiniDBI pre-compilation bug first. | 08:33 | |
jaffa4 | What platform will miniDBI support? | 08:34 | |
jnthn | Whatever folks write drivers for. | ||
dalek | rl6-bench: 8387f88 | (Geoffrey Broadwell)++ | bench: Work around pir::rand__NN being moved to a dynamic op lib |
||
rl6-bench: 0a7cd05 | (Geoffrey Broadwell)++ | nqp/rc-forest-fire: More work on NQP port of rc-forest-fire |
|||
rl6-bench: 8e86e58 | (Geoffrey Broadwell)++ | README: Remove warning about perlito5.js false success from README; it was fixed by fglock++ |
|||
jnthn | jaffa4: We have mysql working at least...thing there's some pgsql... | 08:35 | |
*think | |||
japhb | And with that, I think sleep is finally in order. | ||
Zzzzzzz ... & | |||
08:36
sudokode left,
thou_ joined
08:37
thou left
|
|||
jaffa4 | Would not it make sense to convert existing perl5 modules? | 08:39 | |
masak | yes, sometimes it would make a lot of sense. | 08:40 | |
p6: sub foo {}; say foo.some_method | 08:41 | ||
08:41
thou_ left
|
|||
p6eval | rakudo 082dd1: OUTPUT«Method 'some_method' not found for invocant of class 'Nil' in block <anon> at /tmp/ReyFqGCIrg:1» | 08:41 | |
..pugs: OUTPUT«*** No such method in class Scalar: "&some_method" at /tmp/HYD3R00VZe line 1, column 17 - line 2, column 1» | |||
..niecza v16-23-gaa61ed5: OUTPUT«Unhandled exception: Unable to resolve method some_method in class Nil at /tmp/PBfvgI07XG line 1 (mainline @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 3840 (ANON @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 3841 (module-CORE @ 65)  at … | |||
masak | r: sub foo {}; my $x = foo; say $x.some_method | ||
p6eval | rakudo 082dd1: OUTPUT«Method 'some_method' not found for invocant of class 'Nil' in block <anon> at /tmp/ozm4eqssxu:1» | ||
08:42
thou joined,
sudokode joined
08:49
thou left
|
|||
masak | r: say "foo foo" ~~ /(\w+) \s+ $0/ | 08:53 | |
p6eval | rakudo 082dd1: OUTPUT«=> <foo foo> 0 => <foo>» | ||
08:55
bbkr joined
|
|||
masak | what is adding the '[old]' markers to the module descriptions in modules.perl6.org/ ? | 08:55 | |
08:58
nwc10 joined
|
|||
bbkr | release \o/ | 09:01 | |
09:03
birdwind1pbird joined
|
|||
pmichaud | std: my ${a} = 5; | 09:10 | |
p6eval | std 3d13d53: OUTPUT«===SORRY!===Unsupported use of ${a}; in Perl 6 please use $a at /tmp/U81BT5Zh2x line 1:------> my ${a}⏏ = 5;Parse failedFAILED 00:00 40m» | ||
pmichaud | std: say "Hello ${a}bc"; | ||
p6eval | std 3d13d53: OUTPUT«===SORRY!===Unsupported use of ${a}; in Perl 6 please use {$a} at /tmp/QbUYL6Snc6 line 1:------> say "Hello ${a}⏏bc";Parse failedFAILED 00:00 41m» | ||
09:10
mucker left
09:11
mucker joined
|
|||
dalek | p: 1e988f1 | jonathan++ | src/6model/serialization.c: When chasing the outer chain serializing closures, we may encounter a NULL lexinfo pointer. Don't follow it. |
09:12 | |
09:16
fgomez left
09:17
shachaf joined
09:23
kst` is now known as kst
|
|||
sorear | pmichaud: hi | 09:26 | |
pmichaud | sorear: o/ | ||
sorear | pmichaud: the question came up in sandiego.pm today of how your name is said | ||
pmichaud | sorear: depends on who you ask :-) | 09:27 | |
sorear | I'm certain mick-ow!-d is wrong | ||
pmichaud | its roots are french | ||
so, I pronounce it like "me" and "show" | |||
masak | pmichaud: before I met you, I imagined *you* were French :) | ||
pmichaud | paternally my ancestry is swiss, actually | 09:28 | |
masak | I thought your English was quite good for a French-speaker. | ||
pmichaud | My English *is* quite good for a French speaker. It's my French that suffers. :-P | ||
frettled | :D | ||
pmichaud: you have been living too long among the heathens! | |||
or something | |||
masak | living too long on the heath. | ||
krunen | ok | 09:29 | |
pmichaud | however, my wife is completely unable to say our last name | ||
and my father pronounces it differently as well.... so, "depends on who you ask". | |||
having spent a lot of time in Switzerland, I'm quite certain my way is closest to the original :) | 09:30 | ||
std: say [1,2,3].abc<xyz> | 09:31 | ||
p6eval | std 3d13d53: OUTPUT«ok 00:00 42m» | ||
pmichaud | spectest says: | ||
dies_ok {[1,2,3].join<abc>}, '.join<abc> parses but dies'; | |||
I think spectest is wrong here. | |||
masak | +1 | ||
that's just a method call and then a hash lookup. | 09:32 | ||
pmichaud | oh, wait, perhaps not. | ||
but it's a hash lookup on a defined scalar | |||
so that should probably fail | |||
masak | oh! | ||
yes. | |||
09:32
mucker left
|
|||
masak | but it's perfectly valid Perl 6 syntax. | 09:32 | |
pmichaud | it's even executable... it just returns a Failure | ||
masak | right. | 09:34 | |
09:35
mucker joined
09:53
birdwind1pbird left
|
|||
masak | n: grammar G { regex TOP { <a>? }; regex a { <b> }; regex b { 'foo' } }; my $m = G.parse("foo"); say ~$m<a>[0]<b> | 09:53 | |
p6eval | niecza v16-23-gaa61ed5: OUTPUT«Use of uninitialized value in string context at /home/p6eval/niecza/lib/CORE.setting line 1224 (warn @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 235 (Mu.Str @ 10)  at <unknown> line 0 (ExitRunloop @ 0)  at /tmp/T4oDP25Uqb line 1 (mainline @ … | ||
09:53
birdwindupbird left
|
|||
masak | r: grammar G { regex TOP { <a>? }; regex a { <b> }; regex b { 'foo' } }; my $m = G.parse("foo"); say ~$m<a>[0]<b> | 09:53 | |
p6eval | rakudo 082dd1: OUTPUT«foo» | ||
masak | r: grammar G { regex TOP { <a>? }; regex a { <b> }; regex b { 'foo' } }; my $m = G.parse("bar"); say ~$m<a>[0]<b> | ||
p6eval | rakudo 082dd1: OUTPUT«Method 'at_key' not found for invocant of class 'Nil' in method postcircumfix:<{ }> at src/gen/CORE.setting:1195 in block <anon> at /tmp/R6HYsqlJfc:1» | ||
masak | r: grammar G { regex TOP { <a>? }; regex a { <b> }; regex b { 'foo' } }; my $m = G.parse("bar"); if $m<a> { say ~$m<a>[0]<b> } | ||
p6eval | rakudo 082dd1: ( no output ) | ||
bbkr | rakudo: say "\x[10001]" ~~ /<[\x10000..\xEFFFF]>/ # is this expected behavior for RT 67122 ? Should we expect it to match? | 09:59 | |
p6eval | rakudo 082dd1: OUTPUT«===SORRY!===Invalid character for UTF-8 encoding» | ||
10:03
fsergot joined
|
|||
dalek | ast: 546456c | pmichaud++ | S02-literals/listquote.t: Correct a spectest that relied on .<abc> dying (instead of failing). |
10:04 | |
ast: 7b837e8 | pmichaud++ | S (2 files): Some more spectest changes/fixes related to autoviv. |
|||
10:05
arlinius left
|
|||
dalek | kudo/nom: 8658d94 | pmichaud++ | src/core/Any.pm: Implement hash autoviv. Array autoviv comes next. |
10:05 | |
10:09
re joined
10:12
re left
|
|||
masak | r: class A is B {} | 10:17 | |
p6eval | rakudo 8658d9: OUTPUT«===SORRY!===Cannot call 'trait_mod:<is>'; none of these signatures match::(Attribute:D $attr, Any :rw(:$rw)!):(Attribute:D $attr, Any :readonly(:$readonly)!):(Attribute:D $attr, Any :box_target(:$box_target)!):(Routine:D $r, Any :rw(:$rw)!):(Routine:D $r, Any… | ||
masak | jnthn: why doesn't that error message give line-and-file? :/ | ||
arnsholt | jnthn: Should .c files really be ignored in the Zavolaj repo? | 10:20 | |
jnthn | Yeah | ||
They only ever get generated when running the tests. | 10:21 | ||
arnsholt | The C files? t/*.c are checked into the repo | 10:22 | |
.o and .so, sure. But the C code isn't generated AFAICT | 10:23 | ||
phenny | arnsholt: Service not found in github.com/nslater/oblique/wiki | ||
arnsholt | Huh. Apparently I found a feature ^_^ | 10:24 | |
10:24
birdwindupbird joined
|
|||
jnthn | arnsholt: We...have C files checked in? | 10:24 | |
10:24
mucker left
|
|||
jnthn | Oh...so we do | 10:25 | |
duh :) | |||
It's the objct files that are generated | |||
Sorry, brain fail | |||
Yeah, they likely should not be in .gitignore then. | |||
10:27
daxim joined
|
|||
arnsholt | Fixed in my cstruct-work branch | 10:27 | |
10:27
mucker joined,
sisar joined
10:29
pmurias joined
10:30
NamelessTee joined
|
|||
jaffa4 | What perl 5 module would you convert first into perl 6? | 10:30 | |
What are the most influential? | 10:31 | ||
brrt | LWP | ||
masak | DBIX::Class | 10:32 | |
Moose :P | |||
daxim | splain | ||
daxim needs all the help a newbie can get | |||
nwc10 | this isn't the answer to "what to convert", but I think if there *is* a single most influential module, it's DBI | 10:33 | |
given that it provides a unified interface to different databases (and even non-databases) | |||
10:34
lestrrat left,
sisar left
|
|||
nwc10 | a unification which even certain other dynamic languages have failed to copy/steal/imitate/flatter | 10:34 | |
10:34
lestrrat joined
|
|||
nwc10 | as to "what to convert" - find a task that needs doing, that's currently done in Perl 5, and convert the modules it needs | 10:35 | |
the components of the IRC logger would seem to be one good candidate for "things that need doing" | 10:36 | ||
as right now, the logger for this channel runs on Perl 5. | |||
See, Perl 5 better than Perl 6 :-) | |||
dalek | kudo/nom: ff875ef | pmichaud++ | / (2 files): Array autoviv, add a passing test file. |
10:38 | |
daxim | mberends has dibs on dbi | 10:41 | |
10:42
fsergot left
|
|||
nwc10 | other suggestion - look at the build process for Rakudo. Which parts are written in Perl 5 - which modules do they use? | 10:43 | |
go for those. try to get the build process to be able to be self-hosting | 10:44 | ||
flussence | the "Volatile 100" list here would be a good start: ali.as/top100/ | 10:45 | |
(I think Text-Tabs-Wrap happened because it was on here at some point...) | 10:46 | ||
10:48
mucker left
10:52
mucker joined
|
|||
jaffa4 | nwc10: why should it be self-hosting | 10:58 | |
? | |||
nwc10 | Unlike Perl 5 (well, the current and only Perl 5 implementation) Rakud requires an external VM to already exist. | 10:59 | |
Right now, that has to be Parrot | |||
(but the aim is to be portable) | |||
if the Rakudo build process continues as-is, then *Perl 5* remains a build requirement | |||
(forever) | |||
which would mean that you can't build Perl 6 on a fresh system without first building Perl 5 | 11:00 | ||
which seems a bit silly | |||
whereas if the build process becomes self-hosting | |||
Juerd | It wouldn't be silly if Perl 6 had a non-Perl name. | ||
nwc10 | then it's possible to ship compiled versions of the build scripts for the VM (or VMs) | ||
it *would* still somewhat be silly, I think | 11:01 | ||
Perl 5 won't last forever. | |||
Juerd | Would you find it weird if e.g. Python's build environment depended on Perl? | ||
jaffa4 | There are compiled version of Perl 6 already | ||
11:01
pernatiy left
|
|||
nwc10 | Juerd: I'm told that it *did* until a few years ago | 11:01 | |
Juerd | Was that silly? | ||
nwc10 | yes. In that every build dependency makes it harder to install | ||
Juerd | Or just a logical effect of Perl being available on almost every unixy system? | 11:02 | |
nwc10 | also, Perl 5 benefits from having as much of its build system be written in Perl 5 | ||
dogfood improves the tools | |||
Juerd | Perl 5 is almost as prevalent as man :) | ||
I agree | |||
nwc10 | Parrot suffers (partly) because it hardly uses any Parrot-hosted code as part of its build | ||
so no-one hacking on core Parrot gets to use (/suffer/fix) Parrot based tools | 11:03 | ||
long term maintenance is easier, the fewer languages are needed for the build | |||
and the more code that can be re-used between the interpreter/compiler bootstrap, and the installation of end-user code | 11:04 | ||
if "half" the support code needed to build/compile Perl 6 modules is written in Perl 5, then Perl 5 becomes a *runtime* dependency for developers using Perl 6 | 11:05 | ||
also, partly, it's easier to target the single language "the Perl 6 we're building here" than "whichever variant of Perl 5 the system installed" | 11:06 | ||
sure, you can expect 5.8.4 or later in a current shipping OS | |||
but *only* 5.8.4 or later, which gives you a lot of different versions to test across | |||
and no confidence that the pesky "vendor" hasn't stripped out some of the core modules you thought you could rely on being present | 11:07 | ||
I think that's 16 stable releases to date, starting from 5.8.4 | 11:12 | ||
fglock | nwc10: perlito build is self-hosted | 11:22 | |
11:23
brrt left
|
|||
nwc10 | cool | 11:23 | |
11:33
fsergot joined,
odoacre left
|
|||
dalek | ast: 185bb09 | pmichaud++ | S02-types/hash_ref.t: More spectest updates relating to autoviv. |
11:35 | |
ast: d98cf79 | pmichaud++ | S09-autovivification/autovivification.t: More spectest unfudging for rakudo and autoviv. |
11:42 | ||
kudo/nom: bff4e5d | pmichaud++ | t/spectest.data: Add another passing spectest file. |
11:43 | ||
11:43
mdupont left
11:46
cognominal joined,
NamelessTee left
11:49
cognominal___ left
11:50
mdupont joined
12:02
grondilu joined
|
|||
grondilu | How could I test OUTER here? | 12:03 | |
dalek | kudo/nom: e59619c | jonathan++ | src/Perl6/Metamodel/MROBasedMethodDispatch.pm: Eliminate use of %h.update(...) in the meta-objects. |
||
grondilu | p6: module Foo { sub talk { say "hello" } }; package Foo { OUTER::talk } | 12:07 | |
p6eval | niecza v16-23-gaa61ed5: OUTPUT«===SORRY!===Illegal redeclaration of symbol 'Foo' (see line 1) at /tmp/u7uqJP6iV3 line 1:------> sub talk { say "hello" } }; package Foo ⏏{ OUTER::talk }Undeclared name: 'OUTER::talk' used at line 1Potential dif… | ||
..rakudo ff875e: OUTPUT«===SORRY!===Redeclaration of symbol Fooat /tmp/mm3XijcxBp:1» | |||
..pugs: OUTPUT«*** outer - not yet implemented: "&talk" at /tmp/0iMEPcADqL line 1, column 56-68» | |||
grondilu | p6: module Foo { sub talk { say "hello" } }; package Foo { OUTER::Foo::talk } | ||
p6eval | rakudo ff875e: OUTPUT«===SORRY!===Redeclaration of symbol Fooat /tmp/mB5xQlBiOe:1» | ||
..niecza v16-23-gaa61ed5: OUTPUT«===SORRY!===Illegal redeclaration of symbol 'Foo' (see line 1) at /tmp/O0q_UX89mc line 1:------> sub talk { say "hello" } }; package Foo ⏏{ OUTER::Foo::talk }Potential difficulties: &talk is declared but not used… | |||
..pugs: OUTPUT«*** outer - not yet implemented: "&Foo::talk" at /tmp/IF89CaJcZH line 1, column 56-73» | |||
12:13
alvis joined,
GlitchMr joined
|
|||
grondilu | nom: module Foo { sub talk { say "hello" } }; package Foo { use Foo; OUTER::Foo::talk } | 12:14 | |
p6eval | rakudo e59619: OUTPUT«===SORRY!===Redeclaration of symbol Fooat /tmp/7QqjvLSrPl:1» | ||
12:21
skids left,
kborer joined
12:22
jaldhar left
12:23
kborer left
12:24
cognominal left
|
|||
jnthn | grondilu: fwiw, OUTER is nothing to do with packages and everything to do with lexical scopes. | 12:24 | |
12:24
kborer joined
|
|||
jnthn | Oh, seems you know that, reading your code again, though | 12:25 | |
nom: class Foo { class Foo { method m() { OUTER::Foo.m } }; method m() { say 42 } }; Foo.m; Foo::Foo.m | |||
p6eval | rakudo e59619: OUTPUT«42Method 'm' not found for invocant of class 'Any' in method m at /tmp/tvQqmuYZHX:1 in block <anon> at /tmp/tvQqmuYZHX:1» | ||
jnthn | Hm | 12:26 | |
12:26
cognominal joined
|
|||
jnthn | nom: class Foo { class Foo { method m() { OUTER::OUTER::Foo.m } }; method m() { say 42 } }; Foo.m; Foo::Foo.m | 12:26 | |
p6eval | rakudo e59619: OUTPUT«(timeout)42» | ||
jnthn | nom: class Foo { class Foo { method m() { OUTER::OUTER::OUTER::Foo.m } }; method m() { say 42 } }; Foo.m; Foo::Foo.m | ||
p6eval | rakudo e59619: OUTPUT«4242» | ||
jnthn | pmichaud++ # can count scopes :) | 12:27 | |
nom: class Foo { class Foo { method m() { ::(('OUTER::' x 3) ~ 'Foo').m } }; method m() { say 42 } }; Foo.m; Foo::Foo.m | 12:29 | ||
p6eval | rakudo e59619: OUTPUT«4242» | ||
mucker | o/ #perl6 | 12:30 | |
grondilu is back and reads code above | |||
12:30
bluescreen10 joined
|
|||
mucker has decided to contribute to fglocks code | 12:32 | ||
grondilu | ok but I'm trying to have it work with a module used with 'use'. Not classes in the same file. | ||
[Coke] | p: say asin 3 | 12:36 | |
p6eval | pugs: OUTPUT«0.1411200080598672» | ||
dalek | p: 77ee7b5 | jonathan++ | / (2 files): Add OwnedHash, which will track hashes that need to trigger the SC write barrier if modified. |
12:42 | |
nqp: 6f8ec7c | jonathan++ | src/how/NQPClassHOW.pm: | |||
nqp: Eliminate use of %hash.update(...); that code ain't a hot path with serialization, the method ain't in Perl 6, and (most pressingly) the Parrot implementation doesn't handle hash subclasses properly. | |||
12:42
dalek left
12:43
dalek joined,
ChanServ sets mode: +v dalek
|
|||
dalek | kudo/nom: c9905df | jonathan++ | tools/build/NQP_REVISION: Bump NQP_REVISION. |
12:44 | |
kudo/nom: 7f62119 | jonathan++ | src/Perl6/ModuleLoader.pm: Disable SC write barrier while loading CORE.setting. |
|||
jnthn | That seems to fix pre-compilation issues with MiniDBI. | 12:45 | |
frettled | yay | 12:46 | |
12:51
kda joined,
kda left,
sisar joined
12:55
PacoAir joined
12:56
mucker left,
mucker joined
|
|||
fglock | mucker: yay! | 12:57 | |
jnthn | tadzik: rt.perl.org/rt3/Ticket/Display.html?id=71812 is a Pod related ticket - may be closable... | 12:59 | |
[Coke] finds a rant about PHP: | 13:00 | ||
me.veekun.com/blog/2012/04/09/php-a...ad-design/ | |||
let's hope perl6's rant list is slightly smaller. | 13:02 | ||
mucker | fglock: anything specific to work on for a beginner like me :) | 13:03 | |
arnsholt | [Coke]: It'll definitely be different, at any rate =) | ||
PerlJam | [Coke]: that url made the rounds here about 10 days ago :) | 13:04 | |
[Coke] | PerlJam: I found it because someone built this: | ||
www.flickr.com/photos/raindrift/set...492908038/ | |||
PerlJam | heh! | ||
mucker | [Coke]: periodic table of perl6 operators :) | 13:06 | |
and people though $@#%\ were bad ! | |||
fglock | mucker: the javascript libs are not-so-scary, src5/lib/Perlito5/Javascript/CORE.pm and IO.pm | 13:07 | |
there are also some perl5 things in src5/util/perlito5.pl | |||
you can also browser the parser and the several emitters | 13:08 | ||
mucker | But I get what larry is trying to do. He is trying to create the a language that describes languages :) I think It's better than giving up all hope and compromist with the ( ) | ||
fglock | p5-to-perl6 is a hot topic if you want to tweak perl6 | ||
mucker | fglock: I never really understood the diff b/w src5 and src6 ... can just just clarify ? | ||
fglock | src5 is the source code for perlito5 (a perl5 compiler, written in perl5) | 13:09 | |
src6 is s/5/6/ | |||
mucker I hate laptop keyboards | |||
with various backends, amiright ? | 13:10 | ||
fglock | src6 is the source code for perlito6 (a perl6 compiler written in perl6) | ||
yes | |||
mucker | I am paritcularly keen on the js backend. We just need to support the bare minimal syntax to put javascript out of its misery :) | 13:11 | |
fglock | mucker: p5-to-js or p6-to-js? | 13:12 | |
mucker | I'll get back to you this weekend. But I think I will start with the p5-to-js first. Mainly because I can step through the debugger and try to understand whats going on :) | 13:13 | |
fglock++ for super clean source code :) | 13:15 | ||
fglock | cool - note you can also use the perl5 debugger on perlito6.pl (even when compiling to js) | ||
mucker | Awesome | ||
mucker can't wait for the weekend to begin | 13:16 | ||
fglock | mucker++ | ||
mucker | fglock .. gotto go now .. see you :) | 13:17 | |
fglock | o/ | 13:18 | |
13:19
mucker left
13:20
uniejo left
13:24
cognominal_ joined,
cognominal left,
pernatiy joined
|
|||
jnthn | pmichaud: rt.perl.org/rt3/Ticket/Display.html?id=77038 | 13:30 | |
pmichaud: ^ can likely be closed once you've done your current work | |||
13:32
PacoAir_ joined,
PacoAir left,
PacoAir_ is now known as PacoAir
13:35
grondilu left
13:47
sisar left
13:48
skids joined
13:50
uniejo joined,
uniejo left,
uniejo joined
13:52
kaleem left
|
|||
pmichaud | gist.github.com/2428890 | 13:56 | |
jnthn: ^^ | |||
14:11
brrt joined
14:15
fhelmberger left
|
|||
dalek | kudo/nom: 51bfca4 | jonathan++ | src/binder/types.c: Fix regression due to some hashes now being OwnedHash. pmichaud++ for noticing. |
14:28 | |
[Coke] | what's an OwnedHsah? | 14:30 | |
14:31
PacoAir left
|
|||
jnthn | [Coke]: A hash owned by a serialization context | 14:33 | |
Well, that was previously serialized | |||
14:34
spider-mario joined,
uniejo left
14:38
leprevost joined
|
|||
jaffa4 | fglock: for perl 6 back ends I would modify niecza | 14:40 | |
14:43
fglock left
|
|||
arnsholt | Hackathoners: Have you huys left linpro yet? | 14:47 | |
tadzik | nope | 14:48 | |
still slac^Whacking | 14:49 | ||
arnsholt | Cool. Could someone come down and unlock the door for me? =) | ||
colomon | ooo, what's the status of things? | ||
14:50
Trashlord left
|
|||
arnsholt | Arrived a bit later than planned | 14:50 | |
14:50
Trashlord joined
|
|||
colomon is going to have to hackathon vicariously through the #perl6 channel this weekend... | 14:50 | ||
krunen | arnsholt: salve is coming | 14:51 | |
tadzik | . o O ( salvation! ) | ||
masak .oO( I Salvute you! ) | 14:52 | ||
sjn | pfft :-P | 14:55 | |
on IRC, I'm "sjn", btw :) | |||
tadzik | :) | ||
15:00
brrt left
15:04
NamelessTee joined
|
|||
[Coke] | p: say 0 xor 24 | 15:05 | |
p6eval | pugs: OUTPUT«0» | ||
masak | r: say 0 xor 24 | 15:06 | |
p6eval | rakudo 7f6211: OUTPUT«0» | ||
[Coke] | I had a bunch of xor tests skipped earlier. | 15:07 | |
flussence | xor is the boolean op, right? | ||
masak | how appropriate :) | ||
15:08
replore joined
15:09
xinming_ left,
xinming joined
15:10
tokuhirom joined
|
|||
dalek | kudo/nom: aa2eb5b | masak++ | src/core/Exception.pm: [core/Exception] output nested error Better than just "Error while creating error string" |
15:12 | |
kudo/nom: c40f488 | masak++ | src/core/Exception.pm: [core/Exception] whitespace fix |
|||
15:16
wolfman2000 left
15:18
vlixes joined
15:21
brrt joined
15:23
xinming_ joined
15:26
xinming left
|
|||
pmichaud | [Coke]: xor precedence? | 15:26 | |
[Coke] | it was skipped in pugs presumably because it didn't exist. except it does. | 15:29 | |
15:34
fsergot left
|
|||
[Coke] | probably just some gross-level skipping. | 15:37 | |
15:45
mspaulding joined
15:48
Psyche^ joined
15:52
Patterner left,
Psyche^ is now known as Patterner
15:56
erkan joined
16:03
brrt left,
tokuhirom left
16:13
kborer left,
daxim left
16:15
thou joined
16:18
spaceships joined
16:25
fglock joined
16:31
pernatiy left
|
|||
Ulti | can you already do introspection of POD in Rakudo? | 16:34 | |
16:37
birdwindupbird left
|
|||
colomon | Ulti: I think so. (Not my area, but if no one else is answering...) | 16:37 | |
Ulti | just reading the perl6.org faq if some of this stuff is in Rakudo already it makes it extra neat, especially if I can package up my perl6 programs as bytecode with parrot | 16:39 | |
16:40
thelazydeveloper joined
16:42
brrt1 joined,
sftp joined
16:52
PacoAir joined
|
|||
benabik | I believe the $=pod variable works. | 16:52 | |
16:53
thelazydeveloper left
16:54
replore__ joined
16:56
replore left
17:17
Chillance joined
17:20
MayDaniel joined
17:33
brrt1 is now known as brrt
17:39
fglock_ joined
17:40
fglock left
17:49
pmurias_ joined
17:52
pmurias left
18:04
GlitchMr left
18:06
sivoais is now known as sivoais_
18:07
sivoais_ is now known as sivoais
18:13
mucker joined
18:14
thou left
18:22
thou joined
18:27
birdwindupbird joined
18:30
Tedd1 left
18:31
kaare_ joined
18:33
tokuhirom joined
18:36
tokuhirom left
18:37
tokuhirom joined
|
|||
fglock_ | phenny, tell japhb This seems to work (I can't see colors in this terminal): $ node perlito5.js -Isrc5/lib rc-forest-fire | 18:41 | |
phenny | fglock_: I'll pass that on when japhb is around. | ||
brrt | r: my @a = [1,2,3,4]; say @a[0].WHAT; | 18:46 | |
p6eval | rakudo c40f48: OUTPUT«Array()» | ||
brrt | r: my @a := [1,2,3,4]; say @a[0].WHAT | ||
p6eval | rakudo c40f48: OUTPUT«Int()» | ||
brrt | r: my @a = 1, 2, 3, 4; say @a[0].WHAT | 18:48 | |
p6eval | rakudo c40f48: OUTPUT«Int()» | ||
brrt | r: my @a = 1, [2, 3], 4; say @a.[1].[1]; | 18:50 | |
p6eval | rakudo c40f48: OUTPUT«3» | ||
18:58
ponbiki joined
18:59
thou left
19:06
kaare_ left
19:07
nI7gT3VYK joined
19:10
testingMyBot joined
19:11
thelazydeveloper joined
19:14
nI7gT3VYK left
19:22
cognominal_ left
19:23
cognominal_ joined,
replore__ left
19:26
lichtkind joined
|
|||
lichtkind | sheers | 19:26 | |
19:31
brrt left
19:42
ggoebel left,
leprevost left,
nif joined,
ggoebel joined
19:46
ponbiki left
|
|||
dalek | blets: 3d26b96 | (Herbert Breunung)++ | docs/ (4 files): changed disclaimer - transition is over |
19:47 | |
lichtkind | TimToady: is it fair to call $~MAIN a slang variable? | 19:50 | |
19:51
jboise joined
19:53
tokuhirom left
19:55
birdwindupbird left
19:56
Trashlord left
19:57
birdwindupbird joined
|
|||
[Coke] | ooh, autoviv is back? | 19:57 | |
pmichaud++ | 19:58 | ||
masak: your name showed up 2x in tools/contributors. we should probably fix the tool to combine you. | 19:59 | ||
19:59
nif left
20:01
testingMyBot left
|
|||
TimToady | lichtkind: yes | 20:02 | |
[Coke] | (once as Masak, once as Mäsak) | 20:03 | |
20:04
nif joined
20:06
nif left
20:09
Trashlord joined,
nif joined
20:14
fgomez joined
20:28
kcwu joined
20:35
skids left
20:38
cognominal_ left,
cognominal joined
|
|||
fglock_ wonders about this line in perl5 t/op/sub.t: push @a, 24, 25, &{$x == $x}(26,27); | 20:40 | ||
20:40
tkr joined
|
|||
nwc10 | I think the comment above explains | 20:41 | |
# RT #63790: calling PL_sv_yes as a sub is special-cased to silently | 20:42 | ||
# return (so Foo->import() silently fails if import() doesn't exist), | |||
# But make sure it correctly pops the stack and mark stack before returning. | |||
no, I don't know why having PL_sv_yes end up as being returned from something in import happens. | |||
(the value put on the internal stack from == is PL_sv_yes) | 20:45 | ||
from != is PL_sv_no | |||
(that's canonical falsehood. That's the strange value that is the empty string in string context, and the value 0 in numeric context) | 20:46 | ||
fglock_ | I was testing import existence with: if (defined &{$module_name . '::import'}) { $module_name->import(@$arguments) } | ||
I never thought it was supposed to use magic | |||
maybe because it could be inherited, but can() could be used instead; OTOH it is still kinda in the middle of compilation, so there may be some complications | 20:48 | ||
nwc10 | I don't know how it works. It doesn't break. It hasn't needed fixing. | ||
fglock_ | that makes sense :) | ||
20:54
ggoebel left
20:55
ggoebel joined
21:00
alester joined
|
|||
jaffa4 | : my @a = 1, [2, 3], 4; say @a[1][1]; | 21:01 | |
r: my @a = 1, [2, 3], 4; say @a[1][1]; | |||
p6eval | rakudo c40f48: OUTPUT«3» | ||
jaffa4 | r : my @a = 1,1,1; say |@a; | 21:02 | |
r: my @a = 1,1,1; say |@a; | |||
p6eval | rakudo c40f48: OUTPUT«111» | ||
jaffa4 | r: my @a = 1,1,1; say @a; | ||
p6eval | rakudo c40f48: OUTPUT«1 1 1» | ||
21:12
fglock_ left
21:16
sisar joined
|
|||
lichtkind | TimToady: thank you, you seen latest efforts ? | 21:16 | |
21:18
mucker left
21:20
jboise left
21:23
bluescreen10 left
21:24
MayDaniel left,
cggoebel joined
21:25
ggoebel left,
havenn joined
21:34
cggoebel left
21:35
cggoebel joined
|
|||
dalek | kudo/nom: 45ef4e2 | pmichaud++ | src/core/ (4 files): Refactor autoviv methods to better handle type objects, use multidispatch. |
21:42 | |
21:43
jaffa4 left
|
|||
dalek | blets: 3c38887 | (Herbert Breunung)++ | docs/appendix-b-grouped.txt: hyper metaop are not really chevrons, just look alikes |
21:45 | |
21:45
havenn_ joined
21:47
havenn left
21:57
alvis` joined,
birdwindupbird left
21:59
alvis left
22:01
havenn joined
22:02
havenn_ left
22:05
alester left
22:11
thouveng joined
22:14
havenn left
22:24
localhost left
22:25
localhost joined
22:26
plobsing joined
|
|||
[Coke] | seen au? | 22:27 | |
aloha | au was last seen in #perl6 4 days 3 hours ago saying "but please feel free to typeahead anything you'd like me to help with :)". | ||
[Coke] stares at Pugs, trying to figure out where the Any class is defined. | 22:30 | ||
geekosaur | Data.Monoid? | ||
actually Any is not a class (I hope it wasn't redefined, Monoid is kinda a bad thing to clash with) | 22:32 | ||
[Coke] | Any is a perl six class | ||
I'm trying to find where that is defined. | |||
It may or may not be a /haskell/ class. | 22:33 | ||
ah, mkType "Any" looks promising. | 22:34 | ||
(it doesn't help that I have no idea how to code in haskell) | 22:36 | ||
oh! pugs has a Prelude.pm . | 22:38 | ||
geekosaur | whops, sorry (bad network fail around here of late), yes, as a p6 clas sit would be in Prelude.pm | 22:41 | |
22:42
_ilbot joined
|
|||
[Coke] | geekosaur: I'm not talking about a class defined IN perl6. | 22:42 | |
(any isn't defined there.) | 22:43 | ||
(though I'd be happy if I could augment the internals there.) | |||
22:44
thouveng left
|
|||
[Coke] | doesn't seem to matter what I put in src/perl6/Prelude.pm, it's ignored. | 22:47 | |
I presume there is some build step that isn't being done by make. | |||
phenny: tell au I tried to add a ".Str" that could be invoked as a method on .Str, but my naive patch (now reverted) caused a conflict with the bare {{ Str }}; the table in Prim.hs doesn't seem to be able to handle aliases, so I can't say Str is the same as ~; so I tried to find where I could add a method to Any; couldn't see anything obvious (to a non haskell me) , but found Prelude.pm - figured that would be great, I can write it in perl 6... but any changes | 22:52 | ||
phenny | [Coke]: I'll pass that on when au is around. | ||
[Coke] | phenny: tell au at some point I realized if I did it for Str, I was just going to have to do it for all of the Cool types, so, lacking Cool, figured I'd just try to add it to Any. | 22:57 | |
phenny | [Coke]: I'll pass that on when au is around. | ||
[Coke] gives up for now. | |||
22:58
spider-mario left
23:02
noam_ left,
noam_ joined
23:05
noam_ left,
fgomez left,
pmurias_ left
|
|||
lichtkind | moritz: which pperl version is on feather please? | 23:06 | |
23:09
moritz joined
23:11
noam_ joined,
fgomez joined,
pmurias_ joined,
lumi_ joined,
xenu joined,
cosimo joined,
broquaint joined
23:13
japhb_ joined
|
|||
japhb_ | IR clogs down? | 23:13 | |
Hmmm, perhaps just really slow. | 23:14 | ||
23:16
sisar left
23:31
replore_ joined
|
|||
lichtkind | phenny: tell moritz i rewrote the html generator in perl and it does more now, please let the cron start this | 23:34 | |
phenny | lichtkind: I'll pass that on when moritz is around. | ||
dalek | blets: fcffb67 | (Herbert Breunung)++ | docs/build-html.pl: rewrote html builder in perl, renders index now how i like it even backround gone shady again |
23:35 | |
blets: 24d42a1 | (Herbert Breunung)++ | docs/index.txt: toc fits now on my screen |
23:44 | ||
23:45
NamelessTee left
23:50
replore_ left
|
|||
japhb_ | phenny, tell fglock rc-forest-fire now works with perlito5.pl, and quite quickly too. However, for perlito5.js, it gets through the compile but dies at runtime (after printing the starting map) with this error: Warning: TypeError: Object [object Object] has no method 'next' | 23:51 | |
phenny | japhb_: I'll pass that on when fglock is around. | ||
japhb_ | phenny, tell fglock And you might have thought it succeeded too fast to see because you supplied no arguments telling it forest size and iteration count. The tested command is: node perlito5.js -Isrc5/lib /path/to/perl6-bench/perl5/rc-forest-fire 30 20 100 | 23:54 | |
phenny | japhb_: I'll pass that on when fglock is around. | ||
japhb_ | phenny, tell fglock, er ... "30 20 10" | 23:55 | |
phenny | japhb_: I'll pass that on when fglock is around. | ||
japhb_ | wheee | ||
23:58
replore joined
|