Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2013-09-23

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:14 gshank joined #perl6
00:17 Psyche^ joined #perl6
00:18 dana joined #perl6
00:21 btyler joined #perl6
00:27 nwc10 joined #perl6
00:45 xinming joined #perl6
00:52 pecastro joined #perl6
00:52 benabik joined #perl6
00:54 jercos r: Blob.new().subbuf(-1)
00:54 camelia rakudo 776f18: OUTPUT«From argument to subbuf out of range. Is: -1, should be in 0..0; use *-1 if you want to index relative to the end␤current instr.: 'throw' pc 408647 (src/gen/CORE.setting.pir:172206) (src/gen/CORE.setting:10642)␤called from Sub 'sink' pc 444733 (src/gen/CORE.set…»
00:54 jercos Guess that's already fixed since star. Coolio.
01:05 hlin_laptop joined #perl6
01:16 pecastro joined #perl6
01:25 xinming joined #perl6
01:48 flussence r: 'a'.encode('utf16').decode
01:48 camelia rakudo 776f18: OUTPUT«VMArray: index out of bounds␤  in method decode at src/gen/CORE.setting:5379␤  in block  at /tmp/KDctl_KUwm:1␤␤»
01:48 flussence star: 'a'.encode('utf16').decode
01:48 camelia star 2013.08: ( no output )
02:01 xinming joined #perl6
02:07 xenoterracide joined #perl6
02:13 diakopter star: 'a'.encode('utf16').decode.say
02:13 camelia star 2013.08: OUTPUT«a␤»
02:14 diakopter star: ''.encode('utf16').decode.say
02:14 camelia star 2013.08: OUTPUT«Zero-byte allocation not allowed in mem_sys_allocateParrot VM: PANIC: Out of mem!␤C file src/gc/alloc_memory.c, line 70␤Parrot file (not available), line (not available)␤␤We highly suggest you notify the Parrot team if you have not been working on␤Parrot.  Use p…»
02:14 diakopter hee
02:17 labster joined #perl6
02:17 rafl joined #perl6
02:17 hoelzro joined #perl6
02:18 benabik uhm.  out of men with a zero byte allocation?
02:19 benabik Oh, probably returning NULL which is getting interpreted as failure.
02:19 odoacre joined #perl6
02:19 Mouq joined #perl6
02:41 xinming_ joined #perl6
02:46 xinming joined #perl6
03:30 strider42 joined #perl6
03:49 logie joined #perl6
03:59 preflex_ joined #perl6
04:00 xinming joined #perl6
04:04 Mouq evalbot control restart
04:04 camelia joined #perl6
04:05 Mouq evalbot control version
04:05 camelia This is evalbot revision b2d84dc
05:20 logie joined #perl6
05:21 BenGoldberg n: 'a'.encode('utf8').decode.say
05:21 camelia niecza v24-95-ga6d4c5f: OUTPUT«Unhandled exception: System.ArgumentException: Encoding name 'utf8' not supported␤Parameter name: name␤  at System.Text.Encoding.GetEncoding (System.String name) [0x00000] in <filename unknown>:0 ␤  at Builtins.encode (System.String inp, System.String …»
05:28 SamuraiJack joined #perl6
05:31 [Sno] joined #perl6
05:43 PacoAir joined #perl6
05:55 xinming joined #perl6
06:00 salv0 joined #perl6
06:04 panchiniak_ joined #perl6
06:07 daxim joined #perl6
06:08 pjcj joined #perl6
06:12 odoacre joined #perl6
06:15 dayangkun joined #perl6
06:19 diakopter .oO( .. you try to be helpful on parrot-dev... give 'em an inch and they expect a universe-diameter
06:19 diakopter )
06:31 FROGGS joined #perl6
06:39 sqirrel joined #perl6
06:56 denis_boyun joined #perl6
06:58 darutoko joined #perl6
07:00 dmol joined #perl6
07:05 kaleem joined #perl6
07:07 zakharyas joined #perl6
07:19 domidumont joined #perl6
07:20 pjcj joined #perl6
07:46 xinming joined #perl6
07:52 fhelmberger joined #perl6
08:08 iSlug joined #perl6
08:21 donaldh joined #perl6
08:23 dmol joined #perl6
08:28 lizmat good *, #perl6!
08:28 iSlug joined #perl6
08:29 moritz \o *
08:29 hoelzro ahoy lizmat
08:29 lizmat o/ hoelzro, moritz!
08:31 sqirrel joined #perl6
08:39 panchiniak_ left #perl6
08:45 FROGGS o/
08:52 dakkar joined #perl6
08:54 cognominal joined #perl6
08:57 masak \o
09:09 salv0 joined #perl6
09:13 dalek nqp/encode-decode-test: 9faca2b | (Arne Skjærholt)++ | t/nqp/82-decode.t:
09:13 dalek nqp/encode-decode-test: Add a simple test file exercising encoding and decoding strings.
09:13 dalek nqp/encode-decode-test: review: https://github.com/perl6/nqp/commit/9faca2bf95
09:13 dalek nqp/encode-decode-test: 6509a62 | (Arne Skjærholt)++ | src/vm/parrot/ops/nqp.ops:
09:13 dalek nqp/encode-decode-test: Fix segfault when decoding a zero-length buffer.
09:13 dalek nqp/encode-decode-test: review: https://github.com/perl6/nqp/commit/6509a62613
09:13 arnsholt Could someone with a JVM-enabled NQP do me a favour and make sure the new test in that branch works properly on JVM?
09:14 arnsholt My work machine only has Java 6, so I can't build NQP/JVM here
09:15 fhelmberger joined #perl6
09:16 zakharyas joined #perl6
09:16 fhelmberger joined #perl6
09:17 FROGGS arnsholt++ # that segfault fix should help me passing a few v5 tests \o/
09:17 FROGGS arnsholt: and yes, I can test that
09:23 arnsholt Cheers!
09:24 FROGGS arnsholt: passes on nqp-jvm :o)
09:25 arnsholt Brilliant
09:25 arnsholt Then I'll just merge it into master
09:26 dalek nqp: 9faca2b | (Arne Skjærholt)++ | t/nqp/82-decode.t:
09:26 dalek nqp: Add a simple test file exercising encoding and decoding strings.
09:26 dalek nqp: review: https://github.com/perl6/nqp/commit/9faca2bf95
09:26 dalek nqp: 6509a62 | (Arne Skjærholt)++ | src/vm/parrot/ops/nqp.ops:
09:26 dalek nqp: Fix segfault when decoding a zero-length buffer.
09:26 dalek nqp: review: https://github.com/perl6/nqp/commit/6509a62613
09:31 chayin joined #perl6
09:32 moritz still passes :-)
09:32 arnsholt Excellent
09:32 arnsholt r: 'a'.encode('utf16').decode
09:32 camelia rakudo 776f18: OUTPUT«VMArray: index out of bounds␤  in method decode at src/gen/CORE.setting:5379␤  in block  at /tmp/i3BBpdQqAv:1␤␤»
09:33 arnsholt Does that happen on JVM too, or only Parrot?
09:35 * moritz compiles a new rakudo-jvm to test it
09:40 moritz ~/p6/jvm-rakudo$ ./perl6
09:40 moritz > 'a'.encode('utf16').decode
09:40 moritz a
09:41 arnsholt Cheers
09:45 lizmat is there an equivalent of p5's my $coderef = $object->can('method') ?
09:45 lizmat in p6 ?
09:46 tadzik r: my $x = Int.can('floor'); say $x.perl
09:46 camelia rakudo 776f18: OUTPUT«$(method floor(Int:D : Mu *%_) { ... }, method floor(Cool : Mu *%_) { ... })␤»
09:46 kay joined #perl6
09:46 moritz r: my $cr = 1.2.can('Int')[0]; say $cr(42.2)
09:46 camelia rakudo 776f18: OUTPUT«42␤»
09:46 tadzik on second thoughts, Int.floor probably doesn't make much sense :)
09:46 lizmat cool
09:46 moritz tadzik: it's just Cool.Int, which is identity on Int
09:47 tadzik yep
09:47 moritz or maybe Numeric.Int
09:49 lizmat r: class A {}; my $a= A.can("new"); say $a()   # am I doing something wrong ?
09:49 camelia rakudo 776f18: OUTPUT«No such method 'postcircumfix:<( )>' for invocant of type 'Parcel'␤  in block  at /tmp/ByJvvSTIzC:1␤␤»
09:53 lizmat r: my %h=a=>1; my $e = %h.can("exists"); say $e("a")   # what I really want to do
09:53 camelia rakudo 776f18: OUTPUT«No such method 'postcircumfix:<( )>' for invocant of type 'Parcel'␤  in block  at /tmp/bD4PBIajuN:1␤␤»
09:53 lizmat ah, missed the [0] I guess
09:54 arnsholt Yeah, from moritz's example it looks like can returns the whole candidate list
09:54 lizmat r: my %h=a=>1; my $e = %h.can("exists")[0]; say $e(%h,"a")  # the proper wat
09:54 camelia rakudo 776f18: OUTPUT«True␤»
09:54 dalek nqp: 601b8e9 | (Arne Skjærholt)++ | / (2 files):
09:54 dalek nqp: Fix multi-byte decoding bug in Parrot backend.
09:54 dalek nqp: review: https://github.com/perl6/nqp/commit/601b8e9afe
09:55 arnsholt There. That fixes the UTF-16 decode bug.
09:55 moritz arnsholt++
09:57 FROGGS cool!
09:58 Rix joined #perl6
10:00 arnsholt It turns out that when you're iterating over an array whose elements are 16-bits wide, doing "for(int i = 0; i < bytecount; i++) { ... }" is wrong =)
10:15 FROGGS *lol*
10:35 colomon joined #perl6
10:36 denis_boyun joined #perl6
10:37 xinming joined #perl6
10:43 dalek rakudo/method2sub: 2030f62 | (Elizabeth Mattijsen)++ | src/core/ (3 files):
10:43 dalek rakudo/method2sub: Converted SLICE_MORE to use slurpy hash + adapted multi candidates accordingly
10:43 dalek rakudo/method2sub: review: https://github.com/rakudo/rakudo/commit/2030f62194
10:43 lizmat still needs some more tweaks though, but the bulk is done
10:54 moritz lizmat++
11:06 pernatiy joined #perl6
11:08 lizmat hmmm… seems the .can trick doesn't work in SLICE_MORE
11:09 flussence r: say ~('arnsholt++'.encode('utf16').decode xx 3)
11:09 camelia rakudo 776f18: OUTPUT«VMArray: index out of bounds␤  in method decode at src/gen/CORE.setting:5379␤  in block  at /tmp/QiJDel_p9Q:1␤␤»
11:09 flussence heh, guess that hasn't been updated yet...
11:10 arnsholt I didn't bump NQP_REVISION in Rakudo
11:11 hummeleB1 joined #perl6
11:12 Ulti left #perl6
11:13 arnsholt Heh. And now I realize I'm not actually sure what format NQP_REVISION expects
11:14 moritz arnsholt: git describe
11:16 arnsholt Cheers!
11:17 dalek rakudo/nom: c7c558f | (Arne Skjærholt)++ | tools/build/NQP_REVISION:
11:17 dalek rakudo/nom: Bump NQP_REVISION.
11:17 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c7c558f0e5
11:23 colomon moritz++ arnsholt++
11:33 arnsholt Reading the RaNIW notes is giving me too many dangerous ideas...
11:33 dmol joined #perl6
11:34 sqirrel joined #perl6
11:36 lizmat arnsholt: it is not mandatory  :-)
11:38 dalek rakudo/method2sub: b1f8991 | (Elizabeth Mattijsen)++ | src/core/Any.pm:
11:38 dalek rakudo/method2sub: Fix p / k mixup
11:38 dalek rakudo/method2sub: review: https://github.com/rakudo/rakudo/commit/b1f8991260
11:47 iSlug joined #perl6
11:48 JimmyZ RaNIW notes?
11:49 JimmyZ where is it
11:49 nwc10 JimmyZ: http://edumentab.github.io/rak​udo-and-nqp-internals-course/
11:49 nwc10 is that what you meant? the PDFs from the course
11:50 lizmat and excercises, should also be there
11:51 JimmyZ oh the course. it's the notes?
11:51 lizmat yes
11:52 dayangkun joined #perl6
11:52 JimmyZ I tought I missed something
11:52 JimmyZ *thought
11:57 daxim rakudo: 'stringly typed'
11:57 camelia rakudo 776f18: ( no output )
12:02 darutoko joined #perl6
12:09 lizmat nwc10: woolfy  just FDI
12:10 lizmat or should I say JFdidI
12:10 nwc10 did what?
12:11 lizmat http://www.kickstarter.com/projects/danshapiro/ro​bot-turtles-the-board-game-for-little-programmer
12:11 woolfy :-)
12:12 nwc10 I did think you meant that, but the context was #london.pm, not here
12:12 woolfy ncw10: sent you an email too
12:12 woolfy yeah, crosscontamination, boo!
12:12 lizmat crosspollination never hurts  :-)
12:12 nwc10 got it. Glad that the information was delivered in a timely fashion
12:15 dalek rakudo/method2sub: 0aba457 | (Elizabeth Mattijsen)++ | src/core/Any.pm:
12:15 dalek rakudo/method2sub: It appears we need to flatten multiples before mapping
12:15 dalek rakudo/method2sub: review: https://github.com/rakudo/rakudo/commit/0aba4572d5
12:15 lizmat running spectest now, keeping fingers crossed
12:20 colomon lizmat++ # robot turtles -- how did I not hear of this before now?
12:21 nwc10 colomon: I was also wondering this
12:21 FROGGS sqirrel: ping
12:21 FROGGS sqirrel: http://www.kickstarter.com/projects/danshapiro/ro​bot-turtles-the-board-game-for-little-programmer
12:24 FROGGS lizmat: do you see a difference in execution times already?
12:25 lizmat not sure yet, needing fix some test regressions first
12:26 lizmat FROGGS: also: I think the point of this exercise was to make sure an optimizer *could* optimize {} and [] access, not that there is already an optimizer doing this
12:26 lizmat or am I wrong ?
12:26 * lizmat hopes to be wrong
12:27 sqirrel froggs: wow thats a cool game o.o need to have it!! maybe we even let the kids play with it ...maybe
12:27 timotimo i just realised that the optimisation for not initialising lexicals in nqp twice in a row has to learn about branches of execution as to not be completely conservative
12:27 timotimo but i suppose every little bit helps?
12:28 * timotimo should study some ASTs
12:32 timotimo huh. where did that idea even come from? the simplest tests show that it's already sufficiently clever
12:32 timotimo i should have put a test case into the questhub quest.
12:32 timotimo oh, that's only for SVal, eh?
12:39 ajr joined #perl6
12:39 FROGGS lizmat: I don't know if these subs would get already inlined or not :/
12:39 FROGGS sqirrel: can you order it?
12:42 sqirrel froggs: which pack?
12:42 nwc10 sqirrel: read http://london.pm.org/pipermail/london​.pm/Week-of-Mon-20130923/024426.html for calculations on pricing. It ends up being quite a bit cheaper if you can spilt a 3 pack, and
12:42 dalek rakudo/method2sub: a5511ea | (Elizabeth Mattijsen)++ | src/core/Any.pm:
12:42 dalek rakudo/method2sub: Fix problem with :!v and :!k on multiples
12:42 dalek rakudo/method2sub: review: https://github.com/rakudo/rakudo/commit/a5511eaf9f
12:43 nwc10 er, and.
12:53 lizmat r: my %h; %h<a>:v = 3; say %h   # currently works
12:53 camelia rakudo c7c558: OUTPUT«("a" => 3).hash␤»
12:53 lizmat r: my %h; %h<a b c>:v = 3; say %h  # currently silently doesn't
12:53 camelia rakudo c7c558: OUTPUT«().hash␤»
12:54 lizmat TimToady: would it make sense to make anything {} or [] adverbed with something, just a right value ?
12:56 Grimnir_ joined #perl6
12:58 * lizmat just realizes that %h<a>:v only works by the virtue that the current implementation doesn't have a candidate for single key :v
12:58 * lizmat adapts spectests
13:07 dalek rakudo/method2sub: 3e4d3e8 | (Elizabeth Mattijsen)++ | src/core/Hash.pm:
13:07 dalek rakudo/method2sub: Remove {}.delete candidates for multiple keys, as they are no longer specced
13:07 dalek rakudo/method2sub: review: https://github.com/rakudo/rakudo/commit/3e4d3e8baa
13:07 lizmat please use %h<a b c>:delete instead
13:08 moritz wait, %h<a b c>:delete isn't "multiple keys"?
13:08 lizmat moritz: this was about %h.delete( <a b c> )
13:08 GlitchMr .delete is internal.
13:08 GlitchMr :delete is not.
13:08 moritz ah
13:08 moritz ok
13:10 benabik joined #perl6
13:12 lizmat 1. we all agree that there are objects that can do both [] and {}, right?
13:12 lizmat because we have "at_pos" for [] access and "at_key" for {} access
13:12 timotimo yeah, like qast nodes
13:13 FROGGS I propose ⁝delete for ex- and internal use :o)
13:13 lizmat then why do we only have .delete and .exists, instead of .delete_pos / .delete_key and .exists_pos / .delete_pos ?
13:13 moritz just use DELETE for internal use
13:14 moritz lizmat: I'm in favor of AT_POS/DELETE_POS/EXISTS_POS and the same for _KEY
13:14 lizmat the fact that [] will now also support :delete and :exists properly, exposes this
13:14 lizmat in full capitals ?
13:14 moritz yes
13:14 moritz and spec that postcircumfix:<[ ]> and { } dispatch to those
13:15 lizmat and annotate .delete, .exists, .at_pos, .at_key as "is DEPRECATED" ?
13:15 FROGGS specced internal methods?
13:15 lizmat .delete / .exists are currently specced
13:15 FROGGS ahh
13:15 xenoterracide joined #perl6
13:17 colomon any obvious reasons why has $!auto-continue should be read-only?
13:17 colomon annot modify an immutable value
13:17 colomon in block  at lib/Grammar/Debugger.pm:77
13:29 colomon .seen jnthn
13:29 yoleaux I saw jnthn 19 Sep 2013 17:53Z in #perl6: <jnthn> bbl
13:31 lizmat jnthn is on holiday, please .tell him anything important for later perusal
13:31 PacoAir joined #perl6
13:32 colomon .tell jnthn Grammar::Debugger seems to be completely broken.  :(
13:32 yoleaux colomon: I'll pass your message to jnthn.
13:32 moritz colomon: open a ticket on github?
13:32 pmurias joined #perl6
13:32 colomon moritz: sure
13:32 hoelzro when is jnthn back?
13:33 lizmat I seem to remember Wed
13:36 colomon moritz: …. jnthn already noted the problem in the issues three months ago.  :(
13:37 masak hoelzro: this evening, or at least tomorrow.
13:37 hoelzro ok, cool
13:38 hoelzro I'm banging my head on the desk about this JVM bug =/
13:38 kaare_ joined #perl6
13:42 * masak .oO( careful with that desk! )
13:43 dalek rakudo/method2sub: 1f7c7a7 | (Elizabeth Mattijsen)++ | src/core/Any.pm:
13:43 dalek rakudo/method2sub: Fix missing :!delete for one and more
13:43 dalek rakudo/method2sub: review: https://github.com/rakudo/rakudo/commit/1f7c7a7f79
13:43 dalek rakudo/method2sub: 1791775 | (Elizabeth Mattijsen)++ | src/core/array_slice.pm:
13:43 dalek rakudo/method2sub: Fix copy'n'pasted typo
13:43 dalek rakudo/method2sub: review: https://github.com/rakudo/rakudo/commit/17917752c6
13:47 bluescreen10 joined #perl6
13:52 skids joined #perl6
13:53 btyler joined #perl6
13:56 dalek rakudo/method2sub: dbc8273 | (Elizabeth Mattijsen)++ | src/core/Any.pm:
13:56 dalek rakudo/method2sub: Make object description in error also show the name of the object if possible
13:56 dalek rakudo/method2sub: review: https://github.com/rakudo/rakudo/commit/dbc827353b
13:56 lizmat running final spectest before merging
13:57 FROGGS hoelzro: which jvm bug exactly?
13:58 thou joined #perl6
13:59 hoelzro FROGGS: https://rt.perl.org/rt3/Tic​ket/Display.html?id=119877
13:59 hoelzro my JVM/NQP fu is not nearly strong enough to deal with it
13:59 hoelzro but I *did* try =)
14:00 arnsholt hoelzro: It's not just that the captures aren't set up until the whole thing has matched?
14:00 hoelzro that could be it
14:01 FROGGS yeah
14:01 hoelzro I have a few theories, but no real proof to back it up
14:01 hoelzro it's odd, though
14:01 hoelzro since it only happens with a declared regex
14:01 hoelzro (meaning regex foo { ... } and not ~~ /.../)
14:02 arnsholt Oh. So 'foo' ~~ / <word>  { $inner-match := $<word> }/ works, but not with a factored out rule. That's a bit weird
14:02 arnsholt ... / and regex foo { ... } probably have slightly different codegens though
14:02 lowpro30 joined #perl6
14:03 masak please add that to the ticket.
14:10 dalek rakudo/method2sub: 530c420 | (Elizabeth Mattijsen)++ | src/core/ (2 files):
14:10 dalek rakudo/method2sub: Removed unneeded explanatory comments
14:10 dalek rakudo/method2sub: review: https://github.com/rakudo/rakudo/commit/530c420382
14:10 telex joined #perl6
14:11 * gtodd wonders is there is a perl equivalent to the easy to use javascript dialects like "coffeescript"  ...
14:11 gtodd other than perl6 of course :-)
14:11 logie joined #perl6
14:12 masak something that compiles down to Perl?
14:12 jercos well, you can convert from brainfuck without too much effort
14:13 gtodd heh yeah I guess it's easier with javascript :)
14:13 jercos what are you defining easy to use as?
14:14 gtodd jercos: good question ... since javascript is ubiquitous and sometimes irritating  there's been many "atlernatives" ... perl is probably less irritating so ...
14:14 jercos Things like list assignments, simple list comprehension, conditional statements, they're part of perl already.
14:16 jercos Perl 5 doesn't have that haskelloid syntax for defining functions, or the lack of parenthetical expressions required for conditions and loops on blocks, but, well, to be honest, they're not really "easier" in very many senses.
14:16 jercos And of course, Perl 6 brings the very same to the table.
14:16 gtodd yeah ... perl is "easy" already ... javascript's notion of easy seems debatable
14:16 jercos And then coffeescript also makes some integration with jQuery easier.
14:16 jercos I don't think I need to say anything about that ;)
14:17 gtodd jquery argh
14:18 dalek rakudo/method2sub: 2373d4c | (Elizabeth Mattijsen)++ | src/core/Hash.pm:
14:18 dalek rakudo/method2sub: Properly eradicate .delete(<a b c>)
14:18 dalek rakudo/method2sub: review: https://github.com/rakudo/rakudo/commit/2373d4c154
14:18 gtodd jercos: the amazing thing is it seems like perl6 is going to run everywhere (parrot, jvm, .net ...)
14:18 jercos coffeescript also brings almost-pythonic levels of caring about whitespace. Not something I personally agree with.
14:18 gtodd yeah
14:19 darutoko joined #perl6
14:19 jercos Well, most modern languages are like that, e.g. IronPython, Jython, etc. for Python...
14:19 iSlug joined #perl6
14:19 jercos Perl 5 in a sense has been the exception to the rule.
14:19 Grimnir_ does anybody know any good framework or cms for doing Perl6 web development?
14:19 gtodd wait ... perl6 is going to run  errm in/on  *javascript*
14:20 timotimo yes
14:20 jercos Yeah.
14:20 gtodd jeez ...
14:20 jercos Yup.
14:20 timotimo what's the problem?
14:20 gtodd perl6 ... to .. the ... rescue ...
14:20 timotimo everybody does that nowadays
14:20 gtodd yeah
14:20 jercos Possibly even eventually self-hosted in javascript. A full perl6 environment in your web browser :p
14:20 gtodd but ... yeah that
14:20 timotimo that's what we want
14:20 jercos I'm sure you've seen emscripten?
14:20 timotimo self-hosted in the sense that the nqp is selfhosted
14:20 gtodd that will be fantastic
14:21 jercos Yeah.
14:21 gtodd so why learning any other language besides perl6 :)
14:21 timotimo our GSoC student is doing that at the moment, pmurias.
14:21 gtodd pmurias++
14:21 jercos gtodd: diversity, 3~1~
14:22 jercos erm, sorta threw my keyboard at a wall there. heh.
14:22 timotimo the next big thing he needs to do is serialisation/deserialisation
14:22 gtodd I didn't realize how close he/she was to getting there
14:22 timotimo after that, the setting should be compilable for nqp and after that there'll be lots of small things here and there to make it compile itself and then rakudo.
14:23 denis_boyun joined #perl6
14:23 gtodd Grimnir_: look at the packages/modules repo  there's some simple/useful stuff there ... web::app::ballet
14:24 timotimo also bailador is a dancer-like
14:24 gtodd but no full cms ... now's your chance!!
14:24 dalek roast: 45d205f | (Elizabeth Mattijsen)++ | S (7 files):
14:24 dalek roast: Fudge all cases where [] or {} were being overloaded as methods
14:24 dalek roast:
14:24 dalek roast: There is currently no easy generic solution to this problem.  There seems to be
14:24 dalek roast: a notion that "lift" will bring the answer.  But TimToady appears to be putting
14:24 dalek roast: that in question more or less now as well.
14:24 dalek roast: review: https://github.com/perl6/roast/commit/45d205f269
14:25 masak 'Besides, stuff should be done right. That's why it's called "right".' -- MJD++
14:26 masak http://blog.plover.com/brain/hp-15c.html
14:26 Grimnir_ gtodd: great, thanks
14:27 jercos masak: I always have an HP11c in my bag :)
14:28 masak jercos: I feel like getting one of those now.
14:28 dalek roast: 4b7b96a | (Elizabeth Mattijsen)++ | S02-types/whatever.t:
14:28 dalek roast: Fudge test for *[0](1,2,3,4,5)
14:28 dalek roast:
14:28 dalek roast: Not sure how this was affected by []/{} method to sub migration
14:28 dalek roast: review: https://github.com/perl6/roast/commit/4b7b96ae1e
14:28 dalek roast: cc3ddbe | (Elizabeth Mattijsen)++ | S32-hash/delete.t:
14:28 dalek roast: Remove tests for .delete(<a b c>), as that functionality has been removed
14:28 dalek roast:
14:28 dalek roast: (and most likely will not return)
14:28 masak I'm not sure why MJD found the 38x**3 funny, by the way. is it just because it's a fairly large coefficient?
14:28 dalek roast: review: https://github.com/perl6/roast/commit/cc3ddbe3ab
14:28 dalek roast: d7d2a84 | (Elizabeth Mattijsen)++ | S (3 files):
14:28 dalek roast: Undfudge/fix now passing []:delete and []:exists tests
14:28 dalek roast: review: https://github.com/perl6/roast/commit/d7d2a84276
14:33 FROGGS masak: maybe the calculator can't handle it?
14:34 masak FROGGS: I doubt that's the reason.
14:34 jercos that calculator has base e & base 10 logs & e^x & 10^x functions, arbitrary powers and large scale multiplication shouldn't be a problem
14:35 masak FROGGS: besides, it's the generating function -- the calculator doesn't need to handle it.
14:38 jercos something to do with the integral of the function he was analysing perhaps?
14:38 ajr joined #perl6
14:38 FROGGS bbl
14:38 gtodd masak: it could be a sort of higher order math joke :)
14:41 denis_boyun joined #perl6
14:42 lizmat merged method2sub locally, running spectest now
14:43 masak gtodd: I would totally buy a book "Higher order math jokes" by MJD!
14:45 jercos one would have to be careful there
14:45 jercos if it gets too popular, it winds up on higher *back*order
14:46 timotimo m)
14:46 gtodd hehe ... it would be funny and I might even understand  it!  I found Higher Order Perl to be astonishingly well written ... it is sophisticated and witty and so clear that even non professional programmers can follow.  That is not easy.
14:47 gtodd jercos:  higher *back*order ??? :-)
14:47 gtodd haha
14:49 lizmat ===SORRY!=== Error while compiling t/spec/S29-os/system.t
14:49 lizmat Variable '$cwd' is not declared
14:49 lizmat borked?
14:49 timotimo should probably be $*CWD?
14:49 timotimo where does that come from?
14:49 * timotimo looks
14:50 timotimo ah, the my for $cwd ought to be outside the BEGIN block.
14:50 lizmat nope, scoping issue
14:50 woolfy \o/ masak++ hops here
14:50 timotimo git blames coke
14:50 dalek roast: aa9eee5 | (Elizabeth Mattijsen)++ | S29-os/system.t:
14:50 dalek roast: Fix scoping issue
14:50 dalek roast: review: https://github.com/perl6/roast/commit/aa9eee50d8
14:50 timotimo woolfy: masak is hopping around?
14:50 hoelzro is openpipe only available on the JVM?
14:51 woolfy timotimo: I've seen it myself!
14:51 dalek Heuristic branch merge: pushed 26 commits to rakudo/nom by lizmat
14:52 lizmat spectest feels faster: 478 wallclock for me now, last time I really looked, I remember it to be 500+
14:52 timotimo that's cool :)
14:52 lizmat also []:delete and []:exists now work
14:53 hoelzro nice
14:53 lizmat *really* work, instead of being silently ignored
14:54 ssutch joined #perl6
14:57 moritz \o/
14:58 lizmat *phew*
14:58 timotimo spectests are clean?
14:59 lizmat except for t/spec/S29-os/system.t
14:59 * moritz builds
14:59 timotimo yes, that's to be expected
14:59 lizmat which is not my pb
14:59 timotimo very good! :)
14:59 lizmat however, I've had to fudge all tests that did a method postcircumfic:<[ ]> or <{ }>
14:59 lizmat *fix
14:59 lizmat as that doesn't work right now
15:00 lizmat and lift (or whatever else) doesn't work either yet
15:00 dayangkun_ joined #perl6
15:01 * TimToady wonders if the .at_* should be submethods so that they can be better optimized without taking inheritance into account
15:02 * lizmat runs a spectest with that thought
15:03 TimToady core is probably depending on inheriting them though
15:03 masak lizmat++
15:03 lizmat especially in Any  :-)
15:04 lizmat and we wouldn't want to have a 'class A is Array {}' have to provide its own "at_pos", do we?
15:04 TimToady in theory we can support a default method that gets called where a submeth isn't available
15:04 lowpro30_ joined #perl6
15:04 masak ooh, I see what's going on with https://github.com/perl6/roast/commit/45d205f269
15:05 lizmat TimToady:  would that work in reality?
15:05 masak this is all because any multi postcircumfix:<[ ]> you define will be lexically scoped.
15:05 lizmat yes
15:05 TimToady dunno, with BUILD the guys ended up doing it a different way than with a default method
15:06 masak and the $0 -> $/[0] transformation (and subsequent call to the postcircumfix) happens in a *non*-downstream lexical scope.
15:06 lizmat yup
15:06 masak and I also see why handwavingly saying "lift" may not be a good solution.
15:06 masak (because it's not clear that we want to do that with postcircumfix:<[ ]>)
15:07 masak (if we did, what's the rule here? which things get liften and which don't? remember, Perl 6 aims to not have you remember arbitrary lists of stuff.)
15:07 TimToady as I said the other day, the proto probably needs to declare exactly what is being borrowed from the caller
15:08 nwc10 masak: I thought it was "makes something in rosetta code a lot easier" :-)
15:08 TimToady or needs to harvest that info somehow from multis that declare it explicitly somehow
15:09 TimToady "lift" is one of those placeholder features we put in place to remind us that we need a real feature :)
15:09 TimToady but as currently defined there's far too much watness
15:11 TimToady we are currently tiptoeing fearfully into the realm of multi macros :)
15:11 FROGGS joined #perl6
15:12 colomon the proto?  that won't work for defining, say, a new infix:<+>, will it?
15:12 TimToady with the implicatoin that some arguments are normal, some are ASTs, and some are just stolen goods from the lexical scope
15:12 TimToady colomon: depends on how much we decide to restrict it
15:13 TimToady lift is almost entirely used for reformatting args and redispatching to the same operator currently (in our minds)
15:14 TimToady but if we want to use it for other things, then yes, the declaration will have to be pulled from the individual multis
15:14 TimToady which is a bit more mind-bending than just having the proto declare it
15:15 TimToady "okay you guys, make me a list of everything you think we might need to take along for the trip"
15:15 colomon TimToady: the main use I've had for it was defining math operators which can work on math types not known at definition time.  Like if I have Math::Vector and Math::Polynomial, it would be good to be able to have vectors of polynomials and vector-valued polynomials.  And that's undoable without lift's magic, as nearly as I can see.
15:16 fhelmberger_ joined #perl6
15:16 TimToady does it need to redispatch to different borrowed operators, or just the original one?
15:16 iSlug joined #perl6
15:16 TimToady (not that your specific cases will necessarily indicate the general need here...)
15:18 TimToady also, we need to consider that different multis will want the same op name treated differently
15:18 denis_boyun joined #perl6
15:18 colomon TimToady: well, you're going to have something like
15:19 TimToady so it needs to be up to each multi whether the op is mapped back to the caller, even if the proto makes the caller's op available to all the multis
15:19 colomon multi sub infix:<+>($a, $b) { Vector.new($a.coefficients <<+>> $b.coefficients); }
15:19 TimToady so I'm thinking a very short way to either prefix the actual op usage with something ¤-like
15:19 colomon and you'll want the <<+>> there to use infix:<+> suitable for $a and $b
15:20 TimToady or a way to declare "my \infix:<+> = CALLER::[&[+]]" or some such
15:21 TimToady but these are very quasi-unquote-ish, so I lean toward some sugar like the proposed ¤ for AST args
15:22 TimToady either put on the actual usage, or in an implicit part of the signature
15:22 lowpro30 joined #perl6
15:23 TimToady and we have to keep it compile-time clean enough that the optimizer can cancel it all out when it inlines something
15:23 ssutch joined #perl6
15:24 TimToady the SSA style of "my \infix:<+> =" is about as far down the road you can get toward runtime without messing that up
15:24 TimToady and it's kinda clunky
15:24 TimToady though that may be what the sugar is doing underneath
15:25 colomon TimToady: sure, my \infix:<+> = CALLER::[&[+]] seems like the right idea.  but that's not a proto, is it?  That's what had me worried.
15:25 ssutch joined #perl6
15:26 TimToady that would be in the multi, and yes, it would be difficult to communicate that to the proto
15:27 TimToady hence a special syntax might make that easier to recognize
15:27 TimToady otoh, the compiler can see there's a CALLER there, so maybe it's not that hard to see it
15:27 * TimToady is more worried about making it easy for people to do the right thing
15:28 TimToady "your function is almost right, but to do it perfectly you have to triple its size"
15:29 lowpro30_ joined #perl6
15:31 TimToady so if we maked ops directly (in the same way as the proposed ¤arg quasi-unquote), then instead of writing multi foo ($a,$b) { lift $a bar $b } we'd write something like multi foo ($a,$b) { $a ©bar $b }
15:31 TimToady (using ⓒ  for the caller "sigil" there)
15:32 colomon oooo
15:32 dmol joined #perl6
15:32 TimToady .u ⓒ
15:32 yoleaux U+24D2 CIRCLED LATIN SMALL LETTER C [So] (ⓒ)
15:32 lizmat cycling & dinner&
15:32 TimToady uh, why did it give me that one instead of the Latin-1 one, when I typed the same thing?
15:32 TimToady .u ©
15:32 yoleaux U+00A9 COPYRIGHT SIGN [So] (©)
15:34 TimToady ooh, it give me a different thing for compose (c than it does for (c)
15:34 TimToady interesting
15:36 TimToady at one point I though we might just have a metaop like C, to get $a Cbar $b, but doesn't extend so well to unaries
15:37 TimToady plus metas are really more about higher order functions, which is sort of run-timey in mindset, even if we do optimize them heavily
15:38 masak what's so run-timey about higher-order functions?
15:38 masak seems that function composition is a fairly static thing.
15:39 TimToady foo(&bar) is, on the face of it, passing &bar to foo at runtime
15:39 TimToady and &bar could be bound to something different each time through
15:40 iSlug joined #perl6
15:44 TimToady but marking individual unquotes or unlexemes, while handy, doesn't allow you to annotate args with type info (same problem with normal placeholder args), so we need to be able to put this info into the multi's sig too, probably using the same ¤/© notation as we currently use | to mark capture args
15:44 TimToady or more like \ for parcel args, really
15:45 masak ah yes, &bar contains the same kind of late-boundedness as method dispatch.
15:45 TimToady and to parse correctly, we really need to know the syntactic category the placeholder is standing in for
15:46 masak aye.
15:46 TimToady though term/infix are good default guesses
15:46 masak even more -- in the case of operators, we need to know precedence and associativity.
15:46 masak in the case of binary operators, I should say.
15:46 masak without that information, we can't create a correct AST.
15:47 FROGGS .u phone
15:47 yoleaux U+1F4F1 MOBILE PHONE [So] (📱)
15:47 yoleaux U+1F4F2 MOBILE PHONE WITH RIGHTWARDS ARROW AT LEFT [So] (📲)
15:47 yoleaux U+1F4F4 MOBILE PHONE OFF [So] (📴)
15:47 FROGGS this could be used for "caller" too :o)
15:49 * FROGGS goes back to his webstuff
15:49 TimToady FROGGS: but we're trying, feebly, to stay in the Latin-1 region, or at least the BMP...
15:49 FROGGS ahh, I'm sorry
15:51 denisboyun joined #perl6
15:52 REPLeffect joined #perl6
15:59 * colomon is suddenly worried that just knowing the caller's context is not nearly good enough.  But then, he doesn't understand half of what TimToady++ is saying.
16:01 masak colomon: I'm curious what thing beyond the caller's context you consider maybe necessary.
16:02 colomon well, consider the Vector example
16:02 colomon So it's got my \infix:<+> = CALLER::[&[+]]
16:03 colomon and now if you define two Vectors and add them, it works right.
16:03 masak right.
16:03 colomon But what if you write a function that (among other things) adds two Vectors?
16:03 colomon now you need to pull in that function's CALLER, too.
16:04 masak yes. it's transitive, in some sense.
16:04 masak that in itself doesn't seem problematic.
16:04 colomon and now you write a function which calls *that* function
16:04 masak at least, I don't see the problem with it.
16:04 colomon so you also need to pull in the CALLER
16:04 masak right, CALLER's CALLER's CALLER...
16:04 colomon but you don't necessarily know for what operators.
16:05 masak I can see how this would totally hose inlining in some cases.
16:05 masak as in, make it not possible.
16:05 moritz s/some/most/
16:05 colomon it's not just inlining, it's a maintenance nightmare.
16:05 moritz like, everywhere inside the setting
16:05 masak :/
16:06 colomon because now to write a generic-ish function using Vectors, you need to know every operator that every function you call might use (and so on)
16:09 TimToady at some point you give up and put everything into your Template Libarary...
16:11 TimToady or you give up in the OO direction and pass all semantics through one of the args
16:12 rindolf joined #perl6
16:12 TimToady or you give up in the FP direction and tell people, oh, you just have to lift this monad into this other monad...
16:14 TimToady and, by one reckoning, monads are "just" a fancy way to thread some implicit args through some function calls
16:17 TimToady these are three main ways languages control genericity
16:19 denis_boyun joined #perl6
16:22 sftp joined #perl6
16:23 TimToady the interesting place is where these domains meet; maybe for infixes with homogenous arguments we would do better to delegate to the class (in terms of handling genericity), while heterogenous args remain in the domain of multiple dispatch
16:28 colomon huh
16:34 TimToady otoh that line of thinking makes us put .[] back into methodspace :)
16:35 FROGGS ARGLBARGL
16:35 FROGGS :o)
16:38 TimToady my feeling currently is that we just have to make the lexical [] smart enough to recognize when it needs to delegate to some other mechanism, and hopefully not pessimize every [] for the sake of a few that need that delegation
16:41 TimToady whether we can actually do that well enough without teaching everyone Haskell is a good question
16:44 timotimo i'm wondering now if the mechanism that creates a bind to NQPMu and *then* a bind to the actual value is what makes sure that there's always an NQPMu, even if there's an undefined name bound
16:47 spider-mario joined #perl6
16:49 stevan__ joined #perl6
16:54 ksh joined #perl6
16:57 TimToady It may be the fundamental problem of our age: knowing when to delegate, and when to do it yourself.  :)
16:57 SamuraiJack joined #perl6
16:58 * TimToady wonders when masak++ will realize he's been delegated to combine macros and category theory in a single elegant, easy-to-understand solution...  :)
17:00 rindolf joined #perl6
17:02 Timbus joined #perl6
17:03 masak pshh. category theory combines *everything* in a single elegant, easy-to-understand solution. :P
17:04 * masak loves how "arglebargle" doesn't appear to have a standardized spelling
17:04 timotimo algebraic!
17:04 diakopter "fizzbuzz"
17:04 TimToady whosetobemasterthat'sall
17:05 TimToady *who's
17:05 TimToady my fingers more than my brane, obviously...
17:05 TimToady *fingres
17:08 TimToady category theory combines everything very well as long as you don't actually try to combine anything...
17:08 masak categories are all about combining things. :)
17:08 TimToady then why are monads so hard to lift?
17:09 masak because each monad has its own idea about combining.
17:09 masak it's a bit like a role conflict, I bet.
17:09 masak needs to be manually resolved.
17:09 TimToady well, it's the same generic/specific problem that crops up all over
17:10 TimToady including in .[]
17:10 * masak .oO( "we all agree about the need to combine, we just can't recocile those ideas..." )
17:10 masak today's paraphrase autopun :P
17:10 TimToady we all agree on the necessity to combine, but that doesn't mean we have to like the combinatorics...
17:11 flussence joined #perl6
17:11 masak :)
17:13 TimToady the problem with computers is that by the time you know enough about the problem to come up with a correct general solution, you already know the answer to the problem.  :)
17:14 TimToady from which it may be deduced that all our useful computer programs are either incorrect or insufficiently general :)
17:15 TimToady or both, unless those are the same thing...
17:20 * TimToady wonders if SPJ can create a monad he cannot lift...
17:24 * TimToady suspect's that colomon++'s caller's caller problem is isomorphic to the is-this-class-final problem
17:25 TimToady and that some usage patterns will simply have to pessimize, but hopefully the optimizer can still work in most of the common cases
17:26 TimToady and maybe JIT/hotpath analysis will cover the pessimal(er) cases
17:34 TimToady it's a recurring pattern; every optimization technique trades generality for specificity, and eventually hits a wall when the optmization runs out of steam; DSLs, multicores, native types, all fall prey to this
17:34 TimToady they all cheat the performance curve on some level, but the curve always wins eventually
17:35 masak *nod*
17:36 TimToady where DSL is any language that is not Lisp :)
17:39 dmol joined #perl6
17:52 * masak .oO( Lisp, the world's only DGL )
17:55 BenGoldberg joined #perl6
17:59 pmurias performance curve?
18:01 * FROGGS .oO( "Performance Curve - The Great Unkown for Perl 6 Devs..." )
18:01 FROGGS Unknown*
18:01 FROGGS gah
18:02 Rotwang joined #perl6
18:02 TimToady .oO( The Purloined Letter )
18:07 simcop2387 joined #perl6
18:08 dalek rakudo/nom: 2f67f93 | (Elizabeth Mattijsen)++ | src/Perl6/World.nqp:
18:08 dalek rakudo/nom: Make sure failures in Perl6 exceptions give at least a panic message
18:08 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2f67f93fc4
18:15 lizmat r: my %a=a=>1; say %a<a>:exists:k
18:15 camelia rakudo 8416e4: OUTPUT«Unsupported combination of named parameters (exists, k) passed to Hash %a␤  in method gist at src/gen/CORE.setting:11728␤  in method gist at src/gen/CORE.setting:955␤  in sub say at src/gen/CORE.setting:12628␤  in block  at /tmp/4vMZ6hVCxa:1␤␤»
18:15 lizmat :-)
18:16 lizmat r: my %a=a=>1; say %a<a>:exists:foo
18:16 camelia rakudo 8416e4: OUTPUT«Unexpected named parameter 'foo' passed to Hash %a␤  in method gist at src/gen/CORE.setting:11728␤  in method gist at src/gen/CORE.setting:955␤  in sub say at src/gen/CORE.setting:12628␤  in block  at /tmp/jZKjNMfSZL:1␤␤»
18:24 dduncan joined #perl6
18:24 dduncan left #perl6
18:24 woosley joined #perl6
18:28 BenGoldberg r: my %a=b=>2; say %a<b>
18:28 camelia rakudo 8416e4: OUTPUT«2␤»
18:28 BenGoldberg r: my %a=b=>2; say %a<b>:exists
18:28 camelia rakudo 8416e4: OUTPUT«True␤»
18:28 BenGoldberg r: my %a=b=>2; say %a<b>:k
18:28 camelia rakudo 8416e4: OUTPUT«b␤»
18:28 BenGoldberg r: my %a=b=>2; say %a<b>:v
18:28 camelia rakudo 8416e4: OUTPUT«2␤»
18:28 BenGoldberg r: my %a=b=>2; say %a<b>:delete
18:28 camelia rakudo 8416e4: OUTPUT«2␤»
18:29 BenGoldberg r: my %a=b=>2; say %a<b>:foo
18:29 camelia rakudo 8416e4: OUTPUT«Unexpected named parameter 'foo' passed␤  in sub postcircumfix:<{ }> at src/gen/CORE.setting:2379␤  in sub postcircumfix:<{ }> at src/gen/CORE.setting:2376␤  in block  at /tmp/x83cagc7LN:1␤␤»
18:29 BenGoldberg :)
18:29 jfried joined #perl6
18:29 BenGoldberg r: my %a=b=>2; say %a<b>:k:v
18:29 camelia rakudo 8416e4: OUTPUT«Unsupported combination of named parameters (k, v) passed to Hash %a␤  in method gist at src/gen/CORE.setting:11728␤  in method gist at src/gen/CORE.setting:955␤  in sub say at src/gen/CORE.setting:12628␤  in block  at /tmp/FUPFOsssiA:1␤␤»
18:30 BenGoldberg r: my %a=b=>2; say %a<b>:kv
18:30 camelia rakudo 8416e4: OUTPUT«b 2␤»
18:36 lizmat r: my %h=a=>1,b=>2,c=>3; my %i = %h<a c>:delete:p; say %h; say %i
18:36 camelia rakudo 8416e4: OUTPUT«Odd number of elements found where hash expected␤  in method STORE at src/gen/CORE.setting:8561␤  in block  at /tmp/wfOIW3awvx:1␤␤»
18:36 lizmat r: my %h=a=>1,b=>2,c=>3; my %i; %i.push( %h<a c>:delete:p ); say %h; say %i
18:36 camelia rakudo 8416e4: OUTPUT«Trailing item in Hash.push  in block  at /tmp/HnwwRXlkOm:1␤␤("b" => 2).hash␤().hash␤»
18:37 lizmat hmmmm
18:37 jfried joined #perl6
18:37 xenoterracide_ joined #perl6
18:38 xenoterracide__ joined #perl6
18:40 timotimo r: my %h=a=>1,b=>2,c=>3; my %i; %i.push( |(%h<a c>:delete:p) ); say %h; say %i
18:40 camelia rakudo 8416e4: OUTPUT«("b" => 2).hash␤("a" => 1, "c" => 3).hash␤»
18:40 xenoterracide__ joined #perl6
18:40 timotimo r: my %h=a=>1,b=>2,c=>3; my %i; %i.push( %h<a c>:delete:kv ); say %h; say %i
18:40 camelia rakudo 8416e4: OUTPUT«Trailing item in Hash.push  in block  at /tmp/HIkmmVs9Sj:1␤␤("b" => 2).hash␤().hash␤»
18:40 lizmat r: my %h=a=>1,b=>2,c=>3; my %i; %i.push( %h<a c>:delete:kv ); say %h; say %i
18:40 camelia rakudo 8416e4: OUTPUT«Trailing item in Hash.push  in block  at /tmp/gKbN1Bo_hp:1␤␤("b" => 2).hash␤().hash␤»
18:43 timotimo that's the exact same i just did o_O
18:43 xenoterracide__ joined #perl6
18:45 lizmat great minds think alike?  :-)
18:47 timotimo oh you flatter me :3
18:47 timotimo bleh. i thought c# had async blocks like perl6
18:47 timotimo turns out it only has async methods, just like java
18:52 diakopter heh
18:52 diakopter java has sync methods
18:54 diakopter timotimo: and actually C# does have async lambdas
18:56 timotimo oh, that's cool!
18:57 timotimo that and LINQ make it pretty perl6ish ... well at least more than java :P
19:00 diakopter this fleshes out .net async to have a decent chunk of what java provides in its parallel libraries: http://nitoasyncex.codeplex.com/documentation
19:04 lizmat .tell jnthn tried to make is DEPRECATED do something sensible, but got stuck in strange error: https://gist.github.com/lizmat/6675289
19:04 yoleaux lizmat: I'll pass your message to jnthn.
19:04 lizmat .tell jnthn I guess it's too early in the core setting somehow
19:04 yoleaux lizmat: I'll pass your message to jnthn.
19:05 dalek rakudo/nom: b78da4e | (Elizabeth Mattijsen)++ | src/core/Any.pm:
19:05 dalek rakudo/nom: Hide support siubs from backtraces
19:05 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b78da4e810
19:06 xenoterracide joined #perl6
19:07 zwut00 joined #perl6
19:08 diakopter masak: how many different uses of the colon can you fit into 30 characters
19:08 lowpro30 joined #perl6
19:08 diakopter .ask jnthn you seen http://nitoasyncex.codeplex.com/documentation
19:08 yoleaux diakopter: I'll pass your message to jnthn.
19:11 diakopter .ask jnthn also this? http://arraysegments.codeplex.com/
19:11 yoleaux diakopter: I'll pass your message to jnthn.
19:11 1JTAAYBKS joined #perl6
19:12 revdiablo joined #perl6
19:14 lizmat afk&
19:20 xenoterracide joined #perl6
19:26 BenGoldberg rn: my @a = 1; for (@a[^Inf]) { .say; last }
19:26 camelia niecza v24-95-ga6d4c5f: OUTPUT«(timeout)»
19:26 camelia ..rakudo b78da4: OUTPUT«1␤»
19:27 BenGoldberg rakudo++
19:27 BenGoldberg rn: my @a := ^Inf; for (@a[^Inf]) { .say; last }
19:28 camelia rakudo b78da4, niecza v24-95-ga6d4c5f: OUTPUT«(timeout)»
19:28 BenGoldberg :P
19:28 BenGoldberg :(
19:29 masak diakopter: four, if you count '::' as two.
19:29 masak rn: class :: {}; sub { say :$:a }
19:29 camelia rakudo b78da4, niecza v24-95-ga6d4c5f: ( no output )
19:31 masak diakopter: ten, if you lift the "different" criterion.
19:32 masak rn: :(:(:(:(:(:(:(:(:(:$)))))))))
19:32 diakopter hee
19:32 camelia rakudo b78da4: ( no output )
19:32 camelia ..niecza v24-95-ga6d4c5f: OUTPUT«[31m===[0mSORRY![3​1m===[0mâ�¤â�¤Abbreviated named parameter must have a name at /tmp/4AaNbFyTNZ line 1:â�¤------> [32m:(:(:(:(:(:(:(:(:(:$[33mâ��[​31m)))))))))[0mâ�¤â�¤Abbreviated named parameter must have a name at /tmp/4AaNbFyTNZ line 1:â�¤------> [32m:(:(…»
19:32 BenGoldberg :)
19:32 masak oh, silly niecza.
19:33 masak diakopter: 28, if the contents of strings count :)
19:33 diakopter rn: ::_::_::_::_::_::_::_::_::_::_
19:33 camelia niecza v24-95-ga6d4c5f: ( no output )
19:33 camelia ..rakudo b78da4: OUTPUT«===SORRY!===␤Could not locate compile-time value for symbol _::_::_::_::_::_::_::_::_::_␤»
19:33 masak nice.
19:34 ssutch joined #perl6
19:38 [Coke] jvm daily run stuck on S32-array/create.t
19:38 masak [Coke]++ # doing the dailu runs every day
19:38 masak [Coke]: was that why we dropped to 63% ?
19:40 [Coke] looks like it's "every test after some point aborts every test".
19:40 [Coke] wonder if the eval server has a memory leak or something.
19:41 diakopter r: -> (:$: :a(@)) { ::() }
19:41 camelia rakudo b78da4: ( no output )
19:41 diakopter meh
19:41 TimToady #:)
19:42 [Coke] r: #$%^&*()
19:42 camelia rakudo b78da4: ( no output )
19:42 [Coke] r: !@#$%^&*()
19:42 camelia rakudo b78da4: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/83pKF8v63aâ�¤Unsupported use of @# variableâ�¤at /tmp/83pKF8v63a:1â�¤------> [32m![33mâ��[31m@#$%^&*()[0mâ�¤    expecting any of:â�¤        statement listâ�¤        prefix or termâ�¤        prefix or meta-prefixâ�¤â€¦Â»
19:42 [Coke] there, that's better.
19:43 * [Coke] leaves it to finish the last few dozen test files by timing out.
19:43 * masak .oO( stop reciting Perl when I'm swearing! )
19:45 timotimo that's an LTA. it should have said "this looks like a swearword" instead
19:47 TimToady this could be arranged
19:48 EvanTeitelman joined #perl6
19:55 bbkr joined #perl6
20:00 diakopter EPOTTYMOUTH
20:01 lowpro30_ joined #perl6
20:15 dalek rakudo-js: b41bfbb | (Pawel Murias)++ | / (2 files):
20:15 dalek rakudo-js: Make takeclosure wrap the function with a CodeRef object.
20:15 dalek rakudo-js: review: https://github.com/pmurias/​rakudo-js/commit/b41bfbb9c1
20:15 dalek rakudo-js: b0b17c1 | (Pawel Murias)++ | / (3 files):
20:15 dalek rakudo-js: Move deserialization of closures/contexts into the deserialize op.
20:15 dalek rakudo-js: review: https://github.com/pmurias/​rakudo-js/commit/b0b17c13da
20:15 dalek rakudo-js: 76e6a2d | (Pawel Murias)++ | / (6 files):
20:15 dalek rakudo-js: Serialize closures without contexts.
20:15 dalek rakudo-js: review: https://github.com/pmurias/​rakudo-js/commit/76e6a2d3a1
20:15 dalek rakudo-js: 2e3ed32 | (Pawel Murias)++ | / (6 files):
20:15 dalek rakudo-js: Pass nqp/t/serialization/03-closures.t.
20:15 dalek rakudo-js:
20:15 dalek rakudo-js: Serialize closures.
20:15 dalek rakudo-js: review: https://github.com/pmurias/​rakudo-js/commit/2e3ed32b4f
20:16 timotimo \o/
20:17 jnthn good evening, #perl6
20:17 yoleaux 19 Sep 2013 22:28Z <pmurias> jnthn: why is NQPRegex defined twice? (as a knowhow in the setting, and as a class in the regex lib)
20:17 yoleaux 20 Sep 2013 13:20Z <lizmat> jnthn: the fact that we can't make a generic 'at' instead of .at_key and .at_pos (because an object might do both)
20:17 yoleaux 20 Sep 2013 13:20Z <lizmat> jnthn: doesn't that mean that we should separate .exists into .exists_key / .exists_pos as well
20:17 yoleaux 20 Sep 2013 13:21Z <lizmat> jnthn: and .delete into .delete_key and .delete_pos ?
20:17 yoleaux 21 Sep 2013 15:04Z <lizmat> jnthn: please have a look at the method2sub branch and tell me why this makes perl6 -e '\01' hang on parakudo and eat all memory
20:17 yoleaux 22 Sep 2013 12:04Z <lizmat> jnthn: in method2sub, my @a; @a[1..*] hangs because, most likely, the whatever cannot see the .elems of the object anymore
20:17 yoleaux 13:32Z <colomon> jnthn: Grammar::Debugger seems to be completely broken.  :(
20:17 yoleaux 19:04Z <lizmat> jnthn: tried to make is DEPRECATED do something sensible, but got stuck in strange error: https://gist.github.com/lizmat/6675289
20:17 yoleaux 19:04Z <lizmat> jnthn: I guess it's too early in the core setting somehow
20:17 yoleaux 19:08Z <diakopter> jnthn: you seen http://nitoasyncex.codeplex.com/documentation
20:17 yoleaux 19:11Z <diakopter> jnthn: also this? http://arraysegments.codeplex.com/
20:17 timotimo it's jonathan! :D
20:17 jnthn holy crap, that's some messages :P
20:17 lee_ "you've got mail"
20:18 timotimo you're in luck yoleaux didn't get kicked off the net for spam :)
20:18 pmurias jnthn: hi
20:19 pmurias timotimo: now I'm checking it serializing closures helps to pass any of the 5 tests failing under self hosting nqp-js :)
20:19 jnthn pmurias: Possibly the non-setting one is fossil.
20:20 jnthn (wrt NQPRegex)
20:21 pmurias jnthn: the both are used for different things
20:21 jnthn pmurias: Wow. :)
20:22 arnsholt On a happier note, I fixed a couple of LHF encode/decode bugs in NQP today =)
20:22 jnthn arnsholt++
20:22 jnthn pmurias: It may be good to rename one. :)
20:22 pmurias jnthn: the one in the regex lib is used for accepting things with ~~
20:22 jnthn pmurias: Ah...I wonder if that whole arrnagement is fossil now.
20:22 jnthn pmurias: I think it dates from before we had code objects at all.
20:22 arnsholt And the RaNIW notes are inspiring me to do silly things. Now I'm going to blame you if my PhD thesis isn't done on time ^_^
20:23 pmurias jnthn: and the nqp compiler distinguishes between them by fetching the setting one from the lexical scope and the regex lib from GLOBAL
20:23 jnthn pmurias: Makes "sense" ;)
20:23 jnthn pmurias: File a ticket. I guess it's not pressing but it's a smell...
20:24 pmurias jnthn: and I had a bug which loaded the regex lib as the setting, needless to say I was very confused by that
20:24 timotimo jnthn: the sense it makes is the smell sense :)
20:25 stevan_ joined #perl6
20:25 jnthn pmurias: Interesting bug... :)
20:27 jnthn Anyway, full agree we don't want the two named the same. :)
20:27 pmurias jnthn: re bug, https://github.com/pmurias/rakudo-js/commi​t/6f2af2c341e2acec34e3688dd9311458fbb1db07
20:28 jnthn .tell lizmat I can see the argument for exists_key/exists_pos; otoh I really don't feel like breaking all the code out there using .exists... Of course, can always have both :P
20:28 yoleaux jnthn: I'll pass your message to lizmat.
20:28 jnthn .tell lizmat I think from reading other backlog you figured the hangs; lemme know if not
20:28 yoleaux jnthn: I'll pass your message to lizmat.
20:29 ajr joined #perl6
20:29 pernatiy joined #perl6
20:30 lichtkind joined #perl6
20:32 colomon joined #perl6
20:45 lizmat jnthn: actually, the "is DEPRECATED" one isn't solved yet
20:45 yoleaux 20:28Z <jnthn> lizmat: I can see the argument for exists_key/exists_pos; otoh I really don't feel like breaking all the code out there using .exists... Of course, can always have both :P
20:45 yoleaux 20:28Z <jnthn> lizmat: I think from reading other backlog you figured the hangs; lemme know if not
20:46 lizmat I was hoping to fix that, so deprecated methods would warn just once when being used
20:46 lizmat then, create AT_KEY, AT_POS, DELETE_KEY etc...
20:46 lizmat and mark at_pos, at_key, delete, exists as DEPRECATED
20:47 jnthn Do we need to uppercase them?
20:47 lizmat that was moritz's suggestion, and I must admit I like it  :-)
20:48 sciurius joined #perl6
20:48 lizmat jnthn: http://irclog.perlgeek.de/​perl6/2013-09-23#i_7619315
20:49 timotimo http://questhub.io/realm/per​l/explore/unclaimed/tag/nqp - i wonder ...
20:51 lizmat is DEPRECATED attempt at https://gist.github.com/lizmat/6675289
20:52 [Sno] joined #perl6
20:56 stevan_ joined #perl6
20:56 Timbus joined #perl6
20:59 lichtkind apply_all_roles( $car, 'Breakable' => { ... renames}); that would work too?
21:03 fridim__ joined #perl6
21:06 lichtkind wrong channel sorry
21:06 masak is at_key "special" the way BEGIN and BUILD are? I'm not so sure.
21:06 masak the underscore arguably already demonstrates that it's internal.
21:08 lizmat at_key / at_pos are currently not specced
21:08 lizmat .delete / .exists are
21:08 lizmat :-(
21:09 jnthn lizmat: I think add_phaser is known not to work in the setting, which is why we don't use phasers in there besides BEGIN and INIT, whihc are handled differently.
21:10 Mouq joined #perl6
21:10 Mouq lizmat++ arnsholt++
21:10 lizmat jnthn: src/core/Variable uses $v.block.add_phaser for "will" traits
21:10 bitpart joined #perl6
21:12 lizmat r: my $a will enter { say "hello" }
21:12 camelia rakudo b78da4: OUTPUT«hello␤»
21:12 lizmat r: my $a will leave { say "goodbye" } will enter { say "hello" }
21:12 camelia rakudo b78da4: OUTPUT«hello␤goodbye␤»
21:16 jnthn lizmat: Yes, but we don't use "will" in the setting, do we?
21:17 lizmat ah, good point
21:18 Mouq r: my $a will enter { say "hello" } = 4.say
21:18 camelia rakudo b78da4: OUTPUT«hello␤4␤»
21:18 Mouq r: my $a will leave { say "blocked" } = 4.say
21:18 camelia rakudo b78da4: OUTPUT«blocked␤»
21:18 jnthn We may be able to track down why add_phaser don't work in the setting
21:18 jnthn Though it may be a "does work but later on"
21:19 lizmat yes, I was thinking of having the trait set up a list of routines, and then at the end of the settings, run over that list and assign the phasers
21:20 lizmat will need to use nqp::p6list for that, as at the moment of the is DEPRECATED trait, we don't have P6 arrays yet
21:20 jnthn ah, that's what it is...
21:20 lizmat (been there, tried that)
21:20 lizmat but will do that tomorrow
21:21 lizmat first some relaxation and sleep &
21:21 jnthn :)
21:21 jnthn 'night
21:23 diakopter 'nite l
21:23 Mouq o/
21:28 masak good night, lizmat!
21:28 masak dream of sheep with the DEPRECATED trait :)
21:29 * jnthn fetches the mint sauce
21:33 iSlug joined #perl6
22:01 Mouq Muahahaha. Github now looks at .nqp as Perl (see syntax highlighting at https://github.com/rakudo/rakudo​/blob/nom/src/Perl6/Actions.nqp for example)
22:02 masak nqp should be eminently highlightable as itself.
22:02 masak nqp: say("OH {2 + 2} HAI")
22:02 camelia nqp: OUTPUT«OH 4 HAI␤»
22:03 masak oh, but it also has arbitrarily deep nesting.
22:03 masak nevermind, then. :)
22:06 jnthn We just need Perl 6 grammars and actions that do highlighting for all the languages, then get GitHub to adopt it... :P
22:06 Mouq Just write a NQP implementation of Ruby
22:07 Mouq (https://github.com/github/linguist)
22:07 * TimToady notes that in slide 61, ’INSERT’ :s <pairlist> implies incorrect :s semantics, since it would not match ws between the 'INSERT' and the <pairlist> under the new rules (which would all a simple rule declaration to work)
22:07 TimToady well, s/incorrect/deprecated/
22:08 TimToady s/all/allow/
22:10 colomon jnthn!  \o/
22:11 TimToady jnthn: since :s does not itself qualify as a matcher that enables trailing sigspace, in the new definition
22:14 jnthn TimToady: Aye, I was pragmatically teaching people what they can expect to work in NQP "right now". :)
22:15 TimToady well, :s’INSERT’ <pairlist> would be forward compatible :)
22:16 jnthn Point. :)
22:24 * masak files an issue
22:27 skids joined #perl6
22:29 jnthn Should really get around to updating stuff for the new semantics too...
22:32 masak I just noticed the p6u email about escape sequences.
22:32 TimToady it basically removes the need for 90%+ of old :s usages, since most of those were basically rules that didn't want whitespace at the beginning
22:32 masak does some windows user know what is going on there?
22:33 masak anyway, 'night, #perl6
22:34 TimToady o/
22:35 jnthn hm, not on p6u...
22:36 jnthn um...is it me, or is this archive page unreadable? http://www.nntp.perl.org/group/per​l.perl6.users/2013/09/msg1699.html
22:36 geekosaur I have it on p6u fwiw
22:37 diakopter it's a PNG
22:38 jnthn oh gee, and the web interface just spits it out...
22:38 geekosaur that's interesting, it has a png inline but the message itself is not a png
22:38 jnthn I missed the PNG and was trying to figure out how you mojibake like *that*...
22:38 * TimToady just read it in mutt, which doesn't attempt to get fancy...
22:40 jnthn Anyway, given the subject line - my guess is that it's that the Windows console doesn't know what to do with ANSI escapes, which you can resolve by using ansicon (which I used to) or ConEmu (which I use now)
22:40 jnthn In the long run, we need a Term::WindowsColor and a Term::AnyColor that picks the appropriate one...
22:44 EvanTeit1lman joined #perl6
22:45 doxit left #perl6
22:49 cxreg i'm pretty sure this nqp node backend is a crime against humanity :)
22:51 jnthn To the International Compiler Court!
22:51 jnthn Actually, to bed for me...
22:51 jnthn 'night, #perl6
22:52 diakopter o/
23:16 pmurias joined #perl6
23:18 pmurias cxreg: a crime against humanity? I needs a bit of code cleanup... (which I have putting of to squeeze in features for the GSoC deadline)
23:18 BenGoldberg joined #perl6
23:27 TimToady .tell jnthn Also, I don't think Trigometric is a word. (Slide 173)
23:27 yoleaux TimToady: I'll pass your message to jnthn.
23:27 lue .oO(If you're going to inline a PNG file like that, at least be cool about it and Base64-encode it.)
23:35 pmurias joined #perl6
23:53 timotimo my eyes don't decode png as base64, especially when it's on a slide :|

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

Perl 6 | Reference Documentation | Rakudo