Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2011-08-31

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:04 [Coke] joined #perl6
00:06 jevin joined #perl6
00:11 [Coke] joined #perl6
00:13 soh_cah_toa_ joined #perl6
00:20 eiro joined #perl6
00:20 domm joined #perl6
00:20 rhr joined #perl6
00:20 Woodi joined #perl6
00:22 [Coke] joined #perl6
00:28 [Coke] joined #perl6
00:34 [Coke] joined #perl6
00:35 ccc joined #perl6
00:40 [Coke] joined #perl6
00:46 [Coke] joined #perl6
00:53 [Coke] joined #perl6
00:56 thou joined #perl6
01:00 [Coke] joined #perl6
01:01 woosley joined #perl6
01:07 [Coke] joined #perl6
01:13 [Coke] joined #perl6
01:19 [Coke] joined #perl6
01:22 mkramer1 joined #perl6
01:25 mkramer2 joined #perl6
01:26 [Coke] joined #perl6
01:32 [Coke] joined #perl6
01:38 [Coke] joined #perl6
01:40 wolfman2000 joined #perl6
01:45 [Coke] joined #perl6
01:47 literal joined #perl6
01:51 [Coke] joined #perl6
01:58 [Coke] joined #perl6
02:01 [particle] joined #perl6
02:05 [Coke] joined #perl6
02:10 abercrombie joined #perl6
02:11 [Coke] joined #perl6
02:11 agentzh joined #perl6
02:17 lue hm, nom silently fails when I try to use  for 1..2**30  . I have a feeling it's cos the range is too big. [I know it's an issue with nom, because there's debugging text it should print every iteration of the loop]
02:18 [Coke] joined #perl6
02:23 colomon nom: say 2**30
02:23 p6eval nom 53b1d8: OUTPUT«1073741824␤»
02:24 colomon nom: (1..2**30).map({ .say })
02:24 p6eval nom 53b1d8:  ( no output )
02:24 colomon nom: (1..2**3).map({ .say })
02:24 p6eval nom 53b1d8:  ( no output )
02:24 colomon nom: for 1..2**3 { .say }
02:24 p6eval nom 53b1d8: OUTPUT«1␤2␤3␤4␤5␤6␤7␤8␤»
02:25 colomon nom: for 1..2**30 { .say }
02:25 [Coke] joined #perl6
02:25 p6eval nom 53b1d8: OUTPUT«(timeout)»
02:25 lue although 2**15 (halving the exponent) works just fine [unfortunately, project euler wants 2**30]
02:26 colomon you do realize that doing anything 2**30 times in rakudo will take at least days, right?
02:27 lue yes :/ [I did the math while testing the code with more sane values]
02:28 lue I got it down to 1024 loops every 3-4 seconds, but that doesn't help much :)
02:30 colomon nom: say 2**20
02:30 p6eval nom 53b1d8: OUTPUT«1048576␤»
02:30 colomon nom: say 2**20 / 3600
02:30 p6eval nom 53b1d8: OUTPUT«291.271111111111␤»
02:30 colomon nom: say 2**20 / 3600 / 24
02:30 p6eval nom 53b1d8: OUTPUT«12.1362962962963␤»
02:31 colomon so that's like 40 days to finish at 1024 every 3-4 seconds...
02:31 [Coke] joined #perl6
02:32 lue I'd question PE's sanity on picking 2**30, but then I remember they don't use P6 :)
02:33 lue [ah well, off to try another problem...]
02:33 colomon what problem is it?
02:35 lue number 301
02:36 * lue fears the theoretical nim game with the smallest stack containing 2**30 stones
02:40 colomon lue: I'd be really surprised if they picked 2**30 AND a brute-force solution is the only way to tackle the problem...
02:51 lue .oO(is just me, or do euler problems (at least the more recent ones) rely a bit too much on really large numbers?)
03:12 lue nom: say "bolton".reverse; say reverse("bolton");
03:12 p6eval nom 53b1d8: OUTPUT«bolton␤bolton␤»
03:14 abercrombie nom: say "bolton".flip; say flip("bolton")
03:14 p6eval nom 53b1d8: OUTPUT«notlob␤notlob␤»
03:19 abercrombie Why there is a 'reverse' method for Str?
03:20 plobsing better question, why doesn't it return ipswitch?
03:20 lue nom: say "bolton".reverse.perl
03:20 p6eval nom 53b1d8: OUTPUT«("bolton",).list␤»
03:20 plobsing it is the *parrot* vm after all
03:21 lue reverse converts the Str to a one element array,  apparently. [that's not very dwimmy]
03:23 Su-Shee_ joined #perl6
03:25 Tene abercrombie: it's part of the general philosophy of making scalars behave like one-item lists.
03:26 jlaire lue: many project euler problems have a obvious but slow algorithm, and a less obvious but fast algorithm
03:26 jlaire including 301
03:26 Tene perl6: 1.map: *.say
03:26 p6eval niecza v9-5-gec4c616: OUTPUT«1␤»
03:26 p6eval ..rakudo a55346:  ( no output )
03:26 p6eval ..pugs: OUTPUT«Inf␤*** Cannot cast from VList [VBool True] to Pugs.AST.Types.VCode (VCode)␤    at /tmp/aJKPeqTRmS line 1, column 1 - line 2, column 1␤»
03:26 Tene perl6: "foo".map: *.say
03:26 p6eval pugs: OUTPUT«Inf␤*** Cannot cast from VList [VBool True] to Pugs.AST.Types.VCode (VCode)␤    at /tmp/7Z7XyDZ1hA line 1, column 1 - line 2, column 1␤»
03:26 p6eval ..niecza v9-5-gec4c616: OUTPUT«foo␤»
03:26 p6eval ..rakudo a55346:  ( no output )
03:27 Tene Huh; I wonder why rakudo fails there
03:27 Tene nom: "foo".map: *.say
03:27 p6eval nom 53b1d8: OUTPUT«*␤»
03:27 Tene nom: "foo".map: { say $^i }
03:27 p6eval nom 53b1d8:  ( no output )
03:32 abercrombie The memory leak problem finally got fixed?
03:34 araujo joined #perl6
04:01 birdwindupbird joined #perl6
04:02 sorear good * #perl6
04:06 sorear oopsie, forgot to report #phasers
04:07 cognominal___ joined #perl6
04:09 sorear colomon: template<typename S> class MyRole<S> : public S { ... };  class MyClass : public MyRole<SuperClass> { ... }
04:10 sorear colomon: not strictly roles, but described in the roles paper as one of the most similar prior systems
04:14 sorear pmichaud: plobsing: IIUC (and currently implemented in Niecza), CATCH { die $! } has the effect of creating a second exception (from the die) while simultaneously rethrowing the original unhandled exception, and is an easy way to get a 2-simultaneous-exceptions scenario
04:15 sorear plobsing: pmichaud: I'm not thrilled with this, or with the spec behavior of LEAVE { die } for that matter.
04:24 plobsing .oO( leave and let die )
04:26 plobsing so what happens to the second pending exception if the first bubbles all the way to the top? does it get dropped?
05:08 sorear plobsing: the set of pending exceptions stays together as it bubbles up, and they are all printed before exit
05:09 sorear TimToady: Consider my int $x,$y,$z; ...; $x = ($y + $z) div 2;
05:09 sorear TimToady: the user probably intends for the sum to be calculated as a fixnum.  Is it possible to get these semantics in Perl 6?
05:14 TimToady int is just a storage type; temporary calculations are done in Int semantics, by current spec, methinks
05:14 TimToady course, you have an undeclared $y and $z there... :P
05:14 sorear yeah, current spec requires Int semantics iiuc too.
05:15 sorear just thinking it may be sub-optimal for DWIM
05:15 sorear I want to make it easy to transcribe C algorithms into Perl 6
05:16 sorear also, we need to make +> :rotate work somehowe
05:17 TimToady :rotate(32) or some such maybe
05:19 jevin joined #perl6
05:28 SHODAN joined #perl6
05:48 sorear flussence: I still want a code mockup for warning tests.
05:49 xinming_ joined #perl6
05:50 mberends sorear: good morning, what should be fixed/added next in compiler.pod?
05:56 sorear mberends: good morning.  I haven't read your version yet, I'll do that now
05:59 donri joined #perl6
05:59 donri joined #perl6
06:02 sorear mberends: all good up to the last paragraph
06:03 sorear mberends: rawscall is raw static (method) call; it allows calls into C# libraries from Perl 6, like earlier versions of Niecza (before I started taking backend portability more seriously) defined say using (rawscall System.Console.WriteLine (obj_getstr {@args.join('')}))
06:04 sorear mberends: the downcall mechanism is very hairy
06:05 mberends sorear: interesting. I thought last night about writing something about the bootstrapping implications of downcall
06:05 sorear mberends: run/Niecza.exe is linked against run/Kernel.dll (from the bootstrap zipball), but code you compile with Niecza.exe should link against obj/Kernel.exe (compiled from lib/*.cs)
06:05 sorear obj/Kernel.dll
06:06 sorear the CLR allows you to load two incompatible assemblies with the same name, as long as you load them in different "application domains"
06:07 mberends sorear: thanks! I'll also delete the old content and continue writing up CLRBackend.cs
06:07 sorear the C# DownCall method performs the necessary voodoo to create a second appdomain for running code, then invoke the back back end :) in CLRBackend.cs in the child appdomain
06:08 mberends back back end :-)
06:09 koban` joined #perl6
06:09 koban` left #perl6
06:12 mberends anyone interested in Niecza could learn and help a lot by checking and editing the documentation - this is vital to engage more contributors
06:13 mberends I'd like to "dumb it down" further, to lower the barriers to entry
06:26 wtw joined #perl6
06:33 birdwindupbird joined #perl6
06:35 wamba joined #perl6
06:44 sorear mberends: well I'm going to sleep now.  I'd like to point out that the internal representation is a bit more nuanced than a "tree of Op", but that might be a needed pedagogical simplification, I dunno.
06:46 mberends sorear: I agree, it's grossly oversimplified. I think for some things, the detailed explanation is positioned better out of sequence.
06:48 mberends sorear: I'll try to figure out a friendly way to say more about AST's. I think there may be a need for a separate parser doc.
06:50 mberends With some more work, this content could become a nice conference talk :)
06:56 ernanitecc joined #perl6
07:00 moritz o/
07:00 ernanii joined #perl6
07:00 mberends good moritz morning
07:01 moritz :-)
07:01 * moritz wishes martin a good moritz too
07:02 mberends mor<Tab> runs so naturally through the fingers :)
07:04 moritz I wonder if that should tab-complete to "methods of rationality"
07:05 mberends :-)
07:08 uasi joined #perl6
07:09 ernanitecc joined #perl6
07:11 masak joined #perl6
07:11 masak good moritz everyone.
07:12 moritz good mberends, masak
07:12 moritz masak++ # backlogging before speaking up
07:14 masak phenny: tell ashleydev that yes, macros can be both AST-based and unhygienic. just defer all variable checks until macro-apply-time, and then have $x in the macro be the same as $x outside the macro. it's probably easier to implement than hygiene.
07:14 phenny masak: I'll pass that on when ashleydev is around.
07:15 masak might even be a stepping-stone to real, hygienic macros.
07:16 mberends good moritz masak
07:20 mberends masak: would you consider implementing your macro work on Niecza as well as Rakudo? Their AST's should be broadly similar. It would be a big win for portability.
07:20 masak mberends: I would, if it seemed easy. it doesn't seem easy.
07:21 masak mberends: Niecza still cheats with BEGIN time.
07:24 masak today's autopun sighting: https://twitter.com/robinannsmith/status/108597591020806144
07:25 mberends lol
07:27 moritz and the link I clicked after the autopun was http://creatingev.com/post/9610965432/i-just-got-meta-copied
07:27 daxim joined #perl6
07:28 moritz and in the corresponding HN thread: "In a country with a billion people, even if you're one in a million, there's still 1000 people just like you."
07:29 dark_x joined #perl6
07:29 mj41 joined #perl6
07:29 masak that's not just literally true, but probably a good explanation for a lot of phenomena in China.
07:30 masak schools, careers, family planning...
07:31 moritz while working on my blog thingy, I noticed that I didn't like the traditional error messages
07:32 daxim 6 million is a small city, and nothing ever interesting happens
07:32 moritz "Cannot open file 'foo/bar.json' for writing: No such file or directory"
07:32 moritz it doesn't tell me *why* the program is trying to open that file for writing
07:32 agentzh joined #perl6
07:33 masak good point.
07:33 masak to find out why, you generally go to the file and line.
07:33 daxim ' " quotes in error messages suck, if you want to grep in logs, they usually need shell quoting
07:34 mberends Given our genetic diversity, we are all probably one in a million when you fuzz the iris scans and fingerprints. Our uniqueness comes from our software and memory.
07:34 moritz daxim: what would you use?
07:35 moritz daxim: also when I grep error messages, I usually search for either the message or the file name, not both
07:35 moritz is that a real concern?
07:36 daxim typographic correct quotes.  that was actually an improvement when gnu tools' english po started using that
07:36 moritz daxim: typographic correct quotes are very language dependent, and usually not in ASCII
07:37 daxim it's a concern, yes, not a big one, but one of the 1000 papercuts
07:37 daxim screw ascii
07:37 moritz I'd rather not screw my error messages
07:37 moritz I'm fine with non-ASCII for basically everything else
07:38 moritz but error messages are sufficiently fundamental that I want them to work even in UTF-8-insane environments
07:39 moritz YMMV of course
07:39 daxim that argument isn't convincing.  look who is inconvenienced and who is not, you'd choose the wrong tradeoff
07:39 moritz "that argument isn't convincing" isn't a convincing argument.
07:39 im2ee joined #perl6
07:40 daxim fine, I'll draw a matrix.
07:40 masak moritz: good luck convincing someone of that!
07:40 moritz masak: :-)
07:42 ccc_ joined #perl6
07:43 masak moritz: but back to good error messages with the "why" in them. what would one look like?
07:44 moritz "Cannot open '$filename' for storing a blog post in it: $!" (maybe)
07:45 masak "Wanted to open '$filename' to store a blog post, but got this: $!", maybe?
07:45 moritz maybe
07:45 daxim style       who is inconvenienced
07:45 daxim moritz  'foo.json'  people grepping using the phrase, cannot just paste, need shell quoting
07:45 daxim daxim   ‛foo.json’  people with insane unicode setup, will see âfoo.jsonâ or �foo.json�
07:46 daxim second group is in the minority, why pander to them?  that's not good design.
07:46 moritz daxim: you forgot the people who want to copy&paste the file name (which might contain whitespace) along with the quotes for using them in the shell
07:47 * moritz -> afk
07:47 daxim surrounding something at the outer borders with quotes is easier than positioning the cursor accurately and backwhacking
07:53 * mberends sneaks the babby meme into a circularity discussion in the forthcoming niecza/docs/compiler.pod
07:57 daxim http://hardware.slashdot.org/comments.pl?sid=2405488&amp;cid=37260704  # language war, this one arguing for smaller languages because they're easy to implement
08:01 * mberends applies the troll filter to that. Slashdot used to be fun, but is difficult to enjoy nowadays.
08:03 masak daxim: Perl 6 is a small language with a big setting.
08:05 flussence sorear: I did those, see http://irclog.perlgeek.de/perl6/2011-08-29#i_4343345
08:28 * mberends thinks Perl 6 is a big language with an even bigger setting </troll> ;)
08:35 masak indeed, it doesn't have 7 primitives and almost no syntax, as does Lisp.
08:38 wk joined #perl6
08:39 jnthn morning, #perl6
08:40 mberends good moritz jnthn # tabs again :)
08:42 masak good mberends jnthn
08:42 jnthn oh heh, it's not just me that sometimes tries to tab complete morning... :)
08:42 jnthn Though I always managed to catch it in time before hitting enter ;)
08:42 mberends we need smarter irc clients
08:43 jnthn Yeah, it should just know what I want to submarine.
08:43 jnthn wait, what...
08:43 jnthn :)
08:44 masak haha, you pushed tab and it just gully completely wrench!
08:45 mberends perhaps jnthn's computer became full of eels during his break
08:47 drbean joined #perl6
08:48 mls morning perl6!
08:49 mls jnthn: nqp's 6model/multi_dispatch.c:nqp_multi_dispatch() leaks mem
08:50 mls because the sort_candidates result is not cached
08:50 masak good mls, morning!
08:50 mls masak, mberends, morning, good!
08:51 mberends eh :)
08:52 jnthn mls: Yeah, I still didn't get around to adding the caching there. It'll almost certainly perform awfully without it. In reality, I don't think anything is really using multi-dispatch in nqp yet, or barely. But it certainly needs sorting out.
08:53 mls compiling the setting calls it a couple of hundred times
08:53 mls nothing really worrysome, though
08:53 jnthn Yeah, that's what I mean. It's not on a hot path where we call it tens of thousands of time, like other things we do.
08:54 jnthn Anyway, if you want to add the caching there, that'd be very welcome. It's just an un-todone todo :)
08:55 mls by coping the code from nom?
08:55 jnthn It's not quite that easy, I fear.
08:55 jnthn Since we store/handle multis a bit differently in NQP due to lack of code objects (we use raw Parrot subs for stuff at the moment)
08:55 mls aaw.
08:56 jnthn But should be do-able.
08:56 jnthn Also, the thing nom does isn't a true "multi-dispatch cache" (more)
08:56 jnthn It just caches the sorted candidate list. It's possible to build something smarter.
08:56 jnthn https://github.com/jnthn/6model/blob/master/dotnet/runtime/Runtime/MultiDispatch/DispatchCache.cs # a C# sketch (working) of something smarter that I'd like to port at some point
08:57 dakkar joined #perl6
08:59 mls speaking of speed improvmends: I ran callgrind on the setting compilation, and about 20% of the time is spent in Parrot_SixModelObject_find_method
09:00 jnthn Whoa.
09:00 jnthn That's good to know.
09:00 mls (the includes the ->ext_call->runops->... subcalls)
09:00 * jnthn is a bit surprised...but then, that's the point of profiling instead of guessing :)
09:00 jnthn Yeah, it should only do that when we call on something that's not yet been composed.
09:00 Mowah_ joined #perl6
09:01 * jnthn hadn't expected so many calls of that nature
09:02 mls it seems like many method caches are not published
09:02 flussence (if anyone else wants to poke fun at what I wrote up there, go ahead :)
09:03 mls (btw, should it also cache negative hits? i.e., is the cache authoritative?
09:04 jnthn Well, we publish at composition time, so yeah, anything uncomposed will have no method cache and fall back into find_method
09:04 mls if yes, you might want to add if (VTABLE_exists_keyed_str(interp, st->method_cache, name)) return PMCNULL;
09:04 cognominal___ hi. what is the meaning of the second parameter in an action?
09:05 mls cause, the VTABLE_get_pmc_keyed_str doesn't distinguish between entry not found and entry is PMCNULL
09:05 jnthn I didn't yet treat it as authoritative, though that's the goal. Well, kinda. Even if it's "authoritative" in Perl 6, it's not always going to mean we don't need to look harder. Many classes have fallbacks, for example.
09:05 masak cognominal___: it's the key.
09:06 mls ok, so forget about the VTABLE_exists_keyed_str test... ;)
09:06 cognominal___ yea, I see its value is often 'open'. I forgot what it means.
09:06 jnthn mls: Yeah. It's going to need to be a little smarter than that.
09:06 masak it could be anything we pass in from the grammar.
09:07 cognominal___ thx, now I see.   that's the {*} hack.
09:08 masak right.
09:08 masak did that ever get spec'd?
09:09 jnthn I...seem to recall it being destined to go away.
09:09 pernatiy joined #perl6
09:09 cognominal___ masak: in glossary.pod
09:10 orafu joined #perl6
09:14 cognominal___ As a follower to the discussion about implementing grammars for languages like javascript or coffeescript. I think that  rules  <ws-eopr> and <ws-eterm> to be used (when definid) in place of <ws> by EXPR would be nice.    <ws-eopr> would be called when expecting an operator and <ws-eterm> would be called when expecting a term.
09:25 daniel-s joined #perl6
10:13 MayDaniel joined #perl6
10:17 dalek niecza: 0b103d1 | (Martin Berends)++ | docs/compiler.pod:
10:17 dalek niecza: [docs/compiler.pod] save work in progress
10:17 dalek niecza: review: https://github.com/sorear/niecza/commit/0b103d1eab
10:18 wamba joined #perl6
10:22 im2ee joined #perl6
10:38 Trashlord joined #perl6
10:55 woosley left #perl6
11:01 tadzik good moritz #perl6
11:03 colomon \o
11:10 mberends o/
11:11 tadzik I tend to treat irc client as vim sometimes, and expect it to autocomplete everything based on the last occurence of a certain word. I probably need a vim-based irc client :)
11:11 moritz tadzik: or a plugin
11:12 tadzik moritz: for vim, or for weechat?
11:12 moritz tadzik: irssi is scriptable in perl 5, for example
11:12 tadzik yeah, I know. weechat is a bit acmeist in this case :)
11:13 pmichaud good morning, #perl6
11:13 tadzik good morning pmichaud
11:14 jnthn o/ pmichaud
11:14 moritz \o
11:22 tadzik so the release hits this weekend at any cost?
11:25 pmichaud I don't know.... while out walking and thinking about it last night I'm not sure I'm comfortable with an august release with what we have.
11:25 pmichaud I mean, what .pm group do we "punish" by naming this release after them?  ;-)
11:26 masak pmichaud! \o/
11:26 pmichaud anyway, I'm working on the branch renames now in a practice repo.
11:26 masak Moon.pm
11:26 pmichaud I thought about Atlantis.pm
11:26 masak "This release s(t)inks!"
11:27 pmichaud if we're in agreement that the release really isn't up to our standards, perhaps we shouldn't release (more)
11:28 pmichaud we can also put out a 2011.08 release in early september.  I think there's precedent for this -- iirc, one of ubuntu's releases was delayed for a couple of months but still kept the same release number (more)
11:28 pmichaud I'm not saying we'll delay by a couple of months, just that it doesn't _have_ to occur today.
11:28 masak if we delay, I think we should announce that just as we announce releases.
11:29 masak might give people something to look forward to.
11:29 pmichaud yes, there would be an announcement
11:29 pmichaud "give people something to look forward to" isn't a good idea, imo
11:29 pmichaud historically, Perl 6 has done too much of that already.
11:30 pmichaud we can talk about what we have and where we stand, but shouldn't promise too much about what will show up
11:30 pmichaud afk for a bit-- kid wakeups
11:31 masak oh, true.
11:31 masak I really meant "not allow people to walk away because nothing happens"
11:31 * masak throws a mug
11:33 masak the reason for the delay is, at bottom, a good thing. I think that should be explained.
11:33 masak people have expended lots of energy, and will expend lots more, to build a better Rakudo.
11:34 masak the announcement-instead-of-a-release-announcement should reflect that, even if it doesn't promise things.
11:36 pmichaud anyway, yes, my intention was to make an announcement for whatever we decide to do, not just to let the situation fall into a black hole
11:36 Su-Shee joined #perl6
11:38 masak splendid.
12:10 mtk joined #perl6
12:14 isBEKaml joined #perl6
12:16 wk joined #perl6
12:17 felher masak: is there a way to look over your shoulder while your work on macros evolves? i.e. is there a nom-branch or something like that?
12:17 isBEKaml masak: macros!  is that like aspects in Java? or macro defs in C ? :)
12:18 arnsholt No, like macros in Lisp
12:18 arnsholt Which are super-mega-awesome =D
12:18 isBEKaml hmm, I don't know have any lispiness on me. :(
12:19 isBEKaml all I know (from what I read), they sound a lot like pointcuts and concerns in AOP.
12:20 masak felher: I have a local branch.
12:20 masak felher: at some point, I'll push it, and from then on I'll try to push often.
12:20 masak I'll also try and blog regularly.
12:20 isBEKaml or with a strange consistency. =)
12:20 masak isBEKaml: there are operational similarities between pointcuts and macros, yes.
12:21 masak isBEKaml: macros don't have the action-at-a-distance of aspects.
12:21 pmichaud oh, I didn't get a chance to review masak++'s proposal last night :(.  Will do that momentarily.  (masak: apologies)
12:21 felher masak: thnx. sounds good to me :)
12:21 masak pmichaud: no worries.
12:21 pmichaud I don't want to be a blocker there :)
12:22 tadzik proposal?
12:22 isBEKaml masak: Well, I have seen the same excitement that arnsholt++ exhibited about macros, but never got around to  seeing them firsthand.
12:23 isBEKaml masak: Guess I'll get to see that in p6 and feel the excitement. :)
12:24 arnsholt In somewhat technical terms, macros let you create your own syntactical abstractions
12:24 arnsholt In other words, you can extend the language in directions you ordinarily can't
12:24 isBEKaml arnsholt: a concrete example?
12:24 tadzik macro statement_prefix:<###> {}
12:25 tadzik to implement Smart Comments
12:25 pmichaud yeah, I still doubt that one (based on the current grammar)
12:25 masak me too.
12:25 pmichaud it'd have to be comment:<###> something, at best.
12:25 isBEKaml tadzik: now, what are smart comments? Sorry, I'm just confused.
12:25 pmichaud even then it might not be sufficient without some more grammar tweaks
12:25 masak isBEKaml: !cpan Smart::Comments
12:26 masak ooh, first time I use DuckDuckGo syntax on the channel :P
12:26 * tadzik has that as 'cpan smart-comments' in the browser itself
12:26 isBEKaml masak: there's a module for that? Damn, cpan's got everything (only fault, it doesn't have a thesaurus!)
12:26 pmichaud "Smart comments" are a module created by TheDamian -- it allows debugging and other useful features to be placed in code; sometimes they're normal comments, sometimes they do useful things (depending on the 'use' statement)
12:26 sbp duck ♡
12:27 isBEKaml dukgo? you too? :D
12:27 masak isBEKaml: yes. in fact, the '!' syntax was what settled it for me. so nice.
12:27 masak isBEKaml: you should try the new metacpan :)
12:28 isBEKaml masak: yeah, the bang syntax is pretty useful. I use to search Stackoverflow!
12:28 masak I do !w a lot.
12:28 masak and !dictionary
12:28 tadzik I do !g a lot, to be honest ;)
12:29 huf i like that google disregards it so i can do !things no matter which search engine i'm using atm :)
12:29 isBEKaml Oh, smart comments. Like masak++ said, they do sound a lot similar to AOP in java.
12:29 masak I didn't say that :P
12:29 isBEKaml tadzik: that would just defeat dukgo now, won't it? ;)
12:29 isBEKaml masak: well, not a lot! :P
12:30 tadzik isBEKaml: not really. It's just that when ddg doesn't produce good enough results, I can just  add !g to the query to switch to google
12:30 JimmyZ joined #perl6
12:30 masak macros look like subs or operators, but are "called" at parse-time.
12:30 isBEKaml tadzik: or allow it to recommend google. ;)
12:31 masak in terms of the DLX code I'm writing, I could write the algorithm using ordinary hashes, but have them look like objects with methods using macros.
12:31 masak which would give me pretty code *and* no overhead from objects.
12:32 pmichaud I've just cleaned up (removed) some of the outdated branches in the rakudo repo on github;  here's a list of the ones that remain:  http://pmichaud.com/sandbox/branches.txt
12:33 masak put differently, macros can be a convenient carpet under which to sweep some of a language's syntactical deficiencies.
12:33 pmichaud if anyone feels strongly about keeping or removing anything I've listed there, let me know soon.  Or just remove the branch yourself if you're the one nominally in charge of the branch.
12:33 isBEKaml hmm, one thing that worked quite well with macros is that they were implemented only in dynamic programming languages. (Lisp, for eg). I'm not quite sure if macros can be fit in at compile time (while it's at runtime in the case of java)
12:34 masak isBEKaml: er.
12:34 masak isBEKaml: macros *do* execute at compile time.
12:35 isBEKaml masak: I was referring to dynamic languages that have macros (executed at compile time, ofcourse)
12:36 masak isBEKaml: anyway, if you count C macros, then macros definitely mesh with static languages.
12:36 flussence .oO( I can imagine implementing PHP with maybe a few dozen macros... )
12:37 isBEKaml flussence: tell that to a Mr.Lerdorf! :P
12:37 tadzik podparser can be buried, I'll do that
12:37 tadzik gsoc-podparser as well, it's merge
12:37 tadzik d
12:38 tadzik I don't really remember what str-indent is about, probably some hard to track nombug, will take a look in a while
12:38 flussence I think that's master Str.indent...
12:38 isBEKaml masak: Either I'm confused or I haven't seen the full power of macros in C. From whatever little I got out of reading them, C macros don't extend the language in ways that "sweep" their deficiencies under the carpet.
12:39 isBEKaml masak: Granted, this won't be the first time I'm confused..
12:39 tadzik flussence: it's created by me, so I'm not so sure :)
12:39 flussence oh
12:39 tadzik otoh, it's from april :/
12:39 bluescreen10 joined #perl6
12:40 masak isBEKaml: granted, they do it quite clumsily in C, but they still do just that.
12:40 flussence (I wonder if enough of nom works to port that function to it now...)
12:41 isBEKaml masak: Okay, I'll wait and watch how this evolves in p6. :)
12:42 tadzik flussence: nah, that branch is definitely master-based
12:44 jnthn pmichaud: nom-install can go now that nom is installable :)]
12:44 tadzik and seems that it has been merged already
12:44 tadzik removing
12:47 tadzik meh, I should start doing my physics :/
12:47 JimmyZ_ joined #perl6
12:48 tadzik waking up on 1 PM doesn't help motivation at all
12:52 pmichaud jnthn: deleted nom-install branch
12:53 moritz fwiw, nom-exceptions is still important for me
12:53 moritz (I'll rename it myself if necessary)
12:53 Holy_Cow joined #perl6
12:54 pmichaud updated branches.txt to KEEP nom-exceptions
12:54 isBEKaml moritz,pmichaud: Aren't you guys running on master? It's nom based now?
12:55 pmichaud isBEKaml: not yet.  I'm about to make the switch (like, in the next hour or so)
12:55 tadzik pmichaud: str-indent has been removed, as is podparser and gsoc-podparser
12:55 pmichaud I've already done a test switch at https://github.com/pmichaud/rakudo  (a fork of rakudo/rakudo) and it seems to work just fine.
12:55 pmichaud tadzik++ tadzik++ tadzik++   # one karma per branch delete
12:55 tadzik :)
12:56 tadzik taking a look at nom-buf now
12:56 isBEKaml pmichaud: Ohh, so this will be the first time there will be a nom release? :)
12:56 moritz it seems that github doesn't easily allow renaming of master branch
12:56 pmichaud no, it's quite easy.
12:56 moritz one has to change the default branch on the web interface fist
12:56 pmichaud you just have to set the .... right
12:56 moritz *first
12:56 isBEKaml s:2nd/will be/is/
12:56 Chillance joined #perl6
12:56 pmichaud isBEKaml: the next release, whenever it ends up being, will be nom-based.
12:57 pmichaud there's not a lot of point to making another ng-based release, other than perhaps to keep things on schedule.
12:58 isBEKaml pmichaud: ISTR there should be a release now (couple weeks after parrot release)?
12:58 pmichaud isBEKaml: we had to postpone it... the nom branch really isn't release-quality yet
12:58 isBEKaml are we skipping it for a nom promise next time? (sorry for the pun)
12:58 JimmyZ Will operators be marco-ish?
12:59 isBEKaml JimmyZ: you can see operators all over the place! (I feel too punny)
12:59 isBEKaml Marco polo.
12:59 pmichaud we can make a release now if we want... and as of yesterday I was thinking we should do that... but after working on it a bit yesterday I decided that an incomplete and regression-full release may be harder to explain and deal with (for our users) than a simple postponement.
12:59 JimmyZ s/marco/macro/
13:00 pmichaud JimmyZ: many operators will be inlinable, which makes them have some of the characteristics of macros.
13:01 masak JimmyZ: TimToady says he considers short-circuiting operators such as infix:<&&> to be macros.
13:01 masak JimmyZ: that would explain why they short-circuit, i.e. don't always evaluate their rhs.
13:02 isBEKaml pmichaud: I see. Thanks for the clarification. Even as I have been away from the channel, I was following p6 and parrot news. Thanks again.
13:02 pmichaud oh!  github already has a version of my list available!   http://github.com/rakudo/rakudo/branches
13:02 JimmyZ something like sub *fix:<XXXX>() is inlinable { } ?
13:02 jnthn JimmyZ: No
13:02 pmichaud JimmyZ: yes, but you don't need the "is inlinable" part -- the optimizer can figure it out on its own.
13:03 jnthn JimmyZ: It's up to the optimizer.
13:03 jnthn Also, it isn't just operators, any suitable sub could be inlined.
13:03 isBEKaml masak: I don't know if p6 subs/methods have fixity like operators.
13:03 jnthn (Since operators are just subs anyway.)
13:03 pmichaud github++
13:04 tadzik I find this list more helpful: https://github.com/rakudo/rakudo/branches/nom
13:04 isBEKaml they always bind to the left, don't they? $some.<some_method> or $some <some_method>
13:04 pmichaud 1800 commits since the branch from ng
13:04 * JimmyZ is curious how optimizer figure it out ;)
13:05 pmichaud jnthn: can the jnthn-opts branch go away?
13:06 tadzik . o O ( jnthn opts in )
13:06 masak isBEKaml: p6 ops *are* subs/methods.
13:06 jnthn pmichaud: yeah
13:06 jnthn pmichaud: It's master-based
13:06 pmichaud jnthn: deleting
13:07 pmichaud jnthn: deleted jnthn-opts
13:07 isBEKaml masak: ah, 'kay.
13:07 jnthn pmichaud: iirc, the thing I was looking at in it is actually done in nom :)
13:07 pmichaud isBEKaml: fixity on operator subs is done using traits.
13:09 pmichaud sub infix:<xyz>($a, $b) is assoc<right> { ... }
13:10 isBEKaml pmichaud: Ah, that's pretty cool. Unfortunately, the only reference I could find in spec is in S06, with protos.
13:10 pmichaud look for "is assoc" in S06.
13:10 pmichaud S06#2160
13:11 * JimmyZ just realized Perl 6 doesn't use inheritance
13:11 jnthn JimmyZ: er, what? :)
13:11 pmichaud okay, I'm about ready to do the branch renames.  Any last-minute concerns or objections?
13:12 masak JimmyZ: class A is B {}
13:12 tadzik for science!
13:12 jnthn JimmyZ: We have inheritance. :)
13:12 pmichaud Once I do the rename, people will likely need to delete existing repos and re-clone from rakudo/rakudo.
13:12 mtk joined #perl6
13:12 tadzik bah, and I almost compiled nom-buf ;)
13:12 pmichaud tadzik: I can wait a short bit (in fact, I'm still a few minutes out)
13:12 Su-Shee on the subject of nom... ;) http://is.gd/jo2Vow
13:13 JimmyZ maybe I'm confused between traits and inheritance
13:13 tadzik pmichaud: let me just check the state of that
13:13 tadzik JimmyZ: 'is' doesn't always mean inheritance
13:13 pmichaud tadzik: okay, no rush.
13:13 isBEKaml jnthn: yeah, don't know what JimmyZ was referring to. maybe he got sifted in between mixins and inheritance.
13:13 pmichaud yes, here we still have some ambiguity as to what the meaning of "is" is.   :-)
13:13 tadzik grr, it now needs over 70% of my memory
13:13 JimmyZ PHP 5.4 introduced trait
13:14 JimmyZ just like scala
13:14 tadzik that shows me why I wasn't working on anything settings related recently
13:14 isBEKaml JimmyZ: weird, I was trying not to think of Scala when I saw pmichaud++ tell me about traits. :D
13:15 pmichaud moritz: a lot of the branches in the rakudo repo seem to have you as the last committer; can I summarily remove any of those branches that haven't had a commit in 2011?
13:15 JimmyZ isBEKaml:  I agree with pmichaud++
13:15 pmichaud moritz: see https://github.com/rakudo/rakudo/branches -- especially the branches starting with "num-conversion" and below
13:16 JimmyZ isBEKaml:  well, and also PHP 5.4 too
13:17 tadzik pmichaud: okay, nom-buf is still broken, no need to worry about it now
13:17 tadzik Could not find sub &postfix:<++>
13:18 pmichaud I'm afk for about 15 mins.  Will do the branch rename when I return.
13:18 pmichaud (barring objections)
13:18 isBEKaml JimmyZ: Well, I haven't done anything with PHP. But yeah, there's a lot of overlap here that it's so easy to get lost. :)
13:19 Holy_Cow left #perl6
13:20 JimmyZ isBEKaml: PHP are more like java && scala now :(
13:22 isBEKaml JimmyZ: Heh. No! .oO(It's now up to programmers to compartmentalise their brains)
13:23 JimmyZ isBEKaml:  I'm say  syntactic sugar, hehe
13:23 JimmyZ saying
13:23 envi_laptop joined #perl6
13:24 moritz pmichaud: I'll go through the branches and delete mine myself
13:25 im2ee joined #perl6
13:25 xenagi joined #perl6
13:25 xenagi perl6: say 3
13:25 p6eval pugs, rakudo a55346, niecza v9-6-g0b103d1: OUTPUT«3␤»
13:25 isBEKaml JimmyZ: yeah, I understood that. So, next time you're dealing with another language, google that syntax first! ;)
13:25 masak \o/
13:25 woosley joined #perl6
13:30 mberends pmichaud: after the #phasers discussion where everyone but you were against 'ng', and then we could not unanimously bikeshed another name, are we also heading for ng: on the evalbot?
13:31 * mberends still actively dislikes 'ng'
13:32 isBEKaml niecza: my int $x = 42; say $x;
13:32 p6eval niecza v9-6-g0b103d1: OUTPUT«[31m===[0mSORRY![31m===[0m��Malformed my at /tmp/dNeWlQd8tE line 1:�------> [32mmy [33m�[31mint $x = 42; say $x;[0m��Parse failed��»
13:32 isBEKaml niecza: my Int $x = 42; say $x;
13:32 p6eval niecza v9-6-g0b103d1: OUTPUT«42␤»
13:34 bbkr_ niecza: my Int $x = 2147483647 + 1; say $x;
13:34 p6eval niecza v9-6-g0b103d1: OUTPUT«2147483648␤»
13:35 isBEKaml bbkr_: is that int max?
13:35 bbkr_ max of int32
13:36 masak mberends: I wouldn't mind either '2011.07: ' or 'beijing: '
13:36 moritz patches to evalbot welcome and trivial.
13:36 mberends masak: same here
13:37 mberends moritz: my thought is rather that it saves us so much time spent on explanations if the names match
13:38 flussence I like the 'beta' name
13:38 pmichaud I veto 'beta'.
13:38 isBEKaml niecza: my Int $x = 2147483647; say $x + 42;
13:38 p6eval niecza v9-6-g0b103d1: OUTPUT«2147483689␤»
13:38 pmichaud I absolutely do not want the existing 'master' to be somehow known as the "beta version of Rakudo"
13:38 pmichaud it was never intended as such.
13:38 flussence point taken :)
13:39 pmichaud I'm fine for just about any name as a replacement for 'ng'
13:39 pmichaud (except 'beta')
13:39 isBEKaml niecza: my Int $x = 2147483647; say $x ** $x;
13:39 isBEKaml :)
13:39 p6eval niecza v9-6-g0b103d1: OUTPUT«(timeout)»
13:40 pmichaud also, I'm going to hold off on the branch rename until I have the corresponding announcement ready to go (which I'm drafting now)
13:40 pmichaud that way I can release the announcement as soon as the repo is convertged
13:40 * mberends prefers 'beijing' after the foregoing opinions
13:40 dalek evalbot: 154c42c | moritz++ | evalbot.pl:
13:40 dalek evalbot: target rename: nom => rakudo, rakudo => b  (b is common to "bejing" and "b<vetoed>"
13:40 dalek evalbot: review: https://github.com/perl6/evalbot/commit/154c42cc48
13:40 bluescreen10 joined #perl6
13:41 isBEKaml b: say 42 # am I too fast? :D
13:41 moritz isBEKaml: yes
13:41 moritz evalbot control restart
13:41 p6eval joined #perl6
13:42 moritz b: say 1
13:42 p6eval b a55346: OUTPUT«1␤»
13:42 pmichaud I'm going to remove the validate-test-pm and leave_exceptions branches on github.  They're both from 2009.
13:42 flussence if anyone new asks, I'll say "b" is for "bread". It's been in a cupboard for a few weeks and it's slightly mouldy now.
13:42 masak moritz: under the common prefix rule, you could've gone with 'be' :P
13:42 moritz masak: I could have.
13:42 tadzik bee
13:43 pmichaud "to 'be', or not to 'be'"
13:43 pmichaud That is the question.
13:43 pmichaud I prefer 'b' to 'be', fwiw.
13:43 isBEKaml but the bee is going to sting camelia.
13:43 tadzik is it a question?
13:43 mberends flussence++ # :D
13:43 jnthn b**2|<-[b]>**2
13:43 moritz anyway, further evalbot bikeshedding may happen in the form of patches.
13:43 * moritz feels his part is done
13:44 mberends morning++
13:44 tadzik ;)
13:44 mberends er, moritz++
13:44 tadzik silly github, never shows all branches
13:44 pmichaud https://github.com/rakudo/rakudo/branches   looks *much* nicer now.  Thanks all.
13:44 tadzik it used to be "showing 19 of 21", now it's Showing 8 of 11 branches
13:44 sftp_ joined #perl6
13:45 tadzik and now 6 of 9. Gah
13:45 daxim what's alpha?
13:45 moritz daxim: an auld branch
13:45 isBEKaml daxim: before beta, from the time before time.
13:45 pmichaud before ng
13:45 tadzik bng
13:46 pmichaud 'alpha' was the development line before we had protoregexes and nqp-rx
13:46 isBEKaml .oO (I'm new to perl6, wtf is happening here? )
13:46 moritz back in the days when we had backslash escapes in char classes, <?after> and :P5
13:46 moritz ... and lots of Null PMC accesses
13:47 pmichaud and << quoted $words >>
13:47 moritz I'd even say Null PMC excesses
13:47 isBEKaml and .perl needed parens
13:47 moritz it did?
13:48 * JimmyZ didn't thint so
13:48 isBEKaml yeah, I even remember asking a qn about it. (or I misremember)
13:48 JimmyZ think
13:49 pmichaud can we eliminate the 'require' branch?  last updated 2010-09-24 by moritz++
13:49 pmichaud same for 'match_g' branch?
13:50 isBEKaml moritz: match_g? that's from 2010.
13:50 moritz please keep both for now
13:50 pmichaud okay, np.
13:50 drbean joined #perl6
13:50 pmichaud I'm happy to be under 10 branches now :)
13:51 isBEKaml scumbag github, why do you not show all branches in the branch list page? :)
13:51 pmichaud isBEKaml: if you switch branches, it switches the list of branches in the branch list page.  I'm not sure the relationship yet.
13:52 isBEKaml pmichaud: Switch branches(8). Showing branches 6 of 9? :|
13:52 pmichaud yeah, I think it has an off-by-one error somewhere.
13:52 flussence try the "network" tab, that supposedly gives you a gui of every single branch.
13:53 flussence (maybe it only shows which others existed at the time of the selected one?)
13:56 sayu joined #perl6
14:01 buubot_backup joined #perl6
14:01 wk joined #perl6
14:09 isBEKaml b: say 42.perl
14:09 p6eval b a55346: OUTPUT«42␤»
14:10 isBEKaml b: 42.say.perl
14:10 p6eval b a55346: OUTPUT«42␤»
14:10 tadzik eh?
14:10 isBEKaml b: 42.say.say.say.perl
14:10 p6eval b a55346: OUTPUT«42␤Bool::True␤Bool::True␤»
14:10 isBEKaml is that right?
14:11 tadzik doesn't seem so
14:11 isBEKaml 42.say.perl
14:11 tadzik b: say (say 42).WHAT
14:11 p6eval b a55346: OUTPUT«42␤Bool()␤»
14:11 tadzik oh, ok
14:11 tadzik side effect of say()
14:11 masak yes, it's correct.
14:11 tadzik so 42.say.perl is (42.say).perl, .perl() not being printed
14:11 isBEKaml I was expecting, 42 and Bool.True when I chained perl to say.
14:11 tadzik you didn't print the latter
14:12 tadzik b: say 42.say.perl
14:12 p6eval b a55346: OUTPUT«42␤Bool::True␤»
14:13 tadzik so in your case, .perl was in void context
14:14 isBEKaml ah, okay. We usually do $sth.perl.say, so when I did $sth.say.perl, I thought I was chaining .perl to .say. Glad 'b' did the right thing.
14:15 [particle] joined #perl6
14:17 isBEKaml I'll be out in a while. 'night, folks!
14:18 mkramer2 left #perl6
14:18 pmichaud draft announcement for branch rename:  http://pmichaud.com/sandbox/nom.txt
14:18 pmichaud comments/patches welcome
14:18 flussence rakudo: say 'b' ~ ( [X~] 'a'..'z'.pick(5, :replace) );
14:18 p6eval rakudo 53b1d8: OUTPUT«babcdefghijklmnopqrstuvwxyz␤»
14:19 moritz so
14:19 moritz that the "nom" branch is now the "master" branch.
14:19 flussence rakudo: say 'b' ~ ( [X~] ('a'..'z').pick(5, :replace) );
14:19 p6eval rakudo 53b1d8: OUTPUT«bkhorz␤»
14:19 moritz please make that 'the old "nom" branch'
14:19 moritz or 'the branch known as "nom" so far'
14:19 moritz on second thought, "old" isn't good :-)
14:20 pmichaud right.
14:20 flussence .oO( hm, 'bkhorz' is a bit less pronouncable than 'bread' )
14:20 tadzik I can take care of RT too
14:20 flussence "the branch formerly known as nom"
14:21 arnsholt flussence: Then it can be renamed just "the branch" in a little while
14:22 wk joined #perl6
14:22 arnsholt And finally some weird astral Unicode character ^_^
14:23 mberends pmichaud: nom's runtime speed is slower than master. I have figures for that.
14:24 pmichaud mberends: which parts?
14:24 pmichaud our experience thus far is that compile speed is faster
14:24 moritz huh?
14:24 pmichaud sorry, runtime speed is faster
14:24 mberends the startup times are quicker but the per-statement execution times are slower
14:25 mattp_ joined #perl6
14:27 pmichaud is there some way we can get access to those times, or get the methodology used so we can evaluate elsewhere?
14:29 flussence .oO( /usr/bin/script -t + use Devel::Trace; ? )
14:29 moritz rakudo: use Devel::Trace; say 1
14:29 p6eval rakudo 53b1d8: OUTPUT«use Devel::Trace␤say 1␤1␤»
14:30 mberends pmichaud: so far I've been using the new --timing option added to tools/test_summary.pl
14:31 pmichaud that option exists in both nom and ng?
14:31 im2ee joined #perl6
14:31 pmichaud I've updated the draft announcement to simply say "some performance regressions"
14:33 pmichaud reload http://pmichaud.com/sandbox/nom.txt to see the latest.
14:34 PerlJam pmichaud: btw, have you considered just getting rid of the "master" branch and forego all the branch renaming?
14:35 pmichaud PerlJam: briefly, yes.
14:35 TimToady I'd just leave it "master" myself
14:35 TimToady and leave it in the past, like "modern"  :)
14:35 pmichaud I think leaving it as 'master' is likely to confuse git folks.
14:35 TimToady yeah, there's that
14:36 PerlJam I like the way the perl5 repo gives blead instead of master.  We could do the same with nom.
14:37 TimToady rename master to clotted then :)
14:37 pmichaud I'd be okay with eliminating 'master' as a branch name, and simply setting the default branch to 'nom'
14:37 pmichaud I know that jnthn++ was a little sad to see the 'nom' label go.
14:37 TimToady I think renaming things like this is a bit insane
14:37 PerlJam TimToady: me too :)
14:38 pmichaud well, if we have a 'master' branch I think it has to actually be the master, or else we shouldn't have one at all.
14:38 TimToady no reason nom can't stay nom that I can see
14:38 TimToady it's only the master thing that is confusing folks
14:38 pmichaud so, I'd still rename 'master' to 'ng', but leave 'nom' as 'nom' and switch it to be the default.
14:38 PerlJam pmichaud: aye. get rid of master :)
14:38 TimToady it's a reserved word, alas
14:39 PerlJam "reserved word"?
14:39 pmichaud I'd like to hear +1/-1/other from jnthn+masak+moritz+mberends on that notion, though, since they've commented on the topic in the past.
14:39 TimToady reserved by git, anyhoo
14:39 PerlJam TimToady: are you sure?  It's just a default name as far as I can tell.
14:40 flussence it's just convention AFAIK...
14:40 moritz pmichaud: 0
14:40 TimToady it's about as reserved as anything gets in git :)
14:40 pmichaud PerlJam: I think TimToady++ means "reserved by convention"
14:40 PerlJam oh, I see.
14:40 TimToady and Star Trek NG is in the past now too :)
14:40 pmichaud lol
14:40 PerlJam moritz: 0 == neutral?
14:41 moritz PerlJam: yes
14:41 PerlJam just checking
14:41 pmichaud TimToady and PerlJam are +1 on leaving nom as "nom"  (just confirming)
14:41 pmichaud I'm 0.
14:41 PerlJam pmichaud: yep
14:42 pmichaud I'm actually about 0.5, since it means no funny "you need to reclone the repo" stuff.
14:42 mberends I think any branch can be set to what you get when you do 'git clone', and I think the 'nom' name is rather cute, so I support this new suggestion.
14:43 mberends 'master' is probably the default branch name only when you create a new repo.
14:43 PerlJam pmichaud: it does mean that you need to communicate to everyone that "nom" is where all of the development takes place though  ;-)
14:43 pmichaud PerlJam: we've communicated that already, though, many times :)
14:43 JimmyZ I'm -1 on leaving nom as "nom"  :)
14:44 flussence you don't need to reclone the entire repo for a branch rename... but it does make things easier.
14:45 TimToady the basic problem is that we are mixing up two different levels of naming
14:45 PerlJam flussence: indeed, that's the thought that led me to suggest not renaming, because that makes things even easier  :)
14:45 mberends JimmyZ: what's your reason?
14:46 TimToady we'd like to have names for versions that stick forever, and 'nom' is currently serving as that name, as well as the name of a branch
14:47 pmichaud http://pmichaud.com/sandbox/nom-2.txt   has a version of the announcement that doesn't involve a nom->master rename.
14:48 pmichaud rephrased the second paragraph a bit (reload)
14:49 mberends pmichaud: s/many problems/problems/ # it's not that bad
14:49 PerlJam TimToady: humans just aren't very good with "forever" though.
14:49 pmichaud PerlJam: and it's been that way for as long as I can remember.  :-P
14:49 moritz pmichaud: "New incoming tickets will be evaluated against
14:49 moritz the new 'master' branch"
14:49 moritz pmichaud: that seems fossiled
14:50 kaare_ joined #perl6
14:50 pmichaud moritz: now fixed, thanks for catching that
14:50 TimToady PerlJam: Gutsy Gibbon is still Gutsy Gibbon
14:51 PerlJam pmichaud: you should use gist.github.com for these so we can just patch it  :)
14:51 PerlJam pmichaud: s/to file to/to file/
14:51 PerlJam pmichaud: In the same paragraph moritz just mentioned
14:52 pmichaud PerlJam: fixed.
14:52 TimToady so I guess I'm okay with the notion that old master's real name is 'ng', since that's what it always was
14:53 pmichaud right.  we've essentially used 'master' as a branch meaning "default development branch".   But we can use the "default branch" capabilities more directly for that, I suspect.
14:55 pmichaud at any rate, we can certainly do   master->ng without nom->master at this stage, and if for some reason it doesn't work out we can then still do nom->master later.
14:55 thou joined #perl6
14:55 pmichaud but I'm betting it won't be necessary or desirable.
14:57 jnthn eep, I was mentioned, but I've gotta go for the train
14:57 jnthn back later ^
14:57 jnthn er, &
14:58 pmichaud the biggest difference to end-users for this announcement is that if you clone the repository, you default to the 'nom' version of Rakudo instead of the one that was used to build 2011.07
15:00 JimmyZ mberends: It's not terminal  point :)
15:01 cognominal___ will github point by default to nom?
15:01 flussence there's an option there to set the default branch to display
15:01 mberends JimmyZ: ah, ok. Would you like to call the branch 'Ultimate' ? :)
15:02 TimToady .oO(Ultimate Untruth)  :)
15:02 moritz cognominal___: yes
15:02 JimmyZ mberends: it's a on going branch, I think
15:02 pmichaud all branches are ongoing, though.
15:02 cognominal___ that's a git setting or a github setting?
15:02 moritz cognominal___: git
15:03 JimmyZ alpha is a terminal  branch, I think?
15:03 moritz right, the not-onging branches are called "tags"
15:03 moritz JimmyZ: mberends recently updated alpha
15:03 pmichaud JimmyZ: it's only terminal in the sense of "we don't do much there"
15:03 JimmyZ pmichaud: yeah
15:04 pmichaud okay, I have to run some errands.  Additional comments on  branch renames and draft announcement greatly welcomed.
15:05 pmichaud bbi30, I hope.
15:06 JimmyZ or if it's worth, I'm +1 too
15:07 im2ee Does exist something like LWP::Simple (or UserAgent), WWW::Mechanize or IO::Socket::INET for v6?
15:07 moritz im2ee: there's a LWP::Simple. See modules.perl6.org
15:08 im2ee moritz, great! I didn't see it when i was looking there yesterday. Thanks :)
15:08 im2ee And others?
15:08 im2ee IO::Socket? :)
15:09 im2ee And how to install modules for p6? :)
15:09 moritz IO::Socket::INET is core
15:09 moritz im2ee: read the top of that page
15:09 im2ee What does it mean?
15:09 moritz it links to Panda, our module installer (at least I hope it still does :-)
15:09 moritz rakudo: say IO::Socket::INET.new
15:09 p6eval rakudo 53b1d8: OUTPUT«Nothing given for new socket to connect or bind to␤  in method new at src/gen/CORE.setting:4947␤  in <anon> at /tmp/YIkXDpotXd:1␤  in <anon> at /tmp/YIkXDpotXd:1␤␤»
15:10 im2ee So it is build-in? :) Great!
15:10 uasi joined #perl6
15:10 im2ee moritz, thank You very much again. :)
15:11 moritz im2ee: you're welcome. Have fun hacking!
15:14 sorear good * #perl6
15:14 mberends o/ sorear
15:15 moritz \o sorear
15:19 sorear flussence: thanks
15:36 xenagi left #perl6
15:37 sorear How do you set default branches?
15:41 cosimo joined #perl6
15:44 colomon lolifinallyblogged: http://justrakudoit.wordpress.com/2011/08/31/complex-issues/
15:45 alester joined #perl6
15:47 sbp colomon: use the first quadrant associate or its conjugate?
15:47 colomon Is there a reason for that other than convenience?
15:47 colomon *that choice
15:47 moritz sbp: http://feeding.cloud.geek.nz/2008/12/setting-default-git-branch-in-bare.html
15:47 moritz sorry, meant sorear
15:48 * moritz tabfails
15:48 sbp no, just convenience, but I use that in finding complex factors for example. you could do it so that the unit you get over is 1 instead of one of the other complex units, but I think it turned out to be better to normalise to first quadrant or conjugate for some reason... [tries to remember why...]
15:48 moritz sorear: iiuc, that sets the default branch when cloning that repo. Inside an existing repo, a "default branch" doesn't make much sense
15:49 sbp it might have just been that examples in mathematical textbooks tend to normalise in that way, so then it makes things easier when looking them up, you don't have to do quadrant transformations in your head
15:50 sbp in some cases you can normalise to the first *octant*, gaussian primes for example
15:51 sbp (when studying the composition of the primes only)
15:56 MayDaniel joined #perl6
15:56 alester joined #perl6
15:59 alester_ joined #perl6
16:01 colomon Kahan, W. Branch cuts for complex elementary functions; or, Much ado about nothing's sign bit. In Iserles, A., and Powell, M. (eds.), The State of the Art in Numerical Analysis. Clarendon Press (1987), 165-211.
16:01 colomon Hmmm... anyone have access to that?  Util?
16:08 im2ee I have problem with installing panda. tadzik wrote in README that i have to have TAP::Harness - it's perl5's module?
16:09 im2ee Ok, nothing. :D
16:09 im2ee Sorry
16:12 pmichaud back again
16:24 mtk joined #perl6
16:24 wamba joined #perl6
16:39 uasi joined #perl6
16:44 cognominal___ joined #perl6
16:44 mtk joined #perl6
16:45 wamba joined #perl6
16:53 mj41 joined #perl6
16:53 wamba joined #perl6
16:57 im2ee joined #perl6
16:58 wamba joined #perl6
16:59 wamba joined #perl6
17:07 tadzik im2ee: yes it is, but I'm quite sure you have it installed :)
17:07 tadzik I should probably use parrot_prove inside panda
17:16 abercrombie nom evalbot doesn't work now?
17:17 tadzik rakudo: say $=POD.elems
17:17 p6eval rakudo 53b1d8: OUTPUT«0␤»
17:17 tadzik it's nom
17:17 pmichaud I think that nom: ought to work also
17:17 pmichaud as well as rakudo:
17:17 pmichaud "rakudo:
17:17 pmichaud oops
17:18 pmichaud "rakudo:"  should be "whatever branch rakudo considers as default, while "nom:", "b:", and "alpha:" should refer to specific branches
17:18 tadzik +1
17:19 abercrombie oh,so what should I type if I want to use the Rakudo July?
17:19 abercrombie Since there are some differences between the old Rakudo and the new one
17:20 wamba joined #perl6
17:20 pmichaud currently that's "b: "
17:20 pmichaud b: say 'hello';
17:20 p6eval b a55346: OUTPUT«hello␤»
17:20 abercrombie Thanks. And what's the alpha one?
17:21 pmichaud alpha is the version that we had until early 2010
17:21 abercrombie I see. Thank you.
17:21 pmichaud alpha is basically what was available in the 2010-01 release
17:32 kfo_ joined #perl6
17:43 masak joined #perl6
17:43 masak pmichaud: -1
17:43 masak pmichaud: I think it's a bad idea not to have a 'master' branch.
17:43 pmichaud ...because?
17:44 masak because it deviates from a very established practice.
17:44 pmichaud established for rakudo, or for a wider community?
17:44 masak for everyone that uses git.
17:44 masak and it will become a FAQ. and I don't really see the benefit.
17:45 masak granted, there are much more important issues than branch naming, but this seems just an unnecessary complication.
17:49 pmichaud okay, vote noted (and I can agree with your reasoning)
17:49 pmichaud all of the git tutorials refer to 'master', if nothing else.
17:49 pmichaud otoh, at some point a project likely gets large enough that defaulting to 'master' doesn't make sense
17:49 pmichaud what does the linux kernel repo use, ooc?
17:50 masak good question.
17:50 flussence linux uses pretty much every branch/tag feature in git. There is a master, but people generally do stuff in other branches and it all gets rebased+merged later
17:51 pmichaud rebased+merged into what, though?
17:52 flussence into master, which I assume gets tagged as a release/RC once all the merging's complete that cycle
17:52 flussence it's more of a temporary working area than something users are expected to follow
17:52 flussence (at least, as I understand from observing it and reading a bit)
17:52 pmichaud if users aren't expected to follow 'master', then perhaps it makes sense for us to not use 'master' for primary development in the rakudo repo either.
17:53 mberends masak: currently all Rakudo contributors are fine with working in the 'nom' branch even without the convenience of it being the default. The FAQ's have not been so F.
17:55 pmichaud mberends: I think I found the reason for the slowdown in your test timings
17:55 mberends yay!
17:55 mberends .oO( I hope it's not 'say' )
17:55 pmichaud it's most certainly 'say'
17:56 pmichaud because 'say' on nom does a lot more than 'say' does in master
17:56 pmichaud say in nom has to .gist all of its elements
17:56 pmichaud say in master just prints them all out
17:56 mberends hmm, that possibility had crossed my mind
17:56 pmichaud I have some timings for it... just a sec
17:58 mberends I've make a fork of https://github.com/perlpilot/benchmark to investigate speed more deeply, that might also yield some useful data points
17:59 pmichaud http://gist.github.com/1184208  # timing differences in ng vs. nom
17:59 pmichaud ng takes 2.17ms to perform the loop,  master takes 2.20ms.   That's noise-level-ish.
18:00 pmichaud but to do the "is",  ng takes 2.87ms, while nom takes 8.82ms
18:00 pmichaud it's the test harness that is slower in nom
18:01 pmichaud and it's worse when timings are enabled, because there are two 'says'
18:02 pmichaud http://gist.github.com/1184224  # when timings are enabled, greater difference
18:02 mberends then to me it is justifiable to replace 'say' with 'pir::say' in Test.pm, suitably documented
18:02 pmichaud even just replacing it with print() ought to be a lot faster.
18:02 pmichaud it avoids the .gists
18:03 pmichaud at any rate, it's really not nom that is slower at runtime, it's the cost of using 'say' in Test.pm that seems to be the bulk of the slowdown
18:03 mberends ok, that gives me options to try out and implement the best one, fsvo best. :)
18:04 mberends pmichaud++
18:04 * sorear wonders how to test Test.pm6
18:04 sorear I guess redirecting $*OUT would do well
18:04 pmichaud when timings are enabled, the difference is  3.64ms (ng) versus 11.55ms (nom) on my system.
18:04 pmichaud (that's the different in 'is')
18:04 pmichaud *difference
18:05 abercrombie Hi, what's the counterpart in perl6 of the perl5's "while(<STDIN>){ using $_ }"? I read an article mentioned "for =$*IN {using $_}" but I couldn't verify it
18:05 mberends I'll do more benchmarking when the 'say' delays are eliminated, looking for other differences.
18:06 flussence any article using that = syntax is ancient
18:06 pmichaud another way of looking at it:   adding the test timings increases the per-test cost by 9.3ms on my system
18:06 flussence use $*IN.lines
18:06 pmichaud and that overwhelms the cost of the test itself, by two orders of magnitude
18:06 abercrombie I tried this also, but the output gave me some language I don't recognize
18:06 abercrombie rakudo: for $*IN.lines {say $_}
18:06 p6eval rakudo 53b1d8: OUTPUT«Land der Berge, Land am Strome,␤Land der Äcker, Land der Dome,␤Land der Hämmer, zukunftsreich!␤Heimat bist du großer Söhne,␤Volk, begnadet für das Schöne,␤vielgerühmtes Österreich,␤vielgerühmtes Österreich!␤␤Heiß umfehdet, wild umstritten␤liegst dem Erdteil du inmi…
18:07 pmichaud er, maybe just one order of magnitude
18:08 pmichaud anyway, timings become dominated by the cost of producing the timings, not the tests themselves
18:08 djanatyn Hmm.
18:08 djanatyn HTML::Template is kinda...weird.
18:08 djanatyn I mean...>_>
18:08 djanatyn <TMPL_VAR_NAME> # why?
18:09 mberends pmichaud: I'll experiment with accumulating the timings in an array, and outputting them all at the end.
18:10 pmichaud that might speed up the time needed for testing, yes.
18:10 pmichaud as far as getting accurate times on the tests, we need to record the timestamp *before* the result is output
18:10 pmichaud although I guess that doesn't quite work either
18:11 pmichaud the way timings are set up, I guess we have to make the cost of outputting a result as small as possible
18:11 pmichaud right now 'say' is kind of expensive for that.
18:11 mberends push is much faster
18:11 pmichaud not necessarily in nom
18:11 pmichaud arrays aren't cheap either :)
18:12 pmichaud but yes, the use of "# t=..."  in the test output kind of assumes that the time needed for say/print are negligable relative to the tests.
18:12 wallberg joined #perl6
18:12 mberends ok, I can assign two scalars, before and after, and push between test times
18:12 tadzik err, why does say() use .gist, but print() does not?
18:12 pmichaud print stringifies
18:13 pmichaud iirc, it's the "machine-oriented" form of output.
18:13 pmichaud say is more dwimmy now.
18:13 tadzik odd, methinks
18:13 pmichaud take it up with the language designer :)
18:13 flussence (why would .gist be significantly slower than .Str in the first place?)
18:14 pmichaud flussence: it might not be all .gist, either.
18:14 pmichaud there could be other things in 'say' that are slowing it down.
18:14 mberends ok, assigning times before and after a test will not require an array either
18:14 pmichaud and it might not be all 'say', either, it could be something in 'is'
18:15 pmichaud mberends: I don't quite understand how one can properly box a test in the current approach
18:15 mberends the time emitter is located in 'proclaim'
18:15 pmichaud right, it just gives the time of the proclaim
18:15 pmichaud and we infer the time of the test by calculating the difference since the previous proclaim
18:15 pmichaud which necessarily involves the time needed to output the 'ok' result.
18:16 pmichaud plus the time needed to output the previous proclaim.
18:16 mberends yeah, much too simplistic it turns out
18:16 mberends so I can use two scalars to eliminate the 'say' time
18:16 pmichaud I don't understand where the additional scalar will go, though.
18:17 pmichaud but, I don't have to understand at this point. :)
18:17 tadzik so the bottleneck is actually Test.pm itself?
18:17 pmichaud tadzik: Test.pm slows things down, yes.
18:17 mberends I have an idea in mind, let me try to implement it after some afk stuff
18:17 pmichaud tadzik: but that's kind of to be expected -- certainly it takes longer to do a comparison and output results than it does to compute the result of a simple arithmetic operation, for example.
18:17 pmichaud mberends++
18:18 pmichaud tadzik: which takes longer...     $i++ for 1,2,3;    or      is $i, 3, 'for 1,2,3 does three iterations'
18:18 im2ee joined #perl6
18:18 pmichaud I can argue that the second takes longer, if only because it has to do a lot more work than the simple for loop and increment :)
18:18 tadzik true
18:19 tadzik but having all those optimizations and stuff we are still pulled down by the smartness of say() :)
18:19 pmichaud so yes, when we're testing very simple primitives, the test harness tends to make things a lot slower than they would be if they weren't there
18:20 pmichaud oh, proclaim already uses 'print'
18:21 pmichaud those nested blocks will certainly slow things down for now, also.
18:21 flussence .oO( idea for a benchmark - glxgears.pl6 :)
18:21 pmichaud although I guess only on failing/todo tests
18:21 tadzik it's not a benchmark! :P
18:21 pmichaud it's not a benchmark, but it got used as one :)
18:22 pmichaud (and it is a benchmark, because we always talk about the time needed to run spectests :)
18:23 flussence tadzik: it's not a *GL* benchmark, sure :)
18:23 pmichaud anyway, I'm glad to know that nom underneath is still faster, except perhaps for output
18:24 pmichaud and we can perhaps improve output speed -- that's not been something we've optimized for
18:24 pmichaud s/faster/as fast/
18:25 flussence (didn't nom have all that work to reduce the number of parrot objects things used? or was that in both?)
18:25 pmichaud nom reduces the number of objects being created, yes.
18:26 pmichaud at least, it theoretically does so.  I don't know that we've measured it to make certain that's the case.
18:27 pmichaud I could probably improve --stagestats to also report on the number of objects created.  At least I can do that in nqp and nom; not so easy to do in ng
18:29 MayDaniel joined #perl6
18:41 birdwindupbird joined #perl6
18:50 pmichaud masak: ping  (wishful ping)
18:56 PerlJam pmichaud: Did you come to a decision on renaming nom to master or not?
18:56 pmichaud PerlJam: masak had a -1 vote.  (my ping is because I want to explore that vote a bit with him)
18:57 PerlJam oh.
18:57 pmichaud and I'm still wanting to hear from jnthn
18:57 mberends about to edit Test.pm and tools/test_summary.pl, assuming 'nom' branch
18:57 pmichaud branches are still not moved yet
18:57 pmichaud so yes, 'nom' branch is current development branch
18:57 pmichaud at the moment I'm still leaning towards "no master branch"
18:58 PerlJam Was masak's -1 because "master is a git convention we shouldn't break"?
18:58 REPLeffect joined #perl6
18:59 pmichaud PerlJam: http://irclog.perlgeek.de/perl6/2011-08-31#i_4353071
19:00 pmichaud I think we're all agreed that the current master branch moves somewhere else
19:00 pmichaud so the real question is whether we do nom->master or leave nom where it is.
19:00 pmichaud and I'm wondering if masak++ modifies his vote slightly under the knowledge that if we leave 'nom' alone today, that doesn't prevent us from later doing nom->master if we discover that it is indeed a FAQ/issue for git folks
19:00 mberends is this another solution: master is what non-developers pull from, developers always commit to non-master branches, release managers update master from development branches?
19:01 pmichaud that substantially increases the work of the release manager, I think.
19:02 pmichaud and I don't want non-developers pulling from git in general anyway.  tarballs and distributions are what non-developers pull from.
19:02 PerlJam I don't see how it will become a FAQ
19:02 pmichaud someone who is a non-developer should be doing    'git checkout <release>' anyway.
19:02 pmichaud (if they're wanting to pull from github)
19:03 PerlJam perl5 doesn't have a master branch and I don't think it's ever been a problem for them.
19:04 pmichaud yes, I'm a bit dubious on whether it will become a FAQ.  And if it does become a FAQ, it's no more work to do nom->master then than it would be to do it now.
19:04 mberends PerlJam: I've forked Benchmark, how do you feel about me changing the time functions to fraction second resolution?
19:04 PerlJam mberends: feel free.
19:04 pmichaud ...which time functions, ooc?
19:05 tadzik time() I believe
19:05 mberends yes
19:05 pmichaud time() is spec'ed to return Int
19:05 pmichaud (in p6)
19:05 mberends that's why I'd like to change Benchmark, not Rakudo
19:05 pmichaud wfm
19:05 PerlJam mberends: I assume you'd use some PIR to do this?
19:05 pmichaud I don't know what Benchmark is
19:05 commitlurker joined #perl6
19:06 tadzik https://github.com/perlpilot/benchmark/
19:06 pmichaud actually time() isn't specced in p6
19:06 pmichaud term:<time> is
19:06 tadzik what's the rationale for that
19:06 tadzik ?
19:07 pmichaud PerlJam: sub-second time values are  pir::time__N()  in rakudo/nqp :)
19:07 mberends PerlJam: there is a pir:: option and a now.to-posix[0] option which is a bit slower
19:07 pmichaud s/a bit/a lot/
19:07 mberends that's why Test.pm doesn't use it either
19:08 pmichaud exactly :)
19:09 PerlJam I've never viewed Benchmark.pm (Perl 5 or Perl 6) as much good at dealing with fine-grained timing, but if you think it could be useful thus, go for it  :)
19:09 mberends it has potential...
19:09 commitlurker pmichaud: https://github.com/pmichaud/rakudo/commit/ddf06b45f422aa5c2383977d5913401b681c1ab3#diff-4 > looks like the file regressed on some stuff like .pir instead of .nqp etc...
19:09 tadzik maybe we have a need for Time::HiRes which wouldn't be Parrot only
19:10 pmichaud tadzik: well, Time::HiRes would presumably abstract away the underlying machine details
19:11 tadzik yep
19:11 pmichaud commitlurker: +1 -- when I do the switchover for real I'll be sure to not regress that file.
19:11 pmichaud commitlurker: thanks for catching that
19:11 commitlurker np, good work on perl6 btw guys :)
19:11 commitlurker got to run now
19:11 pmichaud commitlurker: thanks!
19:12 mberends hmm, didn't lurk much
19:12 mberends not very committed to lurking
19:12 pmichaud lurking on the commits, not the channel :)
19:20 mkramer joined #perl6
19:38 ab5tract joined #perl6
19:48 colomon joined #perl6
19:51 cognominal_ joined #perl6
19:59 sftp joined #perl6
19:59 mkramer joined #perl6
19:59 mkramer left #perl6
20:00 mberends \o/ some tests are clocking in at < 1ms, pmichaud++ for fingering 'say'
20:01 REPLeffect joined #perl6
20:05 jevin joined #perl6
20:35 mkramer joined #perl6
20:35 cotto_work are some nqp tests ( t/qregex/01-qregex.t) expected to fail?
20:40 mkramer left #perl6
20:58 bluescreen10 joined #perl6
20:59 lue good moritz #perl6 o/
20:59 mberends o/
21:01 lue I just found mu/docs/p6types \o/ . Too bad it's 3 years out of date and I insist on doing it all from scratch anyway :)
21:02 lue [speaking of which, now would be a good time to get back to reading S02...]
21:03 dalek rakudo/nom: 2bac6a9 | (Martin Berends)++ | / (2 files):
21:03 dalek rakudo/nom: [lib/Test.pm] improve accuracy of test timing, pmichaud++ for diagnosing
21:03 dalek rakudo/nom:
21:03 dalek rakudo/nom: This change affects the results in docs/test_summary.times that are
21:03 dalek rakudo/nom: created by 'perl tools/test_summary.pl --timing'.  Prior to this
21:03 dalek rakudo/nom: commit the time calculated for each test included the time taken by
21:03 dalek rakudo/nom: print or say to produce the TAP output.  A recent apparent slowdown
21:03 dalek rakudo/nom: in test performace was traced to 'say' taking longer due to added
21:03 dalek rakudo/nom: functionality.  With this commit the time spent producing TAP output
21:03 dalek rakudo/nom: is excluded from test times, making them shorter and more accurate.
21:03 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2bac6a9877
21:04 lue ooh, mberends++
21:07 mberends it's a big improvement. Tomorrow I'll backport the fix to master and alpha as well.
21:09 pmichaud back from lunch
21:10 dorlamm joined #perl6
21:10 pmichaud cotto_work: I typically get 4 failures in 01-qregex.t
21:12 pmichaud mberends++  # much better approach
21:13 cotto_work pmichaud: thanks
21:13 mberends on an OS X server, the time between two successive pir::time__N calls is 2 microseconds :)
21:24 pmichaud with or without boxing?
21:25 mberends with boxing
21:26 mberends $time_before = nqp::p6box_n(pir::time__N); # and same into $time_after
21:27 y3llow_ joined #perl6
21:27 pothos_ joined #perl6
21:29 MayDaniel joined #perl6
21:32 pmichaud so, not too bad at all when boxing is included
21:32 pmichaud still a bit more than we'd like... but we can live with it for now
21:32 pmichaud does    my num $time_before = pir::time__N();  work, ooc?
21:33 pmichaud nom:  my num $time_before = pir::time__N();  # checking
21:33 pmichaud rakudo:  my num $time_before = pir::time__N();  # checking
21:33 p6eval rakudo 53b1d8:  ( no output )
21:33 pmichaud rakudo:  my num $time_before = pir::time__N();  say nqp::p6box_n($time_before);
21:33 p6eval rakudo 53b1d8: OUTPUT«1314826419.60683␤»
21:33 pmichaud looks like it does.
21:34 pmichaud rakudo:  my num $a = pir::time__N();  my num $b = pir::time__N();  say nqp::p6box_n(nqp::sub_n($b, $a));
21:34 p6eval rakudo 53b1d8: OUTPUT«1.9073486328125e-06␤»
21:35 pmichaud afk for a bit
21:35 mberends the new timings all have a hard floor of a few milliseconds removed from them, so the differences between times will be more apparent
21:36 flussence ooh, kernel.org got broken into
21:38 * lue wonders how many are aware of the lost A20, S27, and S28 drafts...
21:42 flussence oh, that reminds me... can I poke someone to go update S26.html? There's been a lot of FormattingCode fixes since the current version there
21:45 tadzik moritz once told me how to do that, but I don't really remember :) something in /var/somewhere I believe, let me see
21:45 tadzik okay, I know where to put it. Do you have a fresh html lying around?
21:46 flussence yep: https://raw.github.com/gist/1140332/795a15a51980e732f25d2f0d7d122ede8c111916/s26.html
21:49 lue flussence: I like how kernel.org took the opportunity to promote git :) [also, Version 3 is stable‽ wow!]
21:49 flussence been stable for a few weeks now (it's only 2.6.40 renumbered)
21:50 sorear good * #perl6
21:50 mberends \o sorear
21:51 lue good moritz sorear o/
21:52 tadzik Sorry, user tjs is not allowed to execute '/bin/cp s26.html /var/www/syn/S26.html' as root on feather.
21:52 tadzik so much for updating
21:53 sorear tadzik: Juerd has made it very clear that even though I have unrestricted root sudo, I am not allowed to create accounds or modify sudoers
21:54 sorear tadzik: what command(s) do you need me to run?
21:55 flussence sorear: we're trying to get S26 slightly more up to date, that link I gave a few lines up is the newer version
21:57 * flussence afk for a while
21:57 tadzik sorear: cp /home/tjs/s26.html /var/www/syn/S26.html
22:01 sorear done
22:02 Sarten-X joined #perl6
22:04 tadzik thank you
22:05 tadzik flussence: I see you've decided to keep formatting codes in their hand-written forms
22:05 tadzik oh, some of them
22:07 * lue feels he should spend his computer's mass-upgrade time figuring out how to redo the SUPERNOVA parser, and does so.
22:09 molaf joined #perl6
22:10 tadzik I'm looking forward to your thoughts on this
22:13 lue my main goal in the redo is a nice clean way to handle blocks-in-blocks (which I'd have to figure out still if I decided instead to tackle formatting codes)
22:17 lue just looking at S26.html gives me the tuits to work on SUPERNOVA [ so I can generate an S26.html of my own, of course :) ]
22:20 tadzik :)
22:21 dalek niecza: 252c6a5 | sorear++ | lib/Test.pm6:
22:21 dalek niecza: Implement {,eval_}{succeed,fail}s_ok per flussence++
22:21 dalek niecza: review: https://github.com/sorear/niecza/commit/252c6a57ab
22:21 lue btw, any update on block formatting?
22:23 tadzik nothing spec
22:23 tadzik well, there is something
22:23 tadzik =begin foo :formatted<I> and so
22:26 envi_laptop joined #perl6
22:26 dual joined #perl6
22:27 lue Some of the codes would be interesting if allowed for block formatting, e.g. L<>
22:28 tadzik hmmm
22:29 tadzik maybe there needs to be away to express the very same semantics with a more sensemaking syntax
22:29 tadzik like =begin formatting :there :we :go or so
22:32 lue =begin foo :linkto<foo.org> perhaps?
22:33 lue I happen to like =begin foo : format<I> and such, it just becomes funny for some of the codes [perhaps those funny cases get their own config options]
22:33 tadzik I mean something universal, which could easily resemble all formatting codes capabilities. :formatted<B> is nice, but how do you make it :formatted<L[whatever]> or something?
22:34 phenny joined #perl6
22:34 lue .oO(:formatted<L«linkmania»>) I'd outright disallow L<> for block formatting, if I didn't think there was a single edge case for needing it I'm not aware of
22:35 nsh_ joined #perl6
22:36 tadzik why, perhaps making a whole block of text linking to something. Making something impossible because I don't see a use of it doesn't make sense tome
22:37 lue exactly, I want to avoid doing that.
22:41 lue Just brainstorming [I'm not sure how I feel about this idea], how about each formatting code being its own config? e.g. =begin foo :B :L<linkmania>
22:42 tadzik like
22:42 pjcj joined #perl6
22:42 tadzik :formatting<foo> was probably to keep things like this under one namespace
22:43 cexsum joined #perl6
22:43 ponbiki joined #perl6
22:44 lue indeed, just a thought.
22:45 Holy_Cow joined #perl6
22:46 lue Ooh! How about, if the text of the block is a link [perhaps a large one], then :format<L> . If you want to turn the text in the block into a link :format<L«|link.org»> (display text implied to be block contents)
22:46 Holy_Cow left #perl6
22:47 * sorear pokes flussense
22:58 lue nom: my @a = "hai", 3, "we"; say @a; say @a.perl; # never thought I'd see this again
22:59 buubot_backup joined #perl6
22:59 lue um...
22:59 tadzik rakudo:
23:00 tadzik rakudo:my @a = "hai", 3, "we"; say @a; say @a.perl;
23:00 tadzik rakudo: my @a = "hai", 3, "we"; say @a; say @a.perl;
23:00 p6eval rakudo 2bac6a: OUTPUT«hai 3 we␤Array.new("hai", 3, "we")␤»
23:00 lue oh, so now nom is master? [or does rakudo: now go for the more common nom]
23:00 tadzik the latter
23:00 lue [perhaps my error was caused by the use of the REPL. Trying w/o it.]
23:01 lue Oh, i see. I type @.perl instead of @a.perl [and got a Null PMC error as a result]
23:01 lue s/type/typed/
23:10 * flussence unafk (didn't expect to be so long, whoops)
23:14 flussence sorear++ # things in backlog
23:18 lue .oO(wow. mu/misc/pX looks veeery interesting...)
23:31 dalek mu: 524730d | lue++ | AUTHORS:
23:31 dalek mu: Added my name to AUTHORS, for real this time.
23:31 dalek mu: review: https://github.com/perl6/mu/commit/524730dd96
23:34 uasi joined #perl6
23:34 Psyche^ joined #perl6
23:38 wolfman2000 joined #perl6

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo