Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2011-06-22

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:01 TimToady or something more OO-y
00:02 dual left #perl6
00:02 TimToady or event-streamy
00:03 TimToady up till now, we've been trying to sweep event filters under the carpet of feed operators
00:04 TimToady though it's not clear whether bonded upstream-downstream filters are well supported by our current model
00:06 TimToady there's also some of the flavor of "are strings really lists of chars instead of scalars oh wait that's too slow" about the whole thing
00:08 lichtkind tadzik: do you know which modules have some final or productive stauts?
00:08 TimToady in any case we can probably plug a PerlIO workalike extension into P6 more easily than P5
00:09 TimToady which takes some of the pressure off trying to put it into the core langauge
00:09 TimToady *guage
00:10 lichtkind but qp/.../ ~~ :d will become official syntax?
00:11 TimToady it will until it won't :)
00:12 dual joined #perl6
00:13 lichtkind a spiritual correct answer :)
00:13 cotto left #perl6
00:13 sorear so why is it that older programmers seem to hate STREAMS and the like so much, and what is better about PerlIO?
00:26 cotto joined #perl6
00:29 tokuhir__ left #perl6
00:30 thou left #perl6
00:40 impious left #perl6
00:49 jdhore1 left #perl6
00:59 jdhore1 joined #perl6
01:01 noganex_ joined #perl6
01:04 noganex left #perl6
01:05 envi_laptop joined #perl6
01:06 kboga left #perl6
01:07 kboga joined #perl6
01:11 kboga left #perl6
01:24 kboga joined #perl6
01:25 kboga left #perl6
01:49 lichtkind does enaybody know something about web.pm?
01:53 sorear masak would.
01:53 sorear unfortunately, he is unavailable at this late|early hour
01:57 whiteknight left #perl6
02:00 lichtkind sorear: i had make my question more precise, anybody else then him :)
02:16 sjn left #perl6
02:21 sjn joined #perl6
02:22 woosley joined #perl6
02:28 Reaganomicon joined #perl6
02:29 george_z0rwell left #perl6
02:40 wolfman2000 joined #perl6
02:40 wolfman2000 ...been awhile since I've been here
02:41 sorear Welcome back!
02:41 wolfman2000 thanks
02:41 wolfman2000 I actually need a reminder on something silly, and not fully Perl 6 related. I recall that someone here wanted the null value to be Mu. What's the kanji for it again?
02:42 sorear
02:43 sorear xjdic was swapped out
02:43 wolfman2000 thanks. I never understood why we went with that...still find it fascinating
02:43 sorear we didn't, we went with "Mu"
02:43 wolfman2000 ah
02:43 wolfman2000 ...also, why do I have to readjust my terminal for utf-8...gah
02:44 Chillance left #perl6
02:44 sorear much to the annoyance of Chinese programmers who want to call it wu2 :D
02:44 lichtkind :=
02:45 lichtkind i actually anderstand this joke :)
02:45 lichtkind good night
02:45 sorear wú looks better
02:46 lichtkind softer
02:46 lichtkind night
02:46 lichtkind left #perl6
03:03 pjcj left #perl6
03:09 donri left #perl6
03:09 donri joined #perl6
03:12 jaldhar joined #perl6
03:16 sorear wolfman2000: anything else? :D
03:16 sorear it has been a while!
03:16 wolfman2000 things have been...very crazy
03:17 wolfman2000 grad school is done for now: finished up first summer
03:17 wolfman2000 C++ programing for StepMania has picked up, and I finally managed to include some features.
03:17 * sorear has mostly spent the last year messing with Perl 6.
03:18 wolfman2000 how stable is it now?
03:19 sorear what, Perl 6?
03:19 wolfman2000 yes
03:19 sorear *shrug* seems fairly stable.
03:20 TimToady it's stable enough to have almost 300 working examples on rosettacode.org that are expected to continue working for the most part
03:21 wolfman2000 ...okay, this looks like a webpage I should visit more often
03:21 sorear I've been maintaining a 13kloc program since January and haven't had any *major* issues with the semantics changing out from under me
03:21 sorear It's not at the point where you can abandon a large app for 5 years and expect it to still work
03:23 Su-Shee_ joined #perl6
03:24 Su-Shee left #perl6
03:36 daniel-s joined #perl6
03:46 daniel-s left #perl6
03:46 daniel-s_ joined #perl6
03:49 cotto left #perl6
03:53 jaldhar left #perl6
03:53 jaldhar joined #perl6
04:00 daniel-s_ left #perl6
04:17 jaldhar left #perl6
04:17 jaldhar joined #perl6
04:21 molaf joined #perl6
04:22 satyavvd joined #perl6
04:27 cotto joined #perl6
04:39 thou joined #perl6
04:42 kcwu left #perl6
05:01 buubot_backup left #perl6
05:04 molaf left #perl6
05:11 birdwindupbird joined #perl6
05:22 cotto left #perl6
05:25 buubot_backup joined #perl6
05:34 bakedb joined #perl6
05:36 koban joined #perl6
05:43 jaldhar left #perl6
06:00 buubot_backup left #perl6
06:10 moritz good morning
06:10 lue good morning o/
06:11 lue (that's very inconsiderate of Parrot to force -march on me when it doesn't work on my machine :/)
06:14 Su-Shee_ is now known as Su-Shee
06:25 envi_laptop left #perl6
06:27 buubot_backup_ joined #perl6
06:27 jaldhar joined #perl6
06:27 sorear lue: Why did you leave #parrot?
06:28 moritz sorear: re pushing from evalbot, if you su - p6eval, you should be able to push in the evalbot repo
06:29 buubot_backup_ is now known as buubot_backup
06:29 sorear moritz: that's what I thought; it just took ~5 minutes for the push command to finish, so I thought I did something wrong
06:29 sorear but it worked, eventually
06:30 sorear p6eval: help
06:30 p6eval sorear: Usage: <(nom|nqpnet|star|pugs|nqp|mildew|std|niecza|rakudo|perlesque|nqprx|yapsi|alpha|highlight|partcl)(?-xism::\s) $perl6_program>
06:35 buubot_backup left #perl6
06:39 wtw joined #perl6
06:44 beekar left #perl6
06:44 beekar joined #perl6
06:45 thou left #perl6
06:51 buubot_backup joined #perl6
06:57 tadzik seen litchkind
06:57 aloha Sorry, I haven't seen litchkind.
06:58 tadzik seen lichtkind
06:58 aloha lichtkind was last seen in #perl6 4 hours 12 mins ago saying "night".
06:58 awoodland joined #perl6
07:05 bakedb left #perl6
07:11 birdwindupbird left #perl6
07:12 pjcj joined #perl6
07:18 birdwindupbird joined #perl6
07:21 lue sorear: because I solved my problem. Apparently running Rakudo's perl Configure.pl causes -march to be used. Running Parrot's configure script directly (and not thru Rakudo's) corrects it.
07:22 lue [although now I have a cannot load libpcre error compiling Parrot...]
07:22 stepnem left #perl6
07:24 wamba joined #perl6
07:29 tadzik go for --without-pcre
07:31 lue that's what I'm doing right now.
07:34 stephanepayrard_ left #perl6
07:34 eternaleye_ joined #perl6
07:34 eternaleye left #perl6
07:34 stephanepayrard_ joined #perl6
07:35 bbkr_ left #perl6
07:35 bbkr_ joined #perl6
07:40 mj41 joined #perl6
07:42 stepnem joined #perl6
07:45 benabik left #perl6
07:45 benabik_ joined #perl6
07:58 bakedb joined #perl6
07:59 moritz sorear: I don't know what's wrong with the network connection, but git interaction on the evalbot server often takes ages
08:07 jjore left #perl6
08:07 daxim joined #perl6
08:10 daniel-s joined #perl6
08:24 Woodi left #perl6
08:26 Woodi joined #perl6
08:28 koban left #perl6
08:28 koban joined #perl6
08:52 dakkar joined #perl6
08:57 donri left #perl6
09:16 awoodland left #perl6
09:28 bkolera joined #perl6
09:28 _twitch joined #perl6
09:30 cognominal_ joined #perl6
09:31 Reaganomicon left #perl6
09:31 Reaganomicon joined #perl6
09:33 stephanepayrard_ left #perl6
09:38 bkolera left #perl6
09:38 bkolera joined #perl6
09:42 f00li5h[HireMe] is now known as f00li5h
09:50 jjore joined #perl6
09:57 kboga joined #perl6
09:58 tzhs joined #perl6
10:02 Reaganomicon left #perl6
10:02 Reaganomicon joined #perl6
10:04 [particle] joined #perl6
10:06 [particle]1 left #perl6
10:08 woosley left #perl6
10:12 daniel-s left #perl6
10:13 kboga hi p6
10:13 kboga small patch to fix some typo and the missing % operator: http://pastebin.com/Gd1kynKh (btw, both nom's Actions.pm and NQP's NQP.pir seem to have mod_i        => 'mod__Iii',)
10:15 moritz kboga: thank you. Unfortunately I can't apply it right now (I'm on the wrong machine)
10:15 moritz or maybe, just maybe...
10:17 awoodland joined #perl6
10:18 kboga np moritz, there's plenty of time :)
10:19 moritz kboga: it's mostly not about time, but about not forgetting it
10:19 moritz (which is why we usually prefer pull requests and patches in RT)
10:19 kboga right, let me try to do that instead :)
10:20 moritz kboga: no need, I just pushed
10:20 moritz after I remembered my github password, I could just add this machine's ssh key on the web frontend
10:20 moritz kboga++
10:20 kboga i see
10:22 dalek rakudo/nom: 9ccc8eb | moritz++ | src/ (2 files):
10:22 dalek rakudo/nom: fix pow_n opcode, add missing mod_n and infix:<%> for Num.
10:22 dalek rakudo/nom:
10:22 dalek rakudo/nom: Patch courtesy by kboga++
10:22 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9ccc8ebc42
10:22 kboga I'm inexperienced with git (came from svn) but having used the basics it feels right
10:23 kboga thanks for committing moritz++
10:24 dalek nqp: 5a7d782 | moritz++ | src/PAST/NQP.pir:
10:24 dalek nqp: add missing mod_n opcode, kboga++
10:24 dalek nqp: review: https://github.com/perl6/nqp/commit/5a7d7821a1
10:25 moritz kboga: it's nice to see that some people actually read the code, and not just the blog posts :-)
10:26 kboga I'm just interesting in learning new things. Having used p5 in the past I’m starting to like p6.
10:26 moritz \o/
10:27 moritz kboga: submitting a patch for the compiler is quite a nice introduction to the community :-)
10:27 moritz s/the/a/
10:27 * moritz -> lunch
10:28 kboga but hey, the patches I submitted are quite simple
10:31 jaldhar left #perl6
10:31 envi_laptop joined #perl6
10:37 Woodi left #perl6
10:38 Woodi joined #perl6
10:39 kanishka joined #perl6
10:47 awoodland left #perl6
11:05 envi_laptop left #perl6
11:06 jaldhar joined #perl6
11:12 jaldhar left #perl6
11:14 jaldhar joined #perl6
11:18 paul1234 joined #perl6
11:25 bbkr_ left #perl6
11:33 jaldhar left #perl6
11:33 jaldhar joined #perl6
11:38 satyavvd left #perl6
11:45 bbkr_ joined #perl6
11:48 bkolera left #perl6
11:53 wamba left #perl6
11:54 tadzik it doesn't matter, only jnthn and pmichaud submit complex patches :)
11:56 moritz tadzik: thank you for calling all my patches "simple" :-)
11:57 tadzik oh, pardon :) Was just encouraging
11:57 xinming left #perl6
11:58 moritz (though most of my patches *are* simple, I have to admit. Just not all of them :-)
12:00 Grrrr left #perl6
12:01 Chillance joined #perl6
12:04 koban left #perl6
12:05 Bzek joined #perl6
12:06 koban joined #perl6
12:06 takadonet morning all
12:07 orafu left #perl6
12:07 orafu joined #perl6
12:07 leprevost joined #perl6
12:10 Woodi left #perl6
12:11 Woodi joined #perl6
12:15 tzhs left #perl6
12:21 PacoLinux joined #perl6
12:24 lichtkind joined #perl6
12:41 Shozan joined #perl6
12:41 bluescreen10 joined #perl6
12:42 lichtkind left #perl6
12:43 lichtkind joined #perl6
12:45 Holy_Cow joined #perl6
12:49 bluescreen10 left #perl6
12:53 dalek specs: d885007 | (Felix Herrmann)++ | S03-operators.pod:
12:53 dalek specs: [S03] fix filetest example
12:53 dalek specs: review: https://github.com/perl6/specs/commit/d885007338
12:54 wamba joined #perl6
12:56 cotto joined #perl6
12:58 mtk left #perl6
13:03 xinming joined #perl6
13:04 Grrrr joined #perl6
13:07 Holy_Cow left #perl6
13:10 icwiener joined #perl6
13:15 takadonet left #perl6
13:15 dukeleto left #perl6
13:15 dukeleto joined #perl6
13:16 molaf joined #perl6
13:16 daniel-s joined #perl6
13:23 kboga moritz: a pull request is sent: https://github.com/rakudo/rakudo/pull/25
13:23 _twitch left #perl6
13:23 moritz \o/
13:24 icwiener left #perl6
13:26 kboga still many pir ops left tho
13:28 moritz kboga: in your next patch/pull request, please add yourself to CREDITS
13:29 kboga hmm ok, but this is nothing really :)
13:30 moritz kboga: it's much more than nothing - those are useful patches for us
13:32 kanishka left #perl6
13:39 kboga Was studying for my driver's licence, but got bored and wanted to play a bit with git & p6 ...
13:43 lichtkind jnthn: can i drop a 6model question?
13:43 xinming left #perl6
13:55 kcwu joined #perl6
13:56 silug_ joined #perl6
13:56 silug left #perl6
13:57 ashleyde1 joined #perl6
13:58 _twitch joined #perl6
13:58 Shozan left #perl6
14:00 ashleydev left #perl6
14:20 mikemol left #perl6
14:20 dobie_gillis left #perl6
14:21 ruoso_ left #perl6
14:21 tylercurtis left #perl6
14:21 pmichaud good morning, #perl6
14:21 moritz good am, pm
14:21 moritz pmichaud: if you want you can review https://github.com/rakudo/rakudo/pull/25
14:22 moritz pmichaud: I plan to do it later today/tonight, but I won't complain if you beat me to it :-)
14:22 kboga hi pm
14:23 pmichaud moritz: I plan to do it a bit later also, but won't complain if you beat me to it :)
14:25 koban left #perl6
14:30 tokuhirom joined #perl6
14:36 TBA2 left #perl6
14:36 TBA2 joined #perl6
14:37 sorear good * #perl6
14:37 aloha left #perl6
14:38 moritz good morning, sorear
14:39 george_z0rwell joined #perl6
14:40 _twitch left #perl6
14:40 Reaganomicon left #perl6
14:40 hercynium joined #perl6
14:40 daniel-s o/
14:41 aloha joined #perl6
14:42 cotto left #perl6
14:44 colomon o/
14:45 sorear stashes-rewrite is now in debugging phase
14:47 hercynium left #perl6
14:47 rafl left #perl6
14:48 bakedb left #perl6
14:48 envi joined #perl6
14:53 thou joined #perl6
14:54 wtw left #perl6
14:57 daxim left #perl6
14:59 bakedb joined #perl6
15:01 cotto joined #perl6
15:02 dobie_gillis joined #perl6
15:03 daniel-s left #perl6
15:06 Mowah joined #perl6
15:06 tylercurtis joined #perl6
15:06 ruoso joined #perl6
15:10 kaare_ joined #perl6
15:11 takadonet joined #perl6
15:22 lichtkind moritz: that was actually funny (wonder if it was a first time joke)
15:23 cotto left #perl6
15:23 MayDaniel joined #perl6
15:24 REPLeffect joined #perl6
15:29 moritz lichtkind: no, it's quite old
15:33 mkramer joined #perl6
15:34 mkramer left #perl6
15:40 estrabd left #perl6
15:44 estrabd joined #perl6
15:51 mikemol joined #perl6
15:52 mj41 left #perl6
16:06 xinming joined #perl6
16:07 paul1234 left #perl6
16:07 cotto joined #perl6
16:10 * moritz finsiehd the review of kboga's patch. Now compiling a new nqp to tet it :-)
16:17 bitpart joined #perl6
16:21 bitpart left #perl6
16:22 kaare_ left #perl6
16:22 mkramer joined #perl6
16:23 * moritz writes a small script that automates pir:: -> nqp:: translations
16:24 moritz at least the simple ones :-)
16:26 dalek nqp: 1572977 | moritz++ | src/ (2 files):
16:26 dalek nqp: a few simple pir:: to nqp:: changes, and remove trailing whitespace
16:26 dalek nqp: review: https://github.com/perl6/nqp/commit/15729775b9
16:28 birdwindupbird left #perl6
16:29 pmichaud moritz: why patch the files in src/old/  ... ?   ;-)
16:30 cdarroch joined #perl6
16:30 cdarroch left #perl6
16:30 cdarroch joined #perl6
16:30 dalek rakudo/nom: b54894d | kristof++ | src/ (14 files):
16:30 dalek rakudo/nom: Substitute several more pir ops by their nqp op counterparts.
16:30 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b54894d4b6
16:30 dalek rakudo/nom: a60c86a | moritz++ | src/ (14 files):
16:30 dalek rakudo/nom: Merge remote branch 'kboga/nom' into nom
16:30 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a60c86a86c
16:30 dalek rakudo/nom: d92d750 | moritz++ | src/ (5 files):
16:30 dalek rakudo/nom: more pir:: to nqp:: rewrites
16:30 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d92d750db4
16:30 moritz pmichaud: accident, 'find src/' found them :-)
16:34 pmichaud afk, lunch
16:35 TimToady http://rosettacode.org/wiki/Number_names#Perl_6
16:35 dalek rakudo/nom: 1bb9b53 | pmichaud++ | src/ (3 files):
16:35 dalek rakudo/nom: Switch the infix:<=> op to use the perl6 assignment opcode directly
16:35 dalek rakudo/nom: instead of going through a sub to do it.  This results in a 29%
16:35 dalek rakudo/nom: speed improvement on a simple    while $count < 100000 { $count++ }
16:35 dalek rakudo/nom: benchmark.
16:35 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/1bb9b53186
16:35 dalek rakudo/nom: d20aa18 | pmichaud++ | src/ (18 files):
16:35 dalek rakudo/nom: Merge branch 'nom' of github.com:rakudo/rakudo into nom
16:35 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d20aa18fd5
16:36 PerlJam TimToady: the @M assignment almost looks lispy
16:36 pmichaud ...doesn't work in rakudo?
16:36 TimToady no constants
16:36 pmichaud ah
16:37 * pmichaud bumps up the 'get constants working in nom' counter
16:38 pmichaud really lunch this time
16:39 moritz pmichaud: should ++ and -- use pir::perl6_container_store instead of = ? (when you're back from lunch :-)
16:39 moritz ah, probably not needed
16:39 moritz nevermind
16:40 pmichaud since they're using =, they're already using container_store :-)
16:41 moritz yes, I noticed after asking
16:41 pmichaud i.e., every assignment in the core gets equally optimized by the above patch :)
16:41 moritz \o/
16:43 TimToady PerlJam: I felt sorry to put the map in, but I needed to vary the left side of X~ faster than the right
16:44 TimToady mabye RXR~ would work...
16:44 TimToady or something...
16:44 mikemol pmichaud: Isn't there still a level of indirection between ++/-- and container_store, simply due to calling =?
16:45 TimToady sorear: also had to work around a couple buggies
16:45 mikemol (Just an educated guess; I've not looked at the source code)
16:45 moritz mikemol: no, pmichaud changed rakudo so it compiles = down to an opcode, not to a dispatch to &infix:<=>
16:45 TimToady like the = in a list constant doesn't flatten, and probably should
16:46 mikemol ah
16:46 Mowah left #perl6
16:47 impious joined #perl6
16:47 TimToady likewise the 'for' doesn't seem to want to flatten out a .comb(/(\d) ** 1..3)/ -> $i, $x?, $c?
16:48 TimToady so I was forced to recomb
16:51 kst` joined #perl6
16:53 kst left #perl6
16:53 lichtkind thou: i do always tinker a lot with the texts http://perlpunks.de/paste/show/4e021dba.7fbb.d
16:53 thou :-)
16:53 lichtkind thou: the added section goes a bit in the direction you proposed yesterday
16:55 thou lichtkind: is an english translation of this desirable? i'm not clear on the final audience
16:57 broquaint left #perl6
16:57 broquaint joined #perl6
17:01 lichtkind thou: its for $foo perl magazine
17:01 lichtkind thou: german audience
17:01 lichtkind but if you think english reader could benefit
17:01 lichtkind thou: so you think the new section is fine?
17:02 Bzek left #perl6
17:04 dakkar left #perl6
17:05 masak joined #perl6
17:06 masak oh hai, #perl6!
17:06 moritz \o
17:06 masak I can no longer find the time to read logs...
17:06 moritz you need to teach your computer to do it for you
17:06 mkramer left #perl6
17:06 masak ah, that'd be great.
17:06 TimToady you need to find some exponential time to read the logs
17:07 masak the computer could summarize the logs, too.
17:07 * moritz accepts patches to his IRC logs
17:07 TimToady perl6: say log 42
17:07 p6eval pugs: OUTPUT«3.7376696182833684␤»
17:07 p6eval ..niecza v6-177-g365e216: OUTPUT«[31m===[0mSORRY![31m===[0m␤␤Undeclared routine:␤     'log' used at line 1␤␤Unhandled exception: Check failed␤␤  at /home/p6eval/niecza/boot/lib/CORE.setting line 469 (CORE die @ 2) ␤  at /home/p6eval/niecza/src/STD.pm6 line 1133 (STD P6.comp_unit @ 30) ␤  at
17:07 p6eval ../home/p6eval/…
17:07 p6eval ..rakudo 7175e5: OUTPUT«3.73766961828337␤»
17:08 TimToady 3.7376696182833684 is not a very good summary of log 42
17:08 * TimToady concludes that computers are not good at summarizing logs
17:08 moritz ouch
17:16 zamolxes left #perl6
17:16 PerlJam left #perl6
17:17 zamolxes joined #perl6
17:17 PerlJam joined #perl6
17:21 lue left #perl6
17:22 dukeleto left #perl6
17:22 dukeleto joined #perl6
17:24 lue joined #perl6
17:26 wamba left #perl6
17:28 masak TimToady: does it make sense for a nested class to implicitly trust its outer class? or does it only make sense in Java/C# ?
17:29 wooden left #perl6
17:29 molaf left #perl6
17:29 wamba joined #perl6
17:32 TimToady hmm, offhand I'd say it makes more sense for the outer class to trust its inner class
17:32 gfldex does augment work on nested classes?
17:32 TimToady why wouldn't it?
17:32 TimToady a class is just a class on that level
17:32 TimToady nestedness is merely its location
17:33 gfldex so the outer class could augment the inner class at runtime with a method to get what it wants anyway
17:34 TimToady well, only if you use MONKEY_TYPING
17:35 TimToady .oO(Planet of the Monkeys...)
17:35 * pmichaud notes the interesting contradiction in S32/Str.pod lines 207 and 530-535.  :-)
17:35 gfldex there was little trust on that planet IIRC
17:35 TimToady I suppose role composition could be considered "ape" typing
17:36 jaldhar left #perl6
17:37 masak role composition is at least "primate" typing.
17:38 TBA2 masak: what do you mean by implicit trust in java/c#? afaik all classes (in .net at least) regardless of nesting are subject to the same modifiers (so private in a nested class still means private to the outer class), even when inheriting (since only protected members are available to subclasses), and protected only applies to inheritance, not plain nested calsses
17:38 TBA2 s/calsses/classes/
17:38 masak TimToady: my use case is the Memento pattern, in which a nested class has the responsibility of freezing/thawing its outer class. instances of the nested class can then be passed around without breaking encapsulation/data hiding.
17:39 masak TBA2: hold on, I'll get you the code I was looking at.
17:39 apejens left #perl6
17:39 apejens joined #perl6
17:39 masak TBA2: http://en.wikipedia.org/wiki/Memento_pattern
17:40 gfldex TBA2: is the outer class would not trust it's nested classes by default you would have to set it as friend. IIRC that was not possible with all compiles before the outer class was declared completely (had it's closing '}').
17:40 kanishka joined #perl6
17:40 masak TBA2: the outer class calls the nested class's private methods.
17:40 masak TBA2: I'm assuming only it can do that.
17:40 gfldex you need that to have fast iterators
17:40 araujo left #perl6
17:41 TBA2 afaik thats not possible in .net, perhaps only a java thing?
17:41 araujo joined #perl6
17:41 TBA2 personally seems odd to me, private should mean private, always
17:41 masak unless there's a trusts relation.
17:42 TBA2 yes, of course, but should that be default?
17:42 masak that's what I'm asking.
17:42 TBA2 imho if someone wants the outer class to access it, then they'll declare it as such
17:43 masak yes, half of me agrees :)
17:43 TBA2 could get confusing for everyone if people can (easily) start messing with the internals of another class
17:43 gfldex it's a special case
17:43 gfldex a nested class is quite close to the heart of it's mommy
17:43 masak exactly.
17:44 masak the same person is always the author of both.
17:44 TBA2 not necessarily though, they can be logically nested without being directly related
17:44 gfldex well, what are nested classes for in perl6?
17:44 gfldex or better, what does it mean to be nested?
17:47 masak right now it doesn't mean anything, much.
17:47 TBA2 that there's a logical relationship between the two? e.g. in classes representing just a car, it might be decided to put 'SteeringWheel', 'Seat', 'Ashtray' etc inside the Car class, since that makes logical sense, however none of those things are directly related to the 'Car' class
17:47 masak only ordinary lexical nesting, so it can see outer variables.
17:47 masak but not instances of the surrounding class or anything like that.
17:48 lue left #perl6
17:48 TBA2 but nested classes for the most part don't achieve much (even in .Net), unless the purpose is to hide a class from the outside world (e.g., a private class nested inside another class is never visible to anyone outside the outer class)
17:49 wamba left #perl6
17:49 wamba joined #perl6
17:49 masak we can do that with 'my' classes, I guess. but then we still can't pass instances outside, because then others can call methods on it.
17:49 lue joined #perl6
17:50 TBA2 is it really necessary to hide inner classes in perl anyway? has some (minor) benefits where only the compiled code is distributed, but where the source is regularly distributed it makes very little difference since it can be changed
17:50 gfldex if you dont give the nested class special rights, the outer class become redundant to a namespace
17:51 TBA2 gfldex: good point, and thats what makes them virtually useless in other languages too, except for logical organisation :)
17:52 gfldex it's quite useful in c++
17:52 TBA2 what do they do there? (not a c++ programmer in the slightest, can compile it and kinda debug it but thats about it lol)
17:53 gfldex you can reuse sane names, mostly for iterators and therefor use a naming convention
17:53 TBA2 doesnt that come back to semantics and organisation though?
17:54 gfldex so you end up with a individual type for each iterator and the compiler can slap you if you try to use A::iterator on class B
17:55 gfldex on top of that c++ will optimise a lot of stuff away on nested classes because their are friend by default
17:56 masak it's nice to hear you discuss a lot of points I've been thinking about in the last few days :)
17:56 gfldex so masak question might even best be asked to the cunning idividual that is writing the optimiser :)
17:56 TBA2 does it do the same optimisation if the class isn't nested but are marked friend?
17:56 TBA2 (or can't it be?)
17:56 gfldex i believe so
17:57 gfldex well it's more looking for the const in 'void foo() const {}' anyway
17:57 TBA2 so nesting them simply enables friend, and allows some compiler safety checks?
17:57 masak it bears repeating: in Perl 6 currently, a nested class isn't special in any way besides being located spatially instide another class.
17:58 jaldhar joined #perl6
17:58 TBA2 masak: i'm thinking thats how it should be in P6, since nested doesn't define any relationship between the two, except on a logical basis
17:58 gfldex TBA2: it allowes the compiler to _drop_ safety checks
17:58 TBA2 ahh, i see
17:59 gfldex and that may be desireable for perl6 aswell
17:59 gfldex if you compile iterator down in c++ you end up with bare pointer arithmetic
18:00 gfldex and that's where quite a bit of it's speed comes from
18:00 gfldex as less you do as faster you get :)
18:00 gfldex *meep* *meep*
18:00 TBA2 lol, well i think you might be right about this being a question for the optimiser :)
18:01 gfldex maybe somebody can promise jnthn some beer to make him read the above?
18:05 cotto left #perl6
18:06 moritz gfldex: you can
18:09 lichtkind pmichaud: when parrot has 6model built, you will change rakudo?
18:09 pmichaud lichtkind: I don't understand the question
18:10 lichtkind i hear that frequently :)
18:10 pmichaud it's the "change rakudo" part that confuses me, I think.  change it to what?
18:11 tadzik to yapsi
18:11 pmichaud or change it how?
18:11 lichtkind pmichaud: parrot devs plan to adopt the 6model into core, when that is implemented, how that would change rakudo
18:11 moritz lichtkind: rakudo will continue to use nqp. If parrot implements 6model, it will be a nqp change to adopt
18:11 pmichaud it might make it faster.  other than that, I don't think it'll change much -- we're already using 6model in the 'nom' branch of rakudo (which we expect to become the new mainline trunk soon)
18:11 lichtkind pmichaud: or could you then put some parts out of rakudo
18:13 lichtkind pmichaud: thatswhy i asked, i thought when they provied then everything you could sorta drop it but on the other hand for a .net port you need it anyway
18:13 pmichaud nqp is going to be the layer where we map rakudo needs to our backends
18:13 envi left #perl6
18:13 lichtkind makes sense
18:14 lichtkind so you have a nom version of NQP too?
18:14 pmichaud right now there's "nqp" and "nqp-rx"
18:14 pmichaud nqp-rx is the version created in 2009, that is bundled with parrot and that rakudo master uses
18:14 pmichaud nqp is the version created in 2011, that runs 6model and that rakudo-nom uses
18:15 pmichaud nqp is the version we expect to be using and maintaining going forward
18:15 pmichaud when (if?) parrot adopts 6model, then that will simply make it easier to implement nqp.
18:16 lichtkind pmichaud: so that would just make the nqp version of parrot slim
18:16 lichtkind thank you very much
18:16 cognominal_ left #perl6
18:16 pmichaud slimmer, not slim.
18:16 pmichaud there's a lot more to nqp than just 6model
18:16 lichtkind sure :)
18:16 cognominal joined #perl6
18:18 bakedb left #perl6
18:18 lue left #perl6
18:18 lichtkind pmichaud: that helped me greatly
18:18 pmichaud good
18:19 pmichaud I still need to draft the article explaining the rakudo universe.  I haven't figured out where to put it yet... I'm thinking maybe a page on rakudo.org
18:19 pmichaud although maybe it makes more sense as a dated article
18:21 lue joined #perl6
18:21 dalek nqp: ba48021 | pmichaud++ | / (3 files):
18:21 dalek nqp: Add some more nqp:: ops and tests.
18:21 dalek nqp: review: https://github.com/perl6/nqp/commit/ba48021337
18:23 sjn o/
18:23 moritz pmichaud: any ideas for naming the bitwise operators?
18:24 moritz nqp::bitwise_and_s ?
18:24 moritz I find the parrot names (bands) a bit obscure
18:24 sjn newbie-question: what do you do to concatenate every two array elements in the result from an @foo X @bar ?
18:25 moritz X~
18:25 sjn oh nixe
18:25 sjn nice*
18:26 masak used to be X~X at one point, to mirror [~] and >>~<<, I guess.
18:26 masak I'm glad it changed. :)
18:27 * sjn actually tried X~X, but was a bit confused when it didn't work
18:27 lue left #perl6
18:27 masak we also got Z~ along the way. a pleasant addition.
18:28 masak there's no Y~, because cross and zip appear to be the only two fundamental list metaoperations. :P
18:28 sjn ok, next one. how do I strip the _first_ character  of all elements in an array?
18:29 masak map { (.comb)[1..*].join }, @array
18:29 moritz @arr>>.substr(1)
18:29 masak ah, better. :)
18:29 masak rakudo: my @a = <foo bar baz>; .say for @a>>.substr(1)
18:29 p6eval rakudo 7175e5: OUTPUT«oo␤ar␤az␤»
18:30 sjn thanks! :)
18:30 pmichaud in general I'm wanting to keep the nqp names short.
18:30 masak rakudo: my @a = <foo bar baz>; .say for @a>>.flip>>.chop>>.flip
18:30 p6eval rakudo 7175e5: OUTPUT«oo␤ar␤az␤»
18:30 pmichaud see also the note about "aim for consistency with underscores"
18:30 moritz pmichaud: I don't think the bit ops deserve much huffmanization, but you're the boss
18:30 Woodi left #perl6
18:31 pmichaud well, it'd likely be   band_i  and band_s
18:31 pmichaud instead of "bands"
18:31 masak +1
18:31 lue joined #perl6
18:31 pmichaud I agree they don't deserve much huffmanization.  as of yet I'm wondering if they deserve a place in the opcode set at all.
18:31 pmichaud (which is why I haven't done them yet)
18:32 pmichaud could also be "bitand_i"  or  "bwand_i"  ('bw' == 'bitwise')
18:32 pmichaud then instead of 'shl' we have 'bitshiftleft'  or 'bshiftl' or 'bshiftleft' or somesuch
18:33 pmichaud or 'bwshiftl'  or something like that
18:33 cotto joined #perl6
18:33 * masak .oO( naming conventions. they're just a load of bshift. )
18:33 pmichaud parrot's inconsistency in names has caused me no end of trouble.
18:34 sjn btw, is there a "File" type?
18:34 masak sjn: IO
18:34 pmichaud the other nice thing about the nqp:: namespace is that we aren't committed to a name -- if we decide something should be renamed, we can just add a new mapping for the new name and then slowly migrate over the old usages
18:35 sjn ok, so I can write a sub MAIN(IO $infile, IO :$outfile) { ... }
18:35 masak sjn: well...
18:35 sjn :)
18:35 masak sjn: everything that comes in as MAIN parameters is a Str.
18:35 masak sjn: because that's what we write at the prompt.
18:35 sjn right
18:36 masak sjn: there's been discussion about having a layer of magic convert things to Num and stuff.
18:36 sjn but there's no magic checking if those files exist
18:36 masak right now there's no magic at all.
18:36 sjn ok
18:36 masak none in Rakudo, none in spec.
18:36 sjn Str it is then
18:36 pmichaud MAIN($infile where ... )
18:36 masak MAIN($infile as IO)
18:38 dalek nqp: be6433c | pmichaud++ | t/nqp/59-nqpop.t:
18:38 dalek nqp: Add more nqp:: list/iterator tests.
18:38 dalek nqp: review: https://github.com/perl6/nqp/commit/be6433cffe
18:39 masak mini-challenge: read the Java code in http://en.wikipedia.org/wiki/Memento_pattern , and create a corresponding mechanism in Perl 6, using *only spec'd Perl 6 constructs*. doesn't have to be nested classes; the only thing that needs preserving is that only the Originator can restore its state using a Memento instance.
18:40 masak I'm curious if it can be done, and if so, how elegantly.
18:40 cognominal left #perl6
18:40 cognominal joined #perl6
18:41 envi joined #perl6
18:43 dual left #perl6
18:44 cognominal left #perl6
18:45 cognominal joined #perl6
18:48 moritz $obj.^get_value
18:48 moritz erm, wrong usage
18:48 moritz $attrib.get_value($obj) or so
18:51 masak huh. I'd consider attribute introspection to be a very heavy-handed solution.
18:54 cotto left #perl6
18:55 lichtkind rakudo: 1,3,5...11
18:56 p6eval rakudo 7175e5:  ( no output )
18:56 lichtkind rakudo: say 1,3,5...11
18:56 p6eval rakudo 7175e5: OUTPUT«1357911␤»
18:56 masak rakudo: .say for 1, 3 ... 11
18:56 p6eval rakudo 7175e5: OUTPUT«1␤3␤5␤7␤9␤11␤»
18:56 lichtkind rakudo: say 11,9...1
18:56 p6eval rakudo 7175e5: OUTPUT«1197531␤»
18:56 lichtkind great
18:56 masak rakudo: .say for 11, 9 ... 0
18:57 p6eval rakudo 7175e5: OUTPUT«(timeout)11␤9␤7␤5␤3␤1␤-1␤-3␤-5␤-7␤-9␤-11␤-13␤-15␤-17␤-19␤-21␤-23␤-25␤-27␤-29␤-31␤-33␤-35␤-37␤-39␤-41␤-43␤-45␤-47␤-49␤-51␤-53␤-55␤-57␤-59␤-61␤-63␤-65␤-67␤-69␤-71␤-73␤-75␤-77␤-79␤-81␤-83␤-85␤-87␤-89␤-91␤-93␤-95␤-97␤-99␤-101␤-103␤-105␤-107␤-109␤-111␤-113␤-115␤-117␤-119␤-121��
18:57 masak hehe :)
18:57 masak lichtkind: make sure you cover that behaviour :P
18:58 lichtkind what did happen?
18:58 masak it missed.
18:58 lichtkind and why stopped?
18:58 lichtkind rakudo: say 11...1
18:58 p6eval rakudo 7175e5: OUTPUT«1110987654321␤»
18:58 pmichaud it's an infinite list, so it timed out
18:58 masak rakudo: .say for 11 ... 1
18:58 p6eval rakudo 7175e5: OUTPUT«11␤10␤9␤8␤7␤6␤5␤4␤3␤2␤1␤»
18:59 lichtkind rakudo: say 11,$^n-2...1
18:59 p6eval rakudo 7175e5: OUTPUT«Null PMC access in can()␤  in main program body at line 1:/tmp/K1CiBlyyTE␤»
18:59 * masak submits rakudobug
18:59 dalek nqp: 68ed28c | pmichaud++ | / (2 files):
18:59 dalek nqp: Fix nqp::cmp_{i|n|s} opcodes, add tests.
18:59 dalek nqp: review: https://github.com/perl6/nqp/commit/68ed28c097
18:59 thou lichtkind: sorry, i had a phone call, am now getting back to your article....
18:59 lichtkind thou: everythings fine
18:59 lichtkind thou: the paste is still some hours valid
19:00 sorear niecza: say "abcdefghij".comb(/(\d) ** 1..3/).perl
19:00 p6eval niecza v6-177-g365e216: OUTPUT«[].list␤»
19:01 lichtkind rakudo: say 11,*-2...1
19:01 p6eval rakudo 7175e5: OUTPUT«1197531␤»
19:01 lichtkind i love perl 6
19:02 masak :)
19:02 masak rakudo: $^n
19:02 p6eval rakudo 7175e5:  ( no output )
19:02 masak rakudo: say $^n
19:02 p6eval rakudo 7175e5: OUTPUT«Null PMC access in type()␤  in main program body at line 22:/tmp/xTpZaXwJ9H␤»
19:03 lichtkind rakudo: say 11,{$^n-2}...1
19:03 p6eval rakudo 7175e5: OUTPUT«1197531␤»
19:03 lichtkind now i got it
19:04 TBA2 masak: http://pastebin.com/heFLEaB4
19:04 sorear good * #perl6
19:04 TBA2 just as easily it seems
19:04 masak sorear: \o
19:05 dual joined #perl6
19:05 masak TBA2: Memento.getSavedState breaks the data hiding we meant to preserve by using the pattern in the first place.
19:05 TBA2 masak: oops lol, let me take another look
19:05 masak anyone can call it and get the value, not just an Originator.
19:06 masak nice code, though :)
19:06 masak TBA2++
19:06 masak TBA2: the ::Memento in the signature on line 14 doesn't do what you probably meant.
19:07 masak TBA2: ::Foo is a forward reference to some not-yet-declared type. unless you're in a signature, then it's a type variable.
19:07 TBA2 ahh yes, had forgotten about that
19:09 TBA2 masak: aside from that, could you clarify what you mean by it breaks the pattern? just reread the pattern and (im probably missing something) but the memento isn't changeable once its created?
19:09 masak TBA2: private String getSavedState()
19:10 masak the method is private; it can't be called from outside of Originator.
19:10 TBA2 ahh the other way around, only that class should be able to *get* the data
19:10 masak yes.
19:10 * TBA2 is sure this can be done
19:10 masak that way, we don't expose the internal state of Originator.
19:11 TBA2 well
19:11 dalek rakudo/nom: a3b692d | pmichaud++ | / (2 files):
19:11 dalek rakudo/nom: Bump NQP_REVISION to get new nqp:: opcode definitions (and reduce
19:11 dalek rakudo/nom: the number of definitions needed in src/Perl6/Actions.pm).
19:11 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a3b692d721
19:12 TBA2 we cant enforce it just by making it private in the same way java can (hence the discussion we had earlier  i assume?), but could we look at the caller and make sure its an Originator?
19:12 * TBA2 consults the synopsis
19:12 TBA2 (after making a cup of tea :p)
19:12 masak that's an original idea. :)
19:13 masak if I derived from Originator, would the deriving class then be able to call Memento.getSavedState? probably not a good idea if it could.
19:14 TBA2 presumably we'd want it not to, hence hiding the data, so we need to know if its 100% definitely that type, not just if its that type or a subclass
19:14 * TBA2 seems to have the word 'hence' stuck in his head
19:15 ChrisDennis left #perl6
19:16 jevin joined #perl6
19:16 TBA2 what happens in the java pattern? can subclasses of the originator see the data or only the originator? i assume only the originator, that would be protected otherwise?
19:19 gfldex one could use introspection to build the nested class Memento and augment Originator by that nested class
19:19 pochi left #perl6
19:19 gfldex at least if all private members have state
19:19 pochi joined #perl6
19:21 TBA2 if people can augment classes, couldn't they simply augment originator to get the nested memento and even augment the memento to retrieve the data?
19:21 gfldex they could
19:21 gfldex but if you like you can have with a shotgun to keep them away
19:21 gfldex s/have/wave/
19:21 TBA2 lol
19:22 TBA2 im just thinking if we can augment the class, why bother trying to hide anything in the first place?
19:22 gfldex and you can use a role to stick sateTomemento and restoreFromMemento into the class
19:23 lue left #perl6
19:23 donri joined #perl6
19:24 thou lichtkind: was ich verstehe, sieht mich gut aus ;-)
19:25 birdwindupbird joined #perl6
19:26 lue joined #perl6
19:28 TBA2 i take it caller() isn't implemented in rakudo yet?
19:28 moritz right
19:28 TBA2 any way to get similar info by calling parrot?
19:28 moritz or... not sure. But callframe() is implemented in master
19:29 moritz rakudo: say callframe().file
19:29 p6eval rakudo 7175e5: OUTPUT«/tmp/Za_yKdAbsS␤»
19:29 moritz rakudo: say callframe(1).file
19:29 p6eval rakudo 7175e5: OUTPUT«Any()␤»
19:31 TBA2 not sure callframe will help :(
19:32 moritz TBA2: what do you need?
19:33 TBA2 thinking about it im not really sure lol, was hoping the name of the class which owns the sub that made the call
19:33 TBA2 i suppose something like p5's ref($obj) =~ m/ObjectType/
19:33 moritz don't
19:35 moritz if you want it for debugging, use $obj.WHAT
19:35 TBA2 in what way dont? :) im not sure itd have worked anyway, it could be easily fooled
19:35 moritz if you want it for type checks, use ~~ or isa or does
19:35 TBA2 the problem is, without knowing who the caller is, we cant do any type checks anyway?
19:36 sjn how does one prepend a string to every element in an array?
19:36 sorear for @array { $_ = $string ~ $_ }
19:36 sorear @array = $string X~ @array
19:37 sorear @array = $string »~« @array
19:37 TBA2 sorear: what happened to the BSCINABTE bit? ;)
19:39 TBA2 moritz: dont really know enough about rakudo yet, but im not sure that the entire pattern can be implemented properly as it is, not without some major trickery going on, which would be rather pointless anyway :)
19:39 sjn rakudo: ("X" «~» <a b c>)>>.say
19:39 p6eval rakudo 7175e5: OUTPUT«Xa␤Xb␤Xc␤»
19:40 sjn rakudo: ("X" «~« <a b c>)>>.say
19:40 p6eval rakudo 7175e5: OUTPUT«Xa␤Xb␤Xc␤»
19:41 moritz rakudo: say (<X Y> »~« <a b c>).perl
19:41 p6eval rakudo 7175e5: OUTPUT«Sorry, lists on both sides of non-dwimmy hyperop are not of same length:␤    left:  2 elements␤    right: 3 elements␤␤  in 'hyper' at line 192:src/gen/core.pm␤  in main program body at line 1:src/metamodel/RoleToInstanceApplier.nqp␤»
19:41 icwiener joined #perl6
19:41 moritz rakudo: say (<X Y> «~» <a b c>).perl
19:41 p6eval rakudo 7175e5: OUTPUT«["Xa", "Yb", "Xc"]␤»
19:41 TBA2 thats pretty cool lol!
19:42 cotto joined #perl6
19:53 jlaire karma c
19:53 aloha c has karma of 474.
19:53 cotto left #perl6
19:53 jlaire karma c++
19:53 aloha c++ has karma of 0.
19:53 jlaire karma c
19:53 aloha c has karma of 475.
19:54 gfldex some get all the blame and some get all the fame. it's a dogs world
19:55 jlaire c++++
19:55 jlaire karma c++
19:55 aloha c++ has karma of 0.
19:55 jlaire karma c+
19:55 aloha c+ has karma of 0.
19:55 jlaire yup
19:56 sjn Any way to get rid of this message, when running perl6 from outside it's build dir? PARROT VM: Could not load bytecode
19:56 sjn Could not load oplib `perl6_ops'
19:56 envi left #perl6
19:56 TBA2 make install?
19:57 sjn fair enough
19:59 moritz git rm README
20:03 leprevost left #perl6
20:04 mkramer1 joined #perl6
20:08 sjn how does one do secondary sorts?
20:08 sjn e.g. first by length of a string, then alphabetically
20:09 moritz two options:
20:09 masak @a.sort(&alpha).sort(+ *.chars)
20:09 moritz what is &alpha?
20:09 masak er. I cheated.
20:10 moritz just use @a.sort.sort(*.chars)
20:10 masak oh, troo.
20:10 masak or .sort(*.Str)
20:10 moritz second option: @a.sort: { $a.chars <=> $b.chars || $a leg $b }
20:10 sjn sort(*.chars | *.Str)
20:11 masak doesn't guarantee ordering.
20:11 sjn right
20:11 masak junctions are inherently unordered.
20:11 masak and you want the order.
20:12 sjn mm
20:12 masak not sure how the above would behave, actually.
20:12 * sjn remembers
20:12 masak rakudo: my @a = "foo", "foo_long", "bar", "gah", "gafz"; .say for @a.sort( *.chars | *.Str )
20:12 p6eval rakudo 7175e5: OUTPUT«any("foo", "bar", "gah", "gafz", "foo_long")␤»
20:13 masak seems to sort on length only in Rakudo.
20:13 masak not immediately sure why.
20:13 moritz well, it returns a junction
20:13 moritz and that is unordered
20:13 masak guess that could be explanation enough, yes.
20:14 moritz ah well
20:14 masak thinking about that junction threading through the sorting algorithm makes my head hurt a little, though :)
20:14 masak junctions are a bit dangerous.
20:15 moritz the sort does the equivalent of  { ($^a.chars | $^a.Str) cmp ($^b.chars | $^b.Str) }
20:15 masak right.
20:15 masak which might well be any(True, False)
20:15 moritz right
20:15 masak which boolifies to True.
20:15 moritz but
20:15 moritz the algorithm will do something like
20:16 moritz if $result == -1 { ... } elsif $result == 1 { ... } else { ... }
20:16 masak oh right.
20:16 masak cmp gives any(-1, 0, 1)
20:16 moritz and since $result will likely boild down to any(1, -1, 0)  or so
20:16 moritz it depends on the internal ordering of the branches
20:16 masak aye
20:20 masak hm, Rakudo has ChangeLog and release announcements going back to 2009, but git logs going back all the way to 2006.
20:20 starcoder2 left #perl6
20:20 moritz masak: that's because in parrot times it didn't have separate releases
20:20 masak ah, yes.
20:21 moritz masak: but the revision history for languages/perl6/ was imported into the rakudo git repo
20:21 masak git++
20:21 * masak makes a "highlights" summary of Rakudo's history since 2006
20:22 masak so 2009-02 marks "Rakudo detached from Parrot repo" :)
20:22 masak moritz: oh btw, congratulations on becoming Rakudo-Parrot spokesperson.
20:22 dalek rakudo/nom: 8086939 | jnthn++ | src/Perl6/Metamodel/BOOTSTRAP.pm:
20:22 dalek rakudo/nom: Optimize boolification a little.
20:22 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/808693981f
20:22 moritz oh, has it been announced?
20:23 masak I saw something on parrot-dev about it.
20:23 masak might've read too much into it, I dunno.
20:24 chris99 joined #perl6
20:24 starcoder2 joined #perl6
20:24 masak the point where the draft becomes a real document seems to be on Friday.
20:25 pmichaud I sent a message to parrot-dev and p6c
20:25 TimToady masak: re http://irclog.perlgeek.de/perl6/2011-06-22#i_3983685 you can always pass an instance out wrapped in another class that gives no access to it except to carry it back into somewhere with private access to the wrapper class; a typed (void*) as it were
20:26 Woodi joined #perl6
20:26 * masak mulls over this
20:27 masak ooh look that is so cute: https://github.com/rakudo/rakudo/blob/9dfadd9ea4190886fa9cdfb4e1327139a071d307/lib/grammar.g :)
20:27 masak five years ago, and then some.
20:28 TimToady since then it's been turning into a teenager
20:29 masak "Perl 6: now a teenager"
20:29 masak that's a blog post in itself.
20:29 masak actually, I'll use that in my first FPW talk on Sat ;)
20:30 masak though after actually counting a bit... don't the teens begin at... 13? :)
20:30 masak Perl 6 only turns 11 this year.
20:30 pmichaud tell that to my daughter
20:30 masak :P
20:30 pmichaud she definitely started being a teenager before 13.
20:30 TimToady "no longer almost a pre-teen..."
20:31 huf soon it'll be legal?
20:31 huf oy vey
20:32 masak I'm sure Perl 6 will be a very responsible youth.
20:32 masak wow, 'infix:-' looks so ugly nowadays... :)
20:32 huf depends on the circle of friends
20:33 huf it's very hard to go against peer pressure when you're a t een
20:34 masak I'd say 2006-04-14 marks the "birth" of Rakudo. at least according to the story told my the logs. so much activity that day. pmichaud++
20:35 jnthn oh noes, masak is gonna dredge up my awful first commits :)
20:35 masak mwhaha
20:35 masak thanks for tipping me off :P
20:36 masak wow, Leo was still around in 2006.
20:37 TimToady masak: http://irclog.perlgeek.de/perl6/2011-06-22#i_3984044 is half wrong, see S06:3239
20:39 masak TimToady: indeed. how did I manage to forget that? :)
20:40 mj41 joined #perl6
20:40 TimToady it the primitive handling <1 2.3 1+3i> as well
20:41 TimToady *it's
20:41 masak right.
20:41 TimToady or any other situation where the user is forced to express values as text
20:41 TimToady but doesn't really want to use eval
20:41 masak back in 2006 Zop was called Yop.
20:42 masak TimToady: a kind of "val eval" :)
20:42 TimToady eval without the e-vil.
20:42 buubot_backup TimToady: ERROR: syntax error at (eval 28) line 2, at EOF
20:42 TimToady buubot_backup: you have a tremendous grasp of the obvious
20:42 buubot_backup TimToady: Couldn't match input.
20:42 TimToady as I said...
20:43 masak :)
20:48 birdwindupbird left #perl6
20:49 masak it's a bit saddening to see all the HLLs mentioned in the git (svn) logs from around 2006.
20:49 masak I don't get the impression that as many are around today.
20:49 masak maybe it's just that they're less visible from having left the nest, but... I'm not sure that's it.
20:50 pmichaud not as many are around today
20:50 masak zCode, ook, pheme...
20:50 TimToady perl6: my @array = <a b c>; @array [XR~]= 'X'; say ~@array;
20:51 p6eval niecza v6-177-g365e216: OUTPUT«Xa Xb Xc␤»
20:51 p6eval ..rakudo 7175e5: OUTPUT«===SORRY!===␤Confused at line 22, near "@array [XR"␤»
20:51 p6eval ..pugs: OUTPUT«*** ␤    Unexpected "["␤    expecting operator␤    at /tmp/HnU4KnCNLe line 1, column 29␤»
20:51 masak niecza++
20:52 TimToady perl6: my @array = <a b c>; @array XR~= 'X'; say ~@array;
20:52 p6eval niecza v6-177-g365e216: OUTPUT«Unhandled exception: Unable to resolve method ctxzyg in class List␤  at /home/p6eval/niecza/src/NieczaPassSimplifier.pm6 line 185 (NieczaPassSimplifier run_optree @ 3) ␤  at /home/p6eval/niecza/src/NieczaPassSimplifier.pm6 line 188 (NieczaPassSimplifier run_optree @
20:52 p6eval ..8) ␤ …
20:52 p6eval ..rakudo 7175e5: OUTPUT«a b c␤»
20:52 p6eval ..pugs: OUTPUT«*** ␤    Unexpected "XR"␤    expecting operator␤    at /tmp/Ic_vb7pThY line 1, column 29␤»
20:53 masak hm. how does Rakudo parse that?
20:53 jnthn std: my @array = <a b c>; @array XR~= 'X'; say ~@array;
20:53 p6eval std 37a0cdd: OUTPUT«ok 00:01 122m␤»
20:54 pmichaud rakudo parses it exactly the way it reads :)
20:54 TimToady probably XR[~=]
20:54 masak why isn't that an erroneous modification of a constant?
20:55 TimToady maybe that's why niecza blows up on it
20:55 * masak submits rakudobug
20:55 TimToady if so, message is LTA
20:55 jnthn may be a lack of decontainerization somewhere
20:55 masak rakudo: my $a = 'a'; $a R~= 'X'; say $a
20:55 p6eval rakudo 7175e5: OUTPUT«Cannot modify readonly value␤  in '&infix:<=>' at line 1:src/metamodel/RoleToInstanceApplier.nqp␤  in 'reverseargs' at line 134:src/gen/core.pm␤  in main program body at line 1:src/metamodel/RoleToInstanceApplier.nqp␤»
20:55 masak rakudo: my $a = 'a'; $a XR~= 'X'; say $a
20:55 p6eval rakudo 7175e5: OUTPUT«a␤»
20:56 jnthn rakudo: ('a' R~ 'b') = 1
20:56 p6eval rakudo 7175e5:  ( no output )
20:57 jnthn golfd.
20:57 masak jnthn++
20:57 sorear masak: today is also the 1 year anniversary of niecza's first commit
20:57 diakopter putt for dough
20:57 masak sorear: btw, 'ctxzyg' is a wonderful method name :P
20:57 masak sorear: ooh, happy anniversary!
20:57 TimToady niecza: my @array = <a b c>; @array X[R~]= 'X'; say ~@array;
20:57 p6eval niecza v6-177-g365e216: OUTPUT«Unhandled exception: Unable to resolve method ctxzyg in class List␤  at /home/p6eval/niecza/src/NieczaPassSimplifier.pm6 line 185 (NieczaPassSimplifier run_optree @ 3) ␤  at /home/p6eval/niecza/src/NieczaPassSimplifier.pm6 line 188 (NieczaPassSimplifier run_optree @
20:57 p6eval ..8) ␤ …
20:57 moritz niecza.age++
20:58 TimToady niecza: my @array = <a b c>; @array X[[R~]=] 'X'; say ~@array;
20:58 p6eval niecza v6-177-g365e216: OUTPUT«Unhandled exception: Unable to resolve method ctxzyg in class List␤  at /home/p6eval/niecza/src/NieczaPassSimplifier.pm6 line 185 (NieczaPassSimplifier run_optree @ 3) ␤  at /home/p6eval/niecza/src/NieczaPassSimplifier.pm6 line 188 (NieczaPassSimplifier run_optree @
20:58 p6eval ..8) ␤ …
20:58 sorear bah, ctxzyg shouldn't be leaking out like that...
20:59 masak "leaking out" is a subset of "LTA" ;)
20:59 TimToady niecza: my @array = <a b c>; @array [XR~]= 'X'; say ~@array;
20:59 p6eval niecza v6-177-g365e216: OUTPUT«Xa Xb Xc␤»
20:59 TimToady well, at least the part that's supposed to work works :)
20:59 masak rakudo: ('a' R~ 'b') = 1; say "alive"
20:59 p6eval rakudo 7175e5: OUTPUT«alive␤»
21:00 TimToady niecza: ('a' R~ 'b') = 1; say "alive"
21:00 p6eval niecza v6-177-g365e216: OUTPUT«Unhandled exception: assigning to readonly value␤  at /tmp/tJLrMAqJYE line 1 (MAIN mainline @ 1) ␤  at /home/p6eval/niecza/lib/CORE.setting line 1770 (CORE C837_ANON @ 2) ␤  at /home/p6eval/niecza/lib/CORE.setting line 1771 (CORE module-CORE @ 57) ␤  at
21:00 p6eval ../home/p6eval/niecz…
21:02 lue left #perl6
21:04 TimToady hmm, p6eval seems to be emitting orfins again
21:04 sorear orfins?
21:04 sorear ohright
21:06 lue joined #perl6
21:06 szabgab left #perl6
21:07 lue left #perl6
21:08 diakopter what's an orfin
21:08 p6eval left #perl6
21:09 p6eval joined #perl6
21:10 sorear diakopter: https://secure.wikimedia.org/wikipedia/en/wiki/Orphan_(typesetting)
21:10 diakopter oh
21:11 p6eval left #perl6
21:11 p6eval joined #perl6
21:12 p6eval left #perl6
21:13 p6eval joined #perl6
21:15 sorear is using bytes::substr as bad an idea as it sounds?
21:15 mkramer1 left #perl6
21:15 moritz in p5?
21:16 diakopter in the p6eval bot, I assume he means
21:17 masak it's confusing when the same feature is implemented several times in the history of Rakudo. :)
21:17 p6eval left #perl6
21:18 masak statement_mod if/unless were implemented first in April 2006, then again in Dec 2007.
21:18 jnthn Can't wait for you to start tracking all the lists implementations :P
21:18 masak o.O
21:18 diakopter talk about a LoL
21:19 moritz oh, and please summerize what each could do, and what they couldn't
21:19 masak :P
21:19 * masak skims harder
21:19 pjcj left #perl6
21:20 pmichaud sometimes the "same feature" isn't the same, because the spec changed :)
21:20 wamba left #perl6
21:20 pmichaud masak: all of this skimming is for a talk?  I think I should be worried.  1/2  :-)
21:21 masak I see the half smiley, but I don't understand the cause for any worry :)
21:21 masak I research my talks, is that worrying?
21:21 jnthn .oO( I hystery of Rakudo )
21:21 jnthn s/I/A/
21:21 jnthn :)
21:21 sorear what's masak gonna do?
21:22 masak sorear: talk about Rakudo and Niecza in Paris.
21:22 sorear D:
21:22 p6eval joined #perl6
21:22 jnthn omgz what did they get up to in Paris?!
21:22 PerlJam "What would Rakudo look like today if we'd kept the list semantics of <insert some date>?"
21:22 masak what happens in Paris stays in Paris.
21:22 jnthn :P
21:22 sorear PerlJam: A right mess.
21:22 pmichaud masak's talks often contain a few nuggets of potential embarassment for me :)
21:22 masak pmichaud: oh!
21:23 cotto joined #perl6
21:23 pmichaud "Rakudo:  a long List of fail()s"  :-P
21:23 masak pmichaud: I'm not out to do that at all. I want to show the progress that's happened in the past two-three years.
21:23 masak but yes, inherent in that is a lot of rewrites. but I don't think that's embarrassing.
21:24 dalek evalbot: be41d10 | sorear++ | lib/EvalbotExecuter.pm:
21:24 dalek evalbot: Tweak orphan avoidance again; take revision strings into account.
21:24 dalek evalbot: review: https://github.com/perl6/evalbot/commit/be41d10fc7
21:24 pmichaud masak: thus the half-smiley.  your talks are uniformly excellent, and humorous, and fun, and often contain a comment or two at my expense (which I actually enjoy also)
21:24 sorear lots of rewrites, sure, but I don't think the actual semantics have changed much at all in the last year
21:24 pmichaud well, except for lists and iterators.  :)
21:24 pmichaud and stringy.
21:24 jnthn and multis.
21:24 sorear yes, masak++'s sense of humor is second to none
21:25 masak pmichaud: thanks for the kind words. I've never intentionally set out to put you or any other Rakudo dev in a tight spot.
21:25 pmichaud masak: it's probably not coming across well, but any worry I have is mostly feigned.  :)
21:25 kanishka left #perl6
21:25 masak I suspected that :)
21:25 pmichaud oh, and we changed the meaning of   the ? quantifier in regexes
21:26 masak twice.
21:26 jnthn pmichaud: Did we catch up with that change in Rakudo/nqp yet?
21:26 pmichaud jnthn: not yet.  we should do that soon.
21:26 masak or maybe we just thought about it the second time...
21:26 jnthn pmichaud: We could always wiat for it to change a third time. :P
21:26 pmichaud masak: yes, it's changed twice
21:26 PerlJam The meaning of ? didn't change ... just the results  ;)
21:26 tadzik hello, the herd
21:26 masak tadzik! \o/
21:26 pmichaud meaning == results to me :)
21:26 jnthn o/ tadzik
21:27 masak hii, jnthn++'s first commit! :)
21:27 masak bf6fe0dc4 on 2007-12-16.
21:27 dalek rakudo/nom: de6123d | pmichaud++ | NOMMAP.markdown:
21:27 dalek rakudo/nom: NOMMAP update for $foo.&var() not working.
21:27 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/de6123d816
21:27 dalek rakudo/nom: a099c6c | pmichaud++ | src/Perl6/Metamodel/BOOTSTRAP.pm:
21:27 dalek rakudo/nom: Merge branch 'nom' of github.com:rakudo/rakudo into nom
21:27 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a099c6cc84
21:27 dalek rakudo/nom: 9b36ac2 | pmichaud++ | src/core/Cool.pm:
21:27 dalek rakudo/nom: Add first implementation of Cool.fmt .
21:27 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9b36ac2fb0
21:27 masak it starts implementing junctions. way to dive into a project, jnthn! :)
21:28 masak back then, .eigenstates was called, .values
21:28 pmichaud oh, and we keep changing the meaning of booleans, too :)
21:28 tadzik my LUG group thinks writing a C compiler is close to insanity and undoable during the summer. I'm now both confused and motivated
21:28 pmichaud or at least the boolean API
21:28 masak pmichaud: "But what is truth?" :P
21:28 pmichaud 42!
21:28 jnthn masak: You do know the reason I ended up in Rakudo is because I drank a load of beer at Oscon and then told Pm I'd implement Junctions? :)
21:28 pmichaud answer comes tomorrow!
21:29 lichtkind thou: next paste comes soon
21:29 masak jnthn: yes, I've heard the story :)
21:29 pmichaud rakudo (and Perl 6) as we know it doesn't exist without alcohol
21:29 lichtkind jnthn: sounds plausible :)
21:29 jnthn What I didn't realize was the dependencies doing junctions implied :)
21:30 pmichaud afk for a bit
21:30 pmichaud oh, before I go
21:30 PerlJam jnthn: the rest of rakudo?  :)
21:30 masak could someone write a working example of TimToady's idea at http://irclog.perlgeek.de/perl6/2011-06-22#i_3984668 ? I loosely understand it, but can't make it solidify in my mind into actual code.
21:30 pmichaud I should mention that I now consider rakudo to be an "official" Perl 6 compiler.  :)
21:30 masak (kthxbai)
21:30 pmichaud (have for several months, in fact)
21:30 PerlJam pmichaud: you need to make a prominent public announcement about it though  :)
21:30 jnthn Like Yapsi! \o/
21:31 pmichaud yes, so yapsi is no longer the only one.  :)
21:31 masak yeah ywah, join the club.
21:31 masak now you only have to be a complete implementation, too :P
21:32 TimToady niecza: my @array = <a b c>, <d e f>; say @array[1]
21:32 p6eval niecza v6-177-g365e216: OUTPUT«b␤»
21:32 masak 2007-12-17: jnthn's first "oops" commit :P
21:32 TimToady niecza: constant @array = <a b c>, <d e f>; say @array[1]
21:32 p6eval niecza v6-177-g365e216: OUTPUT«def␤»
21:32 TimToady sorear: note the difference ^^
21:32 jnthn masak: One day after? :P
21:32 masak :P
21:32 jnthn masak: There's also one where I mis-spelt Rakudo. :P
21:32 sorear I should join a LUG
21:32 masak it hasn't changed name yet.
21:33 sorear TimToady: yeah.
21:33 jnthn masak: I didn't learn the new name properly before using it in a commit message :P
21:33 sorear TimToady: I'm not sure what the semantics should be though
21:33 masak jnthn: I understand, it's not that easy.
21:33 moritz it should be consistent :-)
21:33 TimToady sorear: I had to sprinkel some .flats into http://rosettacode.org/wiki/Number_names#Perl_6 because of that
21:33 TimToady *kle
21:34 sorear TimToady: yeah, I saw.
21:34 tadzik ooh, YAPC::EU schedule
21:34 sorear TimToady: what were you trying to do with .comb(/(\d) ** 1..3/) ?
21:34 masak New Year's Eve 2007: jnthn++ implements the 'given' statement :)
21:35 PerlJam masak: as long as you're perusing history, it might be an interesting trek to see all of the parrot commits that were a result of changes to rakudo and vice-versa
21:35 TimToady trying to bind it to -> $i, $x, $c {...}
21:35 TimToady on a reversed string of digits
21:35 lichtkind TimToady: sometimes i think the origin of the word perl was a simple pun involving the word shell :)
21:35 PerlJam s/were a result/were a direct result/
21:35 TimToady well, $i, $x?, $c?
21:35 sorear TimToady: I thought .comb returned only strings, not matches
21:35 masak PerlJam: urgh. this bit of research is already to big... :)
21:35 * sorear checks S32 again
21:35 PerlJam masak: file it away for the next one then :)
21:35 TimToady oh, I think you're right
21:36 TimToady lemme try it with .match
21:36 sorear hmm, I wonder if just .comb would do what you want
21:36 sorear .comb -> $i, $x?, $c?
21:36 TimToady I thought I tried that one
21:37 sorear I wouldn't be suprised if "for" with optional parameters is broken in niecza.
21:37 sorear niecza: for 1,2,3 -> $x, $y? { say $x; say $y // 10 }
21:37 p6eval niecza v6-177-g365e216: OUTPUT«1␤2␤Unhandled exception: System.NullReferenceException: Object reference not set to an instance of an object␤  at Niecza.Kernel.NewBoundVar (Int32 mode, Niecza.STable type, Niecza.Variable rhs) [0x00000] in <filename unknown>:0 ␤  at MAIN.C0_mainline (Niec…
21:38 TimToady yeah, that...
21:38 sorear niecza: given 1 -> $x, $y? { }
21:38 p6eval niecza v6-177-g365e216: OUTPUT«Potential difficulties:␤  $x is declared but not used at /tmp/reK6iAhbQA line 1:␤------> [32mgiven 1 -> [33m⏏[31m$x, $y? { }[0m␤  $y is declared but not used at /tmp/reK6iAhbQA line 1:␤------> [32mgiven 1 -> $x, [33m⏏[31m$y? { }[0m␤␤»…
21:38 sorear niecza: given 1 -> $x, $y? { } #OK
21:38 p6eval niecza v6-177-g365e216:  ( no output )
21:39 masak seems the perl6->rakudo rename happened on 2008-01-16.
21:40 jnthn sleep &
21:42 lichtkind jnthn: o/
21:42 tadzik lichtkind: o/
21:42 tadzik you were asking about something...
21:42 lichtkind tadzik: thanks but that was directed to jnthn
21:42 tadzik oh, final or production status of modules
21:42 lichtkind i will stay a bit
21:42 tadzik that's a tricky one :)
21:43 lichtkind yes
21:43 lichtkind simple questions i can answer myself :)
21:44 TimToady narcolepsis &
21:44 masak rakudo: sub foo { -> { say "OH HAI" } }; foo.()
21:44 p6eval rakudo 7175e5: OUTPUT«OH HAI␤»
21:45 masak in 2008, that seems to have meant 'foo()'
21:45 Patterner left #perl6
21:47 Psyche^ joined #perl6
21:47 Psyche^ is now known as Patterner
21:47 masak my colleagues don't believe in uncuddling 'else's. should I care?
21:47 tadzik no
21:47 tadzik I love cuddling
21:47 diakopter no
21:48 diakopter be tolerant
21:48 masak aye
21:48 TBA2 } masak {?
21:48 diakopter lol
21:48 masak TBA2: that's cuddling :)
21:48 tadzik the cuddle operator
21:48 tadzik } masak { should parse as "hugme: hug masak"
21:48 masak TBA2: wait, was that an invitation, or just a query for clarification? :P
21:49 TBA2 masak: you decide
21:49 * masak deftly changes the subject
21:49 masak it's raining here.
21:49 TBA2 its always raining here lol
21:50 masak TBA2: are you in a rainforest?
21:50 TBA2 rain is good for programming
21:50 TBA2 no, Wales lol
21:50 masak :)
21:50 TBA2 i think its actually wetter here than the Amazon in rainy season
21:51 masak back in 2008, we had a class called Object.
21:51 masak those were the days.
21:54 * TBA2 likes S17... a lot!
21:55 masak it's one of the fairly liquid ones.
21:55 TBA2 if it can be kept roughly as it is, it'll be a massive improvement to threading compared to almost every other language i've used
21:56 TBA2 perl5's ithreads and .net threading are a nightmare, S17 makes it looks extremely neat (and easy to follow)
21:56 sorear wait, really?
21:56 sorear I couldn't understand S17 so I implemented .net threading instead
21:56 masak I'm surprised, too.
21:57 TBA2 perhaps i just have more experience with threading than i ever cared for lol
21:57 TBA2 :/
21:57 * diakopter waits for jnthn to chime in
21:57 sorear if you understand S17, perhaps you could explain it to me. :/
21:57 TBA2 also been doing a lot with threading in p5 the last few weeks
21:57 masak most of S17 looks like blue-sky ruminations.
21:57 TBA2 lol, not sure i could explain it in terms of a compiler implementation :p but so far as being understandable and usable, it looks pretty good to me lol
21:58 masak diakopter: jnthn's asleep, and won't chime until the morning :)
21:58 PerlJam TBA2: even the signal stuff?
21:58 diakopter oh
21:59 lichtkind tadzik: so you dont know of any modules you would recommend, even as good coding practice?
22:01 TBA2 PerlJam: reasonably yeah, well, it seems a hell of a lot better than the way p5 does it
22:01 tadzik lichtkind: good coding practice, to read?
22:01 lichtkind tadzik: yes
22:02 lichtkind lichtkind: but practical modules would also be important
22:03 TBA2 sorear: what is it you didnt like about S17?
22:03 tadzik most of them are good :) ABC, JSON, Web.pm has lots of good code
22:03 TBA2 masak: do you think S17 should change, or will need to?
22:03 tadzik URI gets better and better recently
22:04 sorear TBA2: I just read it and I'm confused about what exactly is critical means
22:04 masak TBA2: just skimming it makes alarm bells go off in my head.
22:04 tadzik Druid is very nice too
22:04 masak tadzik: it was the first OO project I wrote in Perl 6 :) long ago, back in 2008.
22:05 TBA2 sorear: the way i read it is, if you mark something as 'is critical', that will never be interrupted during execution (and neither will anything thats called from it). if theres any interruptions, they wait until the 'is critical' block has ended
22:05 sorear TBA2: what if there are more than one thread?
22:05 TBA2 presumably they get stored on the signals queue
22:05 TBA2 sorear: what type of threads? OS threads or Perl6 'threads'?
22:05 * masak finally reaches a point of information overload
22:06 TBA2 the only risk i see with is critical would be the 'and stuff called from it' bit, could potentially leave an entire program as uninterruptable
22:06 sorear this is 2011.  Perl 6 threads have to be able to take advantage of people's 48-core MacBooks
22:07 sorear yapsi: say 5
22:07 masak Rakudo Timeline: https://gist.github.com/1041370 -- neither very authorative or complete. I've tried to focus on the big picture.
22:07 p6eval yapsi: OUTPUT«(timeout)»
22:07 sorear yapsi: say 5
22:07 masak wow, Yapsi is slow.
22:07 p6eval yapsi: OUTPUT«(timeout)»
22:07 diakopter you can timeout that again
22:08 masak I didn't get to edublog today. :( I hope to find some catch-up time tomorrowish.
22:08 masak need sleep. 'night, #perl6.
22:08 diakopter 'n
22:08 TBA2 night masak
22:08 masak left #perl6
22:09 wooden joined #perl6
22:09 wooden left #perl6
22:09 wooden joined #perl6
22:10 sorear yapsi does work correctly on the p6eval box
22:10 sorear but user    0m49.487s
22:10 sorear out of a 12s timeout...
22:10 diakopter OoO
22:12 TBA2 id better sleep too lol, night #perl6
22:14 sorear yapsi: say 5
22:14 p6eval yapsi: OUTPUT«5␤»
22:14 sorear precompiling Yapsi.pm to pir helps a lot.
22:16 mikemol Once I finish getting this chatterbot working the way I want it to, I think I'll set my sights on that C++ implementation of NQP. It's sounding like more and more fun.
22:16 alester left #perl6
22:20 lichtkind tadzik: thank you
22:25 Sarten-X left #perl6
22:25 lichtkind what was the new regex feature that largely drove the ng branch?
22:28 sorear lichtkind: protoregexes
22:28 lichtkind thank you
22:28 sorear they require a tight integration between the regex engine and the OO system to work
22:29 lichtkind and is it possible to get 100% of rakudo written in NQP?
22:29 sorear pre-ng, our regex engine was completely separate from almost everything else
22:29 sorear yes
22:29 lichtkind but were not yet there?
22:29 sorear we're very close
22:29 sorear well
22:29 sorear we're sort of cheating
22:30 lichtkind :)
22:30 sorear a lot of the C and all of the PIR that was in Rakudo has been moved to NQP
22:31 sorear ultimately some things have to be implemented as primitives
22:33 MayDaniel left #perl6
22:34 diakopter karma jnthn
22:34 aloha jnthn has karma of 872.
22:35 lichtkind sorear: but some of it was stolen code from niecza?
22:35 sorear no
22:35 lichtkind but inspired?
22:35 sorear my dreams of niecza being a fruitful prototyping ground have yet to be released
22:35 sorear realized
22:40 lichtkind dream are always urging to come true :)
22:40 mj41 left #perl6
22:44 pjcj joined #perl6
22:49 TBA2_mobi joined #perl6
22:54 TBA2_mobi sorear: just wanted to add, to implement something like is critical in .net IL you'd need to hook into windows messaging to absorb any messages (signals) your compiler gets, that way you can ignore them or pass them on to the perl code. Not sure how that would work in terms of mono, but in windows it should be (reasonably) straightforward windows api calls to intercept the messages before .net framework takes its default actions
22:55 jferrero left #perl6
23:00 sorear TBA2_mobi: what if there is more than one OS thread?  does is critical need to grab the GIL?
23:02 TBA2_mobi left #perl6
23:05 AndroUser2 joined #perl6
23:06 AndroUser2 Terrible connection lol
23:06 AndroUser2 Its tba2 btw, damn android irc lol
23:08 AndroUser2 You'll need to queue any messages until the perl code has exited all of the critical blocks, then presumably release them in the same order, should seem invisible to perl
23:10 AndroUser2 Also, if perl programmers shouldnt have to care about the underlying os, then perhaps all signals/messages should be captured and verified before they reach perl. Would come with a performance penalty thoufh
23:11 sorear AndroUser2: what if there is more than one OS thread?  does is critical need to grab the GIL?
23:11 spq1 left #perl6
23:11 sorear you have the same username and you're coming in from the same /28; it's obvious you're the same person
23:12 diakopter obvious only to someone who notices that
23:12 Sarten-X joined #perl6
23:14 AndroUser2 left #perl6
23:17 AndroUser2 joined #perl6
23:19 AndroUser2 I give up with this mobile thing lol, ok if we discuss it more tomorrow sorear?
23:19 sorear yes
23:19 AndroUser2 Gives me a chance to think about my answer too lol ;p
23:20 AndroUser2 Lol :) night (again) #perl6
23:20 cdarroch left #perl6
23:20 AndroUser2 left #perl6
23:26 bitpart joined #perl6
23:28 lichtkind good night
23:29 lichtkind and remember lol isnt funny in perl 6 :)
23:29 lichtkind its just a list context :)
23:30 dalek niecza: 2c21c29 | sorear++ | / (13 files):
23:30 dalek niecza: Rewrite stash handling
23:30 dalek niecza:
23:30 dalek niecza: There are no more grafts, no more real concept of "stash paths", and
23:30 dalek niecza: Foo::Bar really does define and use package Foo now.  As per jnthn's
23:30 dalek niecza: design, non-packages can now replace packages in place, allowing
23:30 dalek niecza: class Foo::Bar; class Foo to work again.  Things are generally
23:30 dalek niecza: simpler; starting support for CORE:: and friends.
23:30 dalek niecza: review: https://github.com/sorear/niecza/commit/2c21c29a06
23:35 cotto left #perl6
23:37 thou left #perl6
23:39 ashleyde1 left #perl6
23:39 tokuhirom left #perl6
23:40 tokuhirom joined #perl6
23:41 tokuhirom left #perl6
23:41 tokuhirom joined #perl6
23:42 cotto joined #perl6
23:44 dalek niecza: ad0bcf6 | sorear++ | src/ (3 files):
23:44 dalek niecza: Mergeback augments
23:44 dalek niecza: review: https://github.com/sorear/niecza/commit/ad0bcf6541
23:44 whiteknight joined #perl6
23:48 lichtkind good night
23:53 cotto left #perl6
23:54 Woodi left #perl6
23:55 bitpart left #perl6

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

Perl 6 | Reference Documentation | Rakudo