Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2011-10-15

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:00 dalek niecza/serialize: 3dc4789 | sorear++ | lib/ (2 files):
00:00 dalek niecza/serialize: Implement freezing for types
00:00 dalek niecza/serialize: review: https://github.com/sorear/niecza/commit/3dc478933d
00:15 whiteknight joined #perl6
00:16 uasi joined #perl6
00:19 jaldhar joined #perl6
00:30 whiteknight joined #perl6
00:54 dalek niecza/serialize: dc6dd55 | sorear++ | lib/ (5 files):
00:54 dalek niecza/serialize: Implement serialization for Frame, finally kill off hashtable lexicals
00:54 dalek niecza/serialize: review: https://github.com/sorear/niecza/commit/dc6dd55018
01:01 sjohnson (´ー` )
01:20 wolfman2000 joined #perl6
01:22 ingy TimToady: did you cancel your install?
01:22 ingy I can't imagine that you are a happy camper if you didn't :)
01:31 ingy nom: say 7**7**7
01:31 p6eval nom ce15be: OUTPUT«-9223372036854775808␤»
01:31 sorear nice and fast.
01:31 ingy niecza: say 7**7**7
01:31 ingy unless it's wrong
01:31 ingy :)
01:32 p6eval niecza v10-46-gb99829c: OUTPUT«(timeout)»
01:32 ingy it looks hella wrong
01:32 ingy as it should be a 695k digit positive integer
01:33 ingy pugs: say 7**7**7
01:33 p6eval pugs c943eeb: OUTPUT«37598235267837885389221309308959108170663338059843769637876671028620503749437009877925935534580551076982787849712140205012377935385665515045664751687736249019437077979989526456436651735516461110172819432169190223389490833141266444067484549869286875086025837440442573…
01:33 colomon that's asking a lot ... damn, pugs is fast at that!
01:33 ingy that's more like it
01:34 ingy colomon: on my slow 32 bit machine ruby takes 7 sec, niecza 19, pugs 0.12
01:34 ingy sorear can explain why :)
01:34 ingy and nom can't do math
01:34 colomon huh.  niecza's still trying to figure it out on my machine
01:34 colomon two minutes and counting
01:35 ingy pugs: say 8**8**8
01:35 p6eval pugs c943eeb: OUTPUT«Inf␤»
01:35 ingy that's a bug I'm working on
01:35 colomon 8**8**8 is?
01:35 colomon niecza: say 8**8
01:35 p6eval niecza v10-46-gb99829c: OUTPUT«16777216␤»
01:36 ingy nom: say 8**8
01:36 p6eval nom ce15be: OUTPUT«16777216␤»
01:36 ingy pugs: say 8**8
01:36 p6eval pugs c943eeb: OUTPUT«16777216␤»
01:36 ingy nom can do some math I guess :)
01:37 ingy pugs: say 2**2**2
01:37 p6eval pugs c943eeb: OUTPUT«16␤»
01:37 ingy pugs: say 3**3**3
01:37 p6eval pugs c943eeb: OUTPUT«7625597484987␤»
01:37 colomon nom's just completely braindead when it comes to things that overflow int64.  (maybe int32 on some machines)
01:37 ingy pugs: say 3**27
01:37 p6eval pugs c943eeb: OUTPUT«7625597484987␤»
01:38 ingy pugs: say 27**3
01:38 p6eval pugs c943eeb: OUTPUT«19683␤»
01:38 ingy right assoc
01:38 ingy nom: say 3**3**3
01:38 colomon yup
01:38 p6eval nom ce15be: OUTPUT«7625597484987␤»
01:38 ingy ok
01:38 ingy it's got the assoc right (npi)
01:39 snarkyboojum nom: 2**64, 2**63, 2**62
01:39 p6eval nom ce15be:  ( no output )
01:39 ingy nom: say 6**6**6
01:39 p6eval nom ce15be: OUTPUT«-9223372036854775808␤»
01:39 ingy meh
01:39 snarkyboojum nom: say 2**64, 2**63, 2**62
01:39 p6eval nom ce15be: OUTPUT«-9223372036854775808-92233720368547758084611686018427387904␤»
01:39 snarkyboojum so it can do 2**62 :)
01:39 ingy :)
01:39 kmwallio joined #perl6
01:40 TiMBuS is nom or parrot supposed to handle auto-bignumification
01:40 colomon ingy: the thing is, older versions of rakudo went to great lengths to trap overflowing native int operations.  nom doesn't do that because the Right Thing To Do is to switch to bignums.  Unfortunately, nom doesn't have bignums yet.
01:40 colomon TiMBuS: nom
01:40 TiMBuS what um. whats parrots job again :v
01:40 ingy :D
01:41 ingy the parrot is dead, man
01:41 snarkyboojum actually running it on hardware :)
01:41 ingy he's just asleep
01:41 colomon ingy: what, it joined the bleeding choir invisible?
01:47 ZapZ joined #perl6
01:48 snarkyboojum left #perl6
01:48 ggoebel joined #perl6
01:49 snarkyboojum joined #perl6
02:03 packetknife joined #perl6
02:12 sorear TiMBuS: Parrot is like Java, but with an insane design because the sane designs are all patented.
02:13 TiMBuS that didnt stop google :p
02:13 sorear see also chromatic's latest blog post
02:14 TiMBuS angrymanblogs.com
02:14 sorear I can see where they're coming from, and sometimes I'm even tempted to join them
02:15 sorear but I don't think there's a lot of point in niecza competing for the "Perl 6 implementation that runs on parrot" niche, nom fills that adequately
02:18 snarkyboojum it'll be great when rakudo master can run code which was written to run on the previous incarnation e.g. regex stuff is filled out
02:18 snarkyboojum like panda
02:19 snarkyboojum and we can start using the module ecosystem again on nom
02:25 TiMBuS looking through this source here, i guess noms idea is to make all ints/numbers bignums? because there's certainly no futureproofing that i can see in place for eg, auto-upgrading ints
02:25 TiMBuS python3k style
02:27 drbean joined #perl6
02:28 mkramer joined #perl6
02:58 drbean joined #perl6
03:01 cognominal joined #perl6
03:33 uasi joined #perl6
03:37 wooden joined #perl6
03:40 lateau__ joined #perl6
03:47 dalek niecza/serialize: 8ed36ea | sorear++ | / (4 files):
03:47 dalek niecza/serialize: Wire up serializer to run after pre-compiler
03:47 dalek niecza/serialize: review: https://github.com/sorear/niecza/commit/8ed36eab47
03:47 * sorear now has a .ser file.  Almost certainly mis-written
03:48 tadzik phenny: pl "ser"?
03:48 phenny tadzik: "cheese" (pl to en, translate.google.com)
03:48 sorear phenny: es "ser"?
03:48 phenny sorear: "be" (es to en, translate.google.com)
03:49 snarkyboojum rakudo: class A { method a($a as Str) {} }
03:49 p6eval rakudo ce15be:  ( no output )
03:49 snarkyboojum niecza: class A { method a($a as Str) {} }
03:49 p6eval niecza v10-46-gb99829c: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Action method trait_mod:as not yet implemented at /tmp/s4PyNbdltr line 1:â�¤------> [32mclass A { method a($a as Str[33mâ��[31m) {} }[0mâ�¤â�¤â�¤Unhandled Exception: Cannot use hash access on an object of type Strâ�¤  at  line 0 (Ex…
03:49 snarkyboojum wah
03:50 snarkyboojum where would that feature be found in the compiler feature comparison list
03:51 sorear I'm pretty sure that was removed from the spec
03:51 snarkyboojum ah
03:51 sorear or rather that syntax was
03:51 sorear it's something like a(Str() $a) now
03:51 sorear (no, it's not in niecza)
03:52 snarkyboojum std doesn't complain about it
03:52 snarkyboojum std: class A { method a($a as Str) {} }
03:52 p6eval std 580b69a: OUTPUT«Potential difficulties:â�¤  $a is declared but not used at /tmp/lbtYZ3yT1V line 1:â�¤------> [32mclass A { method a([33mâ��[31m$a as Str) {} }[0mâ�¤ok 00:01 121mâ�¤Â»
03:52 sorear std: class A { method a($a does snarkyboojum) { } }
03:52 p6eval std 580b69a: OUTPUT«[31m===[0mSORRY![31m===[0m�Unable to parse signature at /tmp/n9NULLcPXB line 1:�------> [32mclass A { method a[33m�[31m($a does snarkyboojum) { } }[0m�Couldn't find final ')'; gave up at /tmp/n9NULLcPXB line 1:�------> [32mclass A { method a($a does [33m�[…
03:52 sorear std: class A { method a($a is snarkyboojum) { } }
03:52 p6eval std 580b69a: OUTPUT«Potential difficulties:â�¤  $a is declared but not used at /tmp/oAMb45_jK9 line 1:â�¤------> [32mclass A { method a([33mâ��[31m$a is snarkyboojum) { } }[0mâ�¤ok 00:01 121mâ�¤Â»
03:52 sorear std categorically ignores traits
03:53 snarkyboojum that's helpful
03:57 snarkyboojum I find it difficult to find errors when using Niecza - I don't often get a reference to the user code causing the problem
03:57 snarkyboojum e.g. 'Unhandled Exception: Unable to resolve method ast in class Any' then a big stacktrace, but no reference to user code
04:01 snarkyboojum I kinda hacked unlink and mkdir into Niecza to try and get panda running, and now I get that helpful error :D
04:02 sorear snarkyboojum: if you get that, it's an internal compiler error, not a user code error
04:02 sorear that said it would certainly be nice to be able to see at a glance what's causing it
04:02 snarkyboojum sorear: ok - bugger :)
04:03 sorear NIECZA_RX_TRACE=1 may help
04:03 snarkyboojum sorear: ok then - will have a play. Thanks.
04:08 arthur-_ joined #perl6
04:18 drbean joined #perl6
04:30 sorear diakopter: ping
04:48 benabik joined #perl6
04:53 diakopter sorear: pong
04:53 drbean joined #perl6
04:56 diakopter sorear: pong pong
05:01 sorear diakopter: you mentioned earlier that you wanted to relax --safe rules
05:01 sorear diakopter: what rules would you like to see?
05:02 diakopter I think reading files is okay; writing isn't; network connections aren't ok; CLR objects should be allowed, except those that do UDP/TCP
05:03 diakopter hm, actually.
05:03 diakopter CLR objects would be hard to prevent file writing
05:04 diakopter maybe we should make p6eval run its children as nobody
05:04 sorear p6eval runs its children in a chroot, is that good enough?
05:04 sorear (I guess not)
05:05 sorear maybe I could try and finish my ptrace isolating container project
05:05 diakopter if a p5 script sets uid to nobody, do child invocations follow that?
05:05 sorear yes
05:05 diakopter I just don't want to have to rebuild the chroot
05:05 sorear but that will only work if p6eval itself runs as uid 0
05:05 diakopter moritz already had enough work this week rebuilding .cabal
05:06 diakopter oh
05:06 sorear nobody isn't special to the kernel; any nonzero uid process cannot change uid
05:06 sorear (except by execing a suid program, or in special cases if the process was started suid)
05:07 sorear er. sorry, I'm overexplaining again
05:07 diakopter I don't think so
05:07 diakopter I vaguely remember the concepts to which you refer
05:08 sorear we could start p6eval as user nobody, if we aren't already
05:08 sorear b: say $*UID
05:08 p6eval b 1b7dd1:  ( no output )
05:08 sorear b: say $*USER
05:08 p6eval b 1b7dd1:  ( no output )
05:08 sorear b: pir::spawn__is("whoami")
05:08 p6eval b 1b7dd1: OUTPUT«error:imcc:syntax error, unexpected IREG, expecting '(' ('$I100')␤     in file '(file unknown)' line 382␤error:imcc:syntax error ... somewhere␤        in file '(file unknown)' line 561␤===SORRY!===␤syntax error ... somewhere␤»
05:09 sorear b: pir::spawn__vS("whoami")
05:09 p6eval b 1b7dd1: OUTPUT«error:imcc:syntax error, unexpected SREG, expecting '(' ('$S100')␤     in file '(file unknown)' line 48776830␤error:imcc:syntax error ... somewhere␤   in file '(file unknown)' line 48777009␤===SORRY!===␤syntax error ... somewhere␤»
05:09 diakopter I just think it would be cool if colomon could gist a long script that uses CLR objects and send it to niecza
05:09 sorear b: pir::spawnw__vS("whoami")
05:09 p6eval b 1b7dd1: OUTPUT«===SORRY!===␤error:imcc:The opcode 'spawnw_s' (spawnw<1>) was not found. Check the type and number of the arguments␤   in file '(file unknown)' line 78366670␤»
05:09 sorear b: pir::spawnw__iS("whoami")
05:09 p6eval b 1b7dd1: OUTPUT«p6eval␤»
05:09 diakopter hee
05:10 diakopter b: pir::spawnw__iS("w")
05:10 p6eval b 1b7dd1: OUTPUT« 05:10:17 up 378 days, 11:02,  0 users,  load average: 0.12, 0.04, 0.01␤USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT␤»
05:10 diakopter 0 users
05:10 sorear diakopter: btw, the people in ##jsoftware are currently complaining about ENOBOT.  mind if I host a J evaluator on host04?
05:11 diakopter would you mind using a different chroot?
05:11 orafu joined #perl6
05:11 sorear diakopter: no
05:11 diakopter actually I guess the /chroot one is fine; just create a different user
05:12 diakopter see my msg about colomon above
05:13 diakopter I want to see a niecza program that creates an assembly through reflection and invokes it. :D
05:13 diakopter hee hee
05:14 sorear diakopter: so you're fine with unrestricted CLR access if I change p6eval to run as nobody?
05:14 diakopter well, hrm.
05:15 diakopter I am slightly afraid of malicious network connections, even though that's quite far fetched. :/
05:15 diakopter probably I'm being overly paranoid there.
05:16 diakopter malicious network connections including spam
05:16 sorear right
05:17 * sorear reads iptables docs
05:18 diakopter I guess we could restrict outbound connections to only DNS and IRC
05:19 sorear that's what I'm thinking
05:19 sorear restrict outbound connections to (github.com,https), (our-dns-server,dns), (freenode,irc), (magnet,irc)
05:19 sorear remember we want to be able to download colomon's gists :D
05:19 diakopter ah yes.
05:20 diakopter oh, also, commit p6eval updates to github over ssh
05:21 sorear it depends on how much precision I can get with iptables
05:21 diakopter I didn't think iptables could take hostnames; it'd be tricky to cover the whole ranges of freenode,magnet,github
05:21 sorear ideally, only uid=nobody would be restricted
05:22 diakopter b: pir::spawnw__iS("w")
05:22 p6eval b 1b7dd1: OUTPUT« 05:22:34 up 378 days, 11:14,  0 users,  load average: 0.15, 0.03, 0.01␤USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT␤»
05:22 sorear diakopter: host -v irc.freenode.net | grep -w A
05:23 diakopter I thought they did geodns
05:23 diakopter b: pir::spawnw__iS("w")
05:23 p6eval b 1b7dd1: OUTPUT« 05:23:49 up 378 days, 11:15,  0 users,  load average: 0.12, 0.04, 0.01␤USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT␤»
05:24 diakopter weird. I have a root login session to the chroot
05:24 diakopter oh, maybe not login
05:24 sorear diakopter: I would guess that the chroot doesn't have a writable /var/run/wtmp
05:24 diakopter oh
05:25 sorear urp
05:25 sorear looks like w actually uses /var/run/utmp
05:26 sorear which the chroot has
05:26 diakopter oh well
05:27 sorear diakopter: if I screw up iptables and break my ssh connection to it, do you have a way to recover?
05:27 diakopter ergh
05:28 diakopter it involves Java
05:28 diakopter yes, I can get console to it; just block outbound 25 and call it done
05:31 diakopter if spawnw can be malicious to the filesystem, niecza gets to as well
05:33 diakopter go ahead and take a .tar.bz2 of /chroot/home/p6eval; it'd be good to have
05:37 diakopter you are getting very sleepy
05:37 diakopter your breath slows as your eyelids start to close
05:38 diakopter I guess colomon's work is mostly with Gtk anyway
05:38 diakopter that's kinda hard to demo over irc
05:39 mkramer joined #perl6
05:42 * diakopter stares at "char *** substrings" in mberends' code
05:42 diakopter ah, his comment makes it all ok: /* yes, triple pointer */
05:43 sorear sarcasm?
05:44 diakopter me? yes. for a C beginner, I'm finding it hard to follow the usage
05:44 diakopter *as a C beginner
05:45 diakopter he wrote this "lightweight TAP harness"
05:45 diakopter (prove.c)
05:47 diakopter sorear: have you ever used **** ?
05:48 diakopter TimToady: same question to you :)
05:51 sorear diakopter: not directly, I don't think
05:51 diakopter not directly, heh
05:51 sorear maybe if you count typedefs/structs I have
05:54 diakopter sorear: I guess I meant, have you you ever typed "****" in C code
06:01 drbean joined #perl6
06:03 * sorear hopes moritz doesn't mind what ey's doing right now
06:04 sorear (I'm directly accessing the p6eval console to make it run as nobody
06:04 sorear )
06:04 diakopter will it still be able to process control instructions and write temporary files?
06:06 sorear hmm, minor problem here, I can't sudo su nobody -c ... while logged in as moritz without moritz' password ;)
06:06 sorear I guess the simple solution here is to ^C and run it from my screen.
06:10 diakopter will p6eval still be able to send control instructions to the rebuild daemon
06:10 sorear there is no rebuild demon
06:10 diakopter oh
06:13 diakopter how will the various rebuilds be launched as the p6eval user then
06:16 sorear you've found a major hole in my plan... :|
06:17 p6eval joined #perl6
06:17 sorear project aborted
06:18 sorear I was able to get an outbound firewall set up for user nobody
06:18 diakopter :)
06:18 sorear but it's not going to fly until I work out a rebuild daemon
06:18 sorear which it's too late to do tonight
06:21 sorear diakopter: you may find the lonely file in ~sorear interesting
06:22 diakopter yes. sleep beckons
06:28 uasi joined #perl6
06:28 bhandari joined #perl6
06:31 bhandari Why the loop construct loop/c-like-for is the only looping construct that requires parenthesis "()"?
06:32 daniel-s joined #perl6
06:46 sorear bhandari: maybe because it has semicolons in it, which would make it harder to scan otherwise?  ask TimToady
06:50 uasi joined #perl6
06:54 uasi joined #perl6
07:20 snarkyboojum sorear: how do I use NIECZA_RX_TRACE=1?
07:22 snarkyboojum or anyone else :)
07:26 sorear snarkyboojum: NIECZA_RX_TRACE=1 your command line here
07:27 snarkyboojum oic - cheers
07:38 snarkyboojum oh this looks fun - lots of information!
07:40 lateau__ joined #perl6
07:46 uasi joined #perl6
07:47 TiMBuS the advanced range gen syntax went out the window a long time ago didn't it?
07:47 sorear you mean :by?
07:47 TiMBuS ie 1..10 :by 2
07:47 sorear yes
07:47 sorear use 1,3...10 now
07:47 TiMBuS yeah
07:47 sorear erm, 1,3...11
07:47 TiMBuS does the range gen have a filter in it
07:47 TiMBuS or do we use grep still
07:47 sorear no
07:48 TiMBuS i know it's almost never needed, but I just like how List::Maker does it
07:53 GlitchMr joined #perl6
07:53 sorear o/ GlitchMr
07:54 dalek niecza/serialize: a4ed5fb | sorear++ | lib/Kernel.cs:
07:54 dalek niecza/serialize: Fixes to allow the true CORE to serialize
07:54 dalek niecza/serialize: review: https://github.com/sorear/niecza/commit/a4ed5fb29f
07:54 dalek niecza/serialize: 1c5bb04 | sorear++ | / (3 files):
07:54 dalek niecza/serialize: Small refactor to AssemblyBuilder setup, start thaw coding
07:54 dalek niecza/serialize: review: https://github.com/sorear/niecza/commit/1c5bb0462a
07:55 mj41 joined #perl6
07:59 newb joined #perl6
08:08 uasi joined #perl6
08:08 araujo joined #perl6
08:17 dalek niecza/serialize: fe6e595 | sorear++ | lib/ (2 files):
08:17 dalek niecza/serialize: Thaw for SimpleVariable, StashEnt
08:17 dalek niecza/serialize: review: https://github.com/sorear/niecza/commit/fe6e595242
08:17 * sorear sleep
08:24 uasi joined #perl6
08:30 cognominal joined #perl6
08:36 espadrine joined #perl6
08:44 Trashlord joined #perl6
08:44 drbean joined #perl6
08:57 MayDaniel joined #perl6
09:25 masak morning, friends.
09:25 drbean joined #perl6
09:33 mberends joined #perl6
09:35 mberends oh hai masak
09:35 masak "a revolution in search of a cause."
09:35 masak yeah. that's us :)
09:36 molaf joined #perl6
09:41 masak C<1, 3 ... 10> would it be unreasonable for a compiler to catch this and say "oh no you feel off a cliff" -- at least for arithmetic and geometric sequences?
09:47 mberends very unreasonable, since even the runtime does not catch it :P
09:48 mberends it's a little one-line halting problem
09:53 drbean joined #perl6
09:53 BLZbubba joined #perl6
09:54 moritz mberends: it could at least catch those where the generator is inferred, and thus known
09:59 masak mberends: that's why I said "at least for arithmetic and geometric sequences".
10:00 mberends that means nom's current generator-generator is busted
10:01 mberends C<1, 3 ... 11> works locally, C<1, 3 ... 10> loops infinitely
10:02 masak well, that's to spec.
10:02 masak I was talking about *catching* those thinkos, at least giving a warning.
10:03 mberends for all terminating values? C<0.000001, 0.000002, 1000000.0000005> ?
10:05 masak with arithmetic sequences, solve a linear equation, see if the solution comes out non-integer.
10:05 masak flag a warning.
10:05 cognominal eiro  is wearing a tshirt signed by masak at the belgium perl workshop
10:05 masak \o/
10:05 masak the message on that t-shirt reflects my recent obsession with non-DRY solutions... :)
10:06 snarkyboojum heh
10:07 masak mberends: with geometric sequences, do a logarithmic transformation, and then proceed as with the arithmetic sequences.
10:11 jimmy1980 joined #perl6
10:14 drbean joined #perl6
10:19 Chillance joined #perl6
10:25 kaare_ joined #perl6
10:29 trexy joined #perl6
10:40 mberends masak: using an equality as an iteration terminating condition is only reliable with exact numeric data. Logarithms are approximate, except for some trivial cases, therefore generally unsafe with equality tests.
10:43 GlitchMr42 joined #perl6
10:43 masak troo.
10:43 masak but since we're not looking for *equality* here but *inequeality*, that's less of a problem than usual.
10:44 masak a false negative will just mean the user doesn't get a friendly warning.
11:08 nebuchadnezzar joined #perl6
11:12 lateau_ joined #perl6
11:20 mj41 joined #perl6
11:27 lateau_ is there any way to handle @ARGV in nqp?
11:27 lateau_ i tried @ARGV but I got syntax error
11:31 mberends lateau_: try @*ARGV
11:32 lateau_ OK THANKS!
11:33 masak lateau_: Perl 6 uses * for variables with dynamic scope. @*ARGS is an example.
11:34 lateau_ hmm
11:34 lateau_ parrot-nqp can handle all features of nqp?
11:35 lateau_ i tried @*ARGV but I've got error again
11:35 masak nqp: say @*ARGS.elems
11:35 lateau_ masak: I got it. thanks!
11:35 p6eval nqp: OUTPUT«Confused at line 1, near "say @*ARGS"␤current instr.: 'nqp;HLL;Grammar;panic' pc 23698 (src/stage2/gen/NQPHLL.pir:6757) (src/stage2/gen/NQPHLL.pm:329)␤»
11:35 masak nqp: say(@*ARGS.elems)
11:35 p6eval nqp: OUTPUT«Contextual @*ARGS not found␤current instr.: '_block1000' pc 43 ((file unknown):40) (/tmp/VgQneDoNxA:1)␤»
11:36 jnthn I think think NQP has automatic @*ARGS set up
11:36 masak seems not.
11:36 jnthn However, you can write a sub MAIN(@ARGS) { } or so
11:36 lateau_ jnthn: thank you! i try it
11:36 jnthn https://github.com/rakudo/rakudo/blob/nom/src/main.nqp for example does that.
11:37 Psyche^ joined #perl6
11:37 lateau_ jnthn: perfect example for me! thanks again!
11:51 GlitchMr42 joined #perl6
12:03 whiteknight joined #perl6
12:04 cognominal joined #perl6
12:09 risou_awy joined #perl6
12:29 dual joined #perl6
13:10 sayu joined #perl6
13:26 uasi joined #perl6
13:33 localhost joined #perl6
13:37 jimmy1980 joined #perl6
13:45 dalek rakudo/optimizer: e0cc816 | masak++ | NOMMAP.markdown:
13:45 dalek rakudo/optimizer: [NOMMAP.markdown] typography fixes
13:45 dalek rakudo/optimizer: review: https://github.com/rakudo/rakudo/commit/e0cc816218
13:45 dalek rakudo/optimizer: 3fd3534 | moritz++ | t/spectest.data:
13:45 dalek rakudo/optimizer: run mro.t
13:45 dalek rakudo/optimizer: review: https://github.com/rakudo/rakudo/commit/3fd353406b
13:45 dalek rakudo/optimizer: 3e66bdf | Coke++ | t/spectest.data:
13:45 dalek rakudo/optimizer: track failures, run fudges
13:45 dalek rakudo/optimizer: review: https://github.com/rakudo/rakudo/commit/3e66bdf773
13:45 dalek rakudo/optimizer: ce15be4 | Coke++ | t/spectest.data:
13:45 dalek rakudo/optimizer: run fudged test
13:45 dalek rakudo/optimizer: review: https://github.com/rakudo/rakudo/commit/ce15be4ee5
13:45 dalek rakudo/optimizer: 03f4606 | jnthn++ | / (2 files):
13:45 dalek rakudo/optimizer: Merge branch 'nom' into optimizer
13:45 dalek rakudo/optimizer: review: https://github.com/rakudo/rakudo/commit/03f460649d
13:45 dalek rakudo/optimizer: 11c3ffd | jnthn++ | src/Perl6/Optimizer.pm:
13:45 dalek rakudo/optimizer: Fix line numbers consistently being off-by-one in optimizer detected errors.
13:45 dalek rakudo/optimizer: review: https://github.com/rakudo/rakudo/commit/11c3ffdb85
13:45 dalek rakudo/optimizer: 96234ca | jnthn++ | src/binder/ (2 files):
13:45 dalek rakudo/optimizer: Fix optimizer bug that could bust junction auto-threading.
13:45 dalek rakudo/optimizer: review: https://github.com/rakudo/rakudo/commit/96234ca174
13:46 shinobicl_ joined #perl6
13:50 dalek rakudo/optimizer: d59f093 | jnthn++ | src/Perl6/Optimizer.pm:
13:50 dalek rakudo/optimizer: Twiddle an error message wording to be a bit more accurate, and make a test happy.
13:50 dalek rakudo/optimizer: review: https://github.com/rakudo/rakudo/commit/d59f093b24
13:50 jnthn OK...time to merge this branch.
13:50 jnthn Gives us some days before the release.
14:01 GlitchMr joined #perl6
14:07 dalek rakudo/nom: 03f4606 | jnthn++ | / (2 files):
14:07 dalek rakudo/nom: Merge branch 'nom' into optimizer
14:07 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/03f460649d
14:07 dalek rakudo/nom: 11c3ffd | jnthn++ | src/Perl6/Optimizer.pm:
14:07 dalek rakudo/nom: Fix line numbers consistently being off-by-one in optimizer detected errors.
14:07 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/11c3ffdb85
14:07 dalek rakudo/nom: 96234ca | jnthn++ | src/binder/ (2 files):
14:07 dalek rakudo/nom: Fix optimizer bug that could bust junction auto-threading.
14:07 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/96234ca174
14:07 dalek rakudo/nom: d59f093 | jnthn++ | src/Perl6/Optimizer.pm:
14:07 dalek rakudo/nom: Twiddle an error message wording to be a bit more accurate, and make a test happy.
14:07 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d59f093b24
14:08 jnthn ...dalek fail :)
14:08 jnthn I merged optimizer into nom :)
14:08 jnthn Have fun; blog post coming soon.
14:09 masak jnthn++
14:18 Trashlord joined #perl6
14:20 GlitchMr42 joined #perl6
14:23 masak blog post! \o/ http://strangelyconsistent.org/blog/macros-what-are-they-really
14:26 trexy joined #perl6
14:27 masak macros, essentially, are compiler callbacks.
14:27 flussence psst, typo - "DateTIme"
14:28 masak flussence++: thank you. fixing.
14:28 jimmy1980 joined #perl6
14:30 masak they should be an excellent tool for people who like Ruby-like DSL-y stuff. at least if we allow enough introspection into the AST.
14:31 masak wonder if we'll see a bunch of routines for easily manipulating ASTs...
14:31 masak sub concat-ASTs(Perl6::AST $a, Perl6::AST $b) { quasi { {{{$a}}}; {{{$b}}} } }
14:40 masak I wonder if anyone's ever attempted to write a C compiler with AST macro support.
14:48 masak macros are the programmer and the compiler having an adult discussion about which code to generate ;)
14:50 grondilu joined #perl6
14:51 masak heh, Perl 6 placeholder parameters are mentioned at https://c2.com/cgi/wiki?CommonLispMacroExamples
14:52 grondilu it's pretty cool they can do that in lisp inside the language itself.  Lisp is really great.
14:53 shinobicl_ left #perl6
14:54 masak grondilu: stand by for macros in Rakudo ;)
14:54 grondilu I still haven't read much about macros in perl6 :)
14:54 grondilu (so much to learn...)
14:55 masak grondilu: http://strangelyconsistent.org/blog/macros-what-are-they-really :)
14:56 * grondilu bookmarked this ;)
14:56 masak so good to be out of my blogger's block :)
14:57 grondilu I've just submitted a 'chess grammar' in rosetta.org.  I plan on working on that as a way to learn Perl6
14:57 GlitchMr joined #perl6
14:57 sorear good * #perl6
15:11 TimToady jnthn: seeing MAIN(@array) bothers me, since that should only bind the first argument
15:13 jnthn TimToady: NQP.
15:13 jnthn TimToady: But yeah, I know.
15:13 jnthn TimToady: Should really fix it at some point.
15:14 jnthn (We get it right in Rakudo proper.)
15:14 jnthn Not sure we'll ever try and make NQP do the handling so extensively as full Perl 6 wants it.
15:15 donri joined #perl6
15:15 jnthn But compatability for the bits it can do would seem worthwhile.
15:15 jnthn nom: foo
15:15 p6eval nom d59f09: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&foo' called (line 1)␤»
15:15 jnthn phew, it built post-merge :)
15:16 shinobicl_ joined #perl6
15:17 masak whoa, new semantics!
15:17 * masak loves the smell of rakudobugs in the morning...
15:17 jnthn uh-oh
15:17 masak :)
15:17 jnthn masak: STD has those semantics too :)
15:17 masak I know, I know.
15:18 jnthn masak: At least break some of the harder stuff it goes :P
15:18 masak and I'm not implying that you write less-than-excellent code, jnthn.
15:18 jnthn nom: sub foo($x) { }; foo()
15:18 mishin joined #perl6
15:18 p6eval nom d59f09: OUTPUT«===SORRY!===␤CHECK FAILED:␤Calling 'foo' will never work with no arguments (line 1)␤    Expected: :(Any $x)␤»
15:18 masak just that bugs are inevitable.
15:18 jnthn oh, I know :)
15:18 jnthn And I'd be happy to find/fix any ahead of next week's releas.e
15:18 masak jnthn++ # wow!
15:18 jnthn Thus why it's merged now :)
15:18 masak nom: sub foo() {}; foo(42)
15:18 p6eval nom d59f09: OUTPUT«===SORRY!===␤CHECK FAILED:␤Calling 'foo' will never work with argument types (int) (line 1)␤    Expected: :()␤»
15:19 masak dang, it still thinks that types are more important than number of args :/
15:19 masak just like the runtime binder does...
15:19 jnthn masak: hey, you told me you wanted to write the patch to fix that for the compile time analysis like, a week or so ago
15:19 jnthn :P
15:20 jnthn It was in the bar with nice beer though... ;-)
15:21 jnthn Fixing the runtime one is a bit more involved.
15:21 masak haha
15:21 masak I do want to fix it.
15:21 masak in my copious spare time.
15:21 jnthn :)
15:24 jnthn nom: multi foo(Int $a) { }; multi foo(Str $a) { }; foo()
15:24 p6eval nom d59f09: OUTPUT«===SORRY!===␤CHECK FAILED:␤Calling 'foo' will never work with no arguments (line 1)␤    Expected any of:␤    :(Int $a)␤    :(Str $a)␤»
15:25 jnthn Can do it with multis too.
15:25 jnthn In some cases.
15:25 masak \o/
15:26 sorear nice.
15:26 sorear I look forward to stealing this.
15:26 jnthn nom: multi foo(Int $a) { }; multi foo(Str $a) { }; foo(2.5)
15:26 p6eval nom d59f09: OUTPUT«No applicable candidates found to dispatch to for 'foo'. Available candidates are:␤:(Int $a)␤:(Str $a)␤␤  in block <anon> at /tmp/XuznT8E1KT:1␤  in <anon> at /tmp/XuznT8E1KT:1␤»
15:26 jnthn Doesn't manage to detect that one, for example.
15:26 jnthn (yet ;))
15:27 masak I can see how that gets involved, yes.
15:28 jnthn nom: sub foo(Num $n) { }; foo(1) # gets this one, mind...
15:28 p6eval nom d59f09: OUTPUT«===SORRY!===␤CHECK FAILED:␤Calling 'foo' will never work with argument types (int) (line 1)␤    Expected: :(Num $n)␤»
15:32 masak why, what's the difference? multiness?
15:33 sorear masak: 1 ~~ Int !~~ Num
15:33 jnthn nom: multi foo(Num $n) { }; foo(1) # gets this one, mind...
15:33 p6eval nom d59f09: OUTPUT«===SORRY!===␤CHECK FAILED:␤Calling 'foo' will never work with argument types (int) (line 1)␤    Expected any of:␤    :(Num $n)␤»
15:33 jnthn Evidently not that
15:33 jnthn oh...
15:33 masak sorear: I know.
15:33 jnthn Looks like the AST is missing a type annotation.
15:33 jnthn (so that it knows 1.5 produces a Rat)
15:33 masak did I... find a bug? :D
15:34 jnthn masak: No
15:34 masak shucks.
15:34 jnthn masak: It catching things for you at compile time is a bonus :)
15:34 jnthn masak: That said, this is worth fixing. :)
15:34 masak aww, so I can only report false negatives, then?
15:35 jnthn You should certainly report those.
15:35 jnthn I'm not sure how to handle the other case.
15:35 masak or false positives, depending on what one considers positive...
15:35 jnthn :)
15:35 jnthn (the case where we agree it probably coulda caught something but didn't)
15:35 masak aye, that's probably not bug material.
15:36 masak sounds more like feature requests.
15:36 jnthn It's not a bug per se. It's more a "wouldn't it be nice if..." But we could clutter the RT queue with hundreds of those.
15:36 jnthn Which is probably counter-productive.
15:37 sorear I guess once this feature is more implemented we could start cluttering RT with inconsistency reports
15:38 jnthn inconsistency reports?
15:39 sorear "1.5 is typed at compile time but not 'foo', whyyy"
15:39 jnthn Literals probably always should be.
15:49 dalek niecza/serialize: 351a66a | sorear++ | lib/ (3 files):
15:49 dalek niecza/serialize: Improve saving of builtin types
15:49 dalek niecza/serialize: review: https://github.com/sorear/niecza/commit/351a66ab71
15:57 jnthn I blug: http://6guts.wordpress.com/2011/10/15/an-optimizer-lands-bringing-native-operators/
15:57 GlitchMr42 joined #perl6
15:57 TimToady \o/
15:59 mantovani \o
15:59 TimToady o
15:59 jnthn Gotta go back to focusing on preparing for teaching stuff for the rest of the weekend. My tuit level should improve quite a bit towards the second half of next week.
16:03 dalek features: caab218 | jnthn++ | features.json:
16:03 dalek features: nom can has +- for native operators.
16:03 dalek features: review: https://github.com/perl6/features/commit/caab218e56
16:04 jnthn phenny: ask moritz should nom have + or +- on "Variable interpolation" (regex) in features?
16:04 phenny jnthn: I'll pass that on when moritz is around.
16:04 jnthn oh, almost certainly +-
16:04 jnthn As like Niecza it only handles the scalar case
16:04 jnthn phenny: tell moritz did +-
16:04 phenny jnthn: I'll pass that on when moritz is around.
16:05 dalek features: 07b6827 | jnthn++ | features.json:
16:05 dalek features: Give nom +- for variable interpolation in regexes; pmichaud++ for implementing it.
16:05 dalek features: review: https://github.com/perl6/features/commit/07b6827858
16:37 masak nom &
16:41 GlitchMr joined #perl6
16:51 buubot_backup joined #perl6
16:51 wallberg joined #perl6
16:52 jnthn dinner &
16:53 soh_cah_toa joined #perl6
16:55 tadzik oh, is optimizer merged? BEGIN { Hello, #perl6 }
16:56 wallberg joined #perl6
17:01 wallberg joined #perl6
17:05 jferrero joined #perl6
17:06 wallberg joined #perl6
17:11 wallberg joined #perl6
17:29 colomon joined #perl6
17:49 pmurias joined #perl6
17:51 diakopter pmurias: hi
17:59 * diakopter installs ubuntu 11.10 using VMWare Player's Easy-Install
18:00 tlhiv_laptop joined #perl6
18:01 tlhiv_laptop moritz: are you around?
18:02 pmurias diakopter: hi
18:02 pmurias diakopter: want to try niecza out?
18:02 diakopter pmurias: yep..
18:03 dalek niecza: fd1e6d8 | (Paweł Murias)++ | lib/p5embed.c:
18:03 dalek niecza: fix segfault when eval perl5 code using a threaded perl
18:03 dalek niecza: (found by mberends++)
18:03 dalek niecza: review: https://github.com/sorear/niecza/commit/fd1e6d8fb5
18:03 GlitchMr joined #perl6
18:05 pmurias diakopter: what stops niecza from working on windows?
18:05 pmurias the Makefile?
18:05 sorear pmurias: last I heard it works fine on Windows
18:06 sorear pmurias: the Makefile isn't required to use niecza
18:06 diakopter pmurias: I just git pulled/remade/remade perl5 and examples/perl5.pl still says Aborted
18:06 pmurias what perl?
18:06 pmurias diakopter: you did a make -B perl5?
18:06 diakopter This is perl, v5.10.1 (*) built for i686-cygwin-thread-multi-64int
18:07 pmurias ahh on windows
18:08 diakopter whee; Easy-Install installs VMWare Tools for me
18:09 diakopter pmurias: I just tried make -B perl5  same result
18:09 tlhiv_laptop can someone help me figure out why line 8 doesn't cause the script to die?  http://pastebin.tlhiv.org/3ZkWL4_a
18:09 pmurias diakopter: i'm not really familiar with how C level stuff works on that twisted platform, so i can't be of much help with that
18:10 pmurias tlhiv_laptop: try #perl
18:10 tlhiv_laptop sorry
18:10 tlhiv_laptop but i did ;)
18:11 diakopter tlhiv_laptop: try #perl-help
18:11 tlhiv_laptop that's just me ;)
18:12 * diakopter gazes in awe at Unity
18:12 pmurias tlhiv_laptop: #perl-help on irc.perl.org
18:12 tlhiv_laptop oh
18:12 pmurias tlhiv_laptop: why should line 8 cause the script to die?
18:13 tlhiv_laptop 2x should not parse i wouldn't think
18:13 tlhiv_laptop 2*x is "correct"
18:13 pmurias why not?
18:13 diakopter pmurias: it's not nice to call someone else's platform twisted
18:15 GlitchMr42 joined #perl6
18:19 diakopter exit
18:19 pmurias hm?
18:19 diakopter (ww)
18:20 sorear diakopter: does cygwin have a sshd?
18:20 colomon i believe so
18:20 colomon thought about setting it up once
18:21 colomon o/
18:21 diakopter sorear: yes
18:21 diakopter with some fancy forwarding I might be able to get you access
18:22 * diakopter works on it
18:22 shinobicl_ joined #perl6
18:22 sorear ...that was actually a rhetorical question and I was 100% sure you would say no.  \o/ for being wrong
18:23 sorear I would be happy to look into what's up with the perl5 plugin
18:23 sorear erp
18:24 sorear cc -shared -Wl,-soname,p5embed.so # this is extremely Linux-specific
18:24 sorear not even Unix-portable
18:24 pmurias what's the portable way around that?
18:25 sorear why are you using soname?
18:25 sorear I think sonames are a uniquely ELF feature
18:25 * sorear looks them up
18:26 pmurias sorear: i cargo culted the incantation from somewhere
18:27 replore_ joined #perl6
18:28 tlhiv_laptop left #perl6
18:29 trexy joined #perl6
18:29 pmurias sorear: i'll remove that option as it seems unnessesary
18:31 dalek niecza: 6c08103 | (Paweł Murias)++ | Makefile:
18:31 dalek niecza: remove unnecessary -soname option when compiling the perl5 wrapper
18:31 dalek niecza: review: https://github.com/sorear/niecza/commit/6c081033c8
18:32 pmurias sorear: would switching from a Makefile to a perl5 script help portability?
18:37 sorear pmurias: good question
18:41 HarryS joined #perl6
18:47 pmurias sorear: i'm not sure if the current mix of Makefile+shell+wget+zip+? is more portable then perl5 on linux systems
18:47 pmurias sorear: and it seems to be really unportable to windows
18:48 sorear pmurias: point
18:50 pmurias so the choice seems to mostly between C# and perl5
18:50 pmurias s/mostly/be mostly
18:51 dukeleto joined #perl6
18:52 pmurias sorear: C# seems to be more work to make the switch but it seems to be the most portable
18:54 pmurias sorear: we could even have a tiny C# script that would fetch the boot/ and have the rest of the build system in Perl 6
18:56 pmurias sorear: library wise we could switch from .zip to .tar.gz an bundle http://code.google.com/p/tar-cs/
18:58 sorear pmurias: the point of using .zip is so that Windows users can unpack it without extra software
18:59 pmurias sorear: does .net contain libs to unpack the .zip files?
18:59 GlitchMr42 joined #perl6
18:59 dalek niecza/serialize: 3f80fca | sorear++ | lib/ (4 files):
18:59 dalek niecza/serialize: A procedure for serializing ContextHandler et al
18:59 dalek niecza/serialize: review: https://github.com/sorear/niecza/commit/3f80fca01c
18:59 sorear I'd be suprised if it didn't
19:00 sorear System.IO.Packaging.ZipPackage looks promising
19:01 pmurias so no problems with that
19:01 sorear building STD.dll requires almost all of my memory, so a Perl 6 build system is right out
19:02 sorear until I effect a *substantial* improvement in niecza's memory use anyway
19:17 uasi joined #perl6
19:32 diakopter sorear: ping
19:36 jnthn tadzik: yes, it's merged
19:37 * diakopter wonders what to eat today, if anything
19:37 jimmy1980 joined #perl6
19:39 * colomon just stuck chestnuts in the oven to roast
19:39 * jnthn just had a hot curry
19:41 sjohnson num num
19:44 * colomon now has lasagna in the oven as well (Jen made it earlier this week and froze it without cooking it)
19:47 GlitchMr_42 joined #perl6
19:51 wk joined #perl6
20:10 [Coke] joined #perl6
20:14 masak the curry. it was hot.
20:14 colomon the chestnuts.  they were hot and buttery....
20:15 diakopter the Subway sandwich was cheap
20:16 * soh_cah_toa just had swedish fish
20:16 phenny soh_cah_toa: 14 Oct 06:31Z <moritz> tell soh_cah_toa my log files have a good eye indeed :-)
20:16 soh_cah_toa candy's always good too ;)
20:18 soh_cah_toa i wonder if swedish fish are even made over in europe by most of you. i bet you have different candy
20:25 dalek roast: 780a83d | moritz++ | S04-exception-handlers/catch.t:
20:25 dalek roast: do not rely on coercion for error objects
20:25 dalek roast: review: https://github.com/perl6/roast/commit/780a83d6d7
20:44 pmurias joined #perl6
20:44 pmurias diakopter: how did building niecza under ubuntu go?
20:44 diakopter haven't tried
20:45 dalek sprixel: 20ef672 | (Matthew Wilson)++ | README:
20:45 dalek sprixel: initial README
20:45 dalek sprixel: review: https://github.com/diakopter/sprixel/commit/20ef672174
20:45 diakopter whee, I blew away a repo
20:45 diakopter oh noes it wiped out the history too
20:45 diakopter :( :( :(
20:47 pmurias diakopter: what happened?
20:47 diakopter I was trying to delete all the files in a repo and apparently I did it the wrong way
20:49 mberends joined #perl6
20:49 diakopter mberends: hi
20:49 pmurias mberends: hi
20:50 pmurias mberends: i fixed the bug you encountered with the perl5/perl6 interop
20:50 masak mberends: hi
20:55 diakopter there, I saved a relatively recent copy of the C# perlesque/sprixel
20:55 sorear diakopter: pong
20:55 sorear o/ mberends
21:04 espadrine joined #perl6
21:06 dalek roast: ab29e7a | moritz++ | integration/error-reporting.t:
21:06 dalek roast: test that calls to non-existing routines are caught before run time
21:06 dalek roast: review: https://github.com/perl6/roast/commit/ab29e7a8b0
21:09 mj41 joined #perl6
21:39 mkramer joined #perl6
21:52 mj41 joined #perl6
22:15 diakopter hunh; I can paste from Windows to the Ubuntu VM, but not contrariwise
22:16 masak nom: role R[::T = role Q[::S = role { method baz { say "OH HAI" } }] { method bar { S.baz } }] { method foo { T.bar } }; R.new.foo
22:16 p6eval nom d59f09: OUTPUT«===SORRY!===␤Can only use get_who on a SixModelObject␤»
22:17 masak b: role R[::T = role Q[::S = role { method baz { say "OH HAI" } }] { method bar { S.baz } }] { method foo { T.bar } }; R.new.foo
22:17 p6eval b 1b7dd1: OUTPUT«OH HAI␤»
22:17 masak jnthn: why doesn't the above work in nom?
22:18 jnthn no idea
22:20 masak feels like such an obvious use case... :P
22:22 jnthn Clearly we'd ahve a spectest for it.
22:22 jnthn :P
22:22 jnthn oh wow
22:22 jnthn It explodes in the weirdest place
22:24 jnthn Well, more silliest than anything.
22:25 static_perl joined #perl6
22:26 jnthn masak: Guess you wanna know what's going on. Well, we encounter the package. We then go and start parsing it's signature. At that point a $*PACKAGE is introduced, but nothing is bound to it yet. When declaring Q, which should be installed in it, the package is thus missing.
22:27 jnthn And it's nasty to fix because we tend to like to have seen the traits before we go and create the type object (which the package hangs off).
22:27 jnthn Because we want to know what the repr will be.
22:28 jnthn I guess really though Q should not be declared inside R
22:28 jnthn (e.g. it's not R::Q)
22:28 jnthn As we're in the signature.
22:28 jnthn Not in the body.
22:30 masak right.
22:30 masak I wasn't sure how to parameterize an anonymous role.
22:31 jnthn Well, you can still give it a name
22:31 jnthn Just use anon modifier
22:31 masak oh!
22:31 masak b: role R[::T = anon role Q[::S = role { method baz { say "OH HAI" } }] { method bar { S.baz } }] { method foo { T.bar } }; R.new.foo
22:31 p6eval b 1b7dd1: OUTPUT«OH HAI␤»
22:31 masak nom: role R[::T = anon role Q[::S = role { method baz { say "OH HAI" } }] { method bar { S.baz } }] { method foo { T.bar } }; R.new.foo
22:31 p6eval nom d59f09: OUTPUT«===SORRY!===␤Can only use get_who on a SixModelObject␤»
22:32 masak still no work-y. :/
22:32 jnthn spectesting a fix
22:32 jnthn (for the original issue)
22:32 masak \o/
22:32 * masak submits rakudobug
22:32 jnthn Can you either add a test or submit a ticket?
22:32 jnthn thanks.
22:34 jnthn masak. doer or weird stuff
22:34 jnthn *of
22:35 jnthn nom: my $a = anon class Foo { }
22:35 p6eval nom d59f09: OUTPUT«===SORRY!===␤Cannot use anon scope with class at line 1, near "{ }"␤»
22:35 jnthn ah, anon is just NYI
22:36 masak ah.
22:37 masak jnthn: sometimes I imagine this big cross product table of all Perl 6 features combined with each other. with this one, I realized that I hadn't tried combining roles... and roles. :)
22:38 masak actually I was kind of amazed that it worked in b.
22:38 jnthn masak: Well, b had its own curious ideas about packages :)
22:38 masak 'branoc, #perl6
22:39 dalek rakudo/nom: 0d0b9d0 | jnthn++ | src/Perl6/Grammar.pm:
22:39 dalek rakudo/nom: Handle the crazy case where the signature of a role ends up declaring a package. People come up with all sorts...
22:39 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0d0b9d09e1
22:39 masak :)
22:47 dalek rakudo/nom: 06d230b | jnthn++ | src/Perl6/ (2 files):
22:47 dalek rakudo/nom: Somehow managed to overlook anon scope modifier support for packages; here it is.
22:47 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/06d230bbe4
23:02 dalek rakudo/nom: ad9d89c | jnthn++ | src/Perl6/Metamodel/Mixins.pm:
23:02 dalek rakudo/nom: Be sure not to lose boolification mode when mixing in.
23:02 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ad9d89c592
23:03 icwiener joined #perl6
23:04 trexy joined #perl6
23:11 shi joined #perl6
23:11 shi hi everyone
23:13 sorear hello shi and welcome to #perl6.
23:13 sorear How can we help you?
23:14 shi i'm just lurking :)
23:18 jnthn heh. 20% of S05-mass/rx.t is spent computing du-chains in IMCC...
23:18 jnthn Also it gets a disturbing number of type check cache misses...
23:19 * jnthn stashes the profile away for further investigation once he's got tuits again.
23:20 jnthn 'night o/
23:32 am0c joined #perl6
23:45 * [Coke] wonders why much of the failing tests are now failing with CHECK FAILED
23:53 diakopter [Coke]: because jnthn added the optimizer branch, which also happens to do the CHECK phase more stringently
23:53 [Coke] diakopter: danke.

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

Perl 6 | Reference Documentation | Rakudo