Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2013-09-09

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:01 pernatiy joined #perl6
00:17 Psyche^ joined #perl6
00:24 xinming joined #perl6
00:45 dayangkun joined #perl6
00:47 pernatiy joined #perl6
00:59 thou joined #perl6
01:33 woosley joined #perl6
01:43 [Coke]_ r: < . 0 >».ord.say
01:43 camelia rakudo 1040c9: OUTPUT«46 48␤»
01:43 [Coke]_ r: say eager ".".."0"
01:43 camelia rakudo 1040c9: OUTPUT«. / 0␤»
01:43 [Coke]_ r: say "." ... "0"
01:43 camelia rakudo 1040c9: OUTPUT«. / 0␤»
01:50 dalek roast: 71befce | coke++ | S03-sequence/nonnumeric.t:
01:50 dalek roast: Add tests for RT #118519
01:50 dalek roast: review: https://github.com/perl6/roast/commit/71befce6ad
01:50 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=118519
01:53 araujo joined #perl6
02:07 EvanTeitelman joined #perl6
02:26 raiph joined #perl6
02:32 jeffreykegler joined #perl6
03:25 preflex joined #perl6
03:56 pernatiy joined #perl6
04:10 konundra joined #perl6
04:28 xinming joined #perl6
05:04 SamuraiJack__ joined #perl6
05:20 takesako joined #perl6
05:32 SamuraiJack joined #perl6
05:36 Woodi joined #perl6
06:05 logie joined #perl6
06:19 agre joined #perl6
06:24 nebuchadnezzar joined #perl6
06:28 dayangkun joined #perl6
06:44 FROGGS joined #perl6
06:52 denis_boyun joined #perl6
06:53 domidumont joined #perl6
06:57 domidumont joined #perl6
07:07 zakharyas joined #perl6
07:23 xinming joined #perl6
07:23 timotimo oh, RaNIW is really soon
07:27 sidus joined #perl6
07:29 dmol joined #perl6
07:29 FROGGS it is \o/
07:29 sorear RaNIW?
07:29 timotimo rakudo and nqp internals workshop
07:31 pupoque joined #perl6
07:32 timotimo i don't yet know when to arrive by train
07:32 timotimo though i think i can spontaneously get a ticket, too
07:32 nebuchadnezzar joined #perl6
07:33 daxim joined #perl6
07:34 hoelzro morning, #perl6!
07:36 FROGGS hi
07:42 sqirrel joined #perl6
07:54 timotimo are there recommendations for a time, rather than just a date to arrive?
07:55 moritz .oO( arrive early, arrive oft.. oh, wait :-)
07:56 timotimo hehe
07:57 * timotimo is rebasing the "is nodal" work manually now
07:59 SamuraiJack_ joined #perl6
08:17 domidumont joined #perl6
08:17 fhelmberger joined #perl6
08:22 FROGGS timotimo: I arrive at 20:37 on friday at the central station
08:22 FROGGS so we could have a beer somewhere...
08:23 timotimo i was expecting beer to be had :)
08:25 FROGGS :o)
08:28 timotimo i don't really remember what the wanted design of nodal hyper was at the end :~
08:28 timotimo :|
08:28 timotimo how far from the optimal implementation am i allowed to stray?
08:29 timotimo there's this icky spot where a method may be nodal on some elements of an iterable ...
08:30 timotimo but at least now i think i understand how the way with making nodal methods raise an exception is supposed to work
08:33 moritz r: say join '', '▁' .. '█'
08:33 camelia rakudo 1040c9: OUTPUT«▁▂▃▄▅▆▇█␤»
08:33 moritz n: say join '', '▁' .. '█'
08:33 hoelzro I arrive at 14:55 at the airport
08:33 camelia niecza v24-95-ga6d4c5f: OUTPUT«(timeout)»
08:34 moritz :/
08:39 dayangkun joined #perl6
08:46 jnthn timotimo: I think my flight lands around 5pm or so; I think those there in time will go for dinner.
08:46 * jnthn plans to dinner with whoever is there
08:49 timotimo i'd love to join y'all for dinner
08:53 dakkar joined #perl6
08:53 salv0 joined #perl6
09:03 jnthn .oO( last time I went to a pub in Germany, they gave me helle... )
09:16 timotimo nooooooo, this perl6 process is giving me hell
09:16 timotimo r: (<foo bar baz>, <a b c>) >>~~>> Iterable
09:16 camelia rakudo 1040c9: OUTPUT«(timeout)»
09:17 timotimo (turns out to my surprise these inner ones aren't iterable, huh?!)
09:18 timotimo r: (<foo bar baz>, <a b c>).tree.map({ $_ ~~ Iterable })
09:18 timotimo what gives?
09:18 camelia rakudo 1040c9:  ( no output )
09:18 timotimo r: say (<foo bar baz>, <a b c>).tree.map({ $_ ~~ Iterable })
09:18 camelia rakudo 1040c9: OUTPUT«False False␤»
09:19 timotimo is that because they're in item context due to the tree? :|
09:19 timotimo r: say (<foo bar baz>, <a b c>).tree.perl
09:19 camelia rakudo 1040c9: OUTPUT«LoL.new($("foo", "bar", "baz"), $("a", "b", "c"))␤»
09:20 berekuk_ joined #perl6
09:21 BinGOs joined #perl6
09:21 dalek joined #perl6
09:22 nebuchadnezzar joined #perl6
09:23 Lorn joined #perl6
09:26 sftp joined #perl6
09:32 hypolin joined #perl6
09:37 zakame joined #perl6
09:58 timotimo oh, damn.
09:58 timotimo my test code is using something that's not even going to work...
09:59 timotimo using >>.&sub i'm probably not going to get &sub using $the_object.^can($name)
10:00 timotimo that gives me a dispatch:<var>, which i cannot ask for its .nodal and get the .nodal of the routine it refers to ... :|
10:03 timotimo i guess it's good to hit corner cases early?
10:09 agre joined #perl6
11:04 preflex joined #perl6
11:07 sqirrel joined #perl6
11:25 daxim lizmat, http://neilb.org/2013/09/06/perl6-isnt-perl.html
11:30 abnorman joined #perl6
11:32 pupoque yes
11:32 arnsholt ok - printf
11:33 arnsholt C printf called from NQP/JVM \o.
11:34 pupoque yesterday i watched several videos from YAPC in Kiev and thought that problem is not in version number but in the whole name
11:35 tadzik I'm not sure there is a problem at all
11:36 telex joined #perl6
11:45 lizmat daxim: successfully suppressed my desire to comment  :-)
11:45 moritz arnsholt: \o/
11:45 lizmat mail to the 15 participants of the RaNIW has been sent: if you think you're on the list and haven't received a mail in the next hour or so, please let me know on privmsg
11:46 abnorman joined #perl6
11:46 moritz pupoque: maybe the problem is that Perl 5 can't sufficiently convince by itself, so people look for something to blame, and find Perl 6
11:52 FROGGS I feel Perl 6 is perlish enough to be a Perl fwiw, you can even write some basic code that runs in Perl 5 and 6
11:55 salv0 joined #perl6
11:55 pupoque I don't know. I thought it's all about confusion and little popularity among newcomers. Perl 5 looks old, perl 6 is something else and still incomplete.
11:56 moritz pupoque: is it actually about confusion and popularity?
11:56 moritz pupoque: my feeling is it's about the *fear* that it might cause confusion and loss of popularity
11:56 tadzik true
11:57 tadzik I think there are people dissatisfied with state of Perl 5, and to them Perl 6 is a nice scapegoat
11:57 tadzik "people dislike Perl because Perl 6"
11:59 flussence "people complain about Perl because they need to distract from the fact they're not getting anything productive done"
11:59 tadzik that too
11:59 jnthn "people complain"
11:59 jnthn ;)
11:59 tadzik "people"
11:59 moritz ""
12:00 tadzik Segmentation fault
12:00 ribasushi "people love shiny"
12:01 nwc10 people want it all. It has to be shiny *and* stable
12:01 moritz *and* fast evolving.
12:01 tadzik and fast
12:01 nwc10 but not break their existing code
12:01 ribasushi I just recently was indirectly told that the desire of DBIC to support 5.8 (in addition to the current rage) is hurting its "image" because it doesn't seem "fresh" this way
12:02 ribasushi took me quite some time to compile this logic
12:02 * nwc10 hopes to see a Star for the JVM soon, and apologies for not being able to help
12:02 tadzik I read that as "Star Wars on JVM Solo"
12:03 * tadzik cleans glasses
12:03 colomon bum bum bum BUM BA
12:04 jnthn nwc10: Well, arnsholt++ is on with NativeCall on JVM and donaldh++ has been sorting out sockets, pipes and Panda... :)
12:04 * jnthn is mostly being useless :)
12:04 kbaker joined #perl6
12:06 ribasushi is there a primer somewhere how to get a basic p6 environment on a windows machine?
12:06 pupoque :D
12:06 ribasushi or this kind of stuff doesn't exactly exist yet?
12:07 salv0 joined #perl6
12:07 moritz ribasushi: usually the instructions read "get the latest R* .msi from the download page and install it", but I'm afraid the latest R* doesn't have an .msi :/
12:07 ribasushi moritz: basically looking to prepare a windows laptop for this weekend...
12:08 jnthn ribasushi: To build from soruce: for Parrot, Git + ActivePerl + MSVC toolchain (make sure to use 64-bit of both or 32-bit of both) and follow the build instructions. For JVM, git + a recent JDK + whatever Perl + follow the build instructions.
12:08 daxim_ joined #perl6
12:09 ribasushi jnthn: which flavor (parrot / jvm) will be more useful this weekend?
12:09 moritz if you want to use modules: parrot
12:09 jnthn moritz: We're doing guts :)
12:09 moritz because the module installer (panda) doesn't work yet on JVM
12:09 moritz oh, right
12:09 ribasushi I don't know what jnthn wants to talk about ;)
12:09 moritz guts
12:09 ribasushi so jvm it is then?
12:09 jnthn Well, the first day we'll mostly just be using NQP which is equally capable on both. :)
12:10 jnthn And I dont't think we'll hit any places Rakudo on JVM aint' up tot he job.
12:10 ribasushi excellence
12:10 jnthn So yeah, provided he machine is decent enough to make JVM startup cost not annoying... :)
12:12 ribasushi hehe
12:13 ribasushi jnthn: can you give me a crude shell time() of what a simple 1+1 should be on a decent machine?
12:13 ribasushi that is something to compare the thing I am yet-to-build against
12:13 flussence my worst case is about ~20s on an Atom...
12:14 fridim_ joined #perl6
12:14 moritz ribasushi: about 3.8s for rakudo-jvm, 0.4 for rakudo-parrot
12:14 ribasushi nod
12:14 flussence 10s cold start on my desktop, 8s after that...
12:14 ribasushi that's `say (1+1)` I presume?
12:15 tadzik 0.07s user 0.01s system 94% cpu 0.085 total on moarvm :)
12:15 moritz I just did -e '1 + 1', but the say() doesn't change much
12:15 flussence (rakudo-parrot is 2.187 and 1.799s for cold/warm)
12:15 ribasushi tadzik: this looks... promising ;)
12:15 moritz fwiw the nqp-jvm startup time is only 1.3s here
12:16 ribasushi ok thanks guys, this gives me a general idea
12:16 moritz ribasushi: but tadzik's example is nqp-on-moarvm, not rakudo-on-moarvm
12:16 ribasushi tadzik: CHEATER!
12:16 tadzik that's right
12:16 tadzik ha-ha!
12:16 moritz and nqp-parrot starts up in 0.24s here
12:16 moritz ribasushi: fwiw I quite enjoyed your talk about benchmarks
12:17 ribasushi moritz: thanks! ;)
12:18 moritz ribasushi: I was just a bit confused about you prefering CPU time over wallclock time, when I remebered timbunce recommending wallclock time for Devel::NYTProf
12:18 ribasushi moritz: it depends what you benchmark
12:18 moritz ribasushi: ... until I realized that small resolution isn't a problem for benchmarks, because you can just repeat things as often as you like
12:18 ribasushi walltime - includes disk io, shelling out, blocking ops etc
12:19 ribasushi moritz: errr what? the resolution of both is roughly the same on both OSes
12:19 moritz but a profiler should better not run the code repeatedly, so it absolutely needs high resolution, even if that includes all the non-CPU stuff
12:19 ribasushi it's more of "what are we timing"
12:19 moritz ribasushi: maybe things have changed since the first release of Devel::NYTProf, when I read those notes
12:19 ribasushi moritz: ah no you misremember
12:20 ribasushi (sec looking for relevant docs)
12:25 SamuraiJack joined #perl6
12:29 flussence r: say 'abc'.encode('utf8').decode('utf8'); say 'abc'.encode('utf16').decode('utf16')
12:29 camelia rakudo 1040c9: OUTPUT«abc␤VMArray: index out of bounds␤  in method decode at src/gen/CORE.setting:4903␤  in block  at /tmp/yArDKV7rg9:1␤␤»
12:29 flussence r: say 'abc'.encode('utf32').decode('utf32')
12:29 camelia rakudo 1040c9: OUTPUT«encoding #-1 not found␤  in method encode at src/gen/CORE.setting:5872␤  in block  at /tmp/si3xmWEEDN:1␤␤»
12:29 flussence r: say 'abc'.encode('iso-8859-1').decode('iso-8859-1')
12:29 camelia rakudo 1040c9: OUTPUT«abc␤»
12:29 flussence okay, so it works for single-byte encodings...
12:30 ribasushi moritz: re, so the thing that tim was talking about is not using `perldoc -f times`
12:30 ribasushi moritz: which has an abysmal resolution (due to backwards comp)
12:31 ribasushi moritz: accessing the timers the way I show in this talk is safe and gets you *virtual* naonsec precision
12:31 ribasushi of course as I mentioned before - if you drop under 1ms for timing - you can't really reliably time anything anyway because of the buggy TSCs
12:32 ribasushi (in NYTProf --usecputime was implemented via times() )
12:37 moritz ribasushi: ok, thanks for explaining that
12:38 bloonix joined #perl6
12:41 arnsholt For some value of useless equal to "working hard on Moar" =D
12:41 arnsholt Whoops. Scrollbacko
12:41 takesako joined #perl6
12:47 pmurias joined #perl6
12:47 pmurias hi
12:47 thou joined #perl6
12:48 FROGGS hi pmurias
12:55 lowpro30 joined #perl6
12:55 jnap joined #perl6
12:59 lowpro30_ joined #perl6
12:59 jnap joined #perl6
13:04 dalek nqp: 56ce7c4 | (Pawel Murias)++ | t/nqp/61-mixin.t:
13:04 dalek nqp: Check that after mixing the role nqp::istype works with the old type.
13:04 dalek nqp: review: https://github.com/perl6/nqp/commit/56ce7c4a8f
13:04 dalek nqp: 4cf1013 | (Pawel Murias)++ | t/nqp/61-mixin.t:
13:04 dalek nqp: Fix typo in test description.
13:04 dalek nqp: review: https://github.com/perl6/nqp/commit/4cf1013dc0
13:13 dayangkun joined #perl6
13:17 PacoAir joined #perl6
13:20 dalek joined #perl6
13:22 arnsholt jnthn: What's the current state of the box_target stuff in Rakudo/JVM?
13:27 lizmat arnsholt: jnthn is teaching atm, so may be some time before you get an answer
13:31 pdurbin left #perl6
13:31 PerlJam http://i.imgur.com/xkDknMI.jpg  woolfy++ lizmat++     (A friend found this in a non-perl context :)
13:32 lizmat :-)
13:36 arnsholt Right. I'm in no hurry
13:38 btyler joined #perl6
13:39 diakopter PerlJam: heh beat by you by a couple days
13:40 FROGGS PerlJam: timotimo took that photo
13:44 PerlJam nice.  I wonder how my friend ran across it.
13:44 PerlJam timotimo++  :)
13:46 lizmat r: say set(<a b>) ∩ set(<a b>)  # expect set(a b)
13:46 camelia rakudo 1040c9: OUTPUT«set()␤»
13:46 lizmat r: say set(<a b>) (&) set(<a b>)  # expect set(a b)
13:46 camelia rakudo 1040c9: OUTPUT«set()␤»
13:47 lizmat the odd thing is, that if I take out the code of these ops, replace the name, put them in a separate file, it works  :-(
13:48 ajr joined #perl6
13:51 lizmat forget it, looking at the wrong thing
13:57 skids joined #perl6
13:58 ribasushi lizmat: answered for you :) http://neilb.org/2013/09/06/perl6-isnt-perl.html#comment-1035381104
13:59 lizmat :-)
13:59 pernatiy joined #perl6
14:00 diakopter just read on defensetech.org that the joint strike fighter (F35) has 10,000,000,000 lines of code.
14:00 diakopter that's ... a lot.
14:01 sjn o_O
14:01 sjn wtf
14:01 sjn all in assembly then?
14:02 diakopter haha.
14:03 diakopter my friend from college who's been an engineering manager on the project at lockheed for 10 years said most of it was in "C-type" languages
14:04 diakopter anyways here's the article http://defensetech.org/2013/08/29/marine-corps-jsf-finishing-sea-trials/
14:04 diakopter The JSF program developmental strategy is, in part, grounded upon a series of incremental software “drops” — each one adding new capability to the platform. In total, there are more than 10 billion individual lines of code for the system, broken down into increments and “blocks,” F-35 program office officials explained.
14:05 diakopter The F-35B is currently testing with Block 2B, which enables the aircraft to provide basic close air support and fire an AMRAAM [Advanced Medium Range Air to Air Missile], JDAM [Joint Direct Attack Munition] or GBU 12 [laser-guided aerial bomb].
14:05 diakopter Read more: http://defensetech.org/2013/08/29/marine-corps-jsf-finishing-sea-trials/#ixzz2eP7GhR5Z
14:05 diakopter ugh oops didn't mean to paste so much
14:07 diakopter tadzik: you've written around a billion lines of code, right?
14:10 diakopter well, wikipedia disagrees dramatically... (says 24 million according to this link) http://spectrum.ieee.org/riskfactor/aerospace/military/f35-program-continues-to-struggle-with-software
14:10 diakopter *sigh* maybe the "10 billion" meant including revision control?? :)
14:10 pmurias the entire revision control history of the linux kernel it's running on ;)
14:11 diakopter haha yeah right
14:14 diakopter "Unlike previous aircraft, such as the F-22, much of the new software for the F-35 is written in C and C++, because of programer availability. Much Ada83 code is reused from the F-22. The Integrity DO-178B real-time operating system (RTOS) from Green Hills Software runs on COTS Freescale PowerPC processors. The final Block 3 software for the F-35 is planned to have 8.6 million lines of software code."
14:15 raiph joined #perl6
14:15 diakopter raiph: hi
14:17 tkuyper joined #perl6
14:22 tadzik diakopter: well, a million, maybe
14:22 tadzik billion? I don't think so
14:23 moritz unless you count a line each time the compiler looked at it... :-)
14:23 tadzik hehe
14:23 tadzik then 10 billion is likea day's work ;)
14:30 btyler joined #perl6
14:30 arnsholt Bah. The Java flow/is-it-initialised analysis can be annoying at times
14:30 jnthn arnsholt: box_target is at least fairly complete 'cus Int/Num/Str rely on it in Perl 6.
14:31 poor_soul joined #perl6
14:32 dalek rakudo-js: 809aa37 | (Pawel Murias)++ | runtime.js:
14:32 dalek rakudo-js: Implement nqp::gt_s.
14:32 dalek rakudo-js: review: https://github.com/pmurias/rakudo-js/commit/809aa37ba3
14:32 dalek rakudo-js: c50d2c2 | (Pawel Murias)++ | runtime.js:
14:32 dalek rakudo-js: Add hack for Array.unshift.
14:32 arnsholt Excellent. I'll need that once the basic native call stuff is in place, since NativeCall uses it
14:32 poor_soul hello, #perl6!
14:32 diakopter pmurias: you killed the dalek!
14:33 poor_soul i'm back today to share another problem i encountered
14:33 pmurias dalek doesn't report commits with a too long description?
14:33 dalek joined #perl6
14:33 pmurias ahh it got caught for excess flooding...
14:34 poor_soul zavolaj test: t/02-simple-args.t ..... Failed 2/11 subtests
14:34 poor_soul t/02-simple-args.t   (Wstat: 139 Tests: 9 Failed: 0)   Non-zero wait status: 139   Parse errors: Bad plan.  You planned 11 tests but ran 9.
14:35 poor_soul is it serious or can it be ignored?
14:35 pmurias diakopter: isn't killing daleks a good thing? ;)
14:36 diakopter "we're sorry, your function is taking 400 ticks on the rtos; we estimated/allocated only 6; rewrite it please"
14:37 arnsholt poor_soul: That shouldn't happen, I think. Which Rakudo do you have?
14:38 pmurias nqp::say("Hello World") compiles (and runs) on nqpjs-compiled-to-js :)
14:38 moritz pmurias++
14:38 poor_soul 2013.08-110-g1040c9c built on parrot 5.6.0 revision 0
14:38 diakopter btw my friend's group was working on the "complete the mission autonomously and return to base and land in case of pilot incapacitation" capability
14:39 jnthn pmurias: Nice!!
14:39 jnthn pmurias: That means you're setting loading off having a selfhost that passes some of t/nqp, I guess... :)
14:39 pmurias incoming gsoc deadline is surley speeding up the progress ;)
14:40 pmurias jnthn: I didn't understand that sentence
14:40 diakopter me neither
14:40 jnthn I re-read it twice and understood it... :P
14:40 jnthn Both times!
14:41 jnthn You guys parsers need to give more awesome errors :P
14:41 diakopter "setting loading"
14:41 diakopter *emits smoke from ears*
14:41 poor_soul btw zavolaj is the latest from git
14:41 diakopter "setting-loading"?
14:41 jnthn Well, I assume the reason that pmurias++ said nqp::say(...) is it can't just use say(...), which implies it's not loading NQPCORE.setting yet.
14:42 pmurias yes
14:42 jnthn Right, so I meant, once it can, then a standalone (that is, not needing Parrot) nqpjs can probably run some of t/nqp :)
14:43 dalek nqp/nativecall-jvm: 518a292 | (Arne Skjærholt)++ | src/vm/jvm/runtime/org/perl6/nqp/sixmodel/reprs/NativeCallInstance.java:
14:43 diakopter I still don't understand the sentence.. add some parenthetical explanations?
14:43 dalek nqp/nativecall-jvm: Move constants to enum from static final byte FOO.
14:43 dalek nqp/nativecall-jvm: review: https://github.com/perl6/nqp/commit/518a29243c
14:43 dalek nqp/nativecall-jvm: a83bf2b | (Arne Skjærholt)++ | src/vm/jvm/ (2 files):
14:43 dalek nqp/nativecall-jvm: Build NativeCallInstance.{arg_types,ret_type} in nqp::buildnativecall.
14:43 dalek nqp/nativecall-jvm: review: https://github.com/perl6/nqp/commit/a83bf2b5b8
14:43 dalek nqp/nativecall-jvm: 6567e57 | (Arne Skjærholt)++ | src/vm/jvm/ (3 files):
14:43 dalek nqp/nativecall-jvm: Basic call handling and converting between NQP and JNA types.
14:43 dalek nqp/nativecall-jvm:
14:43 dalek nqp/nativecall-jvm: This means that we support int, num, str and cpointer as arguments and return
14:43 dalek nqp/nativecall-jvm: values, which in turn means that we pass the basic sanity tests in the NQP
14:43 dalek nqp/nativecall-jvm: test suite.
14:43 dalek nqp/nativecall-jvm: review: https://github.com/perl6/nqp/commit/6567e57e0e
14:44 diakopter I just can't understand "setting loading off having"
14:44 jnthn pmurias: That means you're (being able to load the setting) (away from) having a selfhost (NQP that runs without Parrot) that passes some of t/nqp
14:44 diakopter ah okay, so setting-loading
14:45 jnthn :)
14:45 jnthn It wasn't intended to be ununderstandable :P
14:45 diakopter this doesn't bode well for my productivity today..
14:46 jnthn Maybe my english is just too br[oken|itish] :)
14:47 GlitchMr Heh, sometimes I used [option1|option2] in P5 regexp by accident.
14:48 GlitchMr Without warnings, as it's valid code.
14:49 arnsholt jnthn: Oh, gerdr posted some NativeCall refactor suggestions in #moarvm. Could you have a look as well and give a second opinion as well?
14:49 diakopter "what do you think this is, Perl 6? lololololololololololol"
14:50 pmurias jnthn: what's missing for a standalone nqp-js passing tests is serialization and bug fixes
14:50 jnthn pmurias: yay :)
14:51 pmurias as currently I only have deserialization working on javascript
14:51 jnthn pmurias: I'm starting to wonder which will be backend #3 that makes it into the NQP repo, js or moar :)
14:51 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=3
14:51 GlitchMr I also sometimes ran Perl scripts in Perl 6 by accident.
14:52 GlitchMr Usually stopped by "strict" module that isn't found anywhere.
14:52 jnthn arnsholt: Yeah, though I need to docummute in a few moments...
14:52 GlitchMr Or Perl 6 scripts in Perl 5, usually stopped by "use v6".
14:52 jnthn *de
14:52 GlitchMr At least "use v6" makes good error messages in Perl 5.
14:52 diakopter well, considering there's as v6 module on cpan
14:52 GlitchMr ~ $ perl -e 'use v6'
14:52 GlitchMr Perl v6.0.0 required--this is only v5.18.1, stopped at -e line 1.
14:52 GlitchMr BEGIN failed--compilation aborted at -e line 1.
14:53 FROGGS right, no module needed
14:53 diakopter p5eval: use v999999999999999999999999999999999
14:53 p5eval diakopter: ERROR: Perl v2147483647.0.0 required--this is only v5.18.0, stopped at (eval 7) line 3.; BEGIN failed--compilation aborted at (eval 7) line 3.
14:53 GlitchMr Int overflow!
14:53 FROGGS awww, no bigint versions?
14:53 FROGGS bad Perl 5, really bad of you!
14:53 diakopter p5eval: use v999999999999.9999999999999.9999999999999
14:53 GlitchMr I also get "Integer overflow in decimal number at -e line 1." lots of times.
14:53 p5eval diakopter: ERROR: Perl v2147483647.0.0 required--this is only v5.18.0, stopped at (eval 7) line 3.; BEGIN failed--compilation aborted at (eval 7) line 3.
14:54 benabik joined #perl6
14:54 diakopter p5eval: use v0.0.0
14:54 p5eval diakopter: No output
14:54 GlitchMr With -v, I also get "Integer overflow in version at -e line 1.".
14:54 diakopter p5eval: use v0.0.999999999999999
14:54 p5eval diakopter: No output
14:55 GlitchMr diakopter, hey, that syntax makes sense when dealing with original Perl, which was indeed, v0.
14:55 GlitchMr Not that v0 supported "use" syntax.
14:55 GlitchMr And not that it was ever released.
14:55 BinGOs p5eval: use 6.000
14:55 p5eval BinGOs: ERROR: Perl v6.0.0 required--this is only v5.18.0, stopped at (eval 7) line 3.; BEGIN failed--compilation aborted at (eval 7) line 3.
14:55 GlitchMr perlhist
14:55 BinGOs I fixed your backwards portability for you.
14:55 diakopter GlitchMr: yeah, it ran on rtos ppc alongside ada83
14:56 diakopter and the source configuration management system for Star Wars was written in Perl
14:56 arlinius joined #perl6
14:57 GlitchMr http://perldoc.perl.org/perldiag.html#Integer-overflow-in-version
14:57 GlitchMr At least Perl developers knew somebody would try something like "use 9325832953852935793819583789513259012512790512790".
14:58 diakopter p5eval: use v0/0
14:58 p5eval diakopter: ERROR: Search pattern not terminated at (eval 7) line 1.
14:58 diakopter p5eval: use v0/0/
14:58 p5eval diakopter: ERROR: Can't locate v0.pm in @INC (you may need to install the v0 module) (@INC contains: /lib) at (eval 7) line 2.; BEGIN failed--compilation aborted at (eval 7) line 2.
14:58 xenoterracide joined #perl6
14:58 diakopter p5eval: use v0/\../
14:58 p5eval diakopter: ERROR: Can't locate v0.pm in @INC (you may need to install the v0 module) (@INC contains: /lib) at (eval 7) line 2.; BEGIN failed--compilation aborted at (eval 7) line 2.
14:59 GlitchMr "use" accepts regular expression after version O_o.
14:59 GlitchMr Perl 5 grammar is weird.
14:59 GlitchMr But only if I don't separate it using space.
14:59 diakopter p5eval: use vV
14:59 p5eval diakopter: ERROR: Can't locate vV.pm in @INC (you may need to install the vV module) (@INC contains: /lib) at (eval 7) line 3.; BEGIN failed--compilation aborted at (eval 7) line 3.
14:59 diakopter p5eval: use v_
14:59 p5eval diakopter: ERROR: Can't locate v_.pm in @INC (you may need to install the v_ module) (@INC contains: /lib) at (eval 7) line 3.; BEGIN failed--compilation aborted at (eval 7) line 3.
15:00 diakopter p5eval: use v.
15:00 GlitchMr use v6-rakudo; works too.
15:00 p5eval diakopter: ERROR: syntax error at (eval 7) line 1, near "use v."
15:00 GlitchMr p5eval: use v6-rakudo;
15:00 p5eval GlitchMr: ERROR: Can't locate v6.pm in @INC (you may need to install the v6 module) (@INC contains: /lib) at (eval 7) line 1.; BEGIN failed--compilation aborted at (eval 7) line 1.
15:00 GlitchMr -rakudo is interpreted as (-rakudo)
15:00 GlitchMr And Perl 5 has barewords
15:00 GlitchMr p5deparse: use v6-rakudo
15:01 GlitchMr Anyway, it's parsed as use v6 (-'rakudo');
15:01 GlitchMr Except, wow, deparse gives code with syntax error.
15:02 geekosaur hm? that error (over in #perl) makes sense to me... use is compile time
15:03 GlitchMr Well, I guess deparse would still propose use v6 (-'rakudo'); even with v6 module.
15:03 geekosaur yes, that's what it hit trying to compile it
15:03 GlitchMr But whatever, it seems v6 module abuses this parsing quirk.
15:03 GlitchMr https://metacpan.org/module/v6
15:07 bluescreen100 joined #perl6
15:09 fglock joined #perl6
15:10 fglock in perl5 + v6.pm, 'use v6-rakudo' tries to load v6/rakudo.pm
15:10 fglock that can be made to work
15:13 GlitchMr Module that reruns code in Rakudo?
15:14 dalek rakudo/nom: 9b4d4e1 | (Elizabeth Mattijsen)++ | src/core/Setty.pm:
15:14 dalek rakudo/nom: Reimplement set intersection
15:14 dalek rakudo/nom:
15:14 dalek rakudo/nom: This can probably be done better, but this at least works.
15:14 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9b4d4e1e0f
15:17 poor_soul ok, i narrowed down the problem to a line
15:17 poor_soul but i sincerely don't understand what's happening
15:17 GlitchMr p5eval: my Int $variable; # By the way, this is also interesting.
15:17 p5eval GlitchMr: ERROR: No such class Int at (eval 7) line 1, near "my Int"
15:18 moritz poor_soul: and we can't enlighten you unless you tell us what you found
15:18 poor_soul just a sec
15:18 poor_soul my $class = class CStr is repr('CStr') { method encoding() { $encoding; } };
15:18 dalek roast: 8a1cafb | (Elizabeth Mattijsen)++ | S03-operators/set.t:
15:18 dalek roast: Unfudge set intersection tests
15:18 dalek roast: review: https://github.com/perl6/roast/commit/8a1cafbf7a
15:19 poor_soul which is line 259
15:19 poor_soul of NativeCall.pm6
15:20 poor_soul in t/02-simple-args.t, reach line 31, then step a little
15:20 BenGoldberg joined #perl6
15:21 poor_soul i get segmentation fault as soon as it finishes the method
15:22 masak ahoj, #perl6
15:22 * masak .oO( guten ahojte all leute )
15:23 alester joined #perl6
15:24 lizmat masak o/
15:24 arnsholt poor_soul: (Sorry for the delay) Is that the August Star release or from git?
15:24 poor_soul git
15:25 poor_soul 2013.08-110-g1040c9c
15:25 arnsholt poor_soul: Yeah, we rejiggered some stuff related to CStr recently. Try latest NQP and Rakudo from git
15:26 arnsholt Hmm. Do you --gen-nqp or build your own?
15:26 poor_soul build my own
15:26 poor_soul nqp is version 2013.08-80-g8ed7dad
15:26 arnsholt How old are the commits they're built from?
15:27 poor_soul i would say yesterday
15:27 FROGGS arnsholt: 8ed7dad is two days old
15:28 FROGGS the rakudo version is 18 hours old
15:28 arnsholt Hmm. That should be plenty recent enough
15:29 poor_soul i'm debugging with latest rakudo-debugger
15:29 poor_soul but get the segfault even without debugger
15:30 arnsholt I'm gonna build Parrot versions of this stuff and see if I can reproduce it. Back in a jiffy =)
15:31 dalek nqp/nativecall-jvm: 6beaccf | (Arne Skjærholt)++ | tools/build/Makefile-JVM.in:
15:31 dalek nqp/nativecall-jvm: Run native call tests as part of the standard test target.
15:31 dalek nqp/nativecall-jvm: review: https://github.com/perl6/nqp/commit/6beaccfee9
15:35 TimK1 joined #perl6
15:35 go|dfish joined #perl6
15:35 FROGGS[mobile] joined #perl6
15:36 nebuchadnezzar joined #perl6
15:36 REPLeffect joined #perl6
15:38 BenGoldberg rpn: print 1..121
15:38 camelia rakudo 1040c9, niecza v24-95-ga6d4c5f, pugs:
15:38 camelia ..OUTPUT«123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121»
15:38 BenGoldberg rpn: print 1..200
15:38 camelia rakudo 1040c9: OUTPUT«1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241…
15:38 camelia ..niecza v24-95-ga6d4c5f: OUTPUT«1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211…
15:38 camelia ..pugs: OUTPUT«1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271…
15:40 GlitchMr BenGoldberg, range is flattened, so you get every number in range joined together.
15:40 GlitchMr (print takes multiple arguments)
15:40 BenGoldberg That's not the problem :)
15:41 BenGoldberg When I ask our perl6 eval bot, camelia, the outputs of "print 1..121" on all three perl6's, it says (correctly) that they're the same.
15:41 BenGoldberg When I ask our perl6 eval bot, camelia, the outputs of "print 1..200" on all three perl6's, it says (incorrectly) that they're different.
15:42 diakopter BenGoldberg: it must compare the truncated outputs
15:42 arnsholt Could it be that it includes the compiler name and version in the cutoff?
15:43 BenGoldberg diakopter: probably
15:43 arnsholt So it's not looking at the full output, but just the truncated prefixes, which are different
15:43 BenGoldberg Shirely that's the wrong way to do it.
15:44 poor_soul r: use NativeCall; my $s = "hello"; explicitly-manage($s)
15:44 camelia rakudo 1040c9: OUTPUT«===SORRY!===␤Could not find NativeCall in any of: /home/p6eval/nom-inst/lib/parrot/5.5.0-devel/languages/perl6/site/lib, /home/p6eval/nom-inst/lib/parrot/5.5.0-devel/languages/perl6/vendor/lib, /home/p6eval/nom-inst/lib/parrot/5.5.0-devel/languages/perl6/lib, /home…
15:44 arnsholt poor_soul: You have to do star:
15:44 poor_soul star: use NativeCall; my $s = "hello"; explicitly-manage($s)
15:45 camelia star 2013.08: OUTPUT«Cannot create rw-accessors for natively typed attribute '$!cstr'␤  in block  at src/gen/CORE.setting:2409␤  in method compose at src/gen/CORE.setting:2395␤  in any  at src/gen/Metamodel.nqp:345␤  in any compose_attributes at src/gen/Metamodel.nqp:332␤  in any compos…
15:45 arnsholt And I just finished building all the things, and it segfaults here as well
15:45 dalek roast: d55dccf | (Elizabeth Mattijsen)++ | S03-operators/bag.t:
15:45 dalek roast: More unfudging now that set/bag intersection works
15:45 dalek roast: review: https://github.com/perl6/roast/commit/d55dccfbb4
15:45 poor_soul but camelia doesn't?
15:45 arnsholt poor_soul: That's the problem the most recent changes were supposed to fix
15:45 poor_soul it segfaults on me
15:45 poor_soul ooh
15:45 arnsholt Yeah, I get the segfault too
15:45 arnsholt Investigating now
15:45 poor_soul thanks for helping me
15:48 dalek rakudo/nom: 437e799 | (Elizabeth Mattijsen)++ | src/core/Setty.pm:
15:48 dalek rakudo/nom: No need to check all parameters passed, the first will do
15:48 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/437e799c0f
15:52 lizmat so I've just rewritten only sub infix:<(&)>(**@p)
15:52 lizmat and now notice that it only gets called with 2 parameters ever
15:53 jnthn Missing :assoc<list>
15:53 jnthn somewhere
15:53 jnthn in Grammar.pm prolly
15:53 lizmat pretty sure it's there, lemme check
15:53 jnthn brb
15:54 lizmat token infix:sym<(&)> { <!before <sym> <infixish> > <sym> <O('%junctive_and')> }
15:55 arnsholt Derp? I have no idea how the code in CStr.c ever worked...
15:56 diakopter magic
15:56 diakopter wishful thinking
15:56 diakopter matrix glitch
15:58 timotimo a good starting point for sure :)
15:59 diakopter jnthn: I'm making some investments for the future by improving some of the gc algorithms to scale very well with threads, whether we divorce os threadcontexts from some other level of threads or not
16:00 diakopter you know, my whole "do it THE RIGHT WAY the fifth time, instead of the sixth time 2 years later." :)
16:01 diakopter thing
16:02 arnsholt jnthn: Is it only Parrot_str_new_from_cstring that isn't exported, or Parrot_str_to_encoded_cstring too?
16:03 arnsholt (You replaced both of them with the same new function, which seems ill advised to me =p)
16:04 colomon arnsholt: btw, NativeCall's been broken the last two days on parrakudo (according to my module smoker)
16:04 colomon (Sorry if you already know, haven't backlogged)
16:04 arnsholt No, I didn't know until 15 minutes ago
16:05 arnsholt It was broken by a commit to unbreak the build on Windows, so I need to figure out the proper way to unbust it again =)
16:05 arnsholt Thus the jnthn-poking
16:06 arnsholt I should probably start backlogging systematically
16:06 poor_soul colomon: is that module smoker available somewhere?
16:08 TimK1 left #perl6
16:10 colomon poor_soul: the results of it are up (at the moment) at http://97.95.33.142:3001/report
16:12 poor_soul colomon: thanks, and saved
16:12 colomon poor_soul: all the stuff powering it is available in bits and pieces -- tadzik's emmentaler is the main component.
16:13 ibm1 joined #perl6
16:13 arnsholt poor_soul: I think I have a fix. I just need to have a word with jnthn first
16:13 timotimo my module has been green for a long time \o/
16:13 poor_soul thanks again
16:14 arnsholt timotimo: Lucky you! =)
16:14 timotimo indeed
16:14 timotimo but there's still a bug in it that requires some deep internals fix or something i fean :(
16:14 timotimo fear*
16:15 colomon https://github.com/tadzik/emmentaler
16:15 timotimo moritz: i recently stumbled upon try-perl6 and its safe-perl6 script; is there a way to disallow nqp:: in user-supplied code to be executed? because that's a big, big hole.
16:16 timotimo (i still think the best way to go is a to-js or jvm-applet version of the compiler to be supplied together with an on-line repl in the browser)
16:17 timotimo RaNIW is a workshop rather than a hackathon so i'm not sure if i can bug jnthn about it sufficiently
16:17 arnsholt Ask about it over beer
16:18 arnsholt I've had very good luck with that approach. It generally results in jnthn++ explaining what I'm doing wrong =D
16:18 FROGGS[mobile] *g*
16:18 timotimo hehe, good :)
16:19 FROGGS[mobile] jnthn: expect a lot of beer then ;)
16:19 lizmat shall we try to do this on Sun night only ?
16:20 lizmat :-)
16:20 jnthn Yes, you'd like me ot be corhenent :P
16:20 jnthn um. :)
16:20 lizmat .tell jnthn is assoc<list> works, but not in settings :-(
16:20 yoleaux lizmat: I'll pass your message to jnthn.
16:20 jnthn to, coherent.
16:20 yoleaux 16:20Z <lizmat> jnthn: is assoc<list> works, but not in settings :-(
16:20 timotimo %)
16:20 lizmat I guess some changes in precedence.pm are needed
16:21 lizmat but I haven't got a clue what
16:21 flussence timotimo: for something like a web repl (running server-side) I'd go with an OS-level sandbox; trying to harden the language against its direct users from inside seems like a dispropotional amount of effort
16:21 lizmat brb
16:21 jnthn otoh, my students sometimes suggest I drink heavily so I'll find the class as hard as they do :P
16:21 timotimo flussence: that's true.
16:21 timotimo something should be up-whippable with namespacing, or rather lxc.
16:22 arnsholt jnthn: Was the change at https://github.com/perl6/nqp/commit/c97065d3#L0L49 a thinko, or is Parrot_str_to_encoded_cstring not available anymore as well?
16:22 timotimo but i don't have experience with it really
16:22 jnthn .oO( "And here's a Dictionary<Type, List<Action<object>>>, which is..hm, wtf did I create..."
16:22 jnthn )
16:23 flussence I was thinking more along the lines of a libseccomp wrapper, that way it's not allowed to do anything outside of a whitelist of syscalls
16:23 jnthn arnsholt: oh, oops, I thought they were calling the smae thing :/
16:23 jnthn FAIL
16:23 timotimo that's a possibility as well, but since perl shines when it comes to working with data, it would be fantastic if a user could upload small-to-big files and work on them with perl6
16:23 jnthn Sorry. I was trying to fix another thing, then realized the build was broken on Windows
16:23 timotimo like 1MB of csv
16:23 arnsholt That's what I thought =)
16:23 * arnsholt goes to commit
16:23 timotimo in that case, the in-browser stuff would shine, of course
16:24 timotimo because it doesn't have to go through the usually very thin upload pipe
16:24 jnthn I think I changed just one of 'em, then it was still broke, and I thought "oh, I missed one"
16:24 jnthn Which means that neither is available.
16:24 jnthn Check in the Parrot .h file and see if it's marked PARROT_EXPORT to be sure...
16:24 flussence and there's the whole "how do you whitelist stuff so «use foo;» can load the modules" thing...
16:24 dalek nqp: ef08484 | (Arne Skjærholt)++ | src/vm/parrot/6model/reprs/CStr.c:
16:24 dalek nqp: Unbust the CStr REPR.
16:24 dalek nqp: review: https://github.com/perl6/nqp/commit/ef08484d98
16:25 arnsholt jnthn: Will do
16:25 arnsholt poor_soul: If you're on Linux pulling NQP and rebuilding all the things should fix your problems
16:25 arnsholt If you're on Windows it might not
16:26 poor_soul arnsholt: gonna try ASAP
16:27 arnsholt jnthn: It's marked as PARROT_EXPORT here, so I think it should be ok
16:27 flussence .oO( oh neat, I've got modules that *don't* fail tests. )
16:27 timotimo AFK for a bit&
16:28 poor_soul is it necessary to rebuild rakudo-debugger when i rebuild nqp from git?
16:28 jnthn arnsholt: ok
16:32 jnthn poor_soul: I'd expect so
16:33 poor_soul jnthn: thanks, and i guess rakudo too needs to be rebuilt to test this latest change
16:34 jnthn yes
16:34 arnsholt Yeah, rebuilding NQP means you have to rebuild Rakudo and all the modules
16:35 poor_soul well then, i'll need some time before i can test this change
16:37 jnthn bbl, noms &
16:47 spider-mario joined #perl6
16:48 spider-mario joined #perl6
16:49 lebihgantengdari joined #perl6
16:49 lebihgantengdari hi
16:52 timotimo there is probably a precedent for this in perl5: a module in which you can put a bunch of variables with dependencies on other variables and every change re-evaluates all the necessary other variables that are based on it?
16:53 poor_soul arnsholt: congratulations, it passes now
16:54 pupoque joined #perl6
16:54 BenGoldberg timotimo: perldoc overload has an example of symbolic variables
16:55 segomos perl6 wins
16:55 BenGoldberg in the cookbook part, under the heading "symbolic calculator"
16:56 arnsholt poor_soul: Excellent!
16:57 arnsholt What're you using it for, BTW? =)
16:57 segomos the only thing it's missing is console colors during jvm configure
16:58 poor_soul i wanted to use some archives libraries
16:59 poor_soul i think i'll try libarchive
17:01 ssutch joined #perl6
17:01 * [Coke]_ wonders if his .UK power thingee works in .DE
17:03 census joined #perl6
17:04 timotimo [Coke]_: the shape is wrong, you need an adapter
17:04 arnsholt poor_soul: Cool! If you run into more things, feel free to pester me
17:05 poor_soul :)
17:06 [Coke]_ timotimo: danke.
17:07 flussence r: my Array{huh}
17:07 camelia rakudo 437e79: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Type 'Array' is not declaredâ�¤at /tmp/ffwPqJoFGP:1â�¤------> [32mmy Array[33mâ��[31m{huh}[0mâ�¤Malformed myâ�¤at /tmp/ffwPqJoFGP:1â�¤------> [32mmy Array[33mâ��[31m{huh}[0mâ�¤    expecting any of:â�¤        scoped declaratorâ�¤â�¤Â»â€¦
17:07 flussence that's an... interesting error
17:08 dalek roast: f703913 | coke++ | S (2 files):
17:08 dalek roast: pugs fudge
17:08 dalek roast: review: https://github.com/perl6/roast/commit/f7039130b6
17:09 flussence r: my Int{}
17:09 camelia rakudo 437e79: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Type 'Int' is not declared. Did you mean 'int'?â�¤at /tmp/XX_ED5a_gx:1â�¤------> [32mmy Int[33mâ��[31m{}[0mâ�¤Malformed myâ�¤at /tmp/XX_ED5a_gx:1â�¤------> [32mmy Int[33mâ��[31m{}[0mâ�¤    expecting any of:â�¤        scoped declaratorâ�¤â�¤Â»â€¦
17:09 flussence r: my int{}
17:09 camelia rakudo 437e79: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Type 'int' is not declared. Did you mean 'Int'?â�¤at /tmp/VTJgdiA9N7:1â�¤------> [32mmy int[33mâ��[31m{}[0mâ�¤Malformed myâ�¤at /tmp/VTJgdiA9N7:1â�¤------> [32mmy int[33mâ��[31m{}[0mâ�¤    expecting any of:â�¤        scoped declaratorâ�¤â�¤Â»â€¦
17:09 rindolf joined #perl6
17:10 timotimo hm. may be the parser parses the class correctly, chokes on the {} and thinks "ah, that failure must mean the name isn't defined!"
17:10 timotimo the implementation of unknown names like that is apparently a tiny bit fragile
17:13 flussence r: my i # golfed
17:13 camelia rakudo 437e79: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Type 'i' is not declaredâ�¤at /tmp/DYLK7Yv_3i:1â�¤------> [32mmy i # golfed[33mâ��[31m<EOL>[0mâ�¤Malformed myâ�¤at /tmp/DYLK7Yv_3i:1â�¤------> [32mmy i # golfed[33mâ��[31m<EOL>[0mâ�¤    expecting any of:â�¤        scoped declaratorâ�¤â�¤Â»â€¦
17:13 flussence r: my i $i; say $i; # this is actually valid, though
17:13 camelia rakudo 437e79: OUTPUT«Complex.new(0, 1)␤»
17:14 REPLeffect joined #perl6
17:15 TimToady std: my i $i;
17:15 camelia std 7c17586: OUTPUT«ok 00:00 42m␤»
17:16 TimToady I guess it's considering constants to be singleton types.
17:16 TimToady r: my i $i; $i = 2;
17:16 camelia rakudo 437e79: OUTPUT«Type check failed in assignment to '$i'; expected 'Complex' but got 'Int'␤  in block  at /tmp/uC_WHp4f7x:1␤␤»
17:16 TimToady r: my i $i; $i = 2i;
17:16 camelia rakudo 437e79: OUTPUT«Type check failed in assignment to '$i'; expected 'Complex' but got 'Complex'␤  in block  at /tmp/dIADTouFwP:1␤␤»
17:16 rindolf Hi all.
17:16 TimToady heh
17:17 TimToady yes, a constant is a type constraint *and* a value constraint
17:17 timotimo o_O
17:17 timotimo that's distinctly interesting
17:17 TimToady think about multis
17:17 timotimo my True $a; say $a
17:18 flussence r: my e $e; $e = $e #it's a bit overzealous though
17:18 timotimo ah, that makes it make sense
17:18 camelia rakudo 437e79: OUTPUT«Type check failed in assignment to '$e'; expected 'Num' but got 'Num'␤  in block  at /tmp/X561uIyflG:1␤␤»
17:18 timotimo r: my True $a; say $a
17:18 camelia rakudo 437e79: OUTPUT«True␤»
17:18 TimToady multi foo (42) {...}
17:18 TimToady or multi foo (True) {...}
17:18 TimToady this just falls out of that
17:18 TimToady and it's relatively harmless
17:19 FROGGS joined #perl6
17:19 timotimo i love how in perl6 i always get surprised by things having a very strong internal logic to (and between) them
17:19 timotimo oh my god
17:19 timotimo could this even be the root of my problem in ADT?
17:20 timotimo because it definitely says "expected Tree but got Tree instead"
17:21 timotimo perhaps it expects the class to be the value of the variable and thus doesn't accept instances? or something crazy like that?
17:22 flussence r: my e $e; my e $ee; say $e.WHERE == $ee.WHERE
17:22 camelia rakudo 437e79: OUTPUT«True␤»
17:22 FROGGS wasn't it that there were different Tree types in the end?
17:24 abnorman joined #perl6
17:25 timotimo FROGGS: it looked like that, yeah
17:25 timotimo .o(but how did that even ... ?!?)
17:25 timotimo i mean, the code was my Tree $foo = Tree.new-foo(1, 2)
17:25 timotimo or even my Tree $foo .= new-foo(1, 2)
17:25 salv0 joined #perl6
17:25 timotimo how does that even give two different versions of the tree class?
17:26 FROGGS but you created the Tree type itself in a weird way, no?
17:26 timotimo if by "weird" you mean "using the MOP", then yeah
17:27 arnsholt jnthn: What's the corresponding SMO method to box_funcs->get_boxed_ref on Parrot?
17:27 arnsholt Or is box_target only supposed to work for int/num/str?
17:29 pupoque1 joined #perl6
17:30 dmol joined #perl6
17:34 jeffreykegler joined #perl6
17:34 domidumont joined #perl6
17:38 xinming joined #perl6
17:40 jeffreykegler Some time ago this channel helped me with Sixish, which was initially conceived as a Marpa-based Perl 6-like language ...
17:40 jeffreykegler I want to thank you, and let you know what happened.
17:41 jeffreykegler Sixish became Marpa's SLIF interface -- the SLIF does not look anything like Perl 6 ...
17:41 jeffreykegler But underlying ideas from Perl 6 were a huge influence
17:42 TimToady historians ^^  :)
17:43 jeffreykegler (SLIF also had other influences, and Marpa's users were extremely influential on its outward form.)
17:43 sqirrel joined #perl6
17:46 lowpro30 joined #perl6
18:03 japhb joined #perl6
18:03 japhb .seen patrick
18:03 yoleaux I haven't seen patrick around.
18:03 japhb .seen pmichaud
18:03 yoleaux I saw pmichaud 28 Aug 2013 13:37Z in #perl6: <pmichaud> I'm afk again
18:03 japhb dang
18:03 diakopter (having users)++
18:05 benabik joined #perl6
18:10 timotimo so i'm in the right if i want to make this work?  imagine having a list of things that all have a method "frob" and on some things it's nodal and on some it's not. calling $list-of-things>>.frob should descend into those iterables that don't have the method marked as nodal and not descend into those that do?
18:13 diakopter raiph: ping
18:14 sjohnson pooj
18:23 abnorman joined #perl6
18:26 pupoque joined #perl6
18:28 Rotwang joined #perl6
18:35 zwut00 joined #perl6
18:37 lowpro30 joined #perl6
18:38 EvanTeitelman joined #perl6
18:38 xinming joined #perl6
18:47 agre_ joined #perl6
18:52 arnsholt Isn't it possible to run NQP/JVM from outside of the repo?
18:54 flussence you mean as in cwd != $repo-dir?
18:54 diakopter if you did make install, and that install dir is in the path
18:54 arnsholt Ah, right
18:55 arnsholt I just used --with-nqp=../nqp/nqp
18:55 arnsholt 'Cause that works on Parrot =)
18:55 arnsholt But I see that install/bin/nqp is different
18:56 cognominal joined #perl6
19:00 arnsholt Heh. The jast stage of Rakudo's setting compilation looks like it's pretty memory hungry
19:01 diakopter lots of temporary small objects
19:03 arnsholt Yeah, that makes sense
19:06 cognominal joined #perl6
19:10 ajr joined #perl6
19:13 lowpro30 joined #perl6
19:15 denisboyun joined #perl6
19:16 denisboyun joined #perl6
19:34 xinming_ joined #perl6
19:35 lizmat jnthn: wrt is assoc<list>, what would be the way to specify that in precedence.pm ?
19:36 lizmat (as it apparently does not work that early in the setting)
19:36 jnthn lizmat: I'm a tiny bit surprised we have to in so far as I'd expect what's in Grammar.pm to take precedence...
19:37 lizmat token infix:sym<(&)> { <!before <sym> <infixish> > <sym> <O('%junctive_and')> }
19:37 lizmat is what is in the grammar
19:38 lizmat should that be "<O('%chaining')>" instead ?
19:39 arnsholt jnthn: I think we need to discuss some reworking of how Zavolaj stores and fetches the NativeCall REPRd thing
19:39 jnthn lizmat: How's junctive_and set up?
19:39 * jnthn looks for himelf...
19:39 moritz lizmat: chaining sounds wrong
19:39 jnthn Perl6::Grammar.O(':prec<q=>, :assoc<list>, :dba<junctive and>', '%junctive_and');
19:40 moritz (iirc chaining is stuff like  a < b < c being rewrittein (a < b) && (b < c)
19:40 jnthn So it should be getting list assoc already...
19:42 jnthn lizmat: can you give me something that shows that it's failing to compile it to list assoc, ooc?
19:42 lizmat will try
19:43 Woodi joined #perl6
19:46 * masak read that as "will cry"
19:47 masak moritz: well, it's rewritten (a < b) && (b < c), modulo the fact that the 'b' thing is only evaluated once.
19:48 lizmat jnthn: indeed, a false alarm
19:48 lizmat $ perl6 -e 'set() (&) set() (&) set()'
19:48 lizmat in (&) with 3 params
19:49 jnthn lizmat: ah, phew
19:49 lizmat I was testing this in a separate file, with the op being cut/pasted from Setty
19:49 jnthn lizmat: That was about to be a really weird bug...
19:49 lizmat I realize now that that is not the same, like so many things are not the same inside the settings
19:50 lizmat sorry for the noise
19:51 jnthn I'm also surprised that one ain't the same inside setting... :)
19:51 * jnthn finds lizmat's pluralization of setting curious :)
19:52 lizmat otoh, now knowing how this works, I'm a bit worried about performance of (&) and the like for large sets
19:52 lizmat as everything is basically copied first
19:53 lizmat I was wondering whether we shouldn't have a BagView family of objects, that would allow a hash/set/list to be seen as a Bag *without* having to copy its contents
19:54 lizmat but I guess that's premature optimization, and therefore the root of all evil
19:54 jnthn Are Set and Bag the immutable ones?
19:54 lizmat yup
19:54 jnthn If so, if they use the underlying hash in the same way, well, you just share it. :)
19:55 jnthn 'cus it ain't gonna be changing :)
19:55 lizmat you mean, like a named parameter to the coercer, e.g. %hash.Set(:share) ?
19:55 jnthn Well, or just nqp::create(Set) and bindattr the hash in place :)
19:55 jnthn We're allowed to cheat on the inside of the setting ;)
19:56 jnthn Provided we know we don't break the rules in a user-visible way
19:56 lizmat ok, let me see if I can come up with something
19:57 kaare_ joined #perl6
20:00 pupoque joined #perl6
20:13 lowpro30_ joined #perl6
20:15 pupoque joined #perl6
20:20 btyler joined #perl6
20:22 genehack joined #perl6
20:33 dalek Heuristic branch merge: pushed 18 commits to nqp/nativecall-jvm by arnsholt
20:33 TimK1 joined #perl6
20:34 masak (why are the branch merges always heuristic?)
20:34 * masak .oO( because pushing that many commits at a time would be... heoric? )
20:35 TimK1 left #perl6
20:36 geekosaur heorrible
20:37 lizmat heurrendous ?
20:42 kbaker joined #perl6
20:44 BenGoldberg joined #perl6
20:45 dalek rakudo/nom: 8be54da | (Elizabeth Mattijsen)++ | src/core/ (4 files):
20:45 dalek rakudo/nom: Add :view named parameter to KeySet.Set and KeyBag.Bag coercers
20:45 dalek rakudo/nom:
20:45 dalek rakudo/nom: This is a test to see whether this makes sense or not: basically, whenever
20:45 dalek rakudo/nom: we coerce a KeySet to a Set, or a KeyBag to a Bag, and the :view parameter
20:45 dalek rakudo/nom: is specified, we create an object using the same underlying :elems hash.
20:45 dalek rakudo/nom: This prevents wasteful copying e.g. inside the (&) and other operators.
20:45 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8be54da493
20:45 lizmat jnthn: this is what I came up with ^^^
20:46 lizmat This was the easy case, as these share the same internal layout.
20:46 lizmat other cases might be more troublesome
20:47 lizmat also, this works because :view is silently ignored by the other .Set/.Bag coercer
20:47 lizmat s
20:56 dalek perl6-roast-data: ca6050c | coke++ | / (5 files):
20:56 dalek perl6-roast-data: today (automated commit)
20:56 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/ca6050c9b1
20:57 lizmat 99.13%
20:58 FROGGS yay!
20:59 masak \o/
21:02 mberends joined #perl6
21:03 masak mberends! \o/
21:04 masak long thyme, no sea.
21:04 mberends aye aye
21:04 masak mberends: while you were gone, some people here put Rakudo on the JVM!
21:05 lizmat mberends o/
21:05 masak mberends: and there's also a new kid on the block called... hm... GoreVM? RoarVM? TourVM?
21:06 mberends masak: It's amazing.  Like some people have noted, the p6 devs build implementations again and again, and become quicker at it each time :)
21:06 masak yeah, that's really how it works.
21:06 FROGGS hehe
21:07 mberends [Coke]: your UK power thingy will work in .de using my .uk to .eu thingy, no worries
21:07 masak clearly the end goal is to reach a speed of > 1 implementations/s.
21:07 masak mberends: you're coming to Frankfurt? awesome!
21:07 mberends yes, lizmat++ for that!
21:08 masak nice.
21:08 mberends masak: don't let the new kid on the block be a SnoreVM
21:09 * masak .oO( or WarVM )
21:13 [Coke] mberends++
21:14 [Coke] masak: will we eventually be a org.perl6.Factory?
21:14 dalek rakudo/nom: 7db73bf | (Elizabeth Mattijsen)++ | src/core/ (2 files):
21:14 dalek rakudo/nom: Some Setty/Baggy internals documentation
21:14 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/7db73bfb3a
21:17 masak [Coke]: only until we get a Haskell backend. then we'll be a Perl 6 UnsafeIO.
21:17 masak 'night, #perl6
21:17 lizmat night, masak!
21:17 mberends o/
21:18 pupoque joined #perl6
21:23 timotimo i don't understand lizmat's newest comments in setty/baggy
21:23 lizmat https://github.com/rakudo/rakudo/commit/7db73bfb3a
21:23 lizmat ?
21:24 timotimo yes
21:24 lizmat it's a shorthand for indicating what to expect in the key / value of the hash
21:24 timotimo so, the key.WHICH is the key, and the (key => value) is the value?
21:25 timotimo in the case of baggy
21:25 lizmat Set has key.WHICH value for keys, and key for values
21:25 timotimo ah, okay
21:25 lizmat Bag has key.WHICH for key, and key=>value pairs for values
21:25 timotimo the |-- doesn't speak to me, but it's what one would expect
21:25 baz joined #perl6
21:25 lizmat maybe \--- would be graphically clearer
21:25 lizmat it's intended as ASCII art
21:29 lizmat suggestions for other ways of describing this are welcome  :-)
21:33 timotimo i'd just write => honestly
21:34 timotimo or perhaps even %!elems{key.WHICH} = (key => value)
21:34 timotimo walk&
21:36 Mouq joined #perl6
22:01 dalek rakudo/nom: 9455f1a | (Elizabeth Mattijsen)++ | src/core/ (2 files):
22:01 dalek rakudo/nom: Adapted comments to timotimo++'s suggestion
22:01 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9455f1a5f0
22:02 lizmat and with that, calling it a day
22:02 lizmat gnight #perl6!
22:02 FROGGS gnight lizmat, gnight all
22:02 timotimo gnite lizmat :)
22:02 xenoterracide joined #perl6
22:03 timotimo r: say "foo".^can("fly").perl
22:03 camelia rakudo 8be54d: OUTPUT«()␤»
22:04 timotimo r: say "foo".^can("tc").perl
22:04 camelia rakudo 8be54d: OUTPUT«(method tc(Cool : Mu *%_) { ... },)␤»
22:04 timotimo r: say "foo".^can("tc")[0].rw
22:04 camelia rakudo 8be54d: OUTPUT«0␤»
22:05 ssutch joined #perl6
22:16 benabik joined #perl6
22:25 xenoterracide joined #perl6
22:26 timotimo oh, huh.
22:27 timotimo .Str and .Int shouldn't be nodal
22:29 timotimo o_O
22:29 timotimo i can't connect to my desktop any more >_>
22:37 timotimo what kind of state was my machine in that existing connections to the server worked, no new connections could be established and disconnecting and reconnecting to the wifi network fixed it ...?
22:38 huf dns mumble mumble?
22:39 timotimo the address was configured in my /etc/hosts
22:39 huf hmm
22:41 segomos jvm may be faster than parrot now
22:41 segomos on zef
22:42 timotimo hm, no word on how Associative and nodality is supposed to work
22:42 timotimo segomos: how so? and what is zef?
22:48 skids joined #perl6
22:49 segomos that was in the wrong channel - zef is the server i'm using to develop a package manager for p6 with ugexe
22:54 pupoque joined #perl6
22:55 geekosaur joined #perl6
22:55 BenGoldberg rn: my @a := gather { .say, .take for False, 3..5 }; say so @a;
22:55 camelia rakudo 9455f1, niecza v24-95-ga6d4c5f: OUTPUT«False␤True␤»
22:57 BenGoldberg Commit 437e799c0ff5db7084ce7032fda7663bf8323a84 doesn't really do anything useful
22:57 BenGoldberg Because perl6 will already do it right :)
23:06 raiph joined #perl6
23:07 preflex joined #perl6
23:07 timotimo ooooh :)
23:08 fridim_ joined #perl6
23:08 pochi joined #perl6
23:17 jeffreykegler joined #perl6
23:28 dalek roast: 4010822 | (David Warring)++ | S05-mass/charsets.t:
23:28 dalek roast: added character set tests
23:28 dalek roast: review: https://github.com/perl6/roast/commit/4010822c56
23:29 btyler joined #perl6
23:33 kbaker joined #perl6
23:37 btyler could someone point me toward a list of p6's operators with unicode/texas pairs together (if one exists)?
23:39 lue btyler: there's S03, although it's more than just a list.
23:42 btyler yeah, I've been cruising S03, just a bit verbose for my needs at this precise moment: I want to whip up something like this: https://github.com/alfa256/kawaii-perl for p6, although using the actual unicode versions rather than perhaps-unrelated symbols
23:45 btyler is it just the hypers that have non-ascii / texas forms? maybe I overestimated the number of non-ascii operators :)
23:48 [Coke] does t/spec/S05-mass/charsets.t need ICU on parrot?
23:48 * [Coke] adds it, we'll find out, I guess. :)
23:50 xenoterracide joined #perl6
23:51 dalek rakudo/nom: 5a8c536 | coke++ | t/spectest.data:
23:51 dalek rakudo/nom: run new test file
23:51 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/5a8c536b21
23:51 lowpro30 joined #perl6
23:52 skids btyler: I have a vague memory of something else being texas-ified but none come to mind.  There are few.  Also, this is out of date by now but: http://www.perlfoundation.org/perl6/index.cgi?witch
23:52 skids and of course http://www.ozonehouse.com/mark/periodic/
23:56 btyler skids: thanks, huh, for some reason I remembered seeing more non-ascii ops. guess the vim plugin to hide texas versions with unicode ones isn't so applicable after all
23:56 skids Hrm I forget if π is supposed to be a known constant with texas == pi.
23:57 skids It isn't currently in rakudo.
23:57 skids (pi works but π does not)
23:59 [Coke] π is not currently listed as a builtin in the synopses

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

Perl 6 | Reference Documentation | Rakudo