»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend!
Set by sorear on 4 February 2011.
00:24 jrockway left 00:25 jrockway joined 00:41 envi joined 00:54 whiteknight left, whiteknight joined 00:55 donri left, cexsum left 01:15 whiteknight left 01:20 jevin left 01:22 jevin joined 01:26 wolfman2000 joined 02:26 skangas left
sorear good * #perl6 02:38
02:40 colomon joined 03:03 kaare_ joined, jamtech joined 03:05 colomon left 03:17 jaldhar joined 03:23 Su-Shee_ joined 03:27 Su-Shee left 03:48 bluescreen10 left 03:54 skangas joined 04:04 REPLeffect left 04:07 cexsum joined 04:17 REPLeffect joined 04:23 jamtech_ joined, jamtech left 04:26 Sarten-X left 04:28 jaldhar left 04:32 jaldhar joined 04:36 Sarten-X joined 04:45 jamtech_ left 04:51 jaldhar left 04:56 jaldhar joined
moritz good morning 05:00
TimToady ö/ 05:01
05:10 wamba joined
PerlJam it's like this channel never really sleeps. 05:20
lue Probably because some people here almost never do :) 05:21
moritz would love to sleep more 05:23
PerlJam I stayed up last night and watched Real Genius. I hadn't seen that movie in well over 10 years. 05:24
.oO(10 year old CPUs of an obsolete architecture are not recommended for heavy amounts of upgrading ... :/ )
05:43 drbean left 05:44 jamtech_ joined 05:59 tewk left 06:01 tewk joined 06:08 JimmyZ joined 06:12 drbean joined 06:14 cexsum left 06:21 cexsum joined 06:25 cexsum_ joined 06:29 jamtech_ left
mberends good * friends 06:33
JimmyZ good * ** * mberends 06:36
mberends :) 06:37
sorear hi mberends 06:41
06:47 jevin left 06:49 jevin joined 07:06 cexsum left 07:18 mj41 joined 07:26 cexsum_ left
sorear thinks ey has a decent first pass at CLR interop fully figured out. For real this time! 07:26
mberends \o/ 07:27
07:38 wamba left 07:40 wamba joined 08:09 ab5tract joined 08:17 ab5tract left 08:19 envi left 08:29 risou is now known as risou_awy 08:32 Trashlord left 08:33 Trashlord joined 08:35 araujo left 08:41 Su-Shee_ is now known as Su-Shee 08:47 Trashlord left 08:49 Trashlord joined 08:59 Trashlord left 09:01 Trashlord joined 09:02 masak joined
masak happy weekend, #perl6! 09:02
phenny masak: 02 Sep 03:43Z <sorear> tell masak Str per se is immutable but there's... something... between Str and Cursor that is mutable. See also <cut>.
tadzik lol, it's jnthn _and_ masak!
masak sorear: I was thinking of <cut> too. :)
jnthn! \o/
tadzik well, one being asleep too, but still ;) 09:04
masak my #perl6 plans for this weekend: (1) blog twice about stuff, (2) put together a small guide for LittleAnimalFarm AI pioneers, (3) -Ofun 09:06
in no particular order ;)
09:10 orafu left, orafu joined 09:11 mj41 left 09:13 Trashlord left
JimmyZ and macro? :) 09:14
masak I'll probably finalize my macros grant proposal, send it in, and yes, maybe even dig down and hack a little in my branch ;) 09:15
JimmyZ push push push ---- moritz 09:16
masak ;)
JimmyZ: I've run macros locally. it's wonderful. :P
JimmyZ: but I'll push when the time is right. 09:17
tadzik what do you mean run
JimmyZ masak: glad to hear that
09:17 Trashlord joined
masak tadzik: Perl 6 code that defines a macro and then calls it runs in my local nom-based branch. 09:17
tadzik oh oh
09:18 zhangkaizhao joined
masak tadzik: the thing is this: I got to talking about macros during YAPC::EU with pmichaud and TimToady and jnthn. then when everyone else had left, jnthn and I were walking around Riga and discussing the practicalities of implementing macros. 09:18
tadzik: the more we talked, the more doable it seemed. 09:19
tadzik like
masak so in the weekend after that, in a hotel in Tallinn, with jnthn's help, I sat down and started implementing it. a few hours later we had it working, as a proof-of-concept at least. 09:20
09:20 thou left
JimmyZ masak++ 09:21
mberends o/ masak: reading "Enough is Enough" immediately reminded me of your Yapsi 2011.03 announcement github.com/masak/yapsi/blob/master...ce/2011.03 with your persona as a mogrified Dr. Klomp :) I think I was Thog when you previewed it here in Vught :)
masak :D 09:22
that is still my favourite announcement. 09:23
tadzik of course. I appear in it
mberends did you think of that analogy at the time? 09:24
09:26 Trashlord left
masak mberends: no, I was more thinking of Babbage and Lovelace in this webcomic, I think: sydneypadua.com/2dgoggles/lovelace-the-origin-2/ 09:28
09:28 Trashlord joined
mberends ooh! 09:29
masak be sure to read that one and then sydneypadua.com/2dgoggles/series/economicmodel/ 09:32
I love steampunk. <3
JimmyZ sydneypadua.com/ is blocked by GFW :(
masak of course! alternate history is petty bourgeois and *must* be suppressed! 09:33
the actual history is bourgeois enough as it is... 09:34
JimmyZ is always suppressed!
masak hugs JimmyZ, through walls and everything 09:35
JimmyZ :) 09:36
09:37 Trashlord left 09:38 Trashlord joined
jnthn mornin' 09:44
Finally, a decent amount of sleep
masak jnthn.power-on(); 09:45
jnthn feels turned...no no wait... 09:46
jnthn turns on the coffee machine
09:46 Trashlord left
JimmyZ morning, jnthn 09:48
tadzik jnthn: mo'ning
JimmyZ bbl
jnthn Is the while 1 { } memory leak now gone?
09:48 Trashlord joined
jnthn is building a nom now and will be able to check for himself soon :) 09:54
09:56 sayu joined
mberends it still takes a while() # /me ducks 09:57
but no, some leaks were fixed but not the while 1 {} one afaik 09:58
09:59 Trashlord left 10:00 mj41 joined 10:01 Trashlord joined
mberends jnthn: is a normal run of while 1 {} is expected to consume memory because of CPS maybe? It's growing in RAM locally. 10:03
jnthn mberends: yeah, but I don't see the mls++ patch having been applied
mberends: no, it should not leak
10:03 MayDaniel joined
mberends I don't equate consuming memory with leaking until the working set hits an OS memory limit, triggering GC. It will take a few minutes here to reach that limit. 10:05
jnthn mberends: But iiuc mls++ did find the issue and it's a real, C-level leak, not a GC issue. 10:09
Was just chekcing if things had been patched so I can do so if not. And it seems they haven't been.
mberends jnthn: true. The patch seems to account for only part of the memory problem though. 10:10
jnthn mberends: Got a link to the patch handy? 10:13
mberends no, but I can probably get it quickly 10:14
10:14 Trashlord left, MayDaniel left 10:17 Trashlord joined 10:21 wamba left 10:22 lue left 10:26 Trashlord left
masak I thought a leak is anything that was allocated and then didn't get reclaimed at the end of its "lifetime" -- and that the tricky part is that "lifetime" is something the C programmer has to (actively and correctly) decide about. 10:28
10:28 Trashlord joined
mberends masak: many GC algorithms, including Parrot's, are lazy by design. Leaks are only what those GC's *could* not reclaim if they wanted to. 10:34
masak right. I'm talking about the manual memory management case.
but I see what you mean now. 10:35
especially with refcounting, things can live on as zombies even though they're just a cycle of references with no incoming reference. 10:36
mberends anyhow, while 1 {} was killed by the OS because it continued expanding endlessly
masak that can't be right :)
10:36 Trashlord left
mberends masak: yes, cycles are a big drawback of refcount. I'm searching for a solution for that in 6model/c, but have not found one yet. 10:38
10:39 Trashlord joined, dakkar joined
mberends I've studied GC a lot now; the potential solution I currently like most is called 'Treadmill' 10:40
jnthn mberends: For cycles, look up "trial deletion" 10:43
(if you didn't already see that stuff, of course :)) 10:44
mberends jnthn: oh yeah, seen that before, I'll look again :) 10:45
.oO( if this block vanishes, does the rest vanish too? )
jnthn Only if you use the block for resting on. 10:48
10:48 am0c joined 10:49 Trashlord left
mberends I cannot spend much time on that today, must do some irl housekeeping 10:49
10:52 Trashlord joined
masak οίκος++ 10:52
10:53 agentzh joined 11:01 mj41 left 11:03 Trashlord left 11:04 renormalist left, renormalist joined 11:07 woosley joined, Trashlord joined 11:10 araujo joined 11:18 Trashlord left 11:19 Trashlord joined 11:20 Trashlord left, sivoais joined 11:22 Trashlord joined 11:30 Trashlord left 11:32 envi joined 11:33 Trashlord joined, whiteknight joined 11:39 Trashlord left 11:43 risou_awy is now known as risou 11:44 Trashlord joined, Trashlord is now known as Guest3767 11:45 Guest3767 left 11:47 Siddy joined 11:57 Siddy left 11:58 Siddy joined, colomon joined 12:05 Siddy left 12:07 Siddy joined 12:11 zby_home joined
tadzik phenny: "οίκος"? 12:15
phenny tadzik: "house" (el to en, translate.google.com)
jnthn el? 12:18
masak tadzik: the source of words such as "economy" (the management of home) and "ecology" (the study of home)
jnthn: Classical Greek.
jnthn oh, greek
masak hum, maybe modern Greek. 12:19
tadzik el greco
masak yes, modern Greek. en.wikipedia.org/wiki/List_of_ISO_639-1_codes
12:23 Limbic_Region left 12:32 molaf_ left 12:35 Siddy left 12:37 Siddy joined 12:45 jrockway left 12:46 jrockway joined, baest left 12:48 Siddy left
masak you people are too quiet today. 12:48
jnthn HUSH I'M WRITING CODE. 12:49
12:49 Siddy joined
masak sticks out his tongue and goes back to writing code himself :) 12:49
12:51 Siddy left, baest joined 12:52 Siddy joined
masak rakudo: class AreYouNom { method foo { $!x } }; say "no, I am not nom" 12:55
p6eval rakudo 2bac6a: OUTPUT«===SORRY!===␤Attribute $!x not declared in class AreYouNom at line 1, near " } }; say "␤»
masak gotcha.
12:58 mj41 joined 13:07 Vlavv` left, Vlavv joined 13:10 mj41 left 13:32 woosley left 13:38 tokuhirom joined, mj41 joined 13:39 MayDaniel joined
dalek p: 5c84988 | jonathan++ | src/ (3 files):
Start to sketch out new boolification protocol, so we can portably and efficiently put things in boolean context (e.g. avoiding nested runloops in the common case).
p: b53d224 | jonathan++ | src/ops/nqp.ops:
Correct error text.
p: 1a9cdae | jonathan++ | src/pmc/sixmodelobject.pmc:
Update get_bool to use new boolification protocol; we fall back to a v-table override during migration (will rip that code out afterwards).
13:44 wayland76 left 13:46 sayu left 13:47 espadrine left
masak jnthn++ 13:47
tadzik looks exciting 13:48
jnthn pmichaud++ for nudging me to do it, even though it took me a while to work out how it should look and actually get around to it :)
dalek p: 57988ce | jonathan++ | src/how/NQPClassHOW.pm:
Update NQPClassHOW to provide information for the new boolification protocol.
p: 35da528 | jonathan++ | src/ (2 files):
Remove now unrequired uses of is parrot_vtable('get_bool') trait.
p: 4738417 | jonathan++ | src/stage0/ (6 files):
Update bootstrap.
masak when'll Perl 6 be done/production-ready/6.0.0? 13:53
I'm usually among the bunch who say "there's no way to answer that".
but let's pretend there were a nice, short, concrete answer.
what would it be? :)
tadzik 2 years 13:54
flussence it'll probably coincide with the time I finish getting this graph up to date... which isn't any less vague than the current answer we give people :)
masak something like "we just need to finish up role/MMD/speed, and then you can start using it."
tadzik Massively Multiple Dispatch is what always comes to me mind when I see MMD
flussence I think last year my answer was "when frozen bubble runs on it" :)
masak there was this guy in here the other day who sayd "when will Perl 6 be done? I'm sick of using PHP."
tadzik: Massively Multiplayer Dispatch :P 13:55
tadzik Methods for everyone!
masak that guy had a clear goal with Perl 6. he wanted it to be a drop-in replacement for PHP.
that's a pretty clear definition of "done", seemsme.
not the only one, of course. 13:56
flussence now we just need someone to write a quote circumfix op for «<? ?>»... 13:57
plobsing masak: is that one of the end-goals of perl 6? most languages are not drop-in replacements for php for various reasons.
JimmyZ when Perl 6 is done, Perl 7 will be borned 13:58
jnthn masak: That's a challenging one, because one attraction of PHP is that it has a wide deployed base, and if he wants that part of drop-in then it's gonna be a while (e.g. that's a bigger thing that Perl 6 itself being "production"/"done") 13:59
masak yeah. 14:00
I'm not suggesting we should, or could, attempt to oust PHP in its niche. 14:01
but it'd be nice to get somewhere close to that ease of deployability.
as pmichaud++ has pointed out, that'd be an excellent use for a Rakudo distribution.
.oO( use Inline::HTML )
14:06 sayu joined
JimmyZ or embed Perl6 in HTML :) 14:18
14:19 agentzh left
masak JimmyZ: yes. 14:19
JimmyZ: such a Rakudo distribution could do the PHP thing and consider anything that looks like HTML to be a script, with some <?...> thingies containing Perl 6 code. 14:20
JimmyZ <?perl6 ... ?> 14:21
or <% .. >
I wrote code in mod_perl, the bad things is that the error can only output in logs, not in browser, which makes debugging code bad 14:23
14:33 araujo left, araujo joined
plobsing JimmyZ: i see that as a good thing. no chances for users to know exactly what the error they are triggering is. 14:34
JimmyZ plobsing: yeah, but let the user decide it 14:35
plobsing that's just an opportunity to get it wrong 14:36
and have your server pwned
masak the default should be the secure option.
huf i'm sure you could install a handler with mod_perl that can tail the error log when the server would throw back an ISE
JimmyZ plobsing: I don't want to see both log and browser continually when I am debugging code
huf: a handler can't hand compling error 14:37
PHP allows whether error should output to browser or not 14:38
14:41 woosley joined, woosley left 14:42 araujo left 14:43 araujo joined
masak right. 14:43
but the default should be whatever's secure.
which happens, in this case, to be not showing the error in the browser. 14:44
JimmyZ yeah, but mod_perl should give me a opportunity, let me see the whatever errors in the browser when I am developping 14:45
flussence when I've done PHP stuff I usually find inline errors get in the way. It's even worse when using strict xhtml...
JimmyZ I can't find a configure option to make the whatever errors outputs to browser
14:45 molaf joined
JimmyZ but PHP gives me the option 14:46
flussence in perl5 the error display's usually handled at the web framework level... if you're writing raw CGI.pm-style code then yeah, it'll be difficult. 14:47
JimmyZ yes, catalyst framework is good, but I don't want framework
catalyst has a native server 14:48
TimToady CATCH { .redirect } seems easy enough
14:49 tokuhirom left
JimmyZ TimToady: when it's a compiling error, CATCH doesn't work ;( 14:49
flussence (that's why I have use_ok tests on all my web stuff now...) 14:50
JimmyZ that's why I didn't use mod_perl, use mod_php instead 14:51
plobsing JimmyZ: if it is a compiling error, you can't you just perl -c your code/
JimmyZ plobsing: I can't, because I'm using mod_perl
flussence plobsing: he's got a point, mp code is a pain to debug outside the webserver :) 14:52
14:52 MayDaniel left
flussence another way $dayjob makes my work harder than it needs to be... :( 14:53
JimmyZ whenever I flush browser, whenever I can't see anything in browser, I should go into the apache log
TimToady wonders if BEGIN CATCH can/should be made to work 14:57
masak exception handlers for compile-time? 14:58
TimToady nodnod
JimmyZ TimToady: can't, I tried it
TimToady: iirc 14:59
masak TimToady: isn't it enough to put CATCH in whatever BEGIN block or BEGIN-time construct where exceptions should be caught?
TimToady I meant "made to work" in the other sense
masak fails to see why BEGIN CATCH specifically would add anything that BEGIN { CATCH } doesn't already have
TimToady want to catch exceptions thrown after the BEGIN 15:00
by the compiler
masak it sounds like a slight mis-combination of the two features BEGIN and CATCH. 15:01
TimToady it's abusing CATCH more than BEGIN
masak yes.
TimToady since who knows what exception mechanism the compiler is using
but it'd be nice if there was some hook that could be set at use/BEGIN time 15:02
"pragmas will happen" but it'd be nice if they were portable
pmichaud good morning, #perl6
masak good *, pmichaud
15:02 whiteknight left
TimToady \° <-- shrunken head today 15:03
flussence how about: try { compile 'file.pl'; CATCH { say $! } } # like require(), but stops before running mainline
TimToady wonders whether the setting should/could have charge of compilation policy 15:04
jnthn o/, pmichaud
TimToady try eval q{YOU_ARE_HERE} 15:07
try eval q'{YOU_ARE_HERE}' # more likely
15:08 uniejo_ joined, colomon left, colomon joined, colomon_ joined, colomon left, colomon_ is now known as colomon
TimToady which still won't work, of course... 15:11
maybe we need a more general mechanism for a setting to defer an action till YOU actually IS HERE 15:13
maybe YOU_ARE_HERE {...} is a phaser that defaults to the normal thing
15:13 araujo left
JimmyZ try { YOU_ARE_HERE; CATCH { .... } } 15:14
TimToady :D xx *
TimToady apejens: you may use CAN'T
apejens would be fun with a language with only pop song references
JimmyZ YOU_ARE_ON_MARS 15:16
TimToady why can't we be this creative when we need something important?
apejens because it's harder :) 15:17
TimToady oh, well that's okay then...
pmichaud because we're too creative on the "something important" part.
.oO(something for everyone, a comedy tonight!)
pmichaud i.e., we're more creative at making challenges than resolving them :)
15:18 zhangkaizhao left
moritz challenges everybody to fix that :-) 15:18
JimmyZ END { try { YOU_ARE_HERE; CATCH { .... } } } :)
15:18 araujo joined
TimToady I'd say resolving our challenges is one of our...er...challenges 15:18
JimmyZ that's too end
pmichaud "Hey! What if we could modify the grammar! At runtime!"
TimToady who'd want that? 15:19
hmm, you switch languages by going into a dynamic scope...hmm... 15:20
pmichaud "maybe mmd can be implemented using smartmatch!" 15:21
"Let's use the 'whatever' term to do currying!"
TimToady macro statement_control:BEGINCATCH { CATCH; parse_more() }
moritz and signature binding too, when were'a at it
TimToady there's more than one way to homoiconify a cat 15:22
btw, I think "Cat" might be the answer to "what does a mutable Str look like?" 15:24
Cat's are really more like ropes
pmichaud makes sense, at least to a first approximation. the devil will be in the details.
TimToady s/"'"//
I foresee that we've been using Str in a lot of places that we'll wish we'd used Stringy 15:26
pmichaud Yes, I suspect that's true.
TimToady since a Cat is Stringy, but not Str
pmichaud I know the core setting has a lot of Str in places that need to be otherwise
moritz agreed 15:27
TimToady and if we're going to expect people to use Stringy that much, it's bad Huffman to have it that long
moritz people can just use ~ 15:28
TimToady not in a sig
moritz hm, right
TimToady well, unless we allow ~ and + in a sig
moritz OTOH the last time we huffmanized a type name (Object -> Mu) it turned out we didn't need it so often after all
at least I don't need it often in normal code
TimToady that wasn't so much for huffman 15:29
it was more that I didn't want people assuming they knew what Object means
pmichaud "Object" was objectionable.
TimToady when Any is really what they're thinking of
Mu almost means something more like Concept
Mu is Nouny, but not a Noun :) 15:30
15:33 donri joined
moritz NaN = Not a Noun :-) 15:34
or Not a Nun
15:39 uniejo_ left
masak TimToady: I wanted to write a follow-up blog post where I explained -n and -p "done right", in terms of YOU_ARE_HERE. but then I got to thinking that it seems that we mean two different things/dimensions when we talk about "the setting" -- sometimes we're talking about all of the standard builtins that are provided, and other times we're talking about code injected immediately around YOU_ARE_HERE. 15:40
it seems to me we're confusing these two things. for example, we don't intend all the standard builtins to go away just because we use -n
and yet we say it's a different setting.
TimToady it's a nested setting
lexical nesting is primarily about "what language am I using right here" 15:41
everything else comes from that
so if your setting needs a setting, we can do that 15:42
tadzik re BEGIN CATCH vs BEGIN { CATCH }, that's what I thought about DOC use too 15:43
15:48 sayu left 15:49 sayu joined 15:55 dakkar left
dalek p: ca42584 | jonathan++ | src/ops/nqp.ops:
Add a sanity check.
p: 5d6850e | jonathan++ | src/pmc/sixmodelobject.pmc:
Fix some thinkos; drop using a get_bool v-table override as the way we implement 6modelobject's get_bool v-table.
16:10 araujo left 16:13 _twitch joined 16:15 araujo joined 16:19 JimmyZ left
masak TimToady: so "setting" is something that's applied, possibly several times, during the compilation process? 16:21
jnthn masak: I think it's more that a setting may, itself, have a setting.
masak: I think nom already supports that, fwiw. 16:22
masak jnthn: I don't see how that'd work. -n might be applied with either the default builtins, or with an empty setting.
so it's not like -n has a pre-set setting.
jnthn masak: I was assuming that -n was equivalent to --setting=MINUS-N or so :) 16:23
But with a decent name.
masak jnthn: so several --setting=<something> will not override each other, but nest inwards wrt each other? 16:25
my point is, what if I want -n but not the standard builtins?
16:31 thou joined 16:33 araujo left, araujo joined
moritz masak: in some sense -n *is* a standard builtin, and uses others (like print, Bool (for while())) 16:35
masak well, replacing the standard builtins doesn't necessarily mean getting rid of print and Bool. 16:36
moritz it does not? 16:38
well, wanting command line options that are implemented in the setting, but not the setting itself is like wanting all built-ins except Int 16:42
ie unrealistic in my mental model
masak so -n and -p presuppose the standard setting? 16:43
moritz I suppose
masak a company with its own enhanced setting can't use it with -n and -p?
a setting which does routine tracing or something can't be used with -n and -p? 16:44
moritz maybe -n and -p presuppose *at least* the standard setting
masak hm.
anyway, I just wanted to point out what I believe to be an unclarity.
moritz I believe alternate settings are very unclear right now 16:45
16:45 Chillance joined
moritz ie it is not clearly specced which language features are allowed to rely on the standard setting 16:45
masak t/spec/S32-trig/pi.t fails during spectest locally. "no bigint lib loaded".
jnthn masak: Er, you can only pass one --setting afaik 16:46
moritz for example use Foo :bar; will probably construct a Pair for :bar
jnthn moritz: Anybody who wants to create their own setting from scratch will have a LOT of work to do. 16:47
moritz right
jnthn moritz: Like, they'll need to resolve all the bootstrapping circularities than we do in CORE.setting
mberends Niecza very elegantly implements -n and -p by adding settings for them, see CORE, CORN and CORP for example in github.com/sorear/niecza/blob/mast...niecza#L95
jnthn It's possible today. It's just a huge undertaking.
masak I agree that "alternate setting" will probably duplicate many of the builtin types and routines.
but given that, I still think it's a bit short-sighted to say that -n and -p only work under the default setting. 16:48
it feels less-than-composable.
jnthn masak: Then maybe Rakudo has the correct factoring of them and the spec is wrong ;)
moritz in the long run, we probably want a "slim" standard setting, which resolves the bootstrapping issues 16:49
jnthn (e.g. maybe they make more sense as AST transform)
benabik Perhaps -n and -p wrap the program in a mini-setting that is then wrapped in the --setting?
jnthn benabik: Only if you dynamically compile that mini-setting.
moritz and another one, which can be completely implemented in terms of the slim setting
16:49 isBEKaml joined
jnthn moritz: I'd pondered that a bit. My conclusion was that it may not help as much as we hope. 16:49
moritz so things like DateTime, IO::Socket::INET etc would be in the "fat" setting, and that is what one might occasionally substitute 16:50
masak jnthn: interesting notion. that would make for a nice blog post :)
moritz: I like that.
jnthn moritz: Oh, *those* things we could easily pull out, yes 16:51
benabik Aren't those things modules, not setting?
moritz an things like Set, KeySet, KeyBag etc.
benabik: they are setting
masak they are modules in the setting. 16:52
with 'Set', you don't have to 'use Set' to use Set.
jnthn spectests updating Rakudo to the new boolification stuff.
masak you do have to 'use Set' to use the unicode ops for Set, though. 16:53
benabik masak: Ah, yes. Good point.
moritz masak: but that's only a Rakudo limitation, no?
masak moritz: what is?
jnthn if [Bool|Int|Str|Num] { ... } will no longer need a nested runloop. We should get some performance win.
masak jnthn: \o/
moritz masak: the need for 'use Set' 16:54
masak moritz: AFAIK, TimToady has said that the unicode ops shouldn't be pulled in until one does 'use Set'. also AFAIK, this does not yet work in Rakudo.
moritz my memory said me that having non-latin-1 ops made parsing very slow, and that was the reason 16:55
jnthn moritz: It does (though I think QRegex helps with that) 17:00
But I think masak is right here also 17:01
Dang, spectests show up a slight fail to the Int/Str/Num case. 17:07
But Bool case looks fine.
Is there some way to make the test harness run a single test and show all the output? 17:08
17:09 wamba joined
jnthn --verbose doesn't do that. 17:09
moritz no
you have to run ./perl6 $testfile
jnthn moritz: Yeah, that doesn't help me. :( 17:10
dalek kudo/nom: b22077d | jonathan++ | / (6 files):
Implement new approach to boolification. It makes it sufficiently cheaper than in a simple integer-incrementing while loop that we do 20% or so better overall.
kudo/nom: 6d41c62 | jonathan++ | src/Perl6/Metamodel/EnumHOW.pm:
EnumHOW needs same updates as ClassHOW for boolification changes.
moritz jnthn: why not?
17:11 whiteknight joined
jnthn moritz: On my platform, all tests that use is_run work fine when run as ./perl6 $testfile 17:11
moritz: However, they always fail under the harness
moritz: This isn't new in nom. I've never managed to track down why.
moritz jnthn: urks
jnthn Though would like to at some point... 17:12
moritz nom: say $*EXECUTABLE_NAME
rakudo: say $*EXECUTABLE_NAME
p6eval rakudo 2bac6a: OUTPUT«./nom-inst/bin/perl6␤»
moritz jnthn: try to diag($*EXECUTABLE_NAME) in a test
that should show up with --verbose
jnthn doesn't :( 17:14
but I can always write the value to a file
17:15 finanalyst joined
moritz or add it to a test description 17:15
jnthn oh!
moritz (they show up, do they? :-)
jnthn moritz: --verbose doesn't seem to do anything different here :S
moritz: Anyway, $*EXECUTABLE_NAME seems to explain a lot 17:16
perl6 from the command line, ./perl6 from the harness
tadzik oh, a speedup :) 17:17
moritz jnthn: I see what's wrong, seems like an easy fix
jnthn moritz: yay! :) 17:18
finanalyst rakudo: class A {has $.a};my A $x=.new(:a(2));class B {has $.b};my $y=.new(:b(8));class C {has A $.q; has B $.w};my $z.=new(:q($x),:w($y)) 17:19
p6eval rakudo 2bac6a: OUTPUT«Type check failed in assignment to '$x'; expected 'A' but got 'Any'␤ in <anon> at /tmp/YMk8a4UcZ2:1␤ in <anon> at /tmp/YMk8a4UcZ2:1␤␤»
jnthn finanalyst: You wanted .= new
Not =.
tadzik my $z.=new(:q($x),:w($y))
don't you want a Type declaration btw?
my $z is Any
finanalyst mistype. hang on i think I found a bug
moritz jnthn: pushed, please test