»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by sorear on 25 June 2013.
00:01 pernatiy joined 00:10 pernatiy left 00:13 Psyche^ left 00:17 Psyche^ joined 00:22 xinming left 00:24 xinming joined 00:45 dayangkun joined 00:47 pernatiy joined 00:59 thou joined 01:05 EvanTeitelman left 01:31 Mouq left 01:33 woosley joined
[Coke]_ r: < . 0 >».ord.say 01:43
camelia rakudo 1040c9: OUTPUT«46 48␤»
[Coke]_ r: say eager ".".."0"
camelia rakudo 1040c9: OUTPUT«. / 0␤»
[Coke]_ r: say "." ... "0"
camelia rakudo 1040c9: OUTPUT«. / 0␤»
dalek ast: 71befce | coke++ | S03-sequence/nonnumeric.t:
Add tests for RT #118519
01:50
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=118519
01:53 araujo left, araujo joined 01:58 raiph left 02:07 EvanTeitelman joined 02:11 thou left 02:23 konundra left 02:25 BenGoldberg left 02:26 raiph joined 02:32 jeffreykegler joined 02:33 jeffreykegler left 02:55 EvanTeitelman left 03:03 raiph left 03:23 preflex left 03:25 preflex joined, ChanServ sets mode: +v preflex 03:56 pernatiy left, pernatiy joined 04:10 konundra joined 04:26 xinming left 04:29 xinming joined 04:47 fridim_ left 05:04 SamuraiJack__ joined 05:18 takesako left 05:20 takesako joined 05:30 SamuraiJack__ left 05:32 SamuraiJack joined 05:36 Woodi joined 05:47 dayangkun left 05:51 btyler left 06:05 logie joined 06:19 agre joined 06:24 nebuchadnezzar joined 06:28 dayangkun joined 06:44 FROGGS joined 06:52 denis_boyun joined 06:53 domidumont joined 06:57 domidumont left 06:58 domidumont joined 07:07 zakharyas joined 07:16 xenoterracide left 07:19 xinming left 07:23 xinming joined
timotimo oh, RaNIW is really soon 07:23
07:24 daniel-s_ left 07:27 sidus joined 07:29 dmol joined
FROGGS it is \o/ 07:29
sorear RaNIW?
07:29 nebuchadnezzar left
timotimo rakudo and nqp internals workshop 07:29
07:31 pupoque joined
timotimo i don't yet know when to arrive by train 07:32
though i think i can spontaneously get a ticket, too
07:32 nebuchadnezzar joined 07:33 daxim joined
hoelzro morning, #perl6! 07:34
FROGGS hi 07:37
07:42 sqirrel joined 07:43 denis_boyun left
timotimo are there recommendations for a time, rather than just a date to arrive? 07:54
moritz
.oO( arrive early, arrive oft.. oh, wait :-)
07:55
timotimo hehe 07:56
timotimo is rebasing the "is nodal" work manually now 07:57
07:59 SamuraiJack_ joined 08:02 SamuraiJack left 08:07 dayangkun left 08:17 domidumont left, domidumont joined, fhelmberger joined
FROGGS timotimo: I arrive at 20:37 on friday at the central station 08:22
08:22 fhelmberger left
FROGGS so we could have a beer somewhere... 08:23
timotimo i was expecting beer to be had :)
FROGGS :o) 08:25
08:26 sqirrel left
timotimo i don't really remember what the wanted design of nodal hyper was at the end :~ 08:28
:|
how far from the optimal implementation am i allowed to stray? 08:29
there's this icky spot where a method may be nodal on some elements of an iterable ...
but at least now i think i understand how the way with making nodal methods raise an exception is supposed to work 08:30
08:32 kivutar left
moritz r: say join '', '▁' .. '█' 08:33
camelia rakudo 1040c9: OUTPUT«▁▂▃▄▅▆▇█␤»
moritz n: say join '', '▁' .. '█'
hoelzro I arrive at 14:55 at the airport
camelia niecza v24-95-ga6d4c5f: OUTPUT«(timeout)» 08:34
moritz :/
08:40 dayangkun joined, dayangkun left
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
timotimo i'd love to join y'all for dinner 08:49
08:53 dakkar joined, salv0 left, salv0 joined
jnthn
.oO( last time I went to a pub in Germany, they gave me helle... )
09:03
timotimo nooooooo, this perl6 process is giving me hell 09:16
r: (<foo bar baz>, <a b c>) >>~~>> Iterable
camelia rakudo 1040c9: OUTPUT«(timeout)»
timotimo (turns out to my surprise these inner ones aren't iterable, huh?!) 09:18
r: (<foo bar baz>, <a b c>).tree.map({ $_ ~~ Iterable })
what gives?
camelia rakudo 1040c9: ( no output )
timotimo r: say (<foo bar baz>, <a b c>).tree.map({ $_ ~~ Iterable })
camelia rakudo 1040c9: OUTPUT«False False␤»
timotimo is that because they're in item context due to the tree? :| 09:19
r: say (<foo bar baz>, <a b c>).tree.perl
camelia rakudo 1040c9: OUTPUT«LoL.new($("foo", "bar", "baz"), $("a", "b", "c"))␤»
09:20 agre left, berekuk_ joined 09:21 dalek left, BinGOs left, BinGOs joined, dalek joined, ChanServ sets mode: +v dalek, nebuchadnezzar left 09:22 Lorn left, nebuchadnezzar joined 09:23 Lorn joined 09:24 berekuk left 09:25 sftp left 09:26 sftp joined 09:32 hypolin joined 09:37 zakame joined
timotimo oh, damn. 09:58
my test code is using something that's not even going to work...
using >>.&sub i'm probably not going to get &sub using $the_object.^can($name) 09:59
that gives me a dispatch:<var>, which i cannot ask for its .nodal and get the .nodal of the routine it refers to ... :| 10:00
i guess it's good to hit corner cases early? 10:03
10:09 agre joined 11:02 preflex left 11:04 preflex joined, ChanServ sets mode: +v preflex 11:07 sqirrel joined
daxim lizmat, neilb.org/2013/09/06/perl6-isnt-perl.html 11:26
11:29 abnorman left 11:30 abnorman joined
pupoque yes 11:32
arnsholt ok - printf 11:33
C printf called from NQP/JVM \o.
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:34
11:34 telex left
tadzik I'm not sure there is a problem at all 11:35
11:36 salv0 left, telex joined 11:38 abnorman left
lizmat daxim: successfully suppressed my desire to comment :-) 11:45
moritz arnsholt: \o/
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
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:46
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:52
11:55 salv0 joined
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:55
moritz pupoque: is it actually about confusion and popularity? 11:56
pupoque: my feeling is it's about the *fear* that it might cause confusion and loss of popularity
11:56 abnorman left
tadzik true 11:56
I think there are people dissatisfied with state of Perl 5, and to them Perl 6 is a nice scapegoat 11:57
"people dislike Perl because Perl 6"
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
jnthn "people complain"
;)
tadzik "people"
moritz ""
tadzik Segmentation fault 12:00
ribasushi "people love shiny" 12:01
12:01 salv0 left
nwc10 people want it all. It has to be shiny *and* stable 12:01
moritz *and* fast evolving.
tadzik and fast
nwc10 but not break their existing code
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
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
tadzik I read that as "Star Wars on JVM Solo"
tadzik cleans glasses 12:03
colomon bum bum bum BUM BA
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, konundra left
ribasushi is there a primer somewhere how to get a basic p6 environment on a windows machine? 12:06
pupoque :D
ribasushi or this kind of stuff doesn't exactly exist yet?
12:07 salv0 joined
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...
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
12:08 daxim_ joined, daxim left, sqirrel left
ribasushi jnthn: which flavor (parrot / jvm) will be more useful this weekend? 12:09
moritz if you want to use modules: parrot
jnthn moritz: We're doing guts :)
moritz because the module installer (panda) doesn't work yet on JVM
oh, right
ribasushi I don't know what jnthn wants to talk about ;)
moritz guts
ribasushi so jvm it is then?
jnthn Well, the first day we'll mostly just be using NQP which is equally capable on both. :)
And I dont't think we'll hit any places Rakudo on JVM aint' up tot he job. 12:10
ribasushi excellence
jnthn So yeah, provided he machine is decent enough to make JVM startup cost not annoying... :)
ribasushi hehe 12:12
jnthn: can you give me a crude shell time() of what a simple 1+1 should be on a decent machine? 12:13
that is something to compare the thing I am yet-to-build against
flussence my worst case is about ~20s on an Atom...
12:14 fridim_ joined
moritz ribasushi: about 3.8s for rakudo-jvm, 0.4 for rakudo-parrot 12:14
ribasushi nod
flussence 10s cold start on my desktop, 8s after that...
ribasushi that's `say (1+1)` I presume?
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
flussence (rakudo-parrot is 2.187 and 1.799s for cold/warm)
ribasushi tadzik: this looks... promising ;)
moritz fwiw the nqp-jvm startup time is only 1.3s here
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
ribasushi tadzik: CHEATER!
tadzik that's right
ha-ha!
moritz and nqp-parrot starts up in 0.24s here
ribasushi: fwiw I quite enjoyed your talk about benchmarks
ribasushi moritz: thanks! ;) 12:17
12:18 takesako left
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
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
ribasushi walltime - includes disk io, shelling out, blocking ops etc
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
ribasushi it's more of "what are we timing"
moritz ribasushi: maybe things have changed since the first release of Devel::NYTProf, when I read those notes
ribasushi moritz: ah no you misremember
12:20 fridim_ left
ribasushi (sec looking for relevant docs) 12:20
12:23 pupoque left 12:24 SamuraiJack_ left 12:25 SamuraiJack joined, skids left 12:28 pernatiy left
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␤␤»
flussence r: say 'abc'.encode('utf32').decode('utf32')
camelia rakudo 1040c9: OUTPUT«encoding #-1 not found␤ in method encode at src/gen/CORE.setting:5872␤ in block at /tmp/si3xmWEEDN:1␤␤»
flussence r: say 'abc'.encode('iso-8859-1').decode('iso-8859-1')
camelia rakudo 1040c9: OUTPUT«abc␤»
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`
moritz: which has an abysmal resolution (due to backwards comp)
moritz: accessing the timers the way I show in this talk is safe and gets you *virtual* naonsec precision 12:31
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
(in NYTProf --usecputime was implemented via times() ) 12:32
moritz ribasushi: ok, thanks for explaining that 12:37
12:38 bloonix joined
arnsholt For some value of useless equal to "working hard on Moar" =D 12:41
Whoops. Scrollbacko
12:41 takesako joined 12:47 pmurias joined
pmurias hi 12:47
12:47 thou joined
FROGGS hi pmurias 12:48
12:55 lowpro30 joined, jnap joined 12:57 jnap left 12:59 lowpro30_ joined, jnap joined 13:02 lowpro30 left
dalek p: 56ce7c4 | (Pawel Murias)++ | t/nqp/61-mixin.t:
Check that after mixing the role nqp::istype works with the old type.
13:04
p: 4cf1013 | (Pawel Murias)++ | t/nqp/61-mixin.t:
Fix typo in test description.
13:13 dayangkun joined 13:15 arlinius left 13:17 PacoAir joined 13:18 dmol left 13:20 dalek left 13:21 dalek joined, ChanServ sets mode: +v dalek, dayangkun left, benabik left, lowpro30_ left
arnsholt jnthn: What's the current state of the box_target stuff in Rakudo/JVM? 13:22
lizmat arnsholt: jnthn is teaching atm, so may be some time before you get an answer 13:27
13:31 pdurbin left
PerlJam i.imgur.com/xkDknMI.jpg woolfy++ lizmat++ (A friend found this in a non-perl context :) 13:31
lizmat :-) 13:32
arnsholt Right. I'm in no hurry 13:37
13:38 btyler joined
diakopter PerlJam: heh beat by you by a couple days 13:39
FROGGS PerlJam: timotimo took that photo 13:40
PerlJam nice. I wonder how my friend ran across it. 13:44
timotimo++ :)
lizmat r: say set(<a b>) ∩ set(<a b>) # expect set(a b) 13:46
camelia rakudo 1040c9: OUTPUT«set()␤»
lizmat r: say set(<a b>) (&) set(<a b>) # expect set(a b)
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 13:49 ajr is now known as Guest54550
lizmat forget it, looking at the wrong thing 13:51
13:57 skids joined
ribasushi lizmat: answered for you :) neilb.org/2013/09/06/perl6-isnt-per...1035381104 13:58
lizmat :-) 13:59
14:00 pernatiy joined
diakopter just read on defensetech.org that the joint strike fighter (F35) has 10,000,000,000 lines of code. 14:00
that's ... a lot.
sjn o_O 14:01
wtf
all in assembly then?
diakopter haha. 14:02
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:03
anyways here's the article defensetech.org/2013/08/29/marine-c...ea-trials/ 14:04
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
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].
Read more: defensetech.org/2013/08/29/marine-c...z2eP7GhR5Z
ugh oops didn't mean to paste so much
14:06 domidumont left
diakopter tadzik: you've written around a billion lines of code, right? 14:07
14:08 cognominal__ left
diakopter well, wikipedia disagrees dramatically... (says 24 million according to this link) spectrum.ieee.org/riskfactor/aerosp...h-software 14:10
*sigh* maybe the "10 billion" meant including revision control?? :)
pmurias the entire revision control history of the linux kernel it's running on ;) 14:11
diakopter haha yeah right
"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:14
14:15 raiph joined
diakopter raiph: hi 14:15
14:17 tkuyper joined
tadzik diakopter: well, a million, maybe 14:22
billion? I don't think so
moritz unless you count a line each time the compiler looked at it... :-) 14:23
tadzik hehe
then 10 billion is likea day's work ;)
14:27 btyler left 14:30 btyler joined
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
14:31 poor_soul joined
dalek kudo-js: 809aa37 | (Pawel Murias)++ | runtime.js:
Implement nqp::gt_s.
14:32
rakudo-js: c50d2c2 | (Pawel Murias)++ | runtime.js:
rakudo-js: Add hack for Array.unshift.
14:32 dalek left
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!
diakopter pmurias: you killed the dalek!
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, ChanServ sets mode: +v dalek
pmurias ahh it got caught for excess flooding... 14:33
poor_soul zavolaj test: t/02-simple-args.t ..... Failed 2/11 subtests 14:34
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.
is it serious or can it be ignored? 14:35
pmurias diakopter: isn't killing daleks a good thing? ;)
diakopter "we're sorry, your function is taking 400 ticks on the rtos; we estimated/allocated only 6; rewrite it please" 14:36
arnsholt poor_soul: That shouldn't happen, I think. Which Rakudo do you have? 14:37
pmurias nqp::say("Hello World") compiles (and runs) on nqpjs-compiled-to-js :) 14:38
moritz pmurias++
poor_soul 2013.08-110-g1040c9c built on parrot 5.6.0 revision 0
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
jnthn pmurias: Nice!! 14:39
pmurias: That means you're setting loading off having a selfhost that passes some of t/nqp, I guess... :)
pmurias incoming gsoc deadline is surley speeding up the progress ;)
jnthn: I didn't understand that sentence 14:40
diakopter me neither
jnthn I re-read it twice and understood it... :P
Both times! 14:41
You guys parsers need to give more awesome errors :P
diakopter "setting loading"
*emits smoke from ears*
poor_soul btw zavolaj is the latest from git
diakopter "setting-loading"?
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.
pmurias yes 14:42
14:42 zakharyas left
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:42
diakopter I still don't understand the sentence.. add some parenthetical explanations? 14:43
dalek p/nativecall-jvm: 518a292 | (Arne Skjærholt)++ | src/vm/jvm/runtime/org/perl6/nqp/sixmodel/reprs/NativeCallInstance.java:
Move constants to enum from static final byte FOO.
p/nativecall-jvm: a83bf2b | (Arne Skjærholt)++ | src/vm/jvm/ (2 files):
Build NativeCallInstance.{arg_types,ret_type} in nqp::buildnativecall.
p/nativecall-jvm: 6567e57 | (Arne Skjærholt)++ | src/vm/jvm/ (3 files):
Basic call handling and converting between NQP and JNA types.

This means that we support int, num, str and cpointer as arguments and return values, which in turn means that we pass the basic sanity tests in the NQP test suite.
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
diakopter ah okay, so setting-loading
jnthn :) 14:45
It wasn't intended to be ununderstandable :P
diakopter this doesn't bode well for my productivity today..
14:46 go|dfish left
jnthn Maybe my english is just too br[oken|itish] :) 14:46
GlitchMr Heh, sometimes I used [option1|option2] in P5 regexp by accident. 14:48
Without warnings, as it's valid code.
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"
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
jnthn pmurias: I'm starting to wonder which will be backend #3 that makes it into the NQP repo, js or moar :)
synopsebot Link: rt.perl.org/rt3//Public/Bug/Display.html?id=3
GlitchMr I also sometimes ran Perl scripts in Perl 6 by accident.
Usually stopped by "strict" module that isn't found anywhere. 14:52
jnthn arnsholt: Yeah, though I need to docummute in a few moments...
GlitchMr Or Perl 6 scripts in Perl 5, usually stopped by "use v6".
jnthn *de
GlitchMr At least "use v6" makes good error messages in Perl 5.
diakopter well, considering there's as v6 module on cpan
GlitchMr ~ $ perl -e 'use v6' 14:53
Perl v6.0.0 required--this is only v5.18.1, stopped at -e line 1.
BEGIN failed--compilation aborted at -e line 1.
FROGGS right, no module needed
diakopter p5eval: use v999999999999999999999999999999999
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.
GlitchMr Int overflow!
FROGGS awww, no bigint versions?
bad Perl 5, really bad of you!
diakopter p5eval: use v999999999999.9999999999999.9999999999999
GlitchMr I also get "Integer overflow in decimal number at -e line 1." lots of times.
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
diakopter p5eval: use v0.0.0 14:54
p5eval diakopter: No output
GlitchMr With -v, I also get "Integer overflow in version at -e line 1.".
diakopter p5eval: use v0.0.999999999999999
p5eval diakopter: No output
GlitchMr diakopter, hey, that syntax makes sense when dealing with original Perl, which was indeed, v0. 14:55
Not that v0 supported "use" syntax.
And not that it was ever released.
BinGOs p5eval: use 6.000
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.
GlitchMr perlhist
BinGOs I fixed your backwards portability for you.
diakopter GlitchMr: yeah, it ran on rtos ppc alongside ada83
and the source configuration management system for Star Wars was written in Perl 14:57
14:57 arlinius joined
GlitchMr perldoc.perl.org/perldiag.html#Inte...in-version 14:57
At least Perl developers knew somebody would try something like "use 9325832953852935793819583789513259012512790512790".
diakopter p5eval: use v0/0 14:58
p5eval diakopter: ERROR: Search pattern not terminated at (eval 7) line 1.
diakopter p5eval: use v0/0/
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
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.
GlitchMr "use" accepts regular expression after version O_o. 14:59
Perl 5 grammar is weird.
But only if I don't separate it using space.
diakopter p5eval: use vV
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.
diakopter p5eval: use v_ 15:00
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.
diakopter p5eval: use v.
GlitchMr use v6-rakudo; works too.
p5eval diakopter: ERROR: syntax error at (eval 7) line 1, near "use v."
GlitchMr p5eval: use v6-rakudo;
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.
GlitchMr -rakudo is interpreted as (-rakudo)
And Perl 5 has barewords
p5deparse: use v6-rakudo 15:01
Anyway, it's parsed as use v6 (-'rakudo');
Except, wow, deparse gives code with syntax error.
geekosaur hm? that error (over in #perl) makes sense to me... use is compile time 15:02
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
GlitchMr But whatever, it seems v6 module abuses this parsing quirk.
metacpan.org/module/v6
15:07 bluescreen100 joined 15:09 fglock joined
fglock in perl5 + v6.pm, 'use v6-rakudo' tries to load v6/rakudo.pm 15:10
that can be made to work
GlitchMr Module that reruns code in Rakudo? 15:13
15:13 Guest54550 is now known as ajr_
dalek kudo/nom: 9b4d4e1 | (Elizabeth Mattijsen)++ | src/core/Setty.pm:
Reimplement set intersection

This can probably be done better, but this at least works.
15:14
poor_soul ok, i narrowed down the problem to a line 15:17
but i sincerely don't understand what's happening
GlitchMr p5eval: my Int $variable; # By the way, this is also interesting. 15:18
p5eval GlitchMr: ERROR: No such class Int at (eval 7) line 1, near "my Int"
moritz poor_soul: and we can't enlighten you unless you tell us what you found
poor_soul just a sec
my $class = class CStr is repr('CStr') { method encoding() { $encoding; } };
dalek ast: 8a1cafb | (Elizabeth Mattijsen)++ | S03-operators/set.t:
Unfudge set intersection tests
15:19
poor_soul which is line 259
of NativeCall.pm6
in t/02-simple-args.t, reach line 31, then step a little 15:20
15:20 BenGoldberg joined
poor_soul i get segmentation fault as soon as it finishes the method 15:21
masak ahoj, #perl6 15:22
masak .oO( guten ahojte all leute )
15:23 fglock left, alester joined
lizmat masak o/ 15:24
arnsholt poor_soul: (Sorry for the delay) Is that the August Star release or from git?
poor_soul git
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
Hmm. Do you --gen-nqp or build your own? 15:26
poor_soul build my own
nqp is version 2013.08-80-g8ed7dad
arnsholt How old are the commits they're built from?
poor_soul i would say yesterday 15:28
FROGGS arnsholt: 8ed7dad is two days old
the rakudo version is 18 hours old
arnsholt Hmm. That should be plenty recent enough
poor_soul i'm debugging with latest rakudo-debugger 15:29
but get the segfault even without debugger
arnsholt I'm gonna build Parrot versions of this stuff and see if I can reproduce it. Back in a jiffy =) 15:30
dalek p/nativecall-jvm: 6beaccf | (Arne Skjærholt)++ | tools/build/Makefile-JVM.in:
Run native call tests as part of the standard test target.
15:31
15:31 FROGGS left, daxim_ left, REPLeffect left 15:35 TimK1 joined, go|dfish joined, FROGGS[mobile] joined, nebuchadnezzar left 15:36 nebuchadnezzar joined, REPLeffect joined
BenGoldberg rpn: print 1..121 15:38
camelia rakudo 1040c9, niecza v24-95-ga6d4c5f, pugs:
..OUTPUT«123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121»
BenGoldberg rpn: print 1..200
camelia rakudo 1040c9: OUTPUT«1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241…
..niecza v24-95-ga6d4c5f: OUTPUT«1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211…
..pugs: OUTPUT«1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271…
GlitchMr BenGoldberg, range is flattened, so you get every number in range joined together. 15:40
(print takes multiple arguments)
BenGoldberg That's not the problem :) 15:41
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.
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
arnsholt Could it be that it includes the compiler name and version in the cutoff? 15:43
BenGoldberg diakopter: probably
arnsholt So it's not looking at the full output, but just the truncated prefixes, which are different
BenGoldberg Shirely that's the wrong way to do it.
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…
arnsholt poor_soul: You have to do star:
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…
arnsholt And I just finished building all the things, and it segfaults here as well
dalek ast: d55dccf | (Elizabeth Mattijsen)++ | S03-operators/bag.t:
More unfudging now that set/bag intersection works
poor_soul but camelia doesn't?
arnsholt poor_soul: That's the problem the most recent changes were supposed to fix
poor_soul it segfaults on me
ooh
arnsholt Yeah, I get the segfault too
Investigating now
poor_soul thanks for helping me 15:46
15:47 REPLeffect left
dalek kudo/nom: 437e799 | (Elizabeth Mattijsen)++ | src/core/Setty.pm:
No need to check all parameters passed, the first will do
15:49
lizmat so I've just rewritten only sub infix:<(&)>(**@p) 15:52
and now notice that it only gets called with 2 parameters ever
jnthn Missing :assoc<list> 15:53
somewhere
in Grammar.pm prolly
lizmat pretty sure it's there, lemme check
jnthn brb
lizmat token infix:sym<(&)> { <!before <sym> <infixish> > <sym> <O('%junctive_and')> } 15:54
arnsholt Derp? I have no idea how the code in CStr.c ever worked... 15:55
diakopter magic 15:56
wishful thinking
matrix glitch
timotimo a good starting point for sure :) 15:58
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 15:59
you know, my whole "do it THE RIGHT WAY the fifth time, instead of the sixth time 2 years later." :) 16:00
thing 16:01
arnsholt jnthn: Is it only Parrot_str_new_from_cstring that isn't exported, or Parrot_str_to_encoded_cstring too? 16:02
(You replaced both of them with the same new function, which seems ill advised to me =p) 16:03
colomon arnsholt: btw, NativeCall's been broken the last two days on parrakudo (according to my module smoker) 16:04
(Sorry if you already know, haven't backlogged)
arnsholt No, I didn't know until 15 minutes ago
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
Thus the jnthn-poking
I should probably start backlogging systematically 16:06
poor_soul colomon: is that module smoker available somewhere?
16:08 TimK1 left
colomon poor_soul: the results of it are up (at the moment) at 97.95.33.142:3001/report 16:11
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
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/
poor_soul thanks again 16:14
arnsholt timotimo: Lucky you! =)
timotimo indeed
but there's still a bug in it that requires some deep internals fix or something i fean :(
fear* 16:15
colomon github.com/tadzik/emmentaler
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.
(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:16
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
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*
timotimo hehe, good :)
FROGGS[mobile] jnthn: expect a lot of beer then ;) 16:19
lizmat shall we try to do this on Sun night only ? 16:20
:-)
jnthn Yes, you'd like me ot be corhenent :P
um. :)
lizmat .tell jnthn is assoc<list> works, but not in settings :-(
yoleaux lizmat: I'll pass your message to jnthn.
jnthn to, coherent.
yoleaux 16:20Z <lizmat> jnthn: is assoc<list> works, but not in settings :-(
timotimo %) 16:21
lizmat I guess some changes in precedence.pm are needed
but I haven't got a clue what
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
lizmat brb
jnthn otoh, my students sometimes suggest I drink heavily so I'll find the class as hard as they do :P
timotimo flussence: that's true.
something should be up-whippable with namespacing, or rather lxc. 16:22
arnsholt jnthn: Was the change at github.com/perl6/nqp/commit/c97065d3#L0L49 a thinko, or is Parrot_str_to_encoded_cstring not available anymore as well?
timotimo but i don't have experience with it really
jnthn
.oO( "And here's a Dictionary<Type, List<Action<object>>>, which is..hm, wtf did I create..."
)
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 :/
FAIL
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
jnthn Sorry. I was trying to fix another thing, then realized the build was broken on Windows
timotimo like 1MB of csv
arnsholt That's what I thought =)
arnsholt goes to commit 16:24
timotimo in that case, the in-browser stuff would shine, of course
because it doesn't have to go through the usually very thin upload pipe
jnthn I think I changed just one of 'em, then it was still broke, and I thought "oh, I missed one"
Which means that neither is available.
Check in the Parrot .h file and see if it's marked PARROT_EXPORT to be sure...
flussence and there's the whole "how do you whitelist stuff so «use foo;» can load the modules" thing...
dalek p: ef08484 | (Arne Skjærholt)++ | src/vm/parrot/6model/reprs/CStr.c:
Unbust the CStr REPR.
arnsholt jnthn: Will do 16:25
poor_soul: If you're on Linux pulling NQP and rebuilding all the things should fix your problems
If you're on Windows it might not
poor_soul arnsholt: gonna try ASAP 16:26
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. )
timotimo AFK for a bit&
poor_soul is it necessary to rebuild rakudo-debugger when i rebuild nqp from git? 16:28
jnthn arnsholt: ok
poor_soul: I'd expect so 16:32
poor_soul jnthn: thanks, and i guess rakudo too needs to be rebuilt to test this latest change 16:33
jnthn yes 16:34
arnsholt Yeah, rebuilding NQP means you have to rebuild Rakudo and all the modules
poor_soul well then, i'll need some time before i can test this change 16:35
jnthn bbl, noms & 16:37
16:43 ibm1 left 16:47 spider-mario joined, spider-mario left 16:49 spider-mario joined, lebihgantengdari joined
lebihgantengdari hi 16:49
16:49 lebihgantengdari left
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:52
poor_soul arnsholt: congratulations, it passes now 16:53
16:54 pupoque joined
BenGoldberg timotimo: perldoc overload has an example of symbolic variables 16:54
segomos perl6 wins 16:55
BenGoldberg in the cookbook part, under the heading "symbolic calculator"
arnsholt poor_soul: Excellent! 16:56
What're you using it for, BTW? =) 16:57
segomos the only thing it's missing is console colors during jvm configure
poor_soul i wanted to use some archives libraries 16:58
i think i'll try libarchive 16:59
17:01 ssutch joined
[Coke]_ wonders if his .UK power thingee works in .DE 17:02
17:03 census joined
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
poor_soul :) 17:05
[Coke]_ timotimo: danke. 17:06
17:06 [Coke]_ is now known as [Coke]
flussence r: my Array{huh} 17:07
camelia rakudo 437e79: OUTPUT«===SORRY!===␤Type 'Array' is not declared␤at /tmp/ffwPqJoFGP:1␤------> my Array⏏{huh}␤Malformed my␤at /tmp/ffwPqJoFGP:1␤------> my Array⏏{huh}␤ expecting any of:␤ scoped declarator␤␤»…
flussence that's an... interesting error
dalek ast: f703913 | coke++ | S (2 files):
pugs fudge
17:08
flussence r: my Int{} 17:09
camelia rakudo 437e79: OUTPUT«===SORRY!===␤Type 'Int' is not declared. Did you mean 'int'?␤at /tmp/XX_ED5a_gx:1␤------> my Int⏏{}␤Malformed my␤at /tmp/XX_ED5a_gx:1␤------> my Int⏏{}␤ expecting any of:␤ scoped declarator␤␤»…
flussence r: my int{}
camelia rakudo 437e79: OUTPUT«===SORRY!===␤Type 'int' is not declared. Did you mean 'Int'?␤at /tmp/VTJgdiA9N7:1␤------> my int⏏{}␤Malformed my␤at /tmp/VTJgdiA9N7:1␤------> my int⏏{}␤ expecting any of:␤ scoped declarator␤␤»…
17:09 rindolf joined 17:10 dakkar left
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
17:10 benabik left
timotimo the implementation of unknown names like that is apparently a tiny bit fragile 17:10
17:11 salv0 left
flussence r: my i # golfed 17:13
camelia rakudo 437e79: OUTPUT«===SORRY!===␤Type 'i' is not declared␤at /tmp/DYLK7Yv_3i:1␤------> my i # golfed⏏<EOL>␤Malformed my␤at /tmp/DYLK7Yv_3i:1␤------> my i # golfed⏏<EOL>␤ expecting any of:␤ scoped declarator␤␤»…
flussence r: my i $i; say $i; # this is actually valid, though
camelia rakudo 437e79: OUTPUT«Complex.new(0, 1)␤»
17:14 REPLeffect joined
TimToady std: my i $i; 17:15
17:15 ajr_ left
camelia std 7c17586: OUTPUT«ok 00:00 42m␤» 17:15
TimToady I guess it's considering constants to be singleton types. 17:16
r: my i $i; $i = 2;
camelia rakudo 437e79: OUTPUT«Type check failed in assignment to '$i'; expected 'Complex' but got 'Int'␤ in block at /tmp/uC_WHp4f7x:1␤␤»
TimToady r: my i $i; $i = 2i;
camelia rakudo 437e79: OUTPUT«Type check failed in assignment to '$i'; expected 'Complex' but got 'Complex'␤ in block at /tmp/dIADTouFwP:1␤␤» 17:17
rindolf Hi all.
TimToady heh
yes, a constant is a type constraint *and* a value constraint
timotimo o_O
that's distinctly interesting 17:18
TimToady think about multis
timotimo my True $a; say $a
flussence r: my e $e; $e = $e #it's a bit overzealous though
timotimo ah, that makes it make sense
camelia rakudo 437e79: OUTPUT«Type check failed in assignment to '$e'; expected 'Num' but got 'Num'␤ in block at /tmp/X561uIyflG:1␤␤»
timotimo r: my True $a; say $a
camelia rakudo 437e79: OUTPUT«True␤»
TimToady multi foo (42) {...}
17:18 BenGoldberg left
TimToady or multi foo (True) {...} 17:18
this just falls out of that
and it's relatively harmless
17:19 FROGGS joined
timotimo i love how in perl6 i always get surprised by things having a very strong internal logic to (and between) them 17:19
oh my god
could this even be the root of my problem in ADT?
because it definitely says "expected Tree but got Tree instead" 17:20
perhaps it expects the class to be the value of the variable and thus doesn't accept instances? or something crazy like that? 17:21
flussence r: my e $e; my e $ee; say $e.WHERE == $ee.WHERE 17:22
camelia rakudo 437e79: OUTPUT«True␤»
FROGGS wasn't it that there were different Tree types in the end?
17:23 pmurias left 17:25 abnorman joined
timotimo FROGGS: it looked like that, yeah 17:25
.o(but how did that even ... ?!?)
i mean, the code was my Tree $foo = Tree.new-foo(1, 2)
or even my Tree $foo .= new-foo(1, 2)
17:25 salv0 joined
timotimo how does that even give two different versions of the tree class? 17:25
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
arnsholt jnthn: What's the corresponding SMO method to box_funcs->get_boxed_ref on Parrot? 17:27
Or is box_target only supposed to work for int/num/str?
17:28 poor_soul left 17:29 pupoque1 joined 17:30 dmol joined 17:32 pupoque left, pupoque1 is now known as pupoque 17:34 jeffreykegler joined, domidumont joined 17:37 xinming left 17:38 xinming joined
jeffreykegler Some time ago this channel helped me with Sixish, which was initially conceived as a Marpa-based Perl 6-like language ... 17:40
I want to thank you, and let you know what happened.
Sixish became Marpa's SLIF interface -- the SLIF does not look anything like Perl 6 ... 17:41
But underlying ideas from Perl 6 were a huge influence
TimToady historians ^^ :) 17:42
jeffreykegler (SLIF also had other influences, and Marpa's users were extremely influential on its outward form.) 17:43
17:43 sqirrel joined 17:45 abnorman left 17:46 lowpro30 joined 18:01 rindolf left 18:03 japhb joined
japhb .seen patrick 18:03
yoleaux I haven't seen patrick around.
japhb .seen pmichaud
yoleaux I saw pmichaud 28 Aug 2013 13:37Z in #perl6: <pmichaud> I'm afk again
diakopter (having users)++
japhb dang
18:05 benabik joined
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:11
18:11 sqirrel left
diakopter raiph: ping 18:13
sjohnson pooj 18:14
18:22 lowpro30 left 18:23 abnorman joined 18:25 pupoque left 18:26 pupoque joined 18:28 Rotwang joined 18:35 zwut00 joined 18:37 xinming left, lowpro30 joined 18:38 EvanTeitelman joined 18:39 xinming joined 18:45 jeffreykegler left 18:47 agre_ joined 18:50 agre left
arnsholt Isn't it possible to run NQP/JVM from outside of the repo? 18:52
flussence you mean as in cwd != $repo-dir? 18:54
diakopter if you did make install, and that install dir is in the path
arnsholt Ah, right 18:55
I just used --with-nqp=../nqp/nqp
'Cause that works on Parrot =)
But I see that install/bin/nqp is different
18:56 cognominal joined 18:58 lowpro30 left 18:59 SamuraiJack left
arnsholt Heh. The jast stage of Rakudo's setting compilation looks like it's pretty memory hungry 19:00
diakopter lots of temporary small objects 19:01
arnsholt Yeah, that makes sense 19:04
19:06 cognominal left, cognominal joined 19:10 ajr joined 19:11 ajr is now known as Guest54787 19:12 Guest54787 is now known as ajr_ 19:13 lowpro30 joined 19:15 denisboyun joined 19:16 denisboyun left, denisboyun joined 19:17 census left 19:18 domidumont left 19:34 xinming_ joined
lizmat jnthn: wrt is assoc<list>, what would be the way to specify that in precedence.pm ? 19:35
(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...
lizmat token infix:sym<(&)> { <!before <sym> <infixish> > <sym> <O('%junctive_and')> } 19:37
is what is in the grammar
19:37 xinming left
lizmat should that be "<O('%chaining')>" instead ? 19:38
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?
jnthn looks for himelf...
moritz lizmat: chaining sounds wrong
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)
jnthn So it should be getting list assoc already...
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 left, Woodi joined
masak read that as "will cry" 19:46
moritz: well, it's rewritten (a < b) && (b < c), modulo the fact that the 'b' thing is only evaluated once. 19:47
lizmat jnthn: indeed, a false alarm 19:48
$ perl6 -e 'set() (&) set() (&) set()'
in (&) with 3 params
jnthn lizmat: ah, phew 19:49
lizmat I was testing this in a separate file, with the op being cut/pasted from Setty
jnthn lizmat: That was about to be a really weird bug...
lizmat I realize now that that is not the same, like so many things are not the same inside the settings
sorry for the noise 19:50
19:50 pupoque left
jnthn I'm also surprised that one ain't the same inside setting... :) 19:51
jnthn finds lizmat's pluralization of setting curious :)
lizmat otoh, now knowing how this works, I'm a bit worried about performance of (&) and the like for large sets 19:52
as everything is basically copied first
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
but I guess that's premature optimization, and therefore the root of all evil
jnthn Are Set and Bag the immutable ones?
lizmat yup
jnthn If so, if they use the underlying hash in the same way, well, you just share it. :)
lizmat you mean, like a named parameter to the coercer, e.g. %hash.Set(:share) ? 19:55
jnthn 'cus it ain't gonna be changing :)
19:55 avuserow left
jnthn Well, or just nqp::create(Set) and bindattr the hash in place :) 19:55
We're allowed to cheat on the inside of the setting ;) 19:56
Provided we know we don't break the rules in a user-visible way
lizmat ok, let me see if I can come up with something 19:57
19:57 kaare_ joined 20:00 pupoque joined 20:13 lowpro30_ joined 20:14 kaare_ left 20:15 pupoque left, pupoque joined 20:17 lowpro30 left 20:19 genehack left, btyler left 20:20 btyler joined 20:22 genehack joined 20:29 arlinius left 20:30 kbaker left
dalek Heuristic branch merge: pushed 18 commits to nqp/nativecall-jvm by arnsholt 20:33
20:33 TimK1 joined
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
20:35 TimK1 left
geekosaur heorrible 20:36
20:37 xenoterracide left
lizmat heurrendous ? 20:37
20:42 kbaker joined 20:44 agre_ left 20:45 BenGoldberg joined
dalek kudo/nom: 8be54da | (Elizabeth Mattijsen)++ | src/core/ (4 files):
Add :view named parameter to KeySet.Set and KeyBag.Bag coercers

This is a test to see whether this makes sense or not: basically, whenever we coerce a KeySet to a Set, or a KeyBag to a Bag, and the :view parameter is specified, we create an object using the same underlying :elems hash. This prevents wasteful copying e.g. inside the (&) and other operators.
20:45
lizmat jnthn: this is what I came up with ^^^
20:46 FROGGS[mobile] left
lizmat This was the easy case, as these share the same internal layout. 20:46
other cases might be more troublesome
also, this works because :view is silently ignored by the other .Set/.Bag coercer 20:47
s
20:53 spider-mario left
dalek rl6-roast-data: ca6050c | coke++ | / (5 files):
today (automated commit)
20:56
lizmat 99.13% 20:57
FROGGS yay! 20:58
masak \o/ 20:59
21:02 mberends joined 21:03 bluescreen100 left
masak mberends! \o/ 21:03
long thyme, no sea. 21:04
mberends aye aye
masak mberends: while you were gone, some people here put Rakudo on the JVM!
lizmat mberends o/ 21:05
masak mberends: and there's also a new kid on the block called... hm... GoreVM? RoarVM? TourVM?
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.
FROGGS hehe
21:07 alester left
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.
mberends: you're coming to Frankfurt? awesome!
mberends yes, lizmat++ for that! 21:08
masak nice.
mberends masak: don't let the new kid on the block be a SnoreVM
masak .oO( or WarVM ) 21:10
21:10 skids left 21:12 kbaker left
[Coke] mberends++ 21:13
masak: will we eventually be a org.perl6.Factory? 21:14
dalek kudo/nom: 7db73bf | (Elizabeth Mattijsen)++ | src/core/ (2 files):
Some Setty/Baggy internals documentation
masak [Coke]: only until we get a Haskell backend. then we'll be a Perl 6 UnsafeIO. 21:17
'night, #perl6
lizmat night, masak!
mberends o/
21:18 pupoque left, pupoque joined 21:21 tkuyper left
timotimo i don't understand lizmat's newest comments in setty/baggy 21:23
lizmat github.com/rakudo/rakudo/commit/7db73bfb3a 21:24
?
timotimo yes
lizmat it's a shorthand for indicating what to expect in the key / value of the hash
timotimo so, the key.WHICH is the key, and the (key => value) is the value? 21:25
in the case of baggy
lizmat Set has key.WHICH value for keys, and key for values
timotimo ah, okay
lizmat Bag has key.WHICH for key, and key=>value pairs for values
timotimo the |-- doesn't speak to me, but it's what one would expect
21:25 baz joined
lizmat maybe \--- would be graphically clearer 21:25
it's intended as ASCII art 21:26
21:26 baz left, benabik left
lizmat suggestions for other ways of describing this are welcome :-) 21:29
timotimo i'd just write => honestly 21:33
or perhaps even %!elems{key.WHICH} = (key => value) 21:34
walk&
21:36 Mouq joined 21:58 PacoAir left
dalek kudo/nom: 9455f1a | (Elizabeth Mattijsen)++ | src/core/ (2 files):
Adapted comments to timotimo++'s suggestion
22:01
lizmat and with that, calling it a day 22:02
gnight #perl6!
FROGGS gnight lizmat, gnight all
timotimo gnite lizmat :)
22:02 xenoterracide joined
timotimo r: say "foo".^can("fly").perl 22:03
camelia rakudo 8be54d: OUTPUT«()␤»
timotimo r: say "foo".^can("tc").perl 22:04
camelia rakudo 8be54d: OUTPUT«(method tc(Cool : Mu *%_) { ... },)␤»
timotimo r: say "foo".^can("tc")[0].rw
camelia rakudo 8be54d: OUTPUT«0␤»
22:04 ssutch left 22:05 ssutch joined, mberends left, xenoterracide left 22:08 Rotwang left 22:16 preflex left, benabik joined 22:17 denisboyun left 22:21 sidus left 22:25 xenoterracide joined
timotimo oh, huh. 22:26
.Str and .Int shouldn't be nodal 22:27
o_O 22:29
i can't connect to my desktop any more >_> 22:30
22:30 dmol left
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?
timotimo the address was configured in my /etc/hosts 22:39
huf hmm
segomos jvm may be faster than parrot now 22:41
on zef
timotimo hm, no word on how Associative and nodality is supposed to work 22:42
segomos: how so? and what is zef?
22:48 skids joined
segomos that was in the wrong channel - zef is the server i'm using to develop a package manager for p6 with ugexe 22:49
22:50 pupoque left 22:53 raiph left 22:54 pupoque joined, geekosaur left 22:55 geekosaur joined
BenGoldberg rn: my @a := gather { .say, .take for False, 3..5 }; say so @a; 22:56
camelia rakudo 9455f1, niecza v24-95-ga6d4c5f: OUTPUT«False␤True␤»
BenGoldberg Commit 437e799c0ff5db7084ce7032fda7663bf8323a84 doesn't really do anything useful 22:57
Because perl6 will already do it right :)
22:58 btyler left 22:59 FROGGS left 23:06 raiph joined 23:07 preflex joined, ChanServ sets mode: +v preflex
timotimo ooooh :) 23:07
23:08 fridim_ joined, pochi joined 23:13 pupoque left 23:18 jeffreykegler joined, jnap left 23:22 jeffreykegler left
dalek ast: 4010822 | (David Warring)++ | S05-mass/charsets.t:
added character set tests
23:28
23:29 btyler joined 23:33 kbaker joined
btyler could someone point me toward a list of p6's operators with unicode/texas pairs together (if one exists)? 23:37
23:38 xenoterracide left
lue btyler: there's S03, although it's more than just a list. 23:39
23:40 ajr_ left
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: github.com/alfa256/kawaii-perl for p6, although using the actual unicode versions rather than perhaps-unrelated symbols 23:42
is it just the hypers that have non-ascii / texas forms? maybe I overestimated the number of non-ascii operators :) 23:45
[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
dalek kudo/nom: 5a8c536 | coke++ | t/spectest.data:
run new test file
23:51
23:51 lowpro30 joined
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: www.perlfoundation.org/perl6/index.cgi?witch 23:52
and of course www.ozonehouse.com/mark/periodic/ 23:53
23:54 lowpro30_ left 23:55 lowpro30 left
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
It isn't currently in rakudo.
(pi works but π does not)
23:58 pernatiy left
[Coke] π is not currently listed as a builtin in the synopses 23:59