»ö« 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.
[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
timotimo oh, RaNIW is really soon 07:23
FROGGS it is \o/ 07:29
sorear RaNIW?
timotimo rakudo and nqp internals workshop 07:29
timotimo i don't yet know when to arrive by train 07:32
though i think i can spontaneously get a ticket, too
hoelzro morning, #perl6! 07:34
FROGGS hi 07:37
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
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 :)
FROGGS :o) 08:25
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
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 :/
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
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"))␤»
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
daxim lizmat, neilb.org/2013/09/06/perl6-isnt-perl.html 11:26
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
tadzik I'm not sure there is a problem at all 11:35
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
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
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
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
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 :)
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?
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
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...
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
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
ribasushi (sec looking for relevant docs) 12:20
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
arnsholt For some value of useless equal to "working hard on Moar" =D 12:41
Whoops. Scrollbacko
pmurias hi 12:47
FROGGS hi pmurias 12:48
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.
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
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
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 :-(
lizmat forget it, looking at the wrong thing 13:51
ribasushi lizmat: answered for you :) neilb.org/2013/09/06/perl6-isnt-per...1035381104 13:58
lizmat :-) 13:59
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
diakopter tadzik: you've written around a billion lines of code, right? 14:07
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
diakopter raiph: hi 14:15
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 ;)
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
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.
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?
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
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..
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.
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
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.
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
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
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
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 )
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
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
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?
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.
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
lebihgantengdari hi 16:49
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
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
[Coke]_ wonders if his .UK power thingee works in .DE 17:02
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
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␤␤»…
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:10
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)␤»
TimToady std: my i $i; 17:15
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) {...}
TimToady or multi foo (True) {...} 17:18
this just falls out of that
and it's relatively harmless
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?
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)
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?
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
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
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
diakopter raiph: ping 18:13
sjohnson pooj 18:14
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
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
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
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
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
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 :)
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
dalek Heuristic branch merge: pushed 18 commits to nqp/nativecall-jvm by arnsholt 20:33
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
geekosaur heorrible 20:36
lizmat heurrendous ? 20:37
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 ^^^
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
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
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
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
[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/
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
lizmat maybe \--- would be graphically clearer 21:25
it's intended as ASCII art 21:26
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&
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 :)
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␤»
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
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?
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
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 :)
timotimo ooooh :) 23:07
dalek ast: 4010822 | (David Warring)++ | S05-mass/charsets.t:
added character set tests
23:28
btyler could someone point me toward a list of p6's operators with unicode/texas pairs together (if one exists)? 23:37
lue btyler: there's S03, although it's more than just a list. 23:39
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. :)
dalek kudo/nom: 5a8c536 | coke++ | t/spectest.data:
run new test file
23:51
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
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)
[Coke] π is not currently listed as a builtin in the synopses 23:59