»ö« 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.
sorear the whole thing is kind of strange 00:04
because the very existance of IntStr invalidates the optimizer's ability to assume that an Int will never be a Str 00:05
cognominal_ When one changes the semantic of a language, it is bound to mess with the optimizer :) 00:08
… which assumes so much about the semantic
00:21 pmurias left
japhb sorear, I let your comment rumble around the back of my head for a while, and I still am not sure which behavior you think we should have. 00:23
I've been banging my head against the wall trying to get a fully consistent version of $dual.Int --> Int, while jnthn++ seems to have been wondering what is so hard with $dual.Int --> $dual 00:24
00:27 lumi__ left, lumi_ joined
jnthn japhb: I think IntStr probably needs to override .Numeric, .Real and .Int to return the pure Int nature of the thing. 00:57
phenny jnthn: 11 Nov 23:56Z <cognominal_> tell jnthn an oddity with the span of an infix EXPR match gist.github.com/cdc05adc82ad98272ea7
jnthn cognominal_: Yes, see in the debugger widen_EXPR or so, to see how I dealt with that.
cognominal_ cool 00:58
01:00 anuby joined
cognominal_ why do you need that in the debugger? 01:02
01:02 anuby left, Chillance left, anuby joined
jnthn cognominal_: The debugger is pretty good at knowing what the "current thing" is 01:03
cognominal_: It highlights it to show you where you are 01:04
cognominal_ I definitively should look it closely 01:05
jnthn 'night, #perl6 01:08
01:08 hypolin joined
cognominal_ usually debugger are at the granulariy of the statement so I did not expect your "expression widening" be relevant 01:08
01:18 ifim left 01:34 cognominal__ joined, cognominal_ left 01:41 colomon_ joined, colomon left, colomon_ is now known as colomon, colomon_ joined, colomon left, colomon_ is now known as colomon 01:43 colomon_ joined, colomon left, colomon_ is now known as colomon, tokuhiro_ left 01:44 tokuhiro_ joined 01:48 tokuhiro_ left
diakopter nr: sub sayf($fmt, *@args) { printf "$fmt\n", |@args }; sayf "%s 3", 5 01:56
p6eval rakudo 72a27f, niecza v22-19-gd874a8e: OUTPUT«5 3␤»
02:15 cognominal__ left 02:21 cognominal__ joined 03:12 bowtie left 03:16 QinGW`` joined 03:30 dayangkun left 03:45 erkan left 03:55 cognominal__ left 03:57 sftp left 03:58 orafu left, orafu joined 04:02 cognominal__ joined 04:24 cognominal__ left 04:30 cognominal__ joined 04:48 cognominal__ left 04:54 cognominal__ joined 05:06 xinming_ left 05:08 xinming joined 05:09 cognominal__ left 05:32 kurahaupo left 05:41 cognominal joined, erkan joined, erkan left, erkan joined 05:45 rindolf joined 05:57 am0c left 06:04 birdwindupbird joined 06:28 gootle joined 06:48 Patterner left 07:15 cognominal left 07:18 rindolf left, rindolf joined
japhb phenny, tell jnthn Yep, I'd come to the same conclusion too -- except that I also think *Str need to override all the string-related things so that their first parent (Int, Num, etc.) doesn't try to handle stringification. I also had to choose a booleanization mode, and a few other details I've forgotten at the moment. And then there's RatStr and ComplexStr, which are going to be interesting beasts. Ah well, I'll keep pounding my head o 07:21
phenny japhb: I'll pass that on when jnthn is around.
japhb n it until it makes sense. :-)
07:25 SamuraiJack joined 07:34 rindolf left, rindolf joined 07:40 QinGW`` left 07:41 rindolf left 07:49 domidumont joined 07:54 flightrecorder joined
moritz \o 08:01
diakopter o/
08:05 cognominal joined
diakopter reads Code Optimization: Effective Memory Usage ... with fascination 08:05
08:05 Guest5820 left 08:08 FROGGS joined 08:13 imarcusthis left
dalek ecza: 202e700 | sorear++ | / (10 files):
Top removal: basic smart constructors, symbol table
08:14
08:16 imarcusthis joined 08:18 domidumont left 08:21 Psyche^ joined, Psyche^ is now known as Patterner 08:34 cognominal left, domidumont joined 08:35 rindolf joined
sorear \o/ below 50 08:36
dalek ecza: 48d66de | sorear++ | lib/ (4 files):
Top removal: more smart constructors
08:38 domidumont left 08:39 domidumont joined 08:40 cognominal joined
FROGGS sorear: below fifty what? 08:41
hi, btw
;o)
sorear FROGGS: references to Compartment.Top, the global variable that holds a reference to the current setting 08:44
I've been trying to allow the niecza runtime to use two settings concurrently; this has been a _very_ hairy yak
started at >700
FROGGS ohh, okay, cool 08:45
I thought you want to give up the work on niecza? (not that I want that) 08:46
sorear dunno. we're in a bit of a codependency situation atm 08:48
08:48 rindolf left
FROGGS what do you mean? 08:48
08:49 rindolf joined
moritz niecza depends on sorear, and sorear depends on niecza? :-) 08:49
FROGGS hehe
09:02 rindolf left 09:03 rindolf joined 09:13 rindolf left 09:14 rindolf joined 09:15 kresike joined
kresike hello all you happy perl6 people 09:15
dalek ecza: cde23d6 | sorear++ | lib/ (6 files):
Use InvokeMethod/InvokeSub whereever feasable instead of GetInferiorRoot directly
09:16
09:27 rindolf left, rindolf joined 09:28 rindolf left 09:30 rindolf joined
dalek ecza: c80570d | sorear++ | lib/ (7 files):
misc top removal: MakePair, LHF
09:33
09:33 fhelmberger joined 09:35 dakkar joined 09:42 rindolf left, rindolf joined
jnthn morning, #perl6 09:47
phenny jnthn: 07:21Z <japhb> tell jnthn Yep, I'd come to the same conclusion too -- except that I also think *Str need to override all the string-related things so that their first parent (Int, Num, etc.) doesn't try to handle stringification. I also had to choose a booleanization mode, and a few other details I've forgotten at the moment. And then there's RatStr and ComplexStr, which are going to be interesting beasts. Ah well, I'll keep pounding my head o
09:51 rindolf left, rindolf joined
jnthn phenny: tell japhb Well, RatStr and ComplexStr don't have the unboxing stuff to worry about, at least... 09:52
phenny jnthn: I'll pass that on when japhb is around.
09:56 arnsholt_ is now known as arnsholt
dalek ecza: 532462b | sorear++ | / (4 files):
Bring compartment stack management under compiler control
09:56
09:56 wk joined 09:57 wk is now known as Guest59543
sorear sleep& 09:57
FROGGS sleep well 10:00
10:05 hypolin left 10:06 rindolf left, rindolf joined 10:07 anuby left 10:13 snearch joined 10:17 grondilu joined 10:18 rindolf left
grondilu Say I would like to define an arrow like syntax for anonymous functions: "x->x**2" instead of -> $x { $x**2 }. Can I do that with a macro? 10:18
10:18 rindolf joined
moritz eventually you will, once 'is parsed' is implemented 10:20
grondilu ok 10:21
10:32 rindolf left 10:33 rindolf joined 10:37 rindolf left, rindolf joined 10:38 rindolf left 10:39 rindolf joined
tadzik good morning #perl6 10:47
moritz \o tadzik
felher o/ 10:48
FROGGS hi tadzik
moritz with a bit of luck I should have teh internets at home again tonight
jnthn moritz: yay! 10:49
masak O frabjous day! Callooh! Callay! 10:52
(antenoon, #perl6) 10:53
tadzik hello hello
masak "Macros are functions that are called by the compiler during compilation. Within these functions the programmer has access to compiler APIs. For example, it is possible to generate, analyze and typecheck code." -- I like that description. 10:54
it's from scalamacros.org/ -- Scala's macros are factored quite differently from Perl 6's, for various reasons.
10:54 rindolf left
masak but the above could still apply to Perl 6 as well. I should spend some time thinking about the "analyze" and "typecheck" aspects. 10:54
10:55 rindolf joined
moritz it would be great if that resulted in some better abstraction within the compiler 10:56
ie routines (maybe methods in World) for typechecking
maybe we already have that, and I haven't really noticed 10:57
tadzik multi macros :>
moritz but somehow I feel we have lots of stuff inside the compiler that might be APIfied
masak tadzik: multi macros should already work, it's just that we need better AST introspection to do anything more with them than dispatch on number of args. 10:58
tadzik yeah
masak moritz: World was already a great step in that direction, IMO.
first time I looked at World: "whoa, a Perl 6 API".
moritz aye 10:59
10:59 Patterner left 11:01 Psyche^ joined 11:02 Psyche^ is now known as Patterner
jnthn Note that the type checking we do today happens at CHECK time. 11:02
Well, just after CHECK time really.
Otherwise you couldn't analyze post-declared calls, for example... Or something may happen to invalidate an assumption you made. 11:03
Given we typically consider programs relatively mutable until CHECK time is done, macro application time is probably a bit early for type checking.
masak maybe the quasi block could contain a CHECK block? :) 11:06
jnthn That could work better
So long as it's a plain CHECK, and not a QCHECK
sergot hi o/
tadzik sergot: o/ 11:07
jnthn o/ sergot
jnthn waits for the QCHECK reprimand :D
sergot tadzik: should I keep working on modules.perl6.org? :)
tadzik oh, that'd be nice :) 11:08
but, are those cronjobs running?
sergot tadzik: yes, they're running 11:09
tadzik hrm
I don't see my TAP module there 11:10
sergot Because I didn't connect it with ecosystem. :(
It's the first thing I should do. 11:11
tadzik ah
so projects.json is not updated?
11:12 rindolf left
sergot No, it's not. I'll do this. :) 11:12
tadzik you can probably just copy it over from /home/tjs/somethingsomething 11:13
11:13 rindolf joined, bbkr_ joined
tadzik or I'll have to update permissions for that. 11:13
11:27 cognominal left 11:28 Gryllida joined
masak jnthn: sorry, I forgot to reprimand you in due time, and the reprimand timed out. :) 11:30
jnthn
.oO( phew! )
masak jnthn: but here's your obligatory Q*bert: en.wikipedia.org/wiki/Q*bert
jnthn Gee, that's older than me :P 11:31
masak good old NES days. 11:33
11:36 rindolf left 11:37 rindolf joined 11:41 rindolf left, rindolf joined
FROGGS looks like 1982 was a pretty cool year^^ 11:42
masak jnthn: I think all CHECK blocks inside quasis should be QCHECK blocks. so we might as well drop the Q.
moritz has lots of spectest failures 11:54
oh, wrong branch
rindolf FROGGS: why? 11:57
12:05 rindolf left, grondilu left 12:06 gootle left, rindolf joined 12:19 rindolf left 12:21 rindolf joined 12:25 sftp joined 12:29 rindolf left, rindolf joined 12:35 Psyche^ joined 12:38 tokuhiro_ joined, tokuhiro_ left 12:39 tokuhiro_ joined, Patterner left, Psyche^ is now known as Patterner 12:43 tokuhiro_ left 13:15 snearch left
dalek rlito: 66ec858 | (Flavio S. Glock)++ | TODO-perlito5:
Perlito5 - TODO update
13:20
13:22 SamuraiJack left 13:27 xinming left 13:28 brrt joined 13:31 xinming joined
FROGGS rindolf: that Q*bert game was made in 1982 like me 13:43
rindolf FROGGS: ah. 13:44
13:44 atrodo joined
dalek rlito: 7bc739e | (Flavio S. Glock)++ | / (6 files):
Perlito5 - parser - add 'Perlito5::AST::Given'
13:45
rindolf FROGGS: ah, my younger sister was born in 1982 too. 13:58
FROGGS ;o)
14:04 PacoAir joined
tadzik heh, my older sister is from 1972 14:04
FROGGS well, mine from 1980 and 1976 14:05
but doesnt matter, 1982++ ;o)
14:05 daxim left
tadzik what about 1983? ;) 14:05
FROGGS well, 1982++ actualy is 1983 14:07
moritz r: 1982++
p6eval rakudo 72a27f: OUTPUT«Cannot assign to a non-container␤ in sub postfix:<++> at src/gen/CORE.setting:3077␤ in block at /tmp/hw5STbAiFC:1␤␤»
masak nqp: 1981++ 14:08
p6eval nqp: OUTPUT«Error while compiling block : Error while compiling op postinc: Post-increment can only work on a variable␤current instr.: '' pc 43971 (src/stage2/QAST.pir:15393) (src/stage2/QAST.nqp:2331)␤»
tadzik cool error message
14:10 flightrecorder left 14:11 domidumont left 14:12 FROGGS left 14:13 flightrecorder joined, daxim joined
dalek rlito: 376e088 | (Flavio S. Glock)++ | TODO-perlito5:
Perlito5 - TODO update
14:16
14:25 FROGGS joined 14:30 isBEKaml joined 14:45 domidumont joined 14:48 rindolf left 14:53 isBEKaml left 14:54 obra left 14:58 rindolf joined, clkao_ left 15:01 stopbit joined, GlitchMr joined 15:11 xinming left 15:21 domidumont left, birdwindupbird left 15:29 benabik left, benabik joined 15:30 xinming joined 15:31 domidumont joined 15:50 ifim joined 16:02 isBEKaml joined 16:03 sqirrel joined 16:05 isBEKaml left 16:12 gaussblurinc joined
kresike bye folks 16:13
masak o/
16:13 kresike left 16:14 brrt left 16:17 MayDaniel joined
moritz \o 16:21
masak moritz! \o/ 16:23
moritz: got internet yet?
16:25 domidumont left
rindolf moritz: \o/ 16:26
16:29 benabik left
moritz masak: at work, yes. At home: haven't checked yet 16:30
16:31 kaare_ joined
masak ah. 16:31
moritz -> home
16:32 gaussblurinc left 16:36 tokuhiro_ joined 16:37 isBEKaml joined 16:40 FROGGS left, flightrecorder left 16:41 att__ joined 16:46 Guest59543 left 16:47 orafu left
isBEKaml hello, #perl6! 16:48
masak isBEKaml! \o/ 16:49
isBEKaml masak: Hi.. I'm still having issues with cygwin builds of parrot and rakudo. :|
I've asked on #parrot, it looks like a slow channel these days. 16:50
masak ok. 16:52
I wish I could help, but I know very little about cygwin, unfortunately.
you said an earlier version of Parrot builds for you, but not Parrot HEAD?
isBEKaml Well, the problem goes both ways. I've had some success building parrot from cmd prompt, but nqp just conks out looking for a shell script. 16:53
16:53 mikemol left
isBEKaml but with cygwin, it doesn't even go on to build. 16:53
aye, that was from cmd prompt. I didn't try 4.7 on cygwin.
16:55 alester joined, tokuhiro_ left 16:56 tokuhiro_ joined
isBEKaml path issues: /usr/bin/sh: line 0: cd: srcpmc: No such file or directory 16:56
that was from nqp on cmd prompt.
it ate the backslash.
from gmake clean: /usr/bin/sh: C:strawberryperlbinperl.exe: command not found 16:57
:)
masak hm. no idea. :/ 17:00
17:01 tokuhiro_ left 17:02 mikemol joined
isBEKaml I'm manually editing the Makefile to use '\\' instead of '\'. Let's see how that goes. 17:05
masak isBEKaml++ # perseverence 17:06
diakopter isBEKaml: I've tried several times over the past year to build parrot on cygwin, all with failure
s/year/two years/
isBEKaml diakopter: ah, so I'm not the only one with issues. I hear rurban++ develops on cygwin for parrot. 17:07
I don't know how that works for him.
diakopter that's because he *is* cygwin
(ok, I exaggerate) 17:08
isBEKaml well, boo - I just remembered that Make has the ability to convert '/' to platform specific separators 17:12
17:13 kurahaupo joined
masak .oO( category error detected near 'he [rurban] *is* cygwin'... ) 17:16
rurban parrot build OOTB in my cygwins 17:17
17:17 benabik joined
diakopter rurban: which windows? 17:17
17:17 wk joined
rurban can you send me your cygwin failures 17:18
I test on XP and Win7
isBEKaml rurban: gist.github.com/4055922
17:18 wk is now known as Guest28559
rurban isBEKaml: looks like a text mount or strange PerlIO setting 17:19
is this FAT?
isBEKaml now it fails on dyncall with nqp build on cmd: gist.github.com/4060617
rurban: no, NTFS 17:20
rurban I see, wrong tools in your path
gmake is not the cygwin make, its the strawberry or mingw make
isBEKaml rurban: gmake is what I use on cmd prompt. 17:21
rurban: I use make on cygwin.
rurban this cannot work, /usr/bin must be at the front of your PATH
isBEKaml gmake came with strawberry.
rurban del .\libdyncall_s.a will not work on cygwin
there is only rm, no del. wrong toolchain. 17:22
isBEKaml rurban: I see the confusion. The libdyncall issue came from windows cmd prompt. It has nothing to do with cygwin.
rurban yes
isBEKaml rurban: the cygwin issue is what I gave you earlier. 4055922
rurban I regularly smoke cygwin and mingw on my windows vm's 17:23
even with msvc8 and activeperl
isBEKaml rurban: I don't know what's wrong with my steps in building on cygwin. I do a fresh git clone, perl Configure pointing to current dir for install (without icu) and make. BAM! 17:24
diakopter msvc2010 works for me, msvc2012 doesn't
17:25 SamuraiJack joined
diakopter also, I can't build parrot with strawberry last time I tried 17:25
isBEKaml rurban: also, `which make` gives me /usr/bin/make. 17:26
rurban hmm, I also no problem at src/string/api.c :461 CONST_STRING(interp, "");
japhb diakopter, link to the code/memory optimization article? 17:27
phenny japhb: 09:52Z <jnthn> tell japhb Well, RatStr and ComplexStr don't have the unboxing stuff to worry about, at least...
isBEKaml I couldn't find anything wrong there, either. Could it be some line ending thing here?
CRLF <-> LF? but I have core.autocrlf git config to true (by default, this is msysgit)
diakopter japhb: it's a pdf of a hacked .chm of an out-of-print book 17:28
s/hacked/pirated/
rurban isBEKaml: can you try with cygwin tools only? cygwin git, cygwin make and so on. looks like a mingw problem 17:29
isBEKaml rurban: I'll try - I really should get down to removing unnecessary tools from my machine.
rurban no, only sanify your PATH and/or install the missing cygwin tools 17:30
japhb diakopter, awww. I love that kind of stuff. Too bad it's not readily available. :-( 17:31
diakopter I was going to buy it on Amazon, but it's... $450. 17:32
isBEKaml rurban: okay, I have cygwin autoconf tools, and perl. I'll install git. cygwin tools are first on $PATH followed by other stuff like mingw, strawberry... 17:33
17:34 fhelmberger left
japhb diakopter, woah. That's ... REALLY steep. My college textbooks weren't nearly that bad. 17:34
isBEKaml diakopter: 450 dollars for a book?
rurban maybe it was git
diakopter rurban: do you know of anyone who uses parrot on cygwin (regularly)?
(other than yourself, of course)
isBEKaml rurban: that would mean a fresh checkout :( slow connection here.
PerlJam r: role R { }; my @a := Array.new but R; @a[0] = 42; # known? 17:35
p6eval rakudo 72a27f: OUTPUT«elements() not implemented in class 'Mu'␤ in method REIFY at src/gen/CORE.setting:5995␤ in method REIFY at src/gen/CORE.setting:6250␤ in method reify at src/gen/CORE.setting:5403␤ in method gimme at src/gen/CORE.setting:5768␤ in method exists at src/gen/CORE.s…
rurban me and I get regular bug reports on the cygwin list
PerlJam r: my @a := Array.new; @a[0] = 42;
p6eval rakudo 72a27f: ( no output )
PerlJam r: my @a := Array.new; @a[0] = 42; say @a;
p6eval rakudo 72a27f: OUTPUT«42␤»
diakopter rurban: where is this cygwin list?
rurban Michael Schaap is one name from cygwin. dir.gmane.org/gmane.os.cygwin 17:38
isBEKaml rurban: No, same issue. :( 17:39
17:39 orafu joined
diakopter omg; stupidest forum search form ever. change a sorting option and re-search, it doesn't take you back to page 1 of the result. 17:40
rurban can you gist your cygcheck -s -v -r > cygcheck.out (as in cygwin.com/problems.html)
diakopter how could anyone possibly expect a search form to behave that way
rurban you mean this one: search.gmane.org/?query=parrot&....os.cygwin ? 17:41
diakopter right.
I was on page 2 of that
then clicked "Newest First"
then clicked "Search >>"
it took me to page 2 of Newest First 17:42
rurban This is xapian, which normally keeps your settings on the next pages
diakopter that's a terrible usability decision
in my not-so-humble opinion, that is 17:43
isBEKaml rurban: here: gist.github.com/4060778
rurban It might be a xapian bug. I had similar problem on some xapian templates by myself. 17:44
17:45 spider-mario joined
diakopter I don't see any parrot errors reported since 2010-05-03 17:45
rurban diakopter: yes, since then it was pretty stable. Most problem came from attempts to do something without the parrot-devel package. like starting parrot. 17:46
I fixed most upstream, but I would still call parrot packaging non-stable and non-conformant 17:47
diakopter ok. I'll interpret the lack of feedback as lack of use
rurban isBEKaml: I see no apparent problem in your cygcheck. do you run this in mintty or which term?
isBEKaml rurban: xterm 17:48
rurban diakopter: I'm not so sure. When there were problems I got immediate feedback. Since I fixed the problem no complaints anymore
diakopter oh, here's one: github.com/parrot/parrot/issues/241 17:49
rurban The cygwin xterm or another one?
isBEKaml cygwin xterm
OOTB
I haven't really configured cygwin much after an install. 17:50
rurban I only know of several fatal perl bugs (upstream problems), not yet parrot. I'll recheck again 17:51
isBEKaml: I never really tested 64bit windows 17:53
isBEKaml rurban: I'll do a fresh checkout and try again. I'll report back in tomorrow (slow connection and everything, takes out about 2 hrs for a full checkout) 17:54
(parrot should really cut down on the 100+ branches on github)
17:55 kurahaupo left
rurban Windows is much much faster on kvm 17:56
I just compiled parrot afresh, no problems
Oh, you are in Calcutta. That must be pretty late now 17:57
17:58 gaussblurinc_ joined 17:59 isBEKaml|2 joined 18:00 dakkar left, benabik left
isBEKaml|2 rurban: India, yes. It's about midnight here. 18:00
(Mumbai) 18:01
18:02 isBEKaml left
rurban Mumbai is a bit nearer. I'm pretty sure there's something wrong with your system, not with parrot. The rakudo build error looks strange though, using gmake on cygwin 18:02
18:02 benabik joined
isBEKaml|2 rurban: No, the rakudo error is different. Like I said, it's nothing to do with cygwin - I only used cmd prompt when I couldn't build anything out of cygwin. 18:03
18:07 isBEKaml|2 is now known as isBEKaml, mucker joined 18:09 Chillance joined
isBEKaml rurban: I'll clean the paths and run them again tomorrow. 18:13
18:17 benabik_ joined, benabik left, benabik_ is now known as benabik 18:19 benabik_ joined, benabik left, benabik_ is now known as benabik 18:20 bowtie joined 18:21 flightrecorder joined 18:36 brrt joined 18:38 isBEKaml left 18:42 domidumont joined 18:44 ifim left 18:45 mucker left 19:06 cognominal joined
rindolf Hi all, can I use ASCII dashes/hyphens ("-") inside Perl 6 identifiers? I recall that I can. 19:13
19:15 sqirrel left 19:18 brrt left
cognominal rn: my $a-b'c = "hi"; say $a-b'c 19:21
p6eval rakudo 72a27f, niecza v22-24-g532462b: OUTPUT«hi␤»
cognominal rindolf: I think the dahs and quotes are allowed only in "internal" positions, not in the beginning nor at the end of the part that follows the sigils. 19:23
rn: my $a--b''c = "hi"; say $a--b''c
p6eval niecza v22-24-g532462b: OUTPUT«===SORRY!===␤␤Two terms in a row at /tmp/mFP6_d1_L9 line 1:␤------> my $a--⏏b''c = "hi"; say $a--b''c␤␤Parse failed␤␤»
..rakudo 72a27f: OUTPUT«===SORRY!===␤Confused␤at /tmp/X20qFMyjK2:1␤»
cognominal Apprently you can't use two in a row either. 19:24
rindolf rn: my $hello-world = "Hi There"; say $hello-world; 19:25
p6eval rakudo 72a27f, niecza v22-24-g532462b: OUTPUT«Hi There␤»
19:33 cognominal left 19:39 gaussblurinc_ left 19:41 ifim joined 20:00 cognominal joined 20:04 obra joined 20:05 cognominal_ joined, cognominal left 20:12 domidumont left 20:16 SamuraiJack left 20:23 kurahaupo joined 20:27 cognominal_ left 20:31 flightrecorder left 20:35 cognominal joined
diakopter I just tried to copy text on my laptop and paste it on my phone. I feel stupid. 20:38
masak you're not. 20:39
I get this meme with increasingly regular intervals.
it's just that the devices aren't connected enough for your use case yet.
diakopter c'mon synergy2, make an app... 20:40
masak the guy who tried to copy-and-paste from his computer to the back of an envelope, however... :)
geekosaur wonders how long before the existing shared pasteboards add that
masak I like the point that www.modernperlbooks.com/mt/2012/11/...ation.html makes. 20:56
I like making APIs inside my programs, even if I'm the only one ends up consuming them. 20:57
21:00 GlitchMr left
PerlJam In Moose-land it's possible for a role to apply a method modifier to the class that consumes it. How is this done in Perl 6? 21:04
jnthn Presumably using a module that implements method modifiers. 21:06
doy (role method modifiers)-- 21:07
PerlJam okay.
jnthn Roles are meant to be composable units of reusability.
diakopter roles jnthn a biscuit 21:08
jnthn There's little reusable about a role that couples to a class as tightly as a method modifier in the role would.
Short of the role being parametric on the method name, but then why not put the semantic on the method itself by implementing a trait... 21:09
lue [looking up method modifiers] Is it fair for me to think of method modifiers as [similar to] phasers? 21:11
sorear o/ 21:16
jnthn lue: No, more in the space of callsame etc.
o/ sorear 21:17
PerlJam jnthn: I was playing around with how I would turn an Array into a fixed size Array and the solution that occurred first was to make a FixedSize role that could be mixed in to Array where the FixedSize role would have an at_pos() method that does the size check then calls nextsame to execute Array.at_pos
masak lue! \o/
lue: I think method modifiers are things like 'before', 'after' and 'around', a la Moose. 21:18
tadzik which are awesome, imho :)
lue Ah. I'm looking at Moose::Manual::MethodModifiers, and it didn't at first strike me how it was useful. If it's like callsame though, I'd think using, well, callsame would be a good idea.
jnthn PerlJam: Something like that could work, yes. Though there's lots of other ways to do that kinda thing. 21:19
masak lue: well, people keep wanting the method modifiers, too. 21:20
jnthn PerlJam: I know somebody is looking into that at the moment.
PerlJam jnthn: making fixed size arrays? 21:21
jnthn PerlJam: Yes.
PerlJam: Somebody who got in contact with TPF wanting to do something on Rakudo as their open source community service thingy as part of their college. They got passed along to me; I've of course mentioned #perl6 is an awesome place to drop by, but didn't see them here yet... 21:22
lue I can see where method modifiers are useful, but I think I'm failing to see why you'd put them in a role (as opposed to putting the modifier's code in the method itself), except to do something something like around 'sub1' => &wrapper; around 'sub2' => &wrapper; etc.
lue now of course stumbles upon the Moose manual's "Wrapping multiple methods at once" section 21:23
doy the main reason that people use method modifiers in roles in moose is to wrap methods in other roles, not necessarily to wrap methods in classes 21:24
because that avoids requiring manual conflict resolution 21:25
but... that's really not a great way to solve that problem
PerlJam In my example, the Array class has an at_pos method that is used for indexing into the array. To make a fixed size array, I'd want at_pos to behave exactly as it does, but add some code before it that does the checking. Hence what led me to think of method modifiers. 21:26
lue
.oO(Then again, my one case for useful modifiers could also be done with macros...)
jnthn Everything can be done with macros! Just ask masak :D 21:27
PerlJam lue: that was my second idea that I haven't explored yet :)
lue Maybe if I used Perl 5 I'd understand method modifiers better, but I keep on trying to find a situation where there's no other (P6) solution...
jnthn PerlJam: The role approach is the sane one, imho
PerlJam r: my @a := Array.new; say @a.perl; role R { }; my @b := Array.new but R; say @a.perl; 21:30
p6eval rakudo 72a27f: OUTPUT«Array.new()␤Array.new()␤»
PerlJam r: my @a := Array.new; @a[0] = 42; say @a.perl; role R { }; my @b := Array.new but R; @b[0] = 5; say @b.perl;
sorear lue: method modifiers in p5 are a convenience too, but more of one, because 'callsame' is harder to use in p5
p6eval rakudo 72a27f: OUTPUT«Array.new(42)␤elements() not implemented in class 'Mu'␤ in method REIFY at src/gen/CORE.setting:5995␤ in method REIFY at src/gen/CORE.setting:6250␤ in method reify at src/gen/CORE.setting:5403␤ in method gimme at src/gen/CORE.setting:5768␤ in method exists at …
sorear lue: largely because context flows inward 21:31
PerlJam ah.
jnthn PerlJam: Hmmm...
PerlJam did that binding not work correctly?
jnthn PerlJam: I'm not sure what happene.d
PerlJam: It really shoulda worked... 21:32
lue OK. I see it still could be a convenience in P6, my mind was stuck in "when do I *need* it?" land. 21:33
PerlJam builds the rakudo debugger for the first time 21:34
timotimo i wonder: when should a macro chapter for the perl 6 book be written? 21:36
PerlJam timotimo: whenever masak has time :)
timotimo not that i'm volunteering, but why should we force masak to do it? :P
sorear lue: "after" in p5 looks like this: sub foo { my $self = shift; my @res; if (!defined wantarray) { $self->SUPER::foo(@_) } elsif (wantarray) { @res = $self->SUPER::foo(@_) } else { @res = scalar $self->SUPER::foo(@_) }; do stuff; return wantarray ? @res : $res[0] } 21:37
doy callsame is harder in p5 also because SUPER:: is broken (the method is resolved based on the package the call is compiled in, not the package the current method is installed into)
so anything involving SUPER:: just won't work in roles 21:38
21:39 kaare_ left
lue looking up wantarray in the specs, I just found a use of 􏿽xA2a. What should that be replaced with? 21:42
masak lue: where did you find ¢a?
21:43 cognominal left
lue in S08. [I can find line number in a second if you want.] 21:43
S08:221 21:44
masak looks
there simply isn't a "capture sigils". 21:45
I guess captures aren't important enough to have their own sigil. a bit like sets and bags.
I do believe ¢ occurs in STD.pm6, though.
oh, that's $¢
21:49 cognominal joined
lue So would replacing it with a $ be good? 21:50
masak yes. that always works, regardless of data type. 21:51
even arrays and hashes :)
lue Not quite sure what the @% is supposed to be just below that either. 21:52
(ascii version of 􏿽xA2?)
timotimo is there a good replacement example for the book to replace the outdated "substr has three- and four-parameter versions"?
sorear $¢ needs to go, btw
masak oh yay! why?
sorear it is the _only_ thing in Perl 6 that cnanot be written in ASCII
masak timotimo: there's a substr-rw in both Rakudo and Niecza, I belive. 21:53
sorear timotimo: I think substr still has afour-parameter version?
masak sorear: that's what I've been saying for years. :)
timotimo i thought it was removed from the specs?
diakopter assents
timotimo the point of the section seemed to be "look, one of the versions binds the first parameter as rw, the other one doesn't"
21:58 cognominal left
lue
.oO(I like the look of the 􏿽xA2, it's a shame it's not on most people's keyboards. There aren't a lot of ascii chars left for [s||tw]igils)
21:59
benabik ¢ is Opt-4 on OS X 22:00
22:00 MayDaniel left
sorear also, this is a utf-8 channel 22:01
benabik hopes he's using UTF8...
22:02 cognominal joined
sorear you are, lue isn't 22:02
lue Huh, I see benabik and my cent signs correctly. /me checks settings
sorear and irssi stupidly is just replacing all of lue's characters with question marks
doy i can see both benabik's and lue's ¢ just fine
sorear whatever client doy is using is handling this better than $ancient_irssi 22:03
jnthn My irssi renders both fine, fwiw.
benabik I can see both, but it marks lue with [incompatible encoding]
it = Colloquy
diakopter there's all those P5 special ones - like $` 22:04
22:07 cognominal left
lue I think I fixed it. ¢ 22:08
dalek ok: c3af22b | timo++ | src/roles.pod:
Improve sentence based on issue77
22:09
flussence yep, that's a ¢ now 22:10
22:10 cognominal joined 22:11 cognominal left, rjt_ left 22:12 cognominal joined
sorear lue: wfm 22:12
masak lue++ # utf-8 22:14
lue xchat-- for it's default "IRC" encoding.
s/it's/its/ 22:15
22:18 spider-mario left
dalek ok: 8a1cd47 | timo++ | src/operators.pod:
Use reworded sentence from #75
22:21
masak 'night, #perl6 22:25
tadzik good knight
22:30 marloshouse joined 22:31 kurahaupo left 22:33 leont joined
jnthn 'night, #perl6 22:38
sorear knight jnthn 22:39
22:47 xillver joined 22:58 cognominal left 23:02 cognominal joined
cognominal rn: constant $indiana_pi = 3; constant indiana_tau = 2 * $indiana_pi 23:02
p6eval rakudo 72a27f, niecza v22-24-g532462b: ( no output )
23:11 rindolf left 23:13 whiteknight joined 23:14 fgomez left, fgomez joined 23:19 PacoAir left 23:20 circlepuller left, mtk left, benabik left
japhb cognominal++ # Reminding me to add a Tom Petty station to Pandora 23:20
23:24 leont left 23:28 att__ left 23:29 circlepuller joined, mtk joined, ruoso joined, baest joined, revdiablo joined, zb joined
cognominal I thought that sigiless constant were compile time and sigilwith run tine, I was wrong. S03 says they are both compile time 23:36
23:37 fgomez left
sorear you can also have sigilful and sigilless runtime variables 23:38
my \foo = 2+2; # run time
23:43 cognominal left, rjbs joined 23:44 fgomez joined 23:51 benabik joined 23:56 cognominal joined, DarthGandalf left, LordVorp joined 23:58 ironcamel joined