|
»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend! Set by sorear on 25 June 2013. |
|||
|
00:06
pecastro joined
00:08
xragnar_ joined,
xragnar_ is now known as xragnar
00:11
pecastro left
00:16
rurban joined
00:21
rurban left
00:40
bjz joined
00:44
bjz left
00:48
Ben_Goldberg joined,
BenGoldberg left,
Ben_Goldberg is now known as BenGoldberg
00:52
telex joined
01:01
treehug88 joined
01:02
treehug88 left,
treehug88 joined,
treehug88 left
01:03
treehug88 joined
01:04
jnap left
01:07
SevenWolf left
|
|||
| colomon | do we have a built-in mv command? | 01:08 | |
| guess IO::Path.copy is enough for my purposes | 01:12 | ||
|
01:12
hoverboard joined
01:15
bjz joined
01:27
sorear left,
quillen joined
01:28
quillen left
01:30
sorear joined
01:32
FROGGS_ joined
01:33
Sqirrel_ joined
01:37
raiph left
01:39
Su-Shee joined
01:40
Pleiades` left
01:42
Su-Shee_ left
01:45
Pleiades` joined
01:50
SamuraiJack joined
01:53
klapperl joined,
aindilis joined
02:02
hoverboard left
02:22
sorear left
02:23
sorear joined
02:27
rindolf joined
02:40
ssutch joined
02:41
Ben_Goldberg joined,
BenGoldberg left,
Ben_Goldberg is now known as BenGoldberg
02:44
ssutch left
02:45
hugme left
02:52
mtj joined,
dj_goku joined,
hugme joined,
ChanServ sets mode: +v hugme
02:54
Ben_Goldberg joined
02:55
BenGoldberg left,
Ben_Goldberg is now known as BenGoldberg
02:56
Pleiades` left
03:01
Pleiades` joined,
eternaleye joined
03:22
Ben_Goldberg joined,
BenGoldberg left,
Ben_Goldberg is now known as BenGoldberg
03:26
hoverboard joined
03:35
BenGoldberg left
03:36
SevenWolf joined,
panchiniak left
03:38
time_decay joined
03:41
ssutch joined
03:42
time_decay left
03:43
panchiniak joined
03:45
ssutch left
03:46
hugme left,
vendethiel left,
ponbiki left,
jercos joined,
vendethiel joined,
huf joined,
salv0 joined
03:47
hugme joined,
ChanServ sets mode: +v hugme
03:50
SamuraiJack left
03:51
ponbiki joined,
ponbiki is now known as Guest65099
03:52
JimmyZ joined
03:59
JimmyZ_ left
04:09
panchiniak left
|
|||
| lue | What if grammars had a way to throw an exception when it can't match anything? Grammar::Tracer is nice, but it takes significantly longer to get to the failure when you're printing a bunch of stuff :) . | 04:31 | |
| Something like "Grammar failed on line XXX of input text in 'token foobar'", perhaps? | 04:32 | ||
| (activated via something like Grammar.parse($text, :throw), because sometimes you don't want to kill Perl 6 on a failed grammar parse) | 04:33 | ||
|
04:38
rurban joined
04:42
ssutch joined
04:46
ssutch left
05:05
kaare_ joined
|
|||
| Woodi | morning :) | 05:07 | |
| what if someone says that Parrot needs a rewrite ? | 05:08 | ||
| Woodi hide | |||
|
05:13
rurban left
05:26
rindolf left,
rindolf joined
05:35
xinming_ joined
05:42
ssutch joined
05:47
ssutch left
05:53
FROGGS_ left
06:00
kurahaupo joined
06:10
hoverboard left
06:18
anaeem1_ joined
06:28
anaeem1_ left
06:32
darutoko joined
|
|||
| Woodi | b. but maybe Parrot needs some purpose ? | 06:38 | |
|
06:43
ssutch joined
06:47
ssutch left
|
|||
| moritz | Woodi: parrot has a rewrite, in some sense. It's called MoarVM | 07:03 | |
| Woodi | yes, in some sense. but noone like to throw away code. is pir fast or slow ? | 07:10 | |
|
07:16
zacts joined
|
|||
| moritz | parsing pir is slower than not parsing pir | 07:17 | |
| no idea if that answers your question | |||
| Woodi | is parsing pir slower then parsing moar's bytecode ? | 07:21 | |
| anyway, Perl6 started with proper design documentation and was planned as one, perfect development process so realy throwable prototype could be expected ;) | 07:24 | ||
| lizmat | good * #perl6! | 07:26 | |
| Woodi: Files=826, Tests=30666, 418 wallclock secs ( 9.69 usr 4.00 sys + 2894.69 cusr 279.42 csys = 3187.80 CPU) # parrot spectest | |||
| Files=880, Tests=31557, 201 wallclock secs ( 8.06 usr 3.81 sys + 1264.58 cusr 154.59 csys = 1431.04 CPU) # moar spectest | |||
| Woodi | so moar beat parrot | 07:27 | |
| lizmat | Moar: 3% more spectests, less than half of the CPU and wallclock | ||
| I rest my case :-) | |||
|
07:28
treehug88 left
07:30
Rotwang joined,
Rotwang left,
Rotwang joined
|
|||
| lizmat | or maybe not: | 07:30 | |
| parrot core settings: | |||
|
07:30
efg joined
|
|||
| lizmat | $ wc -l gen/parrot/CORE.setting | 07:31 | |
| 19068 gen/parrot/CORE.setting | |||
| Stage parse : 119.552 | |||
| moar core settings: | |||
| $ wc -l src/gen/m-CORE.setting | |||
| 21169 src/gen/m-CORE.setting | |||
| Stage parse : 41.103 | 07:32 | ||
| Woodi | I am realy interested in *story* what goes wrong... maybe some presentation done by someone. or just presentation-size material of what's happened. not necesarry names, just open-source-Ofun process :) for future generations ! | ||
| lizmat: you are kicking Parrot now... | 07:33 | ||
| lizmat | perhaps, but you asked for it :-) | ||
| Woodi | probably :) | ||
| lizmat | but seriously, I wanted to show how much *better* Moar is now, not how much worse Parrot is | ||
| and without Pugs, Parrot, Niecza, we wouldn't be where we are now | 07:34 | ||
| Woodi | lizmat: it all screems: stoooory ! at least for me :) | 07:35 | |
| lizmat | if we're not standing on the shoulders of giants, we've been given at least a goal to reach and overtake | ||
| sorry, but I'm the wrong person to ask, since I wasn't really part of the Perl 6 development process until about 2 years ago | |||
| (apart from being talked into writing a spec circa 2005 :-) | 07:36 | ||
| Woodi | Perl6 spec design and evolution is probably a topic too :) | 07:37 | |
| lizmat | once Perl 6 is a viral success, I have no doubt that there will be a writer who will write a "The Soul Of A New Machine" about Perl 6 | 07:39 | |
| en.wikipedia.org/wiki/The_Soul_of_a_New_Machine | 07:40 | ||
|
07:40
spider-mario joined
|
|||
| lizmat | TimToady: seems like S28:142 and S02:3118 are in conflict | 07:42 | |
| synopsebot | Link: perlcabal.org/syn/S28.html#line_142 | ||
| lizmat | S02:3118 # synapsebot not looking far enough | ||
| synopsebot | Link: perlcabal.org/syn/S02.html#line_3118 | ||
|
07:43
jack_rabbit joined
07:44
ssutch joined
|
|||
| lizmat | S02 assumes a postcircumfix access to *$VM, whereas S28 assumes a pure method based access | 07:44 | |
| also, to simplify matching, I've implemented lowercase names only | 07:45 | ||
| otherwise it is too easy to miss windows :-) | |||
| ( was it MSwin32 or MSWin32 or msWin32 ? | 07:46 | ||
| ) | |||
| Woodi | btw. R* 201405 is postponed ? at least no announcement on frontpage | ||
| lizmat: why *$[VM|KERNEL] naming ? it's a bit Linux specific... | 07:47 | ||
| lizmat | Woodi: wrt $*, I'm not sure | 07:48 | |
|
07:48
ssutch left
|
|||
| lizmat | r: say $*VM.name | 07:48 | |
| camelia | rakudo-moar b91eeb: OUTPUT«moar» | 07:49 | |
| ..rakudo-jvm b91eeb: OUTPUT«jvm» | |||
| ..rakudo-parrot b91eeb: OUTPUT«parrot» | |||
|
07:49
jack_rabbit left
|
|||
| Woodi | what wrong with O(perating)S(ystem) ? | 07:49 | |
| lizmat | VM is the name of the Rakudo backend | ||
| perhaps $*BACKEND would have been a better name in retrospect | |||
| in light of VM becoming more generally used in different contexts | 07:50 | ||
| xfix | std: my $var = "concat"; say "string".$var; # Intentionally wrong | ||
| camelia | std ec3d853: OUTPUT«ok 00:01 124m» | ||
| xfix | std: my $var = "concat"; say "string" . $var; # Intentionally wrong | ||
| camelia | std ec3d853: OUTPUT«===SORRY!===Unsupported use of . to concatenate strings; in Perl 6 please use ~ at /tmp/fbVw_ekJkM line 1:------> my $var = "concat"; say "string" . ⏏$var; # Intentionally wrongParse failedFAILED 00:01 125m» | ||
|
07:54
Siva_ joined
|
|||
| lizmat | xfix: you are aware of this syntax ? | 07:55 | |
| m: my $a = "uc"; say "Foo"."$a"() | |||
| camelia | rakudo-moar b91eeb: OUTPUT«FOO» | ||
| xfix | I'm. | ||
| lizmat | ok, just checking | ||
| not sure why STD accepts "Foo".$a | |||
| xfix | For consistency, possibly. | 07:56 | |
|
07:56
Siva_ left
08:01
jack_rabbit joined
08:02
denis_boyun_ joined
|
|||
| dalek | ecs: 5fb62b7 | (Elizabeth Mattijsen)++ | S28-special-names.pod: Spec $?PERL/$*PERL.(VMnames|DISTROnames) |
08:07 | |
|
08:12
thou left
08:13
virtualsue joined
|
|||
| dalek | kudo/nom: 08ff7e1 | (Elizabeth Mattijsen)++ | src/core/Perl.pm: Implement Perl.DISTROnames |
08:13 | |
| ast: a63ee74 | (Elizabeth Mattijsen)++ | S02-magicals/ (2 files): Only doing DISTRO checks in here |
08:19 | ||
|
08:19
denis_boyun_ left
|
|||
| dalek | kudo/nom: 50bd5cb | (Elizabeth Mattijsen)++ | t/spectest.data: Follow S02-magicals/config.t -> DISTRO.t renaming |
08:20 | |
|
08:22
jack_rabbit left
08:26
denis_boyun_ joined
08:32
kivutar joined
|
|||
| xfix | rn: gist.github.com/xfix/49193dd30607780d0442 | 08:37 | |
| camelia | rakudo-{parrot,jvm,moar} b91eeb, niecza v24-109-g48a8de3: OUTPUT«gist not found» | ||
| xfix | Oh, right. | ||
| rn: multi infix:<+>(2, 2) { return 5; }; say (1 + 1) + (1 + 1); say 1 + 1 + 1 + 1; | |||
| camelia | rakudo-{parrot,jvm,moar} b91eeb, niecza v24-109-g48a8de3: OUTPUT«54» | ||
|
08:41
kaare_ left
|
|||
| xfix | rn: multi infix:<+>(2, 2) { return 5; }; say (1 + 1.0) + (1 + 1); | 08:43 | |
| camelia | rakudo-{parrot,jvm,moar} b91eeb, niecza v24-109-g48a8de3: OUTPUT«4» | ||
| xfix | So, 2.0 is not 2, is it correct? | 08:44 | |
|
08:45
ssutch joined
08:49
ssutch left
|
|||
| moritz | aye | 08:53 | |
|
09:03
zacts left
09:24
pippo_ joined
|
|||
| xfix | rule ws { \h* } | 09:26 | |
| Why I did that... | |||
| dalek | kudo/nom: 990c0c4 | (Elizabeth Mattijsen)++ | src/core/Distro.pm: Set up Distro.auth for macosx |
09:31 | |
| pippo_ | good morning #perl6 | 09:38 | |
| masak | good antenoon, #perl6 | ||
| pippo_ | :-) | ||
| lizmat | pippo_ masak moritz xfix o/ | ||
| xfix | Hi. | 09:39 | |
|
09:39
aindilis` joined
|
|||
| xfix | I'm now reading NQP Internals workshop materials. | 09:39 | |
| (and implementing IRC parser) | |||
| lizmat | xfix++ | ||
|
09:40
JimmyZ_ joined,
felher_ joined
|
|||
| xfix | Errors are confusing, but I guess this is what happens when you work on NQP level. I assume that 'Cannot iterate object with P6opaque representation' means that the object cannot be iterated, but what is P6 here? I'm working with NQP, not Perl 6. | 09:43 | |
|
09:44
JimmyZ left,
aindilis left,
go|dfish left,
Alina-malina left,
Alina-malina joined
|
|||
| xfix | I'm not sure why it complains either way. I assume I do a really simple mistake, but I cannot see it. | 09:45 | |
| gist.github.com/xfix/d224c616ca6eeb720d31 | |||
| (I didn't knew GitHub supports NQP...) | |||
| pippo_ | lizmat: O/ | ||
|
09:46
ssutch joined,
go|dfish joined
|
|||
| lizmat | xfix: I can only conclude that $parsed-log<line> is a P6Opaque ? | 09:48 | |
|
09:49
thou joined,
kurahaupo left
|
|||
| xfix | I see, the parse fails. | 09:50 | |
|
09:50
bnebheni joined
|
|||
| xfix | Because of \h+ ws rule. | 09:50 | |
|
09:50
ssutch left,
bnebheni left
|
|||
| xfix | I expected exception of sorts, but whatever. | 09:51 | |
|
09:52
pippo_ left
|
|||
| masak | in general, you have to be prepared both for an undefined result *and* for an exception from .parse | 09:52 | |
| there isn't really any system to it. | |||
|
09:53
pippo__ joined
|
|||
| xfix | Sounds fun. | 09:53 | |
| lizmat is trying to figure out how to create an empty Blob | |||
| note: empty, not undefined ;-) | |||
|
09:53
thou left
|
|||
| lizmat | m: Blob.new.say | 09:54 | |
| camelia | rakudo-moar 50bd5c: OUTPUT«Buf:0x<>» | ||
| lizmat | guess that works :-) | ||
| masak | done! :) | ||
|
09:56
pippo__ is now known as pippo
09:59
pippo left,
pippo joined
10:01
SevenWolf left
|
|||
| xfix | gist.github.com/xfix/64e18ba37d685e7f8c90 | 10:04 | |
| That looks quite nice already. | |||
| lizmat | xfix++ (again) :-) | 10:05 | |
| xfix | "postcircumfix:<{ }> not defined for type Array" | 10:06 | |
| Perl 6 complains however. I wonder if there is some small difference between NQP and Perl 6. | |||
| In grammar handling. | |||
| It complains about `my $time := ~$line<time>;`. | 10:08 | ||
| (why I don't get backtrace either way) | |||
| lizmat | perhaps run with --ll-exception | ||
| xfix | Thanks. | ||
| Well, --ll-exception gives me just MoarVM files. | 10:09 | ||
| lizmat | masak will like this: goto.ucsd.edu/~rjhala/liquid/haskel...-wild.lhs/ | 10:11 | |
| masak | lizmat: nice. | 10:13 | |
| dalek | ast: 96ee96e | (Elizabeth Mattijsen)++ | S02-magicals/DISTRO.t: Extended $?DISTRO / $*DISTRO testing |
||
| masak | yes, I do like that. | ||
| I hadn't heard about LiquidHaskell before. | 10:14 | ||
| lunch & | |||
| dalek | ast: ff94d8f | (Elizabeth Mattijsen)++ | integration/real-strings.t: Remove bogus test |
10:17 | |
|
10:18
kaare_ joined
10:19
virtualsue left
|
|||
| dalek | ast: 14039dc | (Elizabeth Mattijsen)++ | S02-magicals/vm.t (2 files): Part 1 rename on case insensitive filesystems |
10:20 | |
| ast: 5b00752 | (Elizabeth Mattijsen)++ | S02-magicals/ (2 files): Part 2 rename on case insensitive filesystems |
10:21 | ||
| timotimo | jnthn doesn't mind if people re-use his slides for their own performances of the talks, right? | 10:22 | |
| colomon | xfix: you still working on that? | ||
| xfix | I'm currently doing SlowDB. | ||
| But if someone can tell me why it doesn't work in Perl 6, I'll listen. | |||
| colomon | for $<line> -> $line ===try===> for @$<line> -> $line | ||
| xfix | Thanks. | ||
| I forgot that I need to convert this to list. | 10:23 | ||
| When NQP does that automatically. | |||
| colomon | or possibly @( $<line> ) | ||
| xfix | When NQP does that automatically. | ||
| oops | |||
| Now this fails in NQP, but whatever. | 10:24 | ||
| colomon | yeah, I don't know enough about NQP to make it work there. | ||
| xfix | Now this fails in NQP, but whatever. | ||
| oops, again | |||
| (why I think that I move to terminal with Alt-Tab...) | |||
|
10:37
efg left
|
|||
| dalek | kudo/nom: a89060a | (Elizabeth Mattijsen)++ | t/spectest.data: Follow S02-magicals/vm.t -> VM.t renaming |
10:37 | |
|
10:38
efg joined
|
|||
| dalek | ast: 59845d7 | (Elizabeth Mattijsen)++ | S02-magicals/ (2 files): Extended $?VM/$*VM and $?DISTRO/$*DISTRO testing |
10:38 | |
| kudo/nom: c3a6a79 | (Elizabeth Mattijsen)++ | src/core/Perl.pm: Implement Perl.KERNELnames |
10:55 | ||
| ast: fc9f3a5 | (Elizabeth Mattijsen)++ | S02-magicals/KERNEL.t: Add $?KERNEL/$*KERNEL tests |
|||
| kudo/nom: cdd29a5 | (Elizabeth Mattijsen)++ | t/spectest.data: Add $?KERNEL/$*KERNEL tests |
10:56 | ||
| Timbus | is there a way to get at a private attribute in a class, when you're in the package scope of it, but not in the.. uh. lexical? scope. or is it local... basically i dont have a 'self', just a $ref | 11:00 | |
| a private method works, i was just wondering if its needed | |||
| lizmat | private method is best, and the intended way to do this, afaik | 11:08 | |
| xfix | fish: Job 1, 'nqp-m slowdb.nqp ' terminated by signal SIGSEGV (Address boundary error) | 11:13 | |
| I've a feeling I'm doing something incorrectly. | |||
|
11:16
kaare_ left
|
|||
| dalek | kudo/nom: 45f905e | (Elizabeth Mattijsen)++ | src/core/Perl.pm: Small tweaks to $*PERL |
11:18 | |
| xfix | Argh, there is something broken about 'next LABEL' syntax. | 11:23 | |
| gist.github.com/xfix/168b7acb134b4a4d83b7 | 11:25 | ||
| With boolean controlling the state, it works. With next LABEL syntax, it doesn't. | 11:26 | ||
| lizmat | xfix: FROGGS may want to know about that: can you golf it to a potential rakudobug report? | 11:28 | |
| xfix | I may try. | ||
| Except it's NQP. | |||
| But let me see if it applies to Perl 6 as well. | |||
| Hm, should NQP support labels? | 11:32 | ||
| nqp: WHERE value=42 | |||
| camelia | nqp-parrot: OUTPUT«Confused at line 2, near "WHERE valu"current instr.: 'panic' pc 15653 (gen/parrot/stage2/NQPHLL.pir:5741) (gen/parrot/stage2/NQPHLL.nqp:425)» | 11:33 | |
| ..nqp-moarvm: OUTPUT«Confused at line 2, near "WHERE valu" at gen/moar/stage2/NQPHLL.nqp:369 (/home/p6eval/rakudo-inst-2/languages/nqp/lib/NQPHLL.moarvm:panic:106) from gen/moar/stage2/NQP.nqp:917 (/home/p6eval/rakudo-inst-2/languages/nqp/lib/nqp.moarvm:comp_unit:346) fro…» | |||
| ..nqp-jvm: OUTPUT«(timeout)## There is insufficient memory for the Java Runtime Environment to continue.# pthread_getattr_np# An error report file with more information is saved as:# /home/p6eval/hs_err_pid17389.log» | |||
| xfix | Oops. | ||
| nqp-m: LABEL: for [1] { next LABEL; }; say("world") | |||
| camelia | ( no output ) | ||
| xfix | nqp: LABEL: for [1] { next LABEL; }; say("world") | ||
| camelia | nqp-parrot: OUTPUT«current instr.: '' pc 91 ((file unknown):59) (/tmp/tmpfile:1)» | ||
| ( no output ) | |||
| ..nqp-jvm: OUTPUT«(signal )## There is insufficient memory for the Java Runtime Environment to continue.# pthread_getattr_np# An error report file with more information is saved as:# /home/p6eval/hs_err_pid17446.log» | |||
| xfix | github.com/perl6/nqp/commit/178362...09718c13c2 was commited 10 days ago, so labels are a new feature. | ||
| for [1] { next LABEL; }; say("world") | 11:34 | ||
| Here is the golfed version. | |||
|
11:37
thou joined
11:40
BenGoldberg joined
11:41
kaare_ joined
|
|||
| lizmat | the golfed version seems to be missing LABEL ? | 11:41 | |
| dalek | kudo/nom: 9157d69 | (Elizabeth Mattijsen)++ | src/core/Compiler.pm: Some $?PERL/$*PERL.compiler tweaks |
11:42 | |
|
11:42
thou left
|
|||
| dalek | ast: fca90ae | (Elizabeth Mattijsen)++ | S02-magicals/PERL.t: Add tests for $?PERL / $*PERL |
11:42 | |
| xfix | Mistake during copying. | 11:44 | |
| LABEL: for [1] { next LABEL; }; say("world") | |||
|
11:44
zacts joined
|
|||
| dalek | kudo/nom: f37d7f3 | (Elizabeth Mattijsen)++ | t/spectest.data: Make sure we run the $?PERL / $*PERL tests |
11:47 | |
|
11:47
ssutch joined
11:50
apejens left
11:51
denis_boyun__ joined
11:52
denis_boyun_ left,
ssutch left
|
|||
| xfix | Spesh: failed to fix up handlers (-1, 110, 110) | 11:52 | |
| Golfed test case: 'yes 1 | perl6' | 11:53 | ||
| lizmat | seems to be a REPL issue | 11:58 | |
|
11:59
atroxaper joined
|
|||
| lizmat | just doing $ perl6 and typing 1 <ENTER> 14 times gives the same error | 11:59 | |
| xfix: can you rakudobug that (by sending an email to [email@hidden.address] ) ? | 12:00 | ||
| oddly enough, this also happens with MVM_SPESH_DISABLE=1 | 12:01 | ||
|
12:01
apejens joined
|
|||
| lizmat | moritz: shouldn't we .gitignore the gen directory? | 12:02 | |
| and dynext ? | 12:04 | ||
| and blib | 12:05 | ||
| so they are not shown on github.com/rakudo/rakudo anymore ? | |||
|
12:06
SamuraiJack joined
12:10
BenGoldberg left
12:12
BenGoldberg joined
|
|||
| pippo | lizmat: MVM_SPESH_DISABLE=1 perl6 | 12:18 | |
| lizmat: MVM_SPESH_DISABLE=1 perl6-m does not show the bug on my machine. | |||
| afk & | 12:19 | ||
| vendethiel | oh, lizmat++ and woolfy++ are coming to fpw2014 :) | 12:21 | |
| pippo | lizmat: export MVM_SPESH_DISABLE=1 && yes 1 | perl6-m | 12:24 | |
| lizmat | pippo: ah, so SPESH *can* be disabled pippo++ | 12:34 | |
| cycling& | |||
| moritz | lizmat: gen/{jvm,parrot}/.gitignore are tracked | 12:36 | |
|
12:36
Ben_Goldberg joined,
BenGoldberg left
12:37
Ben_Goldberg is now known as BenGoldberg
|
|||
| moritz | lizmat: that's why they appear on github | 12:37 | |
| lizmat: could be done otherwise, then the Makefiles would need to be changed to create the dirs first | |||
|
12:40
molaf joined
12:45
xenoterracide joined
12:48
ssutch joined,
denis_boyun__ left
12:50
denis_boyun_ joined,
efg left
12:52
ssutch left
13:03
jnap joined
|
|||
| masak | xfix, lizmat: I can confirm the 14 1s bug. | 13:11 | |
| actually, I get it after 13. | 13:12 | ||
| and any literal seems to do it | |||
| declaring 'my $x' and then repeating '$x' doesn't trigger it | |||
| repeating "OH HAI" triggers it. | 13:13 | ||
| declaring 'my $x = 1' and then repeating '$x' triggers it | |||
| repeating 'Nil' doesn't trigger it | 13:14 | ||
| repeating 'pi' triggers it | |||
| repeating 'Num' doesn't trigger it | |||
| repeating 'for 1..10 { say "OH HAI" }' doesn't trigger it | 13:15 | ||
| doing '$_ = "x"' and then repeating '$_ ~= "x"' triggers it | |||
| doing 'sub foo { "gnarl" }' and then repeating 'foo' triggers it | 13:16 | ||
| intermixing '1' and 'Nil' triggers it after exactly 13 '1's | 13:17 | ||
| repeating 'say "!"' doesn't trigger it | 13:18 | ||
|
13:18
atroxaper left
|
|||
| masak | my guess: internal pointer corruption that doesn't get bad enough to surface until the REPL has output 13 *returned* values from the programs run. | 13:19 | |
| by the way, #perl6ers -- SawyerX++ pointed me to his github.com/xsawyerx/yet-another-friday-the-13th -- and I've now PR'd and he's merged my Haskell solution into it. | 13:21 | ||
|
13:24
atroxaper joined
13:26
thou joined
|
|||
| vendethiel | masak: nice ! PR'd LiveScript one :) github.com/xsawyerx/yet-another-fr...th/pull/10 | 13:26 | |
|
13:27
am_ joined
13:29
am_ left
13:30
thou left
13:31
jnap left
13:34
treehug88 joined
13:35
treehug88 left
|
|||
| colomon | 12 for me, if you mean "===SORRY!=== Spesh: failed to fix up handlers (-1, 110, 110)" | 13:36 | |
| xfix | 13 for me, with yes | head -13 | perl6-m. | 13:42 | |
| vendethiel | what's yes ? | 13:43 | |
| oh, i see | 13:44 | ||
|
13:49
ssutch joined
|
|||
| xfix | yes is infinite list | 13:50 | |
| I wanted to say, `yes 1`. | |||
| I'm now compiling under Clang, and I get flood of warnings. | 13:52 | ||
| "warning: implicit declaration of function 'MVM_io_eventloop_cancel_work' is invalid in C99 [-Wimplicit-function-declaration]" | |||
| Any reason for it not to be in header file? | |||
|
13:53
ssutch left,
atroxaper left
|
|||
| xfix | "3520 warnings generated." | 13:54 | |
| huh | |||
|
13:58
oetiker joined,
rurban joined
14:00
atroxaper joined
|
|||
| xfix | I also decided to compile MoarVM with runtime warnings (Clang has a flag for this), but it floods me with warnings which cause the application to crash. Not that I expected anything, as I had to modify Makefile manually. | 14:00 | |
|
14:07
kurahaupo joined
|
|||
| xfix | Including something about null pointer usage in ALIGNOF(x) macro. | 14:09 | |
|
14:31
FROGGS joined
|
|||
| FROGGS | o/ | 14:32 | |
| masak | xfix: the consensus among Moar developers seems to be that clang is too sensitive for its own good, and making all those warnings go away would be an exercise in futility. | 14:42 | |
| vendethiel: nice, short solution :) | 14:44 | ||
| vendethiel | masak: that's the point :P | ||
| masak | vendethiel: though TimToady would say that LiveScript is yet another list comprehension language that gets the nesting between the 'if' part and the 'for' part wrong... | ||
| sergot | o/ | ||
| vendethiel | masak: why so ? | 14:45 | |
| masak | (along with Haskell, Python, and a bunch of others) | ||
| vendethiel | you can do `a if b for c` | ||
| that's totally vali | |||
| valid* | |||
| masak | oh, good. | ||
| vendethiel | coffeescript doesn'"t get this right because of the way it treats POST_IF, but I consider that to be a bug | ||
| masak | the way you wrote it is more like `a for c | b`, though | ||
| vendethiel | it's exactly | | ||
| masak | don't know what you mean to say by that. | 14:47 | |
| vendethiel | I'm using | here, which is an alias to `when`, but that doesn't mean the if part can't be done | ||
|
14:50
ssutch joined
|
|||
| masak | no, I mean, the way you wrote it, the condition (whether you call it 'if' or 'when') is nested outside the loop. | 14:50 | |
| atroxaper | moritz: Hello! Just FYI. I could not install the last R* yesterday. But today I installed all three Rakudos. Now I'm going to install Panda. There is hand made R* :-) | 14:51 | |
|
14:54
ssutch left
|
|||
| vendethiel | masak: no, it's inside the loop. | 14:58 | |
| why would making it postfix make it "outside the loop"? | |||
| the loop is delimited by these [] | |||
|
15:00
zakharyas joined
15:05
zakharyas1 joined
15:06
zakharyas left
|
|||
| FROGGS | masak: about clang: I love it, and very often the clang warnings are sensible | 15:07 | |
| so I'd like to fix them, but last time I tried I had problems to invoke clang at all | 15:08 | ||
| vendethiel | it's an interesting idea though | ||
| just run you unmanaged software in a managed sandbox, fix the bugs, and compile on an unmanaged env | 15:09 | ||
| masak | vendethiel: there are three components in a comprehension: an item (to be returned), a loop, and a condition. if the loop comes between the item and the loop, it's "nested wrong". | 15:10 | |
| vendethiel: so `$a if $a for @a` is OK Perl 6, but `$a for @a if $a` is not. (but the corresponding syntax is how you write it in Python and Haskell) | 15:11 | ||
| vendethiel | masak: that depends where you see the for. | ||
| As I just said, the for is delimited by [] | |||
| so really, you could see it as `start_for $a in @a if $a end_for` | |||
|
15:12
Rotwang left
15:13
thistusooa joined
15:14
thou joined
|
|||
| masak | vendethiel: that explanation seems to ignore the location of the actual for *keyword* in the comprehension. | 15:15 | |
| vendethiel | masak: because the keyword is irrelevant here | ||
| the keyword doesn't delimit the for | |||
|
15:15
thistusooa left
|
|||
| vendethiel | `a for b` is invalid LS, `[a for b]` is | 15:15 | |
| masak | ok. | 15:16 | |
| interesting factoring. | |||
| I still prefer the order where the 'if' ends up between item and loop :) | 15:17 | ||
| vendethiel | masak: it's mostly due to ambiguities :) | ||
| there are already far too way many ways to do it. | |||
|
15:18
thou left
15:28
thistusooa joined
15:29
sqirrel__ joined
|
|||
| FROGGS | nqp-m: LABEL: for [1] { next LABEL; }; say("world") | 15:30 | |
| camelia | ( no output ) | ||
| FROGGS | nqp-m: LABEL: for [1] { last LABEL; }; say("world") | ||
| camelia | ( no output ) | ||
| FROGGS | nqp-m: LABEL: for [1] { last; }; say("world") | ||
| camelia | nqp-moarvm: OUTPUT«world» | ||
| FROGGS | nqp-m: LABEL: for [1] { for [2] { last LABEL } }; say("world") | 15:31 | |
| camelia | ( no output ) | ||
| BenGoldberg | nqp: LABEL: for [1] { next LABEL; }; say("world") | 15:34 | |
| camelia | nqp-parrot: OUTPUT«current instr.: '' pc 91 ((file unknown):59) (/tmp/tmpfile:1)» | ||
| ( no output ) | |||
| ..nqp-jvm: OUTPUT«(signal )## There is insufficient memory for the Java Runtime Environment to continue.# pthread_getattr_np» | |||
| FROGGS | we are missing the handler for some reason :/ | ||
| nqp-m: LABEL: while 1 { last LABEL; }; say("world") | 15:35 | ||
| camelia | nqp-moarvm: OUTPUT«world» | ||
| FROGGS | nqp-j -e 'LABEL: for [1] { last LABEL; }; say("world")' | 15:36 | |
| Unhandled exception; category = 4112 | |||
| the category is correct though | |||
| (4096 for labeled + 16 for 'last') | |||
|
15:37
denis_boyun_ left
|
|||
| FROGGS | so, the problem must be in nqp's code-gen for 'for' loops | 15:38 | |
| but funnily: the test in nqp/t/nqp/84-loop-labels.t passes... | 15:39 | ||
| bbiab | |||
| m: LABEL: for [1] { next LABEL; }; say("world") | |||
| camelia | rakudo-moar f37d7f: OUTPUT«world» | ||
| masak | if the test in nqp/t/nqp/84-loop-labels.t passes, but not the above, then there must be some difference. find that. :) | 15:47 | |
|
15:50
ssutch joined
15:54
ssutch left
|
|||
| xfix | Tests are way more complex than this, obviously. | 15:55 | |
| Perhaps tests fix themselves by running code in tests. | 15:56 | ||
|
15:58
Ben_Goldberg joined,
BenGoldberg left,
Ben_Goldberg is now known as BenGoldberg
16:05
SamuraiJack left,
kivutar left
|
|||
| TimToady | .oO(maybe they only xfix themselves...) |
16:06 | |
| masak | xfix: that's a possibility, but not the most likely one if you ask me. | 16:13 | |
| TimToady | .oO(TDT) |
16:15 | |
|
16:15
molaf_ joined
16:18
molaf left
|
|||
| masak | TimToady: in our testing course, we have a slide about that. it's titled "Quis custodiet ipsos custodes?" | 16:19 | |
| vendethiel winces | 16:20 | ||
| masak | oops, sorry. | ||
| vendethiel | I'm sorry :P | ||
| vendethiel just googles again | |||
| masak | "who watches the watchmen?" | 16:21 | |
| vendethiel | yea, I got it :-) | ||
| masak | far as I understand, that's what the "Watchmen" comics got its name from. (and indeed, it's inherently ambiguous as to whether superheroes are a net good) | ||
| the connection with TDD and tests: "you just wrote a test. how do you know it's 'correct'?" | 16:22 | ||
| vendethiel | yeah, but you're sure it can be used as a regression test at least :) | 16:24 | |
|
16:28
guru joined,
guru is now known as Guest28657
16:29
Guest28657 is now known as ajr_
|
|||
| masak | well, sometimes as part of the "green" part of the cycle, I realize I wrote the test wrong, and I go back and re-write it. (if I'm feeling very careful, I re-run the test without the implementation to see it shows red.) | 16:32 | |
| very rarely, I realize after a cycle that the test actually tests the "wrong" thing. then it's context-dependent whether I (a) add another test, (b) change the original test, or (c) change something in the way I do tests in that project. | 16:33 | ||
|
16:34
ajr_ left
|
|||
| vendethiel | exactly :) | 16:39 | |
| I usually don't add another test. I obviously change the original test, because it's wrong by now :P | |||
|
16:40
sqirrel__ left
16:43
ajr_ joined
16:49
anaeem1_ joined
16:51
ssutch joined
16:55
ssutch left
17:01
anaeem1_ left
17:02
thou joined
17:03
anaeem1 joined
|
|||
| japhb | Do r-j and r-m currently support the same async IO operations, or are there some things that one of them is not supporting that the other has? | 17:04 | |
|
17:06
jnap joined
17:07
thou left,
sqirrel__ joined
17:09
kurahaupo left
|
|||
| masak | vendethiel: well, maybe my definition of "wrong" is a bit liberal here. if it's simply incomplete (but not altogether useless), then I keep it and add another. | 17:09 | |
| vendethiel | fair enough | 17:13 | |
| vendethiel just saw Perl6::Junction | 17:18 | ||
| how do people do that? | |||
| well, operator overloading obviously, but even then | 17:19 | ||
|
17:19
pippo left
17:22
pippo joined
17:23
jnap left
|
|||
| lizmat | japhb: r-j and r-m more or less support the same feature set | 17:35 | |
| with the exception of signal() (doesn't work on JVM) and maybe IO::Socket::Async | |||
| japhb | lizmat: from my perusal of source, it looks like r-m doesn't have AsyncFile ... but it at least appears that they both have async sockets. | 17:36 | |
| lizmat | IO::Socket::Async is included in the JVM build and there is not jvm fudging in there | ||
| japhb | nodnod. | 17:37 | |
| So ... no signal on JVM, no async files on moar. | |||
| I guess my async I/O example will be sockets, then. :-) | |||
| lizmat | :-) | ||
| what's AsyncFile anyway? It isn't specced] | 17:38 | ||
| japhb | src/vm/jvm/core/IOAsyncFile.pm | ||
|
17:38
xenoterracide left
|
|||
| japhb | IO::Async::File is what it's called there, but I would think it should be IO::File::Async | 17:39 | |
|
17:39
hoverboard joined
|
|||
| lizmat | seems rather experimental to me | 17:39 | |
| japhb | Probably was -- jnthn++ working out his ideas in code | 17:40 | |
| lizmat | yes | ||
| it has my name in git blame, but that is only because I split the ginormous original file into parts | 17:41 | ||
|
17:51
molaf_ left
17:52
ssutch joined
17:53
sqirrel__ left
17:56
ssutch left
|
|||
| lizmat | r: say $*VM.precomp-ext | 18:01 | |
| camelia | rakudo-moar f37d7f: OUTPUT«moarvm» | ||
| ..rakudo-parrot f37d7f: OUTPUT«pir» | |||
| ..rakudo-jvm f37d7f: OUTPUT«jar» | |||
|
18:01
hoverboard left
18:02
nickpatch joined
|
|||
| lizmat | wonder if we'll ever have precompiled files with Moar on 8.3 file systems | 18:02 | |
|
18:04
atroxaper left
|
|||
| dalek | kudo/nom: e88e462 | (Elizabeth Mattijsen)++ | src/core/CompUnitRepo/Local/File.pm: Can now use $*VM.precomp-ext So we don't need to do any core setting fudging when compiling the setting |
18:06 | |
| lizmat | FROGGS: I'm a bit surprised to see multiple paths in CUR::Local::File | 18:07 | |
| FROGGS | lizmat: why are you surprised? | ||
| lizmat | I sort of envisioned that each CUR::Local::File would only have *one* path | ||
| FROGGS | ahh, yes | ||
| lizmat | mind if I change that ? | 18:08 | |
| FROGGS | hold on, I check something | ||
| let me change that, I have changed something locally in core/Inc.pm that goes in that direction | 18:09 | ||
| lizmat | okidoki :-) | 18:10 | |
|
18:10
rurban left
|
|||
| cognominal | what is the syntax for having a method name that is a parameter of a parametric role? pseudo-code : role R[$method-name] { method $method-name { ... } } | 18:11 | |
| timotimo | that seems just crazy enough to be desirable ... | 18:12 | |
| cognominal | I am almost sure to have seen it somewhere in the nqp/rakudo codebase or doc, but I can't find it. | 18:13 | |
| lizmat | isn't that syntax used for typed hashes ? | ||
| cognominal | like? | 18:14 | |
| lizmat | my role TypedHash[::TValue] does Associative[TValue] { | ||
| FROGGS | m: role R[$method-name] { method ::($method-name) { 42 } } | ||
| camelia | rakudo-moar f37d7f: OUTPUT«===SORRY!===Name ::($method-name) is not compile-time known, and can not serve as a method name» | ||
| FROGGS | m: role R[$method-name] { method ::("$method-name") { 42 } } | ||
| camelia | rakudo-moar f37d7f: OUTPUT«===SORRY!===Name ::("$method-name") is not compile-time known, and can not serve as a method name» | ||
| FROGGS | that is proper nqp code from Perl6::Grammar: | 18:16 | |
| my role Term[$meth_name, $op] { | |||
| token ::($meth_name) { $<sym>=[$op] } | |||
| } | |||
| nqp: role R[$method-name] { method ::("$method-name") { 42 } } | |||
| camelia | nqp-jvm: OUTPUT«(signal )## There is insufficient memory for the Java Runtime Environment to continue.# pthread_getattr_np# An error report file with more information is saved as:# /home/p6eval/hs_err_pid15106.log» | ||
| ..nqp-moarvm: OUTPUT«Routine declaration requires a signature at line 2, near "::(\"$metho" at gen/moar/stage2/NQPHLL.nqp:369 (/home/p6eval/rakudo-inst-1/languages/nqp/lib/NQPHLL.moarvm:panic:106) from gen/moar/stage2/NQP.nqp:1295 (/home/p6eval/rakudo-inst-1/languages/nqp/li…» | |||
| ..nqp-parrot: OUTPUT«Routine declaration requires a signature at line 2, near "::(\"$metho"current instr.: 'panic' pc 15653 (gen/parrot/stage2/NQPHLL.pir:5741) (gen/parrot/stage2/NQPHLL.nqp:425)» | |||
| FROGGS | nqp-m: role R[$method-name] { method ::("$method-name") () { 42 } } | ||
| camelia | nqp-moarvm: OUTPUT«Routine declaration requires a signature at line 2, near "::(\"$metho" at gen/moar/stage2/NQPHLL.nqp:369 (/home/p6eval/rakudo-inst-1/languages/nqp/lib/NQPHLL.moarvm:panic:106) from gen/moar/stage2/NQP.nqp:1295 (/home/p6eval/rakudo-inst-1/languages/nqp/li…» | ||
| FROGGS | nqp-m: my role R[$method-name] { method ::($method-name) () { 42 } } | 18:17 | |
| camelia | ( no output ) | ||
| FROGGS | m: my role R[$method-name] { method ::($method-name) () { 42 } } | ||
| camelia | rakudo-moar f37d7f: OUTPUT«===SORRY!===Name ::($method-name) is not compile-time known, and can not serve as a method name» | ||
| FROGGS | yeah... nqp likes it | ||
| cognominal | my role TermActionConstant[$meth, $name] { | 18:19 | |
| method ::($meth)($/) { | |||
| make QAST::Var.new( :$name, :scope('lexical') ); | |||
| } | |||
| dalek | ast: e484df9 | (Elizabeth Mattijsen)++ | test_summary: Fix deprecated use of $*VM<config> |
||
| cognominal | that is described here : github.com/perl6/specs/blob/master...into-names | 18:21 | |
|
18:24
mr-foobar left
18:31
hoverboard joined
|
|||
| cosimo | no .msi for 2014.04 of star? | 18:32 | |
|
18:34
atroxaper joined,
beastd joined
|
|||
| FROGGS | cosimo: irclog.perlgeek.de/perl6/2014-05-05#i_8682627 | 18:35 | |
| rakudo star release candiates for windows (as msi): | 18:36 | ||
| froggs.de/perl6/rakudo-star-2014.04-moar.msi (7.5MB) | |||
| froggs.de/perl6/rakudo-star-2014.04-parrot.msi (17.3MB) | |||
| cosimo | FROGGS: excellent, thanks | ||
|
18:36
hoverboard is now known as moistcherry
|
|||
| FROGGS | cosimo: please give me some feedback after you tried it | 18:36 | |
| cosimo | there's some unicode character in there, so links result in 404 (fixed it manually) | 18:37 | |
| timotimo | wow, how did those get in there | 18:38 | |
| .u aku | |||
| yoleaux | U+0061 LATIN SMALL LETTER A [Ll] (a) | ||
| U+006B LATIN SMALL LETTER K [Ll] (k) | |||
| U+0075 LATIN SMALL LETTER U [Ll] (u) | |||
| FROGGS | weird | ||
| timotimo | and i can't copypaste them apparently | ||
| FROGGS | I copy&pasted these from the irclog | ||
|
18:38
atroxaper left
|
|||
| timotimo | can you view-source or inspect-element them? | 18:38 | |
| FROGGS | and I do not see them here or in my editor, but I see them in the url when I click the link | 18:39 | |
| japhb | r: [1].flattens | ||
| camelia | ( no output ) | ||
| japhb | r: [1].flattens.say | ||
| camelia | rakudo-{parrot,jvm,moar} f37d7f: OUTPUT«1» | ||
| japhb | ^^ Why does Array have .flattens == 1? | ||
|
18:39
moistcherry is now known as hovercraft
|
|||
| cosimo | FROGGS: first thing is that I'd like to select where to install, rather than C:\rakudo | 18:40 | |
| :) | |||
| FROGGS | cosimo: nice try :o) | ||
| (that means that the built compiler is not relocatable, and I cannot fix that easily) | 18:41 | ||
| timotimo: there is nothing to see in the html source... | |||
| timotimo | weird :) | ||
| FROGGS: moar isn't relocatable either, eh? | |||
| FROGGS | timotimo: I've never tested it... | 18:42 | |
| timotimo | i wonder what amount of work that would entail | ||
| FROGGS | I bet the --prefix is compiled in it so that nqp will explode when it gets moved somewhere else | ||
| timotimo | could very well be | 18:43 | |
| cosimo | yes, confirmed | 18:44 | |
| :) | |||
| i understand it's a firstworldproblem, but still | |||
| timotimo | it's definitely a nice thing to have. | 18:46 | |
| dalek | ecs: ba7e60b | (Elizabeth Mattijsen)++ | S28-special-names.pod: Spec Distro.path-sep |
18:49 | |
|
18:51
thou joined
18:52
molaf joined
18:53
ssutch joined
18:55
zakharyas1 left
18:56
thou left
18:57
ssutch left
18:59
darutoko left
19:05
zakharyas joined
|
|||
| dalek | kudo-star-daily: 030247a | coke++ | log/ (13 files): today (automated commit) |
19:05 | |
| rl6-roast-data: 03822f4 | coke++ | / (6 files): today (automated commit) |
|||
| cosimo | where's my 'perl6 Makefile.pl' ? | 19:07 | |
| dalek | kudo/nom: 7d6acc7 | (Tobias Leich)++ | src/core/ (3 files): allow CUR classname in RAKUDOLIB, PERL6LIB and -I -Ifoo stills results in a CompUnitRepo::Local::File(foo), but now one has the opportunity to get a CUR::Local::Installation by doing: -ICompUnitRepo::Local::Installation=foo. Also, CURs only take a single path now, since we can group every kind of CUR by putting it into an array-group in @*INC. |
||
|
19:07
Ben_Goldberg joined
|
|||
| FROGGS | cosimo: what do you mean? | 19:07 | |
|
19:07
BenGoldberg left,
Ben_Goldberg is now known as BenGoldberg
|
|||
| cosimo | FROGGS: I'm trying to build LWP::Simple and test it, but there's no Makefile. I tried 'panda install .' but I would expect a 'panda build' | 19:10 | |
| which is not there | |||
| maybe Makefiles are not used anymore? | 19:11 | ||
| IOW, perl5 has 'make test', rakudo? | 19:12 | ||
| FROGGS | wait wait wait | ||
| makefiles are supported, just not by panda | |||
| when LWP::Simple has no Makefile, then this was the module author's choice | |||
| panda install . should work... what is the error you get? | 19:13 | ||
| timotimo | you can generate a makefile for your project using ufo | ||
| (panda install ufo; ufo; make test) | |||
|
19:13
denis_boyun_ joined
|
|||
| cosimo | ok, so ufo is still used? | 19:13 | |
| FROGGS | or nmake, depending on your toolchain | ||
| it still can be used, yes | |||
| cosimo | I switched to linux now, I'm much more at ease | ||
| FROGGS | rakudo has a test test target, aye | 19:14 | |
| cosimo | maybe ufo could be embedded in panda providing a 'panda {makefile,build,test} functionality' | ||
| FROGGS | hmmm, I'd like to keep them separated | 19:15 | |
| cosimo | why? | ||
| when i say embedded, i really mean just having one tool to do all of this | 19:16 | ||
|
19:17
hovercraft left
|
|||
| FROGGS | panda is not a makefile maker | 19:17 | |
| cosimo | i see | 19:18 | |
| FROGGS | it is just some sort of separation of concern | ||
| cosimo | from my point of view, it's all very confusing though | ||
| FROGGS | and I do not like to get more complexity into panda | ||
| timotimo | hmm. | ||
| python's setup.py stuff has a target called "develop" | |||
| lizmat | also: why would panda make makefiles ? | ||
| timotimo | which installs a link to the sources into the global module list | 19:19 | |
| lizmat | it is used to install things | ||
| timotimo | so that changes are immediately visible in the whole environment, but it's still "installed" | ||
| lizmat | if things can be installed wiithout a makefile, why make one? | ||
| timotimo | since we don't have automatic building of sources to precompiled things, that doesn't seem like something we could have soon :| | ||
| cosimo | lizmat: how do i 'make test' then? | ||
| FROGGS | timotimo: interesting aspect | ||
| prove perl6-m t? | |||
| prove -e perl6-m t? | 19:20 | ||
| timotimo | -Ilib | 19:21 | |
| cosimo | right. all i'm saying is that someone coming from a non-perl background could find all of this very confusing | ||
| timotimo | or -Iblib if you've prebuilt | ||
| but that's what ufo does for you | |||
| cosimo | i sure know about prove :) | ||
| timotimo | mhm, we're still far away from Enough Documentation™ | ||
|
19:21
Rotwang joined
|
|||
| cosimo | any preferred paste channel? | 19:21 | |
| ufo is failing for me | 19:22 | ||
| timotimo | most of the time we use gist | ||
| would be interested to see how it fails | |||
| if it only outputs "oh god! a deprecated method was called!", then that's fine | |||
| cosimo | gist.github.com/cosimo/e3f09982b19dbe320a09 | 19:23 | |
| dalek | kudo/nom: 6745862 | (Elizabeth Mattijsen)++ | src/core/Distro.pm: Implement Distro.path-sep plus some cleanup |
||
| kudo/nom: 26d6073 | (Elizabeth Mattijsen)++ | src/core/Inc.pm: Use $*DISTRO.path-sep instead of hacking it |
|||
| timotimo | oh! | ||
| yeah, stuff from the eleven branch. | |||
| FROGGS | ewww | ||
| cosimo | this is freshly build rakudo on moarvm, and ufo | ||
| timotimo | i haven't tested the eleven stuff myself yet, though it has just been merged into master a few days ago | ||
| FROGGS | it would just need to stringify the path | 19:24 | |
| lizmat | FROGGS: but adding a .Str feels wrong | ||
| timotimo | CompUnitRepo::Local::Installation is not Cool? :) | ||
| lizmat | what is it doing there ? | ||
| FROGGS | lizmat: well, we have now CompUnitRepos in @*INC | ||
| lizmat | yes, I understand | 19:25 | |
| but doing a split on it | |||
| what is ufo trying to do ? | |||
| FROGGS | splitting it by path-sep I guess | ||
| timotimo | github.com/masak/ufo/blob/master/bin/ufo#L160 | ||
| lizmat | path-sep ? | ||
| timotimo | called from github.com/masak/ufo/blob/master/bin/ufo#L148 | ||
| lizmat | why that? does it assume there can be multiple dirs ? | 19:26 | |
| FROGGS | for [\~] $path.split('/').map({"$_/"}) { | ||
| lizmat | that's a dir split | ||
| timotimo | it's a recursive mkdir | ||
| FROGGS | no, just splitting to create dirs like mkdir -p | ||
|
19:26
itz joined
|
|||
| lizmat | hmmm... CUR::Local::Installation already has method Str { $!path.Str } | 19:26 | |
|
19:26
anaeem___ joined
|
|||
| timotimo | yes, we just don't call .Str there | 19:27 | |
| i'm also not sure if the .split('/') there is a good idea | |||
| lizmat | indeed, could also be "\\" | ||
| FROGGS | wait, there is "\\" on linux? | ||
| timotimo | ufo is linux-only? | ||
| FROGGS | everybody is using linux, right? | ||
| :P | 19:28 | ||
| timotimo | ah | ||
| m: say Q[\] | |||
| camelia | rakudo-moar e88e46: OUTPUT«\» | ||
| timotimo | say "foo!" ~~ / \w / | ||
| m: say "foo!" ~~ / \w / | |||
| camelia | rakudo-moar e88e46: OUTPUT«「f」» | ||
| FROGGS | m: say "C:\\foo\\bar".IO.cleanup | ||
| camelia | rakudo-moar e88e46: OUTPUT«No such method 'cleanup' for invocant of type 'IO::Handle' in block at /tmp/EKNE1i2gvl:1» | ||
| timotimo | m: say 「\」 | ||
| camelia | rakudo-moar e88e46: OUTPUT«\» | ||
| FROGGS | m: say "C:\\foo\\bar".path.cleanup | ||
| camelia | rakudo-moar e88e46: OUTPUT«IO::Path<C:\foo\bar>» | ||
| timotimo | i really like how 「\」 looks, at least in my terminal. | ||
|
19:29
anaeem1 left
|
|||
| lizmat | so I guess the split needs a .Str added in ufo? | 19:31 | |
| it would be compatible with previous version as "a".Str is a noop | |||
| multi method Str(Str:D:) { self } | 19:32 | ||
| FROGGS | yes, I think that will do | ||
| cognominal | what is the eleven branch? need one more for the "twelve monkeys" anyway. | 19:37 | |
| moritz | it's about implementing S11 | 19:38 | |
| colomon keeps forgetting that and thinking it's 5 + 6 ... | 19:39 | ||
| FROGGS | no, not this time :o) | 19:40 | |
| timotimo | though froggs, who was involved in the eleven branch, has also been doing 5 + 6 types of things | 19:43 | |
| FROGGS | and I still do from time to time :o) | ||
| lizmat | well, in a way, the work on eleven *will* allow use Foo:from<perl5> start to work :-) | 19:44 | |
| but how exactly, we still need to figure out | |||
| also depends what's going to happen with news.perlfoundation.org/2013/07/hag...ation.html | |||
| FROGGS | lizmat: :from<Perl5> works already, and allowing to install to a database to not help in making it better | 19:45 | |
| timotimo | ... what | ||
| lizmat | ?? | ||
| FROGGS | m: use Blurb:from<Perl5> | ||
| camelia | rakudo-moar 7d6acc: OUTPUT«===SORRY!===Do not know how to load code from Perl5» | ||
| lizmat | m: use Blurb:from<perl5> | ||
| camelia | rakudo-moar 7d6acc: OUTPUT«===SORRY!===Do not know how to load code from perl5» | ||
| FROGGS | you see that message because a module loader for Perl5 is not known at that time | 19:46 | |
|
19:46
jack_rabbit joined
|
|||
| FROGGS | when you install v5, it tries to load it | 19:46 | |
| lizmat | ah, no previous "use v5" | ||
| gotcha | |||
| FROGGS | m: use v5 | ||
| camelia | rakudo-moar 7d6acc: OUTPUT«===SORRY!===Could not find Perl5 in any of: /home/p6eval/.perl6/2014.05-119-g7d6acc7/lib, /home/p6eval/rakudo-inst-1/languages/perl6/lib, /home/p6eval/rakudo-inst-1/languages/perl6/vendor/lib, /home/p6eval/rakudo-inst-1/languages/perl6/site/lib, /home/p…» | ||
| lizmat | star: use v5 | 19:47 | |
| camelia | ( no output ) | ||
| lizmat | hehe | ||
| FROGGS | I have not easy to solve problems making v5 a pandable dist :/ | ||
| that star just lies :o) | |||
| lizmat | let's work on them | ||
| BTW, is there going to be a R* release for 2014.05 ? | |||
| FROGGS | I'm not sure... LWP::Simple is broken AFAIK | 19:48 | |
| timotimo | seems like nobody volunteered for 2014.05 | ||
| there are a bunch of nice changes in the Bajor release announcement :\ | 19:50 | ||
| bbl | |||
|
19:52
jack_rabbit left
19:53
ssutch joined
19:56
itz left
19:58
ssutch left
19:59
rurban joined
|
|||
| moritz | lizmat: I tried to make one, but got compilation hangs | 19:59 | |
| lizmat | yuck | 20:00 | |
| R* you mean, right? | |||
| [Coke] | lwpsimple broken - i thought only for jvm? | 20:03 | |
| [Coke] double checks his tix. | |||
|
20:04
jack_rabbit joined
|
|||
| [Coke] | ah, one failure on moar, nearly all fail on jvm | 20:04 | |
|
20:11
hovercraft joined
20:14
hovercraft is now known as hoverboard
|
|||
| cognominal | how to ask Perl 6 to print a full backtrace stack on a compilation error? | 20:18 | |
| FROGGS | perl6-m --ll-exception ... | ||
| that is all you can do | |||
| cognominal | FROGGS++ | 20:19 | |
| lizmat | cognominal: I use this alias 6='perl6 --ll-exception -MTest -e' | 20:20 | |
| cognominal | nice | ||
| very nice www.youtube.com/watch?v=LBduNcf1eQc my accent is as thick as Borat :) | 20:22 | ||
| FROGGS | *g* | ||
|
20:23
gggg joined
|
|||
| cognominal | lizmat++, I don't see any perl 6 presentation from you at fpw. Decoocooning sounds nice though | 20:24 | |
| lizmat | decocooning has some Perl 6 in it | ||
| I always have a few Perl6 lightning talks ready | 20:25 | ||
| we'll see :-) | |||
|
20:30
gggg left
|
|||
| dalek | kudo/nom: 4cccc43 | (Elizabeth Mattijsen)++ | src/core/VM.pm: Implement VM.prefix (not sure about the name yet) |
20:30 | |
| kudo/nom: ce6acf7 | (Elizabeth Mattijsen)++ | src/core/Inc.pm: Use $*VM.prefix instead of hacking it |
|||
| colomon is getting some wonky results with laziness | 20:33 | ||
| lizmat | laziness pays off now :-) | ||
| colomon | aha! results are wonky because it ISN'T lazy | 20:35 | |
| while lines.map(&read-code-data) -> $pair { | |||
| too much editing there…. | |||
|
20:36
atroxaper joined
20:40
atroxaper left
20:42
martinzaremba joined
|
|||
| dalek | ast: f7db8cd | (Elizabeth Mattijsen)++ | S02-magicals/ (2 files): Add tests for Distro.path-sep and VM.prefix |
20:42 | |
| sergot | yay! we've another person from Poland here ! hi martinzaremba o/ | 20:44 | |
| martinzaremba | hi @sergot and hi @all. you got me men, I love this lang | ||
| lizmat | and it's not actually all men :-) | 20:45 | |
| martinzaremba | sory for that. kind of shortcut for mankind :D | ||
| lizmat | which happens to be a very nice bar in Amsterdam :-) | 20:46 | |
| sergot | martinzaremba is from Poznan too btw | 20:47 | |
| martinzaremba | and both college dropouts :D | ||
|
20:49
pippo left
|
|||
| martinzaremba testing irc after 5 years break | 20:49 | ||
|
20:50
ajr_ left
|
|||
| masak | martinzaremba: greetings. | 20:52 | |
| welcome to... THE FUTURE | |||
| lizmat | well, fwiw, I'm a college dropout as well :-) | ||
| however, I dropped out because I knew what I wanted to do instead | 20:53 | ||
| I wouldn't recommend dropping out if you *don't* know what to do instead | |||
| martinzaremba | that is absolutely right. | ||
| i am very sure what I am willing to be. | |||
|
20:54
ssutch joined
|
|||
| martinzaremba | And I got decent ops job in Egnyte, so… ;] | 20:54 | |
| lizmat | congrats! | 20:55 | |
|
20:55
pdcawley joined
|
|||
| lizmat | .oO( it's been a while since I've seen Piers ) |
20:56 | |
|
20:58
ssutch left
21:00
hoverboard left
|
|||
| lizmat | FROGGS: if I read your last patch right, *all* path specifications will use the initial class specification | 21:00 | |
| I think that's incorrect: you will probably want to specify different classes in e.g. PERL6LIB | 21:01 | ||
| also, I think we're going to need some shortcurts: e.g. inst=lib/InstalledModules | |||
| where "inst" would be short for CompUnitRepo::Local::Installation | 21:02 | ||
| vendethiel | uh, how long has use lib been working ? | ||
| lizmat | eh, since like forever | ||
| vendethiel | couldn't get it to work on windows with 2014/03 | ||
|
21:02
hoverboard joined
|
|||
| lizmat | it's used in the spectest | 21:02 | |
| FROGGS | m: say @*INC | ||
| camelia | rakudo-moar 26d607: OUTPUT«CompUnitRepo::Local::File(/home/p6eval/.perl6/2014.05-121-g26d6073/lib) CompUnitRepo::Local::File(/home/p6eval/rakudo-inst-2/languages/perl6/lib) CompUnitRepo::Local::File(/home/p6eval/rakudo-inst-2/languages/perl6/vendor/lib) CompUnitRepo::Local::File(/ho…» | ||
| vendethiel | then I fucked up something | ||
|
21:03
rindolf left
|
|||
| FROGGS | perl6-m -ICompUnitRepo::Local::Installation=foo -e 'say @*INC[0]' | 21:03 | |
| CompUnitRepo::Local::Installation(foo) | |||
|
21:03
beastd left
|
|||
| FROGGS | lizmat: ^^ | 21:03 | |
| perl6-m -ICompUnitRepo::Local::Installation=foo -Ibar -e 'say @*INC[^2]' | 21:04 | ||
| CompUnitRepo::Local::Installation(foo) CompUnitRepo::Local::File(bar) | |||
|
21:04
Ben_Goldberg joined
|
|||
| FROGGS | lizmat: is that what you mean? | 21:04 | |
|
21:05
BenGoldberg left,
Ben_Goldberg is now known as BenGoldberg,
panchiniak joined
|
|||
| FROGGS | PERL6LIB=CompUnitRepo::Local::Installation=foo:bar perl6-m -e 'say @*INC[^2]' | 21:05 | |
| CompUnitRepo::Local::Installation(foo) CompUnitRepo::Local::Installation(bar) | |||
| lizmat | hmmm... I'm getting: $ perl6 -ICompUnitRepo::Local::Installation=foo:bar -e 'say @*INC[0]' | ||
| CompUnitRepo::Local::Installation(foo:bar) | |||
| cognominal | r: my @a=<1>; for @a <-> $a { say $a } | 21:06 | |
| FROGGS | PERL6LIB=CompUnitRepo::Local::Installation=foo:CompUnitRepo::Local::File:bar perl6-m -e 'say @*INC[^2]' | ||
| CompUnitRepo::Local::Installation(foo) CompUnitRepo::Local::Installation(CompUnitRepo) | |||
| camelia | rakudo-jvm 26d607: OUTPUT«(timeout)» | ||
| ..rakudo-{parrot,moar} 26d607: OUTPUT«1» | |||
| FROGGS | I'd consider the last one a bug | ||
| lizmat | there should be no difference in behaviour between -I and PERl6LIB= | ||
| FROGGS | lizmat: according to spec the delim in -I is comma, not colon | 21:07 | |
| lizmat | ah? | ||
| FROGGS | otherwise package names might be tricky | ||
|
21:07
araujo joined
|
|||
| FROGGS | but I dunno what to favor | 21:07 | |
| lizmat | well, historically I think perl 5 observed the path separator of the OS | 21:08 | |
| hmmm... maybe we should have both | |||
| FROGGS | so : and ; and , ? | 21:09 | |
| lizmat | comma to indicate same kind of CUR, path sep to allow different CUR's | ||
| lemme check | |||
| masak | 'night, #perl6 | ||
| FROGGS | gnight masak | 21:10 | |
| lizmat | night masak | ||
| colomon | \o | ||
| lizmat | perldoc perlrun states: Directories are separated (like in PATH) by a colon on unixish platforms and by a semicolon on Windows (the proper path separator being given by the command "perl −V:path_sep") | ||
| also, the "=" is used in Perl 5 to indicate symbols to be imported | 21:12 | ||
| ah, no, that's with -M | |||
| colomon o/ | |||
| colomon | lizmat, \o | 21:13 | |
| lizmat | so, separating paths with the same CUR with , and potentially different ones with the path sep | ||
| is that a plan ? | |||
| FROGGS | hmmmm | 21:14 | |
| lizmat | FROGGS: (and I will do the work for that, unless you *really* want to do that) | ||
| FROGGS | that is not very intentional | ||
| lizmat | -Ifile=Dev/source:inst=Installed/modules,Installed/moremodules | 21:15 | |
| FROGGS | I'd prefer: -ICompUnitRepo::Local::Installation=[foo:bar] for a group I think | 21:16 | |
| lizmat | won't that give problems on the CLI ? | ||
| FROGGS | [] works on linux at least | ||
| dunno how that works on windows | |||
| or if | |||
| but I am going to bed now | 21:17 | ||
|
21:17
mr-foobar joined
|
|||
| lizmat | ok, gnight FROGGS | 21:17 | |
| FROGGS | gnight | ||
| lizmat | FROGGS++ # all the hard work in the background | ||
| FROGGS | :o) | ||
| vendethiel | FROGGS+++ # get syntax error'd on, please | 21:19 | |
| vendethiel is truely evil | |||
|
21:19
jack_rabbit left
|
|||
| dalek | ecs: 996b7e2 | (Elizabeth Mattijsen)++ | S99-glossary.pod: Add lemma's for CLI and CUR |
21:20 | |
| lizmat | .oO( which is just an anagram for live ) |
||
| vendethiel | .oO( But I can't decide between going live or being evil ... ) |
21:25 | |
|
21:27
anaeem___ left
21:28
adu joined
|
|||
| sergot | good night #perl6 ! o/ | 21:29 | |
| lizmat | gnight sergot ! | ||
| vendethiel | 'night :-) | 21:30 | |
| lizmat | .tell FROGGS I'm also considering making @*INC an object with push/unshift/gist overloaded | 21:33 | |
| yoleaux | lizmat: I'll pass your message to FROGGS. | ||
|
21:33
hoverboard left
|
|||
| lizmat | .tell FROGGS so that a say @*INC will create a string that can be used with -I | 21:33 | |
| yoleaux | lizmat: I'll pass your message to FROGGS. | ||
|
21:34
panchiniak left
|
|||
| dalek | ast: 6228b9f | (Stéphane Payrard)++ | S04-statements/for.t: Added a test for a fail in current rakudos : for @a <-> $_ { $_++ } Made the preceding tests independant |
21:34 | |
| lizmat | cognominal++ | ||
|
21:36
kaare_ left
21:46
martinzaremba left
21:48
itz joined
21:49
martinzaremba joined
21:55
ssutch joined
|
|||
| vendethiel | m: my $word = '<a b c>'; my @i = 1, 2; $word[|@i] = <e f>; | 21:56 | |
| camelia | rakudo-moar ce6acf: OUTPUT«===SORRY!=== Error while compiling /tmp/Q9Z0XGfxLiVariable '&prefix:<|>' is not declaredat /tmp/Q9Z0XGfxLi:1------> $word = '<a b c>'; my @i = 1, 2; $word[⏏|@i] = <e f>;» | ||
| vendethiel | mmh | ||
| Can't I do that ? | 21:58 | ||
| jnthn | evening, #perl6 | ||
| ooh, no messages :) | |||
| lizmat | jnthn o/ | ||
| jnthn | o/ lizmat | 21:59 | |
| lizmat | plenty of issues, though :-) | ||
| vendethiel | gist.github.com/Nami-Doc/67dc9304a75d4980b16d should that work, or should it not ? | ||
| lizmat | vendethiel: not sure what you're trying to achieve | ||
| vendethiel | not sure what Str[|@] is supposed to do :) | ||
| lizmat: well, trying to replace at several indices at once | |||
|
21:59
ssutch left
|
|||
| lizmat | what's wrong with [@idx] ? | 22:00 | |
| jnthn | lizmat: Plenty of S11 progress too, it seems... | ||
| lizmat | jnthn: yeah, still a lot to do though | ||
| and we broke ufo :-( | |||
| fix should be easy though | |||
| BenGoldberg | m: my $word = '<a b c>'; $word[1, 2] = <e f>; | ||
| camelia | rakudo-moar ce6acf: OUTPUT«===SORRY!===Index out of range. Is: 1, should be in 0..0» | ||
| lizmat | $word only has 1 element | 22:01 | |
| vendethiel | so I can't do that :[ ? | ||
| lizmat | vendethiel: did you really want '<a b c>' or <a b c> ? | ||
| vendethiel | no, I want my string to be a word, like "hello". | ||
| BenGoldberg | m: my $word = <a b c>; $word[1, 2] = <e f>; | ||
| camelia | rakudo-moar ce6acf: OUTPUT«Cannot modify an immutable Str in method STORE at src/gen/m-CORE.setting:7297 in sub postcircumfix:<[ ]> at src/gen/m-CORE.setting:2540 in block at /tmp/Paj1amuwX3:1» | ||
| jnthn | vendethiel: Strings are *not* arrays. | 22:02 | |
| lizmat | ah, it's a Parcel | ||
| vendethiel | Then I want to replace both ll, so say indices (2, 3) with something else | ||
| jnthn: yea, I get that | |||
| jnthn | vendethiel: Use .comb if you really want an array of all the chars to work on. | ||
|
22:02
kivutar joined
|
|||
| lizmat | m: my $word = <a b c>.list; $word[1,2] = <e f>; say $word | 22:02 | |
| camelia | rakudo-moar ce6acf: OUTPUT«Cannot modify an immutable Str in method STORE at src/gen/m-CORE.setting:7297 in sub postcircumfix:<[ ]> at src/gen/m-CORE.setting:2540 in block at /tmp/UDHehQGojn:1» | ||
| vendethiel | but how can I then modify my string like I'm doing here? | ||
| I need to store the comb version, replace in it, then store the joined string, right? | 22:03 | ||
| lizmat | m: my @word = <a b c>.list; @word[1,2] = <e f>; say $word | ||
| camelia | rakudo-moar ce6acf: OUTPUT«===SORRY!=== Error while compiling /tmp/OSHFasO_PpVariable '$word' is not declared. Did you mean '@word'?at /tmp/OSHFasO_Pp:1------> b c>.list; @word[1,2] = <e f>; say $word⏏<EOL> expecting any of: …» | ||
| lizmat | m: my @word = <a b c>.list; @word[1,2] = <e f>; say @word | ||
| camelia | rakudo-moar ce6acf: OUTPUT«a e f» | ||
| lizmat | m: my $word = <a b c>.list; $word.elems.say | ||
| camelia | rakudo-moar ce6acf: OUTPUT«3» | ||
| lizmat | so, if I use @ as the sigil, it's ok, but not when I use $ as the sigil? | 22:04 | |
| vendethiel | lizmat: no, you just did say $word, I think | ||
| lizmat | m: my @word = <a b c>.list; @word[1,2] = <e f>; say @word # works as expected, no? | ||
| camelia | rakudo-moar ce6acf: OUTPUT«a e f» | ||
|
22:05
hoverboard joined
|
|||
| lizmat | m: my @word = <a b c>; @word[1,2] = <e f>; say @word # even without the .list ? | 22:05 | |
| camelia | rakudo-moar ce6acf: OUTPUT«a e f» | ||
| lizmat | yup | ||
| vendethiel | yea, but not really a one-liner anymore :( | ||
| lizmat | vendethiel: also, the "* ~~ $_" feels wrong | 22:08 | |
|
22:08
spider-mario left
|
|||
| vendethiel | lizmat: oh yea, should be eq | 22:08 | |
| so, no real way to update multiple indices of a string ? | 22:09 | ||
| in a one-liner | |||
|
22:10
martinzaremba left
|
|||
| lizmat | checking | 22:11 | |
| m: my $a = "foobar"; substr-rw($a,2,2) = "zz"; say $a | 22:12 | ||
| camelia | rakudo-moar ce6acf: OUTPUT«fozzar» | ||
| lizmat | substr-rw is the trick, I think | ||
| vendethiel | m: my $a = "foobar"; my @i = 1, 3, 5; substr-rw($a,@i) = "z" xx +@i; say $a | ||
| camelia | rakudo-moar ce6acf: OUTPUT«fooz z z» | 22:13 | |
| vendethiel | lizmat: ^ that's basically what I'm trying to do | ||
| lizmat | substr-rw is defined as: multi sub substr-rw($s is rw, $from = 0; $chars = $s.chars - $from) is rw | 22:14 | |
| so you can only do a set of consecutive chars at once | |||
| vendethiel | damn D: | ||
| lizmat | shouldn't be too hard to writ your own subst with this though :-) | 22:15 | |
| hmmm... maybe with subst | 22:16 | ||
| method subst(Str $self: Regex $search, Str $replacement --> Str); | 22:17 | ||
| naaah, probably not.. you could probably rig up the Regexp the correct way, but the substitution string would still be a problem | |||
|
22:20
zakharyas left
|
|||
| lizmat | it's late again, calling it a day again... | 22:22 | |
| gnight, #perl6! | |||
| jnthn | o/ | ||
| colomon | he's back! | 22:25 | |
|
22:25
Rotwang left
|
|||
| colomon | he's been back, and I didn't notice because I was off making a milkshake for the kid! | 22:26 | |
|
22:26
pdcawley left
|
|||
| jnthn didn't drink a milkshake in some years :) | 22:26 | ||
|
22:28
pdcawley joined
22:29
adu left
|
|||
| vendethiel | .tell lizmat no, the replacement is fixed. but I'd need to generate stuff like <before "."x$len-1> ... stuff | 22:31 | |
| yoleaux | vendethiel: I'll pass your message to lizmat. | ||
|
22:33
kivutar left
|
|||
| vendethiel | and yeah I know it'd be easy to build my own, but then it adds a lot of lines to my answer :( | 22:38 | |
|
22:45
ssutch joined
22:46
sorear left
22:47
ssutch left,
ssutch_ joined,
sorear joined
22:51
ssutch_ left
22:55
itz left
|
|||
| BenGoldberg | m: my $a = "foobar"; my @i = 1, 3, 5; substr-rw($a,$_) = "z" for @i; say $a | 23:01 | |
| camelia | rakudo-moar ce6acf: OUTPUT«===SORRY!===Start of substr out of range. Is: 3, should be in 0..2» | ||
| BenGoldberg | m: my $a = "foobar"; my @i = 1, 3, 5; substr-rw($a,$_,1) = "z" for @i; say $a | ||
| camelia | rakudo-moar ce6acf: OUTPUT«fzozaz» | ||
| vendethiel | BenGoldberg: I can just use $a[$_] = "z" at that point though, can't I ? | 23:02 | |
| m: my $a = "foobar"; my @i = 1, 3, 5; $a[$_] = "z" for @i; say $a | 23:03 | ||
| camelia | rakudo-moar ce6acf: OUTPUT«===SORRY!===Index out of range. Is: 1, should be in 0..0» | ||
| vendethiel | fair enough, uh | ||
| gist.github.com/Nami-Doc/67dc9304a75d4980b16d | |||
| BenGoldberg++ | |||
|
23:12
ssutch joined
|
|||
| BenGoldberg | In neither perl5 nor perl6 can strings be treated as arrays of characters. That's a C-ism that was never considered necessary or useful. | 23:13 | |
| vendethiel | BenGoldberg: some languages have it that way and they're in no way comparable to C | 23:18 | |
|
23:20
hoverboard left
|
|||
| BenGoldberg | It's really a question of what's considered useful. Perl5 (or was it perl4?) decided if you used a string as an array, you were trying to manipulate a global array whose name was the same as the contents of the string. | 23:20 | |
| geekosaur | ??? | 23:21 | |
| perl5 treats strings the same way perl3 did | |||
| and perl4 | |||
| BenGoldberg | @a = 'foo'; $b = 'a'; print $b->[0]; # prints foo | 23:22 | |
|
23:22
hoverboard joined
|
|||
| vendethiel | wtf? | 23:22 | |
| geekosaur | oh, I see, you mean symbolic refs | ||
| BenGoldberg | That's in perl5, if you don't have strict enabled. | ||
| vendethiel | that's probably the biggest WTF I've ever seen in a language | ||
| BenGoldberg | heh | 23:23 | |
| geekosaur | actually symbolic refs are fairly old | ||
| BenGoldberg | Pre perl 4? | ||
| geekosaur | in perl they're a perl5-ism | ||
| (perl4 didn't have refs at all) | 23:24 | ||
| BenGoldberg | Ahh | ||
| geekosaur | but in other languages they go back to the mid 1950s | ||
| and are mostly looked on these days as an ancient and bad idea | |||
| BenGoldberg | One of many reasons for 'use strict' in perl5 code. | ||
|
23:40
denis_boyun_ left
23:42
hoverboard left
23:49
SevenWolf joined
23:55
telex left
23:56
telex joined
|
|||