Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2014-07-23

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:00 TimToady it looks like maybe you want some --prefix=mumble option
00:01 holysword yeps, but once again, no package manager
00:01 holysword I'm trying PERL6LIB
00:01 TimToady well, the existing ones are almost certain to be out of date
00:01 holysword I can try to install it wihout moar, it seems to be causing the trouble
00:01 psch holysword: local overlay? long time since i spent time with gentoo...
00:01 holysword is there any significand drawback?
00:01 TimToady besides not working?
00:01 holysword no, not local overlay, its in the default portage tree
00:02 holysword http://gpo.zugaina.org/dev-lang/rakudo
00:02 * TimToady shuts up, as his you-are-not-being-helpful-now detector has gone off :)
00:04 holysword and nops, PERL6LIB seems to do nothing
00:05 oJustDust hi - what's the state of threading in moar?  Is it supposed to be working?
00:05 TimToady maybe an strace to find out where it's actually looking?
00:05 holysword it is looking in /var/tmp/portage/dev-lang/moarvm-20​14.06/image/usr/languages/perl6/lib
00:05 TimToady oJustDust: it's largely working, but there are still some bugs
00:06 holysword which is the working directoty
00:06 holysword *directory
00:06 oJustDust hmm...I'm fooling around with this echo code, which seems to work properly on jvm, but not on moar
00:06 oJustDust http://pastebin.com/pCEPMF9F
00:07 oJustDust on moar it never reads the socket but just closes it
00:07 oJustDust so...the capture not working maybe?
00:08 oJustDust ...err closure not capturing the connection properly?
00:09 oJustDust I found the code on rosettacode with a comment that async didn't work...and I tried to make it work through guessing :)
00:09 TimToady well, that's probably pretty ancient code
00:09 TimToady nowadays we'd probably do it with the reactive programming model
00:10 oJustDust I don't know what that means :\
00:10 TimToady you might try using "start" instead of "async"
00:12 TimToady (in the reactive model you'd use a supply that you can tap for connections, but 'start' is the new 'async', which is just using promises to give you a handle on what is to be done)
00:12 oJustDust ah ok...yeah, that's doing the same thing "got in here", then "closed"
00:13 TimToady this makes it synchronous, but what happens if you put an 'await' in front of the 'start'?
00:14 oJustDust same thing :\
00:14 TimToady then the problem is probably not the threading, but the socket interface not working that way
00:14 oJustDust confirmed, this works in jvm still
00:15 TimToady but I'm not the expert on that part
00:15 oJustDust yeah that sounds reasonable
00:15 oJustDust but good to know the threading is working properly :)
00:15 TimToady furthermore, I'm still about a week and a half behind on backlogging due to two emergency eye surgeries, so don't know what progress has been made on async IO
00:16 oJustDust emergency eye surgies does not sound good!
00:16 oJustDust *surgeries
00:16 TimToady there are likely still thread bugs though, since moar has simply not had as much stress testing as jvm so far
00:17 TimToady so for anything real I'd use the jvm for now, and live with the startup costs
00:17 oJustDust that's fair.  I just want to play around for now and prefer moar because of the fast startup times
00:17 psch holysword: it seems the moarvm ebuild is busted
00:17 psch holysword: it sets '--prefix=${D}/usr'
00:17 TimToady sure, but Here Be Dragonlets :)
00:17 oJustDust I am not afraid!  Thanks for your help TimToady
00:17 psch (plus appropriately placed double quotes)
00:18 psch according to gentoo docs, ${D} is the temporary build directory, which isn't quite what you want
00:19 psch er, temporary install directory
00:19 holysword psch yeps, exactly
00:19 holysword its the working directory
00:19 holysword its just used to store the source files while they are being compiled
00:19 holysword afterwards they are moved to /usr/language/perl6
00:19 holysword but moarvm still looking for them in the tmp dir
00:19 BenGoldberg joined #perl6
00:20 skids joined #perl6
00:21 TimToady hmm, my install dir has a languages subdir, but no language
00:21 psch TimToady: i think language is from gentoo
00:21 psch in /usr/language/perl/
00:22 psch our languages is below that
00:22 psch *perl6
00:22 TimToady okay
00:23 * TimToady pines for the days when everything went into /usr/local
00:23 holysword its languages, its just a typo
00:25 psch oh, okay
00:25 holysword I will test some things later
00:25 holysword thank you for the suggestions
00:25 * psch didn't feel particularly helpful
00:27 psch i does confuse me though, that the moarvm ebuild users ${D}, but rakudo doesn't
00:29 psch i *think* they both should use ${ROOT}
00:31 lue Can ${DESTDIR} be passed on to moar? That's what rakudo uses to install to the sandbox, while setting the prefix properly.
00:31 TimToady ooh, an expert! :)
00:31 lue (also, the moarvm ebuild isn't using emake, for some reason)
00:31 lue TimToady: I'm not much of a portage expert, I just use it :P
00:32 TimToady alas, holysword++ has quit
00:33 psch lue: as far as i am concerned, using portage makes you the most experty person here right now
00:33 lue yeah, moarvm uses ${DESTDIR}. I wonder who's in charge of the perl 6 ebuilds...
00:34 TimToady holysword did not seem to have a way to determine that from the other end
00:35 lue some guy named patrick, according the VCS cruft at the top of the ebuilds :)
00:35 TimToady hmmmm
00:37 lue Ooh look, moarvm gentoo bugs :)  https://bugs.gentoo.org/buglist.cgi?bug_statu​s=UNCONFIRMED&bug_status=IN_PROGRESS&​bug_status=CONFIRMED&query_format=&sh​ort_desc=moarvm&short_desc_type=allwords
00:37 lue And here is the bug we're talking about, specifically: https://bugs.gentoo.org/show_bug.cgi?id=510706
00:42 * lue &
00:42 * TimToady is required by popular acclaim to go cook sausage and mushrooms for his family, despite his many frailties...
00:42 TimToady afk &
00:52 dayangkun joined #perl6
01:06 xinming joined #perl6
01:14 FROGGS__ joined #perl6
01:29 Alina-malina joined #perl6
01:29 aoseki joined #perl6
01:32 mls joined #perl6
01:45 hoverboard joined #perl6
01:47 SevenWolf joined #perl6
01:48 klapperl_ joined #perl6
01:53 jack_rabbit joined #perl6
01:57 chenryn joined #perl6
02:00 Sqirrel joined #perl6
02:02 rurban1 joined #perl6
02:08 hoverboard joined #perl6
02:10 noganex_ joined #perl6
02:14 jack_rabbit joined #perl6
02:15 perigrin left #perl6
02:24 rindolf joined #perl6
02:36 raiph joined #perl6
02:38 raiph .tell timotimo https://gist.github.com/raiph/c1202f874c2477b09d1f i plan to do more tomorrow
02:38 yoleaux raiph: I'll pass your message to timotimo.
02:43 Akagi201 joined #perl6
02:44 chenryn joined #perl6
02:46 Akagi201 joined #perl6
02:46 thou joined #perl6
02:51 perigrin joined #perl6
02:57 ventica1 joined #perl6
02:58 perigrin_ joined #perl6
02:59 chenryn joined #perl6
03:00 perigrin joined #perl6
03:02 cooper_ joined #perl6
03:07 perigrin joined #perl6
03:08 dalek roast/S26-WHY: 2fdfa37 | (Rob Hoelz)++ | S26-TODO:
03:08 dalek roast/S26-WHY: More things to look at for S26
03:08 dalek roast/S26-WHY: review: https://github.com/perl6/roast/commit/2fdfa37762
03:08 atroxaper joined #perl6
03:16 dayangkun joined #perl6
03:21 perigrin left #perl6
03:31 kaleem joined #perl6
03:33 thou joined #perl6
04:02 kaare_ joined #perl6
04:11 anaeem1_ joined #perl6
04:21 Andymeows joined #perl6
04:27 chenryn joined #perl6
04:37 thou joined #perl6
04:41 perigrin joined #perl6
04:43 perigrin left #perl6
04:59 rurban1 joined #perl6
05:04 MilkmanDan joined #perl6
05:07 skids joined #perl6
05:24 atroxaper joined #perl6
05:27 lizmat joined #perl6
05:31 xragnar_ joined #perl6
05:45 rurban1 joined #perl6
05:47 rurban2 joined #perl6
05:59 darutoko joined #perl6
06:03 denis_boyun_ joined #perl6
06:05 lustlife joined #perl6
06:11 [Sno] joined #perl6
06:15 sergot o/ hi
06:16 Akagi201 joined #perl6
06:22 Mouq joined #perl6
06:22 Mouq o/
06:22 * Mouq has a puzzle for #perl6
06:24 Mouq since LoL is NYI, where one cannot write %h{@lol} to access a multi-dimensional hash
06:24 Mouq s/where//
06:24 Mouq Unfortunately, I haven't found a succint workaround
06:25 * TimToady doesn't see a way to do it without EVAL offhand
06:25 Mouq m: my %h = a => b => c => 6; say (%h, <a  b c>).reduce({ $^a{$^b} })
06:25 camelia rakudo-moar 6504db: OUTPUT«6␤»
06:25 Mouq That's OK
06:25 Mouq m: my %h = a => b => c => 6; say (%h, <a  b c>).reduce({ $^a{$^b} }) = 42
06:25 camelia rakudo-moar 6504db: OUTPUT«Cannot modify an immutable Int␤  in block  at /tmp/fNxRQPJ0Xw:1␤␤»
06:26 Mouq That's :(
06:26 Mouq m: my %h = a => b => c => 6; say (%h, <a  b c>).reduce(sub ($a is rw, $b is rw) is rw { $a{$b} }) = 42
06:26 camelia rakudo-moar 6504db: OUTPUT«Cannot modify an immutable Int␤  in block  at /tmp/MA0mHKDfHU:1␤␤»
06:27 Mouq I'm still not sure what the big blocker for LoL is
06:27 Mouq I imagine it's much hairier that it would seem from afar
06:29 Mouq m: my %h = a => b => c => 6; sub infix:<< <- >> (%a, $b) { %a{$b} }; say [<-] %h, <a b c>
06:29 camelia rakudo-moar 6504db: OUTPUT«6␤»
06:29 TimToady I think the main blocker for S09 has been (at least perceived to be) the lack of a repr for compact multi-dims
06:29 TimToady but that would have little to do with hashes anyway
06:30 TimToady mostly the semantics have to do hairy X-like things on each level
06:30 Mouq say <a b c>.lol
06:30 Mouq m: say <a b c>.lol.perl
06:30 camelia rakudo-moar 6504db: OUTPUT«LoL.new("a", "b", "c")␤»
06:30 TimToady m: say ((1,2,3),(4,5,6),(7,8,9)).lol.perl
06:30 camelia rakudo-moar 6504db: OUTPUT«LoL.new($(1, 2, 3), $(4, 5, 6), $(7, 8, 9))␤»
06:30 Mouq X as in infix:<X> ?
06:31 Mouq say (lol <a b c>).perl
06:31 TimToady well, or hyper things anyway
06:31 Mouq m: say (lol <a b c>).perl
06:31 camelia rakudo-moar 6504db: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/6QFBeRGjeYâ�¤Undeclared routine:â�¤    lol used at line 1. Did you mean 'log'?â�¤â�¤Â»
06:32 TimToady @foo[1,2; 3,4] is kinda like @foo[1,2]»[3,4]
06:32 TimToady only it oughta figure out the right shape of compact array and return that, if possible
06:33 TimToady the subscripts you end up visiting are like 1,2 X 3,4
06:35 Mouq It oughta, but I'd prefer working syntactic sugar to a NYI optimization
06:35 ChoHag How do use $/ in the replacement part of a subst?
06:36 Mouq ChoHag: sometimes that only works if you put '{}' at the end of the regex you're using for the subst
06:36 Mouq The '{}' forces Rakudo to create $/
06:36 TimToady .subst(/pattern/, -> $/ { "replacement" }, :g)
06:36 TimToady or do you mean that?
06:36 Mouq That too
06:37 * Mouq forgets it's also the argument to the replacing code block
06:37 TimToady m: say "123".subst(/(.)/, -> $/ { $0 * 2 }, :g)
06:37 camelia rakudo-moar 6504db: OUTPUT«246␤»
06:39 woolfy joined #perl6
06:40 TimToady m: $_ = '123'; s:g/(.)/{ $0 * 2 }/; .say
06:40 camelia rakudo-moar 6504db: OUTPUT«246␤»
06:40 ChoHag Thanks.
06:40 ChoHag I had the $/ from the previous subst.
06:40 TimToady m: $_ = '123'; s:g [.] = $/ * 2; .say
06:40 camelia rakudo-moar 6504db: OUTPUT«246␤»
06:40 ChoHag And is there a better way to chain substs rather than .subst.subst.subst?
06:41 ChoHag fsvo better
06:41 TimToady usually chained substitutions means you should be using a grammar instead :)
06:41 ChoHag Right.
06:41 ChoHag No time to learn that before the train.
06:41 TimToady chained substitutions basically violates the one-pass parsing principle
06:41 TimToady each .subst is basically working on a different language
06:42 ChoHag Keep going. I'll have smoething interesting to read when I get to work.
06:42 TimToady so you can get into causality violations :)
06:43 * Mouq was actually writing a parser for TOML when he ran into the LoL issue ( https://github.com/toml-lang/toml )
06:46 Mouq (The problem arises from "Nested tables are denoted by table names with dots in them")
06:47 Mouq (And I could undoubtably work around it, but I'd rather not)
06:48 rurban1 joined #perl6
06:50 * TimToady wonders if we can bind a LoL to a ** parameter yet...
06:50 bjz joined #perl6
06:53 TimToady in any case, another blocker is that the parser needs to treat semicolon as special in a subscript, and produce a LoL, or whatever it is that distinguishes .[1,2,3] from .[1;2;3]
06:54 TimToady we probably need prefix:<||> implemented as well, for the cases where you want to interpolate at the dimensional level
06:55 Mouq (Or, you know, even prefix:<|> :P)
06:56 TimToady well, that kinda pretends ot be implemented already
07:01 chenryn joined #perl6
07:03 FROGGS[mobile] joined #perl6
07:05 ventica1 o/
07:09 Mouq \o
07:10 dalek doc: 11557f7 | Mouq++ | lib/Language/grammars.pod:
07:10 dalek doc: Add token/rule explaination to grammars.pod
07:10 dalek doc: review: https://github.com/perl6/doc/commit/11557f71d8
07:12 FROGGS[mobile] joined #perl6
07:14 zakharyas joined #perl6
07:19 micku46 joined #perl6
07:19 micku46 left #perl6
07:36 dalek doc: 5837150 | Mouq++ | lib/Language/regexes.pod:
07:36 dalek doc: Add a little bit about :sigspace
07:36 dalek doc: review: https://github.com/perl6/doc/commit/58371503af
07:41 brrt joined #perl6
07:44 virtualsue joined #perl6
07:48 ribasushi joined #perl6
07:49 rurban1 joined #perl6
07:52 dmol joined #perl6
08:00 FROGGS__ std: / <["$a"]> /
08:00 camelia std 0f2049c: OUTPUT«Potential difficulties:â�¤  Repeated character (") unexpectedly found in character class at /tmp/rXjrMP1GTP line 1:â�¤------> [32m/ <["$a"][33mâ��[31m> /[0mâ�¤ok 00:01 123mâ�¤Â»
08:00 FROGGS__ m: / <["$a"]> /
08:00 camelia rakudo-moar 6504db: ( no output )
08:00 FROGGS__ umm
08:01 FROGGS__ looks like it did not rebuild the last commit
08:01 FROGGS__ (which is now ten hours old)
08:02 SamuraiJack joined #perl6
08:05 FROGGS__ moritz: can you take a look why it does not rebuild rakudo?
08:07 Ven joined #perl6
08:10 Ven http://bit.ly/1ue99GN <- swift gets a lot of stuff right.
08:10 haroldwu joined #perl6
08:16 fhelmberger joined #perl6
08:22 moritz FROGGS__: java.lang.NoSuchMethodError: org.perl6.nqp.runtime.Ops.​sayfh(Lorg/perl6/nqp/sixm
08:22 moritz odel/SixModelObject;Ljava/lang/String;Lo​rg/perl6/nqp/runtime/ThreadContext;)Ljav
08:22 moritz a/lang/String; in worry (gen/jvm/stage2/NQPP6QRegex.nqp:63)
08:23 moritz FROGGS__: while compiling Perl6::Grammar
08:23 haroldwu joined #perl6
08:23 moritz FROGGS__: does that look like a genuine builde error to you, or a result of stale files?
08:23 xinming joined #perl6
08:24 klaas-janstol joined #perl6
08:25 FROGGS__ ohh, my fault, will fix
08:26 FROGGS__ nqp-m: nqp::sayfh(nqp::getstderr(), 'hurz');
08:26 camelia nqp-moarvm: OUTPUT«hurz␤»
08:26 FROGGS__ nqp-j: nqp::sayfh(nqp::getstderr(), 'hurz');
08:26 camelia nqp-jvm: OUTPUT«#␤# There is insufficient memory for the Java Runtime Environment to continue.␤# pthread_getattr_np␤# An error report file with more information is saved as:␤# /home/p6eval/hs_err_pid31737.log␤»
08:26 FROGGS__ nqp-p: nqp::sayfh(nqp::getstderr(), 'hurz');
08:26 camelia nqp-parrot: OUTPUT«Method 'say' not found for invocant of class 'FileHandle'␤current instr.: '' pc 58 ((file unknown):40) (/tmp/O0GjOMYfVn:1)␤»
08:26 FROGGS__ weird
08:26 haroldwu joined #perl6
08:27 FROGGS__ nqp-j: nqp::printfh(nqp::getstderr(), "hurz\n");
08:27 camelia nqp-jvm: OUTPUT«#␤# There is insufficient memory for the Java Runtime Environment to continue.␤# pthread_getattr_np␤# An error report file with more information is saved as:␤# /home/p6eval/hs_err_pid31778.log␤»
08:27 haroldwu joined #perl6
08:28 haroldwu joined #perl6
08:29 dalek nqp: 543937d | (Tobias Leich)++ | src/QRegex/P6Regex/Grammar.nqp:
08:29 dalek nqp: unbreak jvm build, printfh works while sayfh does not
08:29 dalek nqp: review: https://github.com/perl6/nqp/commit/543937dbba
08:29 dalek rakudo/nom: 0638cb8 | (Tobias Leich)++ | tools/build/NQP_REVISION:
08:29 dalek rakudo/nom: bump nqp rev for jvm build fix
08:29 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0638cb8c9c
08:45 dakkar joined #perl6
08:47 haroldwu joined #perl6
08:47 haroldwu joined #perl6
08:48 haroldwu joined #perl6
08:50 rurban1 joined #perl6
08:50 haroldwu joined #perl6
08:51 rurban2 joined #perl6
08:54 haroldwu joined #perl6
08:59 kivutar joined #perl6
08:59 FROGGS__ m: say 'abcdef' !~~ /<-[dcb]>**{3}/
08:59 camelia rakudo-moar 6504db: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/haI0mGm859â�¤Block case of ** quantifier not yet implementedâ�¤at /tmp/haI0mGm859:1â�¤------> [32msay 'abcdef' !~~ /<-[dcb]>**[33mâ��[31m{3}/[0mâ�¤    expecting any of:â�¤        postfixâ�¤     …»
08:59 FROGGS__ hmmm
09:05 sam_ joined #perl6
09:06 Alula_ joined #perl6
09:12 pecastro joined #perl6
09:16 zakharyas joined #perl6
09:17 sqirrel_ joined #perl6
09:17 masak good antenoon, #perl6
09:21 Ven o/, masak
09:23 jnthn o/ masak
09:23 atroxaper joined #perl6
09:23 FROGGS__ o/ masak
09:27 thou joined #perl6
09:30 brrt joined #perl6
09:35 tadzik oh oh, HTTP::UserAgent
09:35 tadzik sergot++
09:37 masak yes, this is big news
09:37 masak sergot++
09:42 Ven what does putting `is export` on a sub do ?  What's the diff with `our` ?
09:43 Ven I know what it does for a method, not sure for a sub tho.
09:44 lelf joined #perl6
09:46 sergot thanks :)
09:52 rurban1 joined #perl6
09:56 SamuraiJack joined #perl6
09:57 lelf` joined #perl6
09:57 betterworld Ven: you can write "use Moon; shine()" if there is a module Moon with a sub shine that "is export"
09:58 Ven betterworld: oh, you mean it's unprefix ?
09:58 Ven unprefixed*. Alright, ty. noted :-)
10:03 betterworld yes, if unprefixed means that you can use "shine" without any prefix
10:18 masak that's the "export" action that does that. it exports `shine` from the namespace in the module to the caller's namespace.
10:34 virtualsue joined #perl6
10:47 chenryn joined #perl6
10:50 mr-foobar joined #perl6
10:55 atroxaper joined #perl6
10:56 SamuraiJack_ joined #perl6
11:00 erdic joined #perl6
11:01 dmol joined #perl6
11:07 tadzik sergot: https://gist.github.com/ano​nymous/0ba4f9c338e04cf2ae7e
11:12 Ven joined #perl6
11:13 sergot ohhh
11:13 Ven masak: I still think that should be left to the user as a choice.
11:14 sergot tadzik: works on my box
11:14 Ven `use JSON::Tiny <parse-json>`
11:14 tadzik sergot: backup your emails, we're sending it to production :D
11:14 tadzik I'll debug more later
11:14 sergot :D
11:15 sergot tadzik: do you have latest p6?
11:15 tadzik yeah, just updated rakudo-moar too
11:15 sergot hm
11:16 thou joined #perl6
11:16 sergot waiting for more info then
11:17 sergot tadzik: do you have openssl installed?
11:18 sergot Um, yeah. stupid question
11:18 tadzik sergot: well, OpenSSL module test passed :)
11:22 tadzik well, my $first-chunk is Any for some reason
11:22 tadzik so the while that sets it never kicks in for some reason
11:27 sergot ymm, could you try testing it with another site?
11:28 sergot it's github now
11:28 rurban1 joined #perl6
11:29 sergot try: http-request https://something.here
11:30 sergot http-request https://perlgeek.de
11:30 sergot ./bin/http-request https://perlgeek.de
11:35 brrt joined #perl6
11:51 FROGGS__ moritz: camelia is still out of date... though I can build it locally
11:52 carlin joined #perl6
11:54 dalek rakudo/nom: da5adee | sergot++ | src/core/ (4 files):
11:54 dalek rakudo/nom: .join can be argless, cleaning
11:54 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/da5adee9c6
11:54 dalek rakudo/nom: b205351 | (Tobias Leich)++ | src/core/ (4 files):
11:54 dalek rakudo/nom: Merge pull request #294 from sergot/nom
11:54 dalek rakudo/nom:
11:54 dalek rakudo/nom: .join can be argless, cleaning
11:54 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b2053512d8
11:55 carlin I am also getting: No such method 'decode' for invocant of type 'Any'
11:56 sergot oh
11:56 sergot FROGGS__: do you have the same?
11:56 sergot try: panda install HTTP::UserAgent
11:58 FROGGS__ TimToady: we have a winner!
11:58 FROGGS__ Repeated character (') unexpectedly found in character class
11:58 FROGGS__ at /home/froggs/dev/panda/lib/Panda/Fetcher.pm:30
11:58 FROGGS__ ------>  my $target   = "$to/" ~ $from.match(/<-⏏['/']>+$/);
12:01 FROGGS__ sergot: it works in my box
12:05 Sqirrel_ joined #perl6
12:07 Andymeows joined #perl6
12:07 Andymeows left #perl6
12:09 SamuraiJack_ joined #perl6
12:10 carlin bin/http-request http://perl6.org works, it seems to be anything https:// breaks
12:11 carlin joined #perl6
12:12 Ven FROGGS__++ # good at fixing things
12:13 sergot carlin: what about https://perlgeek.de?
12:15 carlin PERL6LIB=lib bin/http-request https://perlgeek.de
12:15 carlin use of uninitialized value of type Any in numeric context  in block  at /home/carlin/Documents/http-user​agent/lib/HTTP/UserAgent.pm6:98
12:15 * moritz notices that https://perlgeek.de shows the wrong virtual host
12:20 sergot that's weird
12:20 kurahaupo joined #perl6
12:21 jnap joined #perl6
12:23 atroxaper joined #perl6
12:25 sergot I cannot reproduce the problem with HTTP::UserAgent.
12:29 guru joined #perl6
12:29 masak Ven: as far as I know, importing *is* left to the user as a choice.
12:29 chenryn joined #perl6
12:30 Ven masak: isn't declaring some subs `is export` on the library author, though ?
12:30 Ven `use`ing is left to the user, sure, but having local aliases isn't
12:30 rurban1 joined #perl6
12:34 FROGGS__ std: / <["$a"]> /
12:34 camelia std 0f2049c: OUTPUT«Potential difficulties:â�¤  Repeated character (") unexpectedly found in character class at /tmp/pr28NwtjWg line 1:â�¤------> [32m/ <["$a"][33mâ��[31m> /[0mâ�¤ok 00:01 123mâ�¤Â»
12:34 FROGGS__ m: / <["$a"]> /
12:34 camelia rakudo-moar 0638cb: OUTPUT«Potential difficulties:â�¤    Repeated character (") unexpectedly found in character classâ�¤    at /tmp/FvcneJv8Fl:1â�¤    ------> [32m/ <[33mâ��[31m["$a"]> /[0mâ�¤Â»
12:34 FROGGS__ looks like camelia is well again
12:35 jnthn FROGGS__++ # adding le warning
12:35 FROGGS__ I am working on /a ** { 3 }/ now
12:35 jnthn Hm
12:36 jnthn How are you approaching it?
12:36 jnthn A new rxtype dynquant?
12:36 FROGGS__ I am taking quant as a pattern and copy it to yeah, let's call it dynquant
12:36 FROGGS__ and then replace the if $max > 1 by gotos
12:37 jnthn Yeah, that'll stop the LTMer getting confused, since it expects quant to be declarative.
12:37 jnthn I guess you're going to look at the range case too?
12:37 FROGGS__ std: "foo" ~~ / o ** {1} .. {2} /
12:37 camelia std 0f2049c: OUTPUT«[31m===[0mSORRY![31m===[0m�Unsupported use of {2} as general quantifier; in Perl 6 please use X**2 at /tmp/Fgfaat7LdP line 1:�------> [32m"foo" ~~ / o ** {1} .. {2}[33m�[31m /[0m�Check failed�FAILED 00:01 125m�»
12:38 FROGGS__ std: "foo" ~~ / o ** {1}..{2} /
12:38 camelia std 0f2049c: OUTPUT«[31m===[0mSORRY![31m===[0m�Unsupported use of {2} as general quantifier; in Perl 6 please use X**2 at /tmp/ojvds1qmdX line 1:�------> [32m"foo" ~~ / o ** {1}..{2}[33m�[31m /[0m�Check failed�FAILED 00:01 125m�»
12:38 jnthn It's { 1..2 }
12:38 moritz and that's where it gets interesting
12:38 FROGGS__ std: "foo" ~~ / o ** {1..2} /
12:38 camelia std 0f2049c: OUTPUT«ok 00:01 125m␤»
12:38 FROGGS__ uhh
12:38 jnthn iirc, anyway
12:38 FROGGS__ std: "foo" ~~ / o ** {^10} /
12:38 moritz 'cause the block should return a Perl 6 range
12:38 camelia std 0f2049c: OUTPUT«ok 00:01 125m␤»
12:38 FROGGS__ hmpf
12:38 moritz and nqp knows nothing about those
12:39 FROGGS__ the not until now expected can of worms
12:39 jnthn Yeah. We may want to have a !DYNQUANT_LIMITS method that gets given the return value and is meant to hand back an nqp::list_i of two integers.
12:39 moritz (and the block is really just arbitrary nqp/rakudo could that's expected to return a range (or maybe Int as alternatives)
12:40 jnthn And it can go by type
12:40 FROGGS__ jnthn: that sounds good
12:40 FROGGS__ range and int, aye
12:40 FROGGS__ !DYNQUANT_LIMITS lives in Cursor.pm I suppose?
12:40 jnthn Well, I'd be liberal and accept Numeric
12:40 jnthn Right
12:41 jnthn And we could potentially even implement it in NQP for the integer case...
12:41 FROGGS__ I think I do the integer case in nqp first
12:42 brrt joined #perl6
12:44 masak Ven: reading S11, it seems if you want to load a module without importing any symbols, you'd use `need`, not `import`.
12:44 Ven masak: I want. but only *some*
12:45 masak er, `need`, not `use`.
12:50 PerlJam Ven: need Foo; import Foo <some stuff>;  # ?
12:50 moritz m: use Test :!DEFAULT;
12:50 camelia rakudo-moar 0638cb: ( no output )
12:50 moritz m: use Test :!DEFAULT; plan 42;
12:50 camelia rakudo-moar 0638cb: OUTPUT«1..42␤# Looks like you planned 42 tests, but ran 0␤»
12:51 Ven PerlJam: I feel like we have too many keywords for that
12:51 moritz hrm, still imported it :(
12:51 Ven masak: you mean "use, not import" :P
12:52 Ven need, use, import.  <- why do we need these 3 ?
12:52 jnthn use = need + import
12:52 moritz you can also import from locally declared packages
12:52 moritz so it's really good to have that available separately
12:52 PerlJam Ven: Are you saying that you'd rather have some way to twiddle "use" to accomplished the separate behaviors?
12:53 PerlJam Ven: (in the interest of reducing keywords but keeping behavior)
12:53 PerlJam s/accomplished/accomplish/
12:55 masak lately, I've come to dislike 'our' scope in general.
12:56 Ven PerlJam: yes, I think so
12:57 PerlJam masak: why is that?
12:58 masak PerlJam: probably because I've seen a lot of languages since then where 'my' scope and property lookup seem to do all the heavy lifting, and do it well.
12:59 moritz what do we still use it for? types, and the lookup fallback for dynamic variables come to mind
13:04 thou joined #perl6
13:04 masak in JavaScript, types are lexical. (actually, they are synonymous with their constructors, just as in Perl 6 they are synonymous with their type object.)
13:06 Ven (In JavaScript, there's no types)
13:06 Ven (only functions you decide to call with `new`)
13:07 masak yes, maybe it's too flattering to call them types.
13:09 brrt joined #perl6
13:09 PerlJam perhaps as a thought experiement, consider how rakudo would work if there were no 'our' scope.   Maybe that would provide some useful ideas one way or the other.
13:10 masak PerlJam++
13:15 Ven masak: js's incoming module system is pretty interesting
13:15 Ven before, I just used to destructure (coffee, es6, ls) : `{reduce, map} = require 'functional'`
13:19 masak ooh
13:30 FROGGS[mobile] joined #perl6
13:30 dmol joined #perl6
13:42 carlin sergot: what libssl do you have installed?
13:49 sergot carlin:
13:49 sergot Package: libssl-dev
13:49 sergot Version: 1.0.1-4ubuntu5.16
13:49 sergot Depends: libssl1.0.0 (= 1.0.1-4ubuntu5.16), zlib1g-dev
13:49 sergot works on my 2 boxes, the second one I'll send later
13:50 sergot So it's 1.0.1
13:50 sergot and 1.0.2 is the latest
13:50 telex joined #perl6
13:50 sergot but beta
13:51 carlin I have libopenssl-devel 1.0.1 (openSUSE 13.1 x86_64)
13:52 sergot should work
13:55 jnthn sergot: 32-bit or 64-bit for you?
13:55 bowtie joined #perl6
13:56 sergot jnthn: 64-bit
13:56 sergot how about you?
13:56 sergot Did you try to install it?
13:56 sergot I mean, HTTP::UserAgent
13:56 jnthn sergot: 64, but I didn't try it yet :)
13:56 sergot okok :)
13:56 jnthn I was mostly asking 'cus I noticed a mention of 64-bit in carlin's paste but not yours. :)
13:57 sergot I can try with 32-bit too
13:57 sergot anyways should work on carlin's 64
13:58 sergot And it's really hard to debug it because I can't repreduce this problem.
13:58 sergot So, any more specific info will be appreciated
13:59 sergot :)
13:59 chenryn joined #perl6
14:00 psch hi #perl6
14:00 psch m: my $a = 1; say $a++ < $a == ++$a; # i am confused
14:00 camelia rakudo-moar b20535: OUTPUT«True␤»
14:01 thou joined #perl6
14:02 masak psch: please elaborate.
14:02 jnthn If you write *that* code, you deserve to be confused! :P
14:03 psch m: my $a = 1; my ($b, $c, $d) = $a++, $a, ++$a; say $b < $c == $d;
14:03 camelia rakudo-moar b20535: OUTPUT«True␤»
14:03 masak psch: what's confusing about that one? postfix:<++> and prefix:<++> both add 1 to a value, but they return different values to the expression.
14:03 masak s/a value/an lvalue/
14:03 masak m: my $a = 1; say $a++
14:04 camelia rakudo-moar b20535: OUTPUT«1␤»
14:04 masak m: my $a = 1; say ++$a
14:04 camelia rakudo-moar b20535: OUTPUT«2␤»
14:04 masak psch: is this part of what confuses you?
14:04 psch masak: how does that help with the second example? $b, $c, $d should be 1, 2, 3, no?
14:04 jnthn m: my $a = 1; say my ($b, $c, $d) = $a++, $a, ++$a;
14:04 camelia rakudo-moar b20535: OUTPUT«1 3 3␤»
14:04 masak psch: no.
14:04 Ven psch: "undefined behavior" :P
14:04 psch ah, now :)
14:05 masak psch: you cannot assume that level of sequentiality in those assignments.
14:05 jnthn Evaluation wise, the RHS is forming a Parcel, which is then passed to STORE on the Parcel of declared containers on the LHS.
14:05 psch ++$a runs in-place-ish before the comparison/assignment
14:05 masak psch: if it existed, then ($x, $y) = $y, $x wouldn't work.
14:05 * Ven votes for c-like UB :P
14:05 Ven m: my ($x, $y) = 3, 4; ($x, $y) = $y, $x; say $x; say $y
14:05 camelia rakudo-moar b20535: OUTPUT«4␤3␤»
14:06 Ven masak: it does work. And I think it's specced to work
14:06 masak yes, it definitely is.
14:06 masak it's in line with Perl 5.
14:06 masak (and Python)
14:06 Ven oh, you mean "if <that level of sequentiality> existed". my bad, misrad
14:06 masak right.
14:06 masak you can't have both psch's expectation and the swap semantics.
14:07 chenryn joined #perl6
14:07 psch what brought me across this was RT #81336
14:07 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=81336
14:07 psch --target=parse for chained ~~ and chained == looks identical
14:07 psch and re the reported bug
14:07 guru joined #perl6
14:08 Ven masak: yes, definitely. I don't want his expectations :P
14:08 psch m: say "foo" ~~ ("foo" ge "bar") # works
14:08 camelia rakudo-moar b20535: OUTPUT«True␤»
14:08 psch but that's right and not chaining assoc
14:08 masak m: say 0 ~~ 0 ~~ 0
14:08 camelia rakudo-moar b20535: OUTPUT«False␤»
14:08 masak bah.
14:08 psch so i was wondering about an expression that shows right assoc different as chaining
14:09 psch which brought me a few steps towards madness, i guess :)
14:09 masak welcome :)
14:11 jnthn That is really sugar for 0.ACCEPTS(0.ACCEPTS(0)), which is 0.ACCEPTS(True), and True is numerically 1.
14:12 masak jnthn: the spec says infix:<~~> is chaining, which means it shouldn't associate to the right like that.
14:12 psch oh, right, the parens don't really do what i meant, thanks jnthn++
14:13 jnthn masak: Uh...so can you show me how it want it to desugar to ACCEPTS calls?
14:13 jnthn *how you
14:13 masak jnthn: 0.ACCEPTS(0) && 0.ACCEPTS(0)
14:13 masak jnthn: all chaining comparison ops work like this
14:14 * jnthn wonders how the $_ twiddling works out with that
14:15 jnthn Feel free to try a patch so we can find out, anyways...
14:15 jnthn Though if it were me I'd probably be tempted to say ~~ is non-assoc...because it seems as confusing as anything else.
14:16 masak that's a spec matter. :)
14:16 psch $l ~~ $m ~~ $r should be ($_ = $m).ACCEPTS($l) && ($_ = $r).ACCEPTS($m) where both sides of && have their own $_...?
14:18 masak yeah.
14:18 jnthn Probably workable.
14:21 chenryn joined #perl6
14:21 carlin sergot: it's also not working for me on Ubuntu... this is weird
14:22 Rotwang joined #perl6
14:22 skids joined #perl6
14:25 atroxaper joined #perl6
14:27 btyler joined #perl6
14:29 hoelzro moring #perl6
14:29 chenryn joined #perl6
14:32 hoelzro morning, even
14:32 FROGGS__ morning hoelzro
14:33 psch hi hoelzro
14:33 carlin sergot: also doesn't work on my FreeBSD VPS :/
14:33 sqirrel_ joined #perl6
14:37 * gtodd has vocabulary question ....
14:37 gtodd If I have my @myArray = (1, 2, 3, 4, 5, 6);
14:38 TimToady the parens are known as "superstitious" :)
14:38 masak was gonna say :P
14:38 gtodd I can do ....for @myArray -> $item { say  $item}
14:38 gtodd for @myArray -> $item { $item.say }
14:39 gtodd or @myArray { .say }
14:39 gtodd oops
14:39 gtodd or
14:39 TimToady you need a new 'f' key
14:39 gtodd for @myArray { .say }
14:39 gtodd yes
14:39 * masak ( or uck's sake )
14:39 gtodd hah
14:40 masak gtodd: what is the vocabulary question?
14:40 TimToady was gonna say :P
14:40 gtodd just wondering what do I call  "say $_" versus  .say
14:40 gtodd ... say
14:40 masak well, one is a (listop) function, and the other a method.
14:40 TimToady listop form vs method form, I suppose
14:40 masak in one, $_ is explicit, in the other it's implicit.
14:41 gtodd -> $item is "pointy syntax" to get a name
14:41 masak -> $item is just giving the block a parameter.
14:41 gtodd ok op versus method
14:41 masak it's exactly the same principle as with blocks that are not for loop blocks.
14:41 TimToady well, it's formally a lambda, with a parameter
14:42 masak m: my &lambda = -> $item { say $item }; &lambda("this is, like, SO COOL")
14:42 camelia rakudo-moar b20535: OUTPUT«this is, like, SO COOL␤»
14:42 TimToady that second & ~is supersitious too :P
14:42 TimToady s/'~'//
14:42 TimToady *stitious even
14:43 masak yes, but I find myself liking the symmetry between declaration and use here.
14:43 gtodd Just trying to think of a way to explain why implicit and explicit $_ and say versus .say   are consistent and make sense :-)
14:43 TimToady m: constant lambda = -> $item { say $item }; lambda("this is, like, SO COOL")
14:43 camelia rakudo-moar b20535: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/hCaXcs4OD_�Variable '&lambda' is not declared�at /tmp/hCaXcs4OD_:1�------> [32mnstant lambda = -> $item { say $item }; [33m�[31mlambda("this is, like, SO COOL")[0m�»
14:43 TimToady heh
14:43 gtodd for @myArray  { say }   # empty
14:43 masak I drop the & in the use when I want the variable to look more "keyword-like". in this case, I didn't want that.
14:43 gtodd for @myArray  { .say }  # method "sticks" to $_
14:44 masak std: my @myArray; for @myArray { say }
14:44 camelia std 0f2049c: OUTPUT«[31m===[0mSORRY![31m===[0m�Unsupported use of bare 'say'; in Perl 6 please use .say if you meant $_, or use an explicit invocant or argument at /tmp/Ni2SJfomnQ line 1:�------> [32mmy @myArray; for @myArray { say[33m�[31m }[0m�Check failed�FAILED…»
14:44 masak gtodd: ^
14:45 masak Rakudo used to detect that (as of alpha, I think), but then some major refactor happened and it didn't.
14:45 jnthn I don't think it ever detected it syntactically like STD does.
14:45 TimToady I think it was run-time rather than compile-time
14:45 kaleem joined #perl6
14:45 gtodd ok perfect I will translate that to my internal NQL grokking routines
14:46 gtodd (NQL == not quite linguistic)
14:46 TimToady all of linguistics is not quite linguistic
14:46 gtodd :)
14:47 gtodd hmm there could be a book or blog post in that ....
14:47 gtodd Intuitive perl6 ... you know it already  ...
14:48 jnap joined #perl6
14:51 carlin sergot: in HTTP::UserAgent:87, for whatever reason the $conn.recv() isn't receiving anything
14:51 gtodd masak: I love errors ... well I love error messages ... I once thought it would be neat if there was an way to annotate standard set of error messages so my own custom debugger could point me at my own customized explanations and mnemomics then I discovered perlcritic
14:52 masak :)
14:53 * carlin wants a perl6critic
14:53 gtodd that was mostly good enough ... until I wore out my (physical) copy of PBP
14:55 chenryn_ joined #perl6
14:56 gtodd carlin: yes++ ...  more computer languages should steal things like PBP <--> perlcritic   ... they are amazing
14:56 gtodd errm s/steal/be inspired by/
15:00 chenryn_ joined #perl6
15:03 carlin I guess we can't have a perl6critic without a Perl6 Best Practices... someone should get on writing that :p
15:04 TimToady we haven't found the worst practices yet
15:04 TimToady well, we haven't found most of 'em yet
15:05 carlin I'm sure there'd be some good examples in the perl6 I've written
15:06 TimToady and some of them we already discovered in earlier versions of Perl, like lining up the final brace with the innards
15:07 * TimToady shudders
15:07 carlin } else {
15:08 * TimToady puts up with cuddled elses, but doesn't use them
15:09 TimToady .oO(Potential difficuties: The rest of the Perl community will hate you unless you outdent that } at line 42.)
15:23 chenryn_ joined #perl6
15:23 timotimo we need some tool that complains if you BEGIN { @*INC.push: "lib" } OSLT
15:23 yoleaux 02:38Z <raiph> timotimo: https://gist.github.com/raiph/c1202f874c2477b09d1f i plan to do more tomorrow
15:24 TimToady .oO(Potential difficulties: You did WHAT at line 2?!?!?)
15:25 timotimo u wot m8
15:25 tadzik :D
15:26 atroxaper joined #perl6
15:29 woolfy left #perl6
15:30 * masak .oO( Potential difficulties: I am a *compiler*, and yet I can't stop laughing at your code )
15:30 timotimo .o( Potential difficulties: You'll potentially have difficulties explaining that piece of code to your coworkers )
15:31 carlin Potential difficulties: Umm, what, oh god, WHY? WHY? AHHHHHHH \n Segmentation fault
15:34 atroxaper joined #perl6
15:36 carlin there could be a git hook that runs perl6critic before running git push
15:36 carlin "You really want to make *this* public?"
15:36 brrt left #perl6
15:36 TimToady ===SORRY!===␤   Could you please rephrase that?
15:38 carlin ===I AM NOT SORRY!===␤ But you should be for writing code like that
15:39 jnthn oops
15:39 jnthn :)
15:39 TimToady that would just be ===!SORRY===
15:39 jnthn oh, what on earh is my IRC client doing...
15:40 jnthn Apparently mis-painting so it looked like I'd said junk when I hadn't. D'oh :)
15:40 atroxaper joined #perl6
15:40 TimToady most people just blame their keyboard, and their cat...
15:41 carlin or putty's ridiculous right-click behaviour
15:42 TimToady well, putty is kind of the one-eyed man in the kingdom of the blind...
15:44 * FROGGS__ restrains from saying anything now :P
15:45 FROGGS__ sort of
15:45 rurban it could have been just a finger
15:53 pjscott joined #perl6
15:53 pjscott trying my first rakudo install in several years and not getting to first base with INSTALL.txt.
15:54 pjscott # perl Configure.pl --gen-parrot sh: /usr/local/src/rakudo/install/bin/parrot: No such file or directory Initialized empty Git repository in /usr/local/src/rakudo/nqp/.git/ fatal: https://github.com/perl6/nqp.git/info/refs download error -  Command failed (status 32768): git clone https://github.com/perl6/nqp.git nqp
15:54 guru joined #perl6
15:55 pjscott there is no install directory in the clone. INSTALL.txt out of date or something I am missing?
15:55 hoelzro pjscott: I think you may have to specify --backends
15:55 hoelzro at this point, I would suggest trying MoarVM rather than Parrot
15:55 jnthn Looking at the error, "Command failed (status 32768): git clone"
15:56 jnthn It failed trying to clone the NQP git repository, it seems
15:56 jnthn Could be an intermittent network failure
15:56 TimToady or github
15:57 jnthn Yeah. I'd retry, as a first resort...
16:02 pjscott ]# perl Configure.pl --gen-moar Initialized empty Git repository in /usr/local/src/rakudo/nqp/.git/ fatal: https://github.com/perl6/nqp.git/info/refs download error -  Command failed (status 32768): git clone https://github.com/perl6/nqp.git nqp
16:02 pjscott Got that every time since first trying last night
16:02 carlin in the rakudo dir, try doing `git clone https://github.com/perl6/nqp.git` manually
16:04 pjscott fatal: https://github.com/perl6/nqp.git/info/refs download error -
16:04 pjscott yet the clone of rakudo itself had no problem
16:04 jnthn Did you clone it using a https URL?
16:05 pjscott no, git:
16:05 jnthn Ah
16:05 pjscott http and https fail for nqp, trying git:
16:05 jnthn Try Configure.pl with --git-protocol=git
16:06 pjscott Bingo
16:08 TimToady ISP: Implement Stupid Policies
16:08 lizmat joined #perl6
16:09 pjscott ISP problem?  I am on the OSCON wireless :-)
16:10 pjscott no, wait, i'm ssh'ed elsewhere, never mind.
16:11 ajr joined #perl6
16:11 pjscott Pity that --git-protocol does not propagate down; same problem further down
16:12 TimToady sounds like it shoulda been an env var instead of a switch
16:13 dalek specs: 0355caf | util++ | S (3 files):
16:13 dalek specs: Fix typos
16:13 dalek specs: review: https://github.com/perl6/specs/commit/0355cafeae
16:13 TimToady sometimes you want dynamic variables instead of lexicals :)
16:18 pjscott This is vexing.  It had a similar problem with MoarVM.git.  I downloaded that manually.  Then I executed:
16:18 pjscott perl Configure.pl --prefix=/usr/local/src/rakudo/install --git-protocol=git --backends=moar --make-install --gen-moar
16:18 pjscott But the first thing it does is then:
16:19 pjscott HEAD is now at 543937d... unbreak jvm build, printfh works while sayfh does not Building NQP ...
16:19 pjscott and the promptly executes the command again without the git-protocol:
16:19 pjscott . /usr/local/bin/perl Configure.pl --prefix=/usr/local/src/rakudo/install --backends=moar --make-install --gen-moar
16:20 pjscott and then fails:
16:20 pjscott Can't exec "/usr/local/src/rakudo/install/bin/moar": No such file or directory at tools/lib/NQP/Configure.pm line 432. Initialized empty Git repository in /usr/local/src/rakudo/nqp/MoarVM/.git/ fatal: https://github.com/MoarVM/MoarVM.git/info/refs download error -  Command failed (status 32768): git clone https://github.com/MoarVM/MoarVM.git MoarVM
16:21 pjscott ah.  MoarVM needed to be cloned in the nap directory.  that gets me further
16:22 ventica1 m: say 2 + 2
16:22 camelia rakudo-moar b20535: OUTPUT«4␤»
16:22 ventica1 ha, nice!
16:22 carlin expect to run into problems when Moar tries to pull in its submodules
16:31 sergot carlin: hmmm, that's really weird
16:31 pjscott Trying to clean up this mess. What step creates the install directory?  Failing here:
16:31 pjscott Can't exec "/usr/local/src/rakudo/install/bin/moar": No such file or directory at tools/lib/NQP/Configure.pm line 432.
16:32 psch pjscott: that's Configure checking if you have moar already
16:32 psch if you have it you didn't pass the right prefix
16:34 figoe joined #perl6
16:34 pjscott oh so that message is expected?
16:34 psch pjscott: yes.
16:35 psch or rather, it's not neccessarily fatal
16:35 pjscott light dawns
16:35 psch (if it even ever is fatal, i wouldn't think so)
16:36 Jimmy2 joined #perl6
16:39 pjscott Woo: Configuration SUCCESS.
16:41 carlin sergot: I've installed apache locally, and it looks like it isn't actually sending anything to the server
16:42 btyler some unexpected behavior in the REPL:
16:42 btyler my $foo := 1; say $foo.WHAT; --> (Int)
16:42 btyler but
16:42 sergot carlin: oh...
16:42 btyler on a new line:  say $foo.WHAT; --> (Mu)
16:42 sergot hmmm
16:42 sergot carlin: installing it on my Gentoo box, we'll.
16:43 btyler I ran into this playing with infinite ranges -- rakudo kept complaining about trying to grep on a null object (since the @array that was bound to the infinite range was now Mu)
16:43 sergot we'll see*
16:44 sergot carlin: t/09-ua-ssl.t ..... ok
16:51 raiph joined #perl6
16:59 denis_boyun_ joined #perl6
17:01 pjscott Rakudo has been built and installed.
17:01 Alina-malina joined #perl6
17:02 pjscott FYI the install doesn't chmod +x perl6
17:02 pjscott well, didn't for me
17:03 TimToady odd, my install/bin/perl6 has x
17:03 FROGGS__ pjscott: on what system are you? amiga?
17:04 FROGGS__ because I've not yet seen that +x was missing
17:04 TimToady are you installing as root?
17:04 pjscott ah... I was looking at the perl6 in the rakudo root directory
17:04 pjscott the one in install/bin does have +x
17:04 pjscott yup
17:04 FROGGS__ good :o)
17:05 TimToady hmm, my perl6 is a symlink to perl6-m
17:06 pjscott didn't do that for me.
17:06 pjscott not a big deal
17:06 TimToady the date on it is February :)
17:06 TimToady so I probably put it there myself
17:09 pjscott Thanks :-)
17:10 masak putting this in the backlog under the tag "macros", for anyone interested, and for future myself with more time to read it: http://repository.readscheme.or​g/ftp/papers/pepm99/bawden.pdf
17:10 zakharyas joined #perl6
17:11 denis_boyun___ joined #perl6
17:18 [Sno] joined #perl6
17:24 masak m: macro infix:<./>($obj, $meth) { quasi { my &meth = {{{$meth}}}; meth {{{$obj}}} } }; say 4 ./ &sqrt
17:24 camelia rakudo-moar b20535: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/DuTx5w5F9d�Variable '&meth' is not declared�at /tmp/DuTx5w5F9d:1�------> [32mmeth) { quasi { my &meth = {{{$meth}}}; [33m�[31mmeth {{{$obj}}} } }; say 4 ./ &sqrt[0m�»
17:24 masak aww.
17:28 dalek rakudo-star-daily: 31d0bd0 | coke++ | log/ (14 files):
17:28 dalek rakudo-star-daily: today (automated commit)
17:28 dalek rakudo-star-daily: review: https://github.com/coke/rakudo​-star-daily/commit/31d0bd000e
17:28 dalek rakudo-star-daily: 491dc46 | coke++ | log/ (14 files):
17:28 dalek rakudo-star-daily: today (automated commit)
17:28 dalek rakudo-star-daily: review: https://github.com/coke/rakudo​-star-daily/commit/491dc46fc2
17:28 dalek perl6-roast-data: 5d1b607 | coke++ | / (5 files):
17:28 dalek perl6-roast-data: today (automated commit)
17:28 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/5d1b60791a
17:28 dalek perl6-roast-data: 0130f34 | coke++ | / (5 files):
17:28 dalek perl6-roast-data: today (automated commit)
17:28 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/0130f34732
17:29 guru joined #perl6
17:30 vendethiel (ftr, the install hasn't +x-ed perl6 here either)
17:32 prevost joined #perl6
17:33 TimToady m: macro infix:<./>($obj, $meth) { quasi { {{{$obj}}}.$({{{$meth}}}) } }; say 4 ./ &sqrt
17:33 camelia rakudo-moar b20535: OUTPUT«2␤»
17:33 masak TimToady++
17:33 carlin sergot: it does send data (as making a quick 'server' proved) but doesn't recieve anything when the server sends data back
17:33 carlin sergot: I have no idea what's going wrong... maybe tadzik can help
17:34 * carlin is glad he's not the only one with this problem
17:36 FROGGS__ jnthn: what is %*REG<rep>?
17:38 sftp joined #perl6
17:39 jnthn A register holding the repetitions count so far, iirc
17:39 FROGGS__ ahh
17:39 jnthn (how many times a quantifyed thing matched)
17:40 FROGGS__ I compiled the block, but I wonder now how to retrieve its return valu
17:40 jnthn wah...quantified...
17:40 FROGGS__ e
17:40 jnthn I thought the idea was to pass it to that !THINGY to give a pair of bounds?
17:40 jnthn I'd do that bit at QAST level though
17:41 FROGGS__ yes, Cursor.!DYNQUANT_LIMITS is called... did I say block?
17:41 FROGGS__ ahh
17:41 jnthn Right, what part of "get the result" did you mean? :)
17:41 jnthn Like, at a code-gen level?
17:41 FROGGS__ its okay, I know what to do now :o)
17:41 jnthn ok :)
17:42 denis_boyun_ joined #perl6
17:48 sergot carlin: thank you for testing this module :)
17:48 dwarring joined #perl6
17:49 cooper_ joined #perl6
17:53 vendethiel the tablets are in a pretty good shape, aren't they ? they're not mentioned anywhere
17:55 vendethiel oh, they're still very much of a WIP
17:57 masak I don't tend to consult them, as I'm not the target demographic. but I know lichtkind++ sometimes updates them.
17:57 vendethiel yeah, I've seen him doing commit on that. lichtkind++
17:57 masak sometimes he expresses a mixture of surprise and annoyance at the spec changing under him :P
18:10 avuserow Hi all. I'm checking the test output from the R* build that I've been gradually trying to make. Just a few deprecation warnings. I'll make PRs for what I can later (when not occupied with $dayjob) but figured that others may want a look
18:10 avuserow output is at https://gist.github.com/avu​serow/43c1605cb79793b9167a
18:10 avuserow also I'm not sure how some of them come from src/gen/m-CORE.setting :|
18:12 avuserow Moar's spectest is clean except for one test in t/spec/S32-io/IO-Socket-Async.rakudo.moar, is this known? (I'm using the 2014.07 versions of everything on 64-bit Fedora)
18:15 molaf joined #perl6
18:16 atroxaper joined #perl6
18:20 vendethiel TimToady: that macro should be << |> >> :P
18:21 * TimToady blames masak++
18:21 vendethiel m: macro infix:<< |> >>($obj, $meth) { quasi { {{{$obj}}}.$(&{{{$meth}}}) } }; say 4 |> sqrt # interesting error
18:21 camelia rakudo-moar b20535: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/kyucfyE5qS�Unsupported use of &{{{$meth}; in Perl 6 please use &({{$meth)�at /tmp/kyucfyE5qS:1�------> [32m$meth) { quasi { {{{$obj}}}.$(&{{{$meth}[33m�[31m}}) } }; say 4 |> sqrt # intere…»
18:22 vendethiel I'll be sure to use &({{$meth) from now on ;D
18:22 SamuraiJack_ joined #perl6
18:23 TimToady yet another reason to dump the {{{ }}} notation
18:23 vendethiel well, we certainly need some kind of "interpolation" there, unless we decide to "only" have scheme-like templates
18:24 vendethiel (that'd get us really far)
18:27 FROGGS__ avuserow: the fails for t/spec/S32-io/IO-Socket-Async.rakudo.moar are expected sadly
18:27 FROGGS__ avuserow: the reports from the setting are probably reported wrongly
18:28 avuserow okay that makes sense, thanks FROGGS__++
18:28 * avuserow be back eventually
18:29 hoverboard joined #perl6
18:30 Ven joined #perl6
18:35 SamuraiJack__ joined #perl6
18:35 brrt joined #perl6
18:39 lelf joined #perl6
18:42 carlin joined #perl6
18:45 carlin /home/carlin/rakudo/install/bin/nqp-m --target=mbc --output=blib/Perl6/Grammar.moarvm --encoding=utf8 \ src/Perl6/Grammar.nqp
18:45 carlin Repeated character (') unexpectedly found in character class
18:46 Ven m: macro infix:<< |> >>($obj, $m) {   quasi {     $obj.$({{{ "&{~$m}" }}});   } }; 4 |> sqrt;
18:46 camelia rakudo-moar b20535: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/Z8FrKWfYLF�Type check failed in unquote evaluation; expected AST but got Str�at /tmp/Z8FrKWfYLF:1�------> �»
18:46 Ven masak: ^ can I get an AST from a Str ?
18:50 carlin sergot: it works on my laptop!
18:55 gfldex joined #perl6
19:00 ventica_desktop joined #perl6
19:02 masak Ven: no, but $m already *is* an AST...
19:02 Ven masak: yes, but I can't prefix it with `&`
19:03 masak Ven: try &( {{{$m}}} )
19:03 Ven masak: not quite
19:04 Ven m: macro infix:<< |> >>($obj, $m) {   quasi {     $obj.&({{{ $m }}});   } }; 4 |> sqrt;
19:04 camelia rakudo-moar b20535: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/_VASLYUGUrâ�¤Calling proto of 'sqrt' requires arguments (if you meant to operate on $_, please use .sqrt or use an explicit invocant or argument)â�¤    Expected: :(Any)â�¤at /tmp/_VASLYUGUr:1â�¤----…»
19:07 silug joined #perl6
19:08 masak m: macro infix:<< |> >>($obj, $m) {   quasi {     $obj.$(&prefix:<&>({{{ $m }}}));   } }; 4 |> sqrt
19:08 camelia rakudo-moar b20535: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/vbeLDHTKLLâ�¤Undeclared routine:â�¤    &prefix:<&> used at line 1. Did you mean '&prefix:<~>', '&prefix:<?>', '&prefix:<!>', '&prefix:<+>', '&prefix:<->'?â�¤â�¤Â»
19:09 masak oh, right. it's a sigil.
19:09 vendethiel yep :(
19:10 TimToady the problem is not prefixing the sigil, it's the missing sigil on sqrt
19:10 davercc joined #perl6
19:11 vendethiel TimToady: I'm trying to add it with a macro
19:11 TimToady the parser has no way of inferring that 'sqrt' is not a listop
19:11 TimToady and treats it as such before it ever gets to your macro
19:12 masak yeah, some tinkering on the side here confirms that.
19:12 TimToady you really need better control of parsing and grammatical categories for that to work
19:12 masak I get an error about calling zero-arg 'sqrt'
19:12 masak m: macro infix:<< |> >>($obj, $m) { quasi { {{{$obj}}}.$({{{$m}}}) } }; say 4 |> &sqrt
19:12 camelia rakudo-moar b20535: OUTPUT«2␤»
19:12 masak that works, though.
19:12 TimToady sure, becasue it parses as a noun, not a verb
19:12 masak *nod*
19:13 vendethiel mmh :(
19:14 TimToady Perl 6 makes heavy semantic use of its grammatical categories, so you can't just pretend you're parsing s-exprs.
19:14 masak *nod*
19:14 vendethiel well, homoiconic exprs anyway
19:15 masak I think people will be disappointed by 'is parsed' macros for that reason, too.
19:15 vendethiel but indeed, 'tis a bit of a hard one
19:15 masak they will expect to keep some of the conventional magic Perl 6 applies to expressions.
19:15 TimToady which is why I suggested regex macros instead
19:15 vendethiel "is parsed" == regex macros
19:15 vendethiel (or did you have something diff. in mind ?)
19:15 TimToady is parsed is inside out
19:15 masak but what they get will be more like source filters.
19:16 TimToady I mean a macro that is written like token infix:sym<op> but 'make' returns the new AST
19:17 Ven makes sense
19:17 TimToady probably needs a different declarator, 'slang token' or some such
19:17 TimToady and you'd typically see things like 'make quasi {...}'
19:19 TimToady if you wanted to add a bunch of rules at once, maybe 'slang grammar' works
19:19 Ven well, several languages have fairly complex parsing thingies but still allow this kind of transformations (scala, crystal)
19:20 * TimToady doesn't know the referent of "this kind"
19:20 ventica_desktop see what you've done now, you've given TimToady a parse error
19:21 vendethiel TimToady: I mean modifying the AST directly (here; adding the sigil)
19:21 TimToady which is precisely what I was just arguing for, so you confused me
19:22 TimToady slang regexes could add alternations to any grammatical category
19:22 pecastro joined #perl6
19:22 TimToady *alternatives
19:23 TimToady all you have to do is return the sort of thing the parser would expect from a normal action at that point
19:25 TimToady your typical termish macro would simply be a 'slang token term:sym<thingy> {...}' rather than using a 'macro' keyword
19:25 lizmat joined #perl6
19:25 TimToady and it would automatically mix in to the existing language at that point, and write a new lexer for you
19:25 TimToady that part is already implemented :)
19:28 TimToady we might not need a 'macro' keyword at all, since it just (presumably) falls out of slang rules as a special case
19:28 TimToady most of the work of macros is actually not done by 'macro', but by quasiquoting and unquoting
19:28 TimToady and whatever other API we provide for dealing with ASTs
19:29 TimToady sorry to blow your branes, but I did mention this a few weeks ago already...
19:30 Sqirrel joined #perl6
19:33 TimToady http://irclog.perlgeek.de/​perl6/2014-06-28#i_8943862 or thereabouts, though I called it 'macro regex' at the time
19:34 TimToady I think we should view macros primarily as grammar extensions in Perl 6, not as routines with funny policies
19:42 * masak backlogs
19:42 anaeem1 joined #perl6
19:43 rurban1 joined #perl6
19:43 masak TimToady: fwiw, agree with everything you've written in the last half hour.
19:44 masak TimToady: I think we should sit down at some point and map this out. it sounds very promising, and may solve a bunch of issues we haven't resolved in the current spec.
19:44 carlin s/half four/20 years/ :p
19:44 carlin *hour
19:45 masak :P
19:45 * TimToady doesn't even agree with everything he's written in the last 20 years...
19:45 masak carlin: whether or not that's true, saying that wouldn't be very Gricean... :)
19:46 rurban1 I don't agree with several minor perl5 issues. but no prob
19:46 atroxaper joined #perl6
19:47 TimToady officially, I have 361 issues with Perl 5.  :)
19:47 TimToady but I've only had them for 14 years...
19:48 masak m: say sqrt(361)
19:48 camelia rakudo-moar b20535: OUTPUT«19␤»
19:48 masak huh. never noticed.
19:49 TimToady obviously some ancient civilization should've based it's calendar on a period of 19 days and 19 months
19:49 TimToady *its
19:50 TimToady with five or six intercalary days each year
19:50 TimToady er, four or five
19:51 TimToady it's the hobbits that have five or six
19:51 * TimToady should stop confusing his ancient civilizations
19:51 * TimToady should just stop, in fact...
19:51 TimToady nap &
19:52 Ven joined #perl6
19:56 Ven TimToady: can you only imagine agreeing with everything you wrote the last 20 years ? That seems like a life I'd not want to live (aka BOOOORING)
19:58 FROGGS__ that would mean not getting smarter within these 20 years...
19:58 FROGGS__ and yeah, who can possibly want that? :o)
20:01 * jnthn spent his first couple of years in Rakudo learning how *not* to implement Perl 6... :)
20:11 denis_boyun_ joined #perl6
20:24 max78 joined #perl6
20:27 denis_boyun_ joined #perl6
20:27 Ven jnthn: well, it seems it was well worth it ;)
20:27 max78 Good evening to everyone, I'm trying to install the module "nativecall" but I've got an error: "Error while compiling op nativecallcast: No registered operation handler for 'nativecallcast'. Any suggestions
20:27 max78 on what I've forgotten?
20:27 avuserow joined #perl6
20:28 psch max78: your rakudo and/or nqp is probably outdated; nativecallcast is only a few days old
20:29 jnthn max78: How did you obtain your Rakudo?
20:29 jnthn (Build from the repository, Rakudo Star .tar.gz, something else?)
20:30 max78 two weeks ago. I've the 2014.04 version
20:30 jnthn The distribution release (Rakudo Star), not just the compiler one?
20:31 jnthn If the R* one, then it already comes with a (compatible) version of NativeCall.
20:31 jnthn (So should already be available with "use NativeCall"
20:31 jnthn )
20:32 max78 In my rakudo-star-2014.04/install/languages/perl6/lib I've NativeCall.pm but... when I install the module DBIish it tries to install NativeCall too.
20:32 * Ven was going to say "latest r* is 2014.03", but then he remembered not everbody is stuck on windows
20:33 max78 I've opensuse 13.1
20:33 jnthn I guess you're using Panda to install?
20:34 max78 yes
20:34 FROGGS__ ahh, panda does not know about already installed rakudo star modules :/
20:34 jnthn Yeah
20:34 jnthn Bu
20:34 jnthn *but
20:34 FROGGS__ so it fetches again
20:34 jnthn panda --nodeps install DBIish
20:34 jnthn May cut it.
20:34 FROGGS__ yeah
20:34 max78 Ok I'm trying....
20:34 jnthn FROGGS__: Yeah, we should really fix that...
20:34 jnthn As always, time...
20:34 FROGGS__ true :/
20:37 max78 Ok It works fine now!! Thanks to everybody and sorry for my bad english.
20:37 jnthn Glad we could help. And your English seems to have worked successfully. :)
20:38 max78 Thank you jnthn
20:39 cooper__ joined #perl6
20:43 lizmat joined #perl6
20:43 lizmat_ joined #perl6
20:51 psch https://github.com/peschwa/nqp​/compare/perl6:master...master # not all of the formerly-panics i converted here have RTs, but i being prepared is generally good, right?
20:52 psch i figured the NYI don't need to be overrideable, because they should go away eventually
20:54 psch https://github.com/peschwa/ra​kudo/compare/panics_to_typeds # probably matters in context
20:55 psch cf RT #77522 and RT #77380
20:55 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=77522
20:56 Ven (what's the p6 word for "splat" ?)
20:56 psch m: *.WHAT.say
20:56 camelia rakudo-moar b20535: OUTPUT«(Whatever)␤»
20:57 psch Ven: i'd say the character itself is still an asterisk?
20:57 psch i only encountered "splat" in the jargon file
20:57 psch .u *
20:57 yoleaux U+002A ASTERISK [Po] (*)
21:00 Ven "slurpy argument", maybe ?
21:00 Ven psch: I mean, *@, really
21:01 FROGGS__ that is a slurpy positional parameter
21:01 Ven slurpy it is then.
21:03 brrt left #perl6
21:06 Ven m: sub f(@ [$a]) { $a }; f(1)
21:06 camelia rakudo-moar b20535: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/Z9hvqvo4cOâ�¤Calling 'f' will never work with argument types (int)â�¤    Expected: :(@ (Any $a))â�¤at /tmp/Z9hvqvo4cO:1â�¤------> [32msub f(@ [$a]) { $a }; [33mâ��[31mf(1)[0mâ�¤Â»
21:06 Ven erm, this segfaulted here.
21:07 * jnthn can't get it to do that at repl or with -e
21:07 Ven well, I defined it already before, might be why :)
21:08 Ven jnthn: https://gist.github.com/Nam​i-Doc/f90728c1ba3d7590a5d1 this is my log
21:09 Ven well, I can't even reproduce it with that. Adding the other bits before
21:10 Ven Updated with my actual backlog. Will try to understand it tomorrow. G'night, #perl6 !
21:11 psch night Ven++
21:15 psch fwiw, the same commands didn't segfault for me
21:17 cholby left #perl6
21:19 masak TimToady: the more I think about slang macros, the better I like them. the macros we spec today feel too much like subs, and they act on their inputs too late, after a bunch of interesting things have already happened.
21:19 Ven m: sub key-of(%a (:v($v))) { say %a.perl }; key-of('v' => 1)
21:19 camelia rakudo-moar b20535: OUTPUT«␤  in sub key-of at /tmp/g86Cic3YGv:1␤  in block  at /tmp/g86Cic3YGv:1␤␤»
21:19 masak TimToady: plugging it into grammars makes more sense.
21:19 Ven wat ? the error
21:22 Ven m: sub key-of(% (:value($val), :qua($qua))) { say "$val;;$qua"; }; key-of({qua => 1; value => 2}) # wut ?
21:22 camelia rakudo-moar b20535: OUTPUT«cannot stringify this␤  in sub key-of at /tmp/wYE64dscQb:1␤  in block  at /tmp/wYE64dscQb:1␤␤»
21:22 Ven Okay, what this tells me is that I should be sleeping, for real.
21:22 vendethiel (re g'night, y'all :P)
21:25 masak 'night, vendethiel
21:28 kurahaupo joined #perl6
21:32 dalek nqp: bb70129 | jnthn++ | tools/build/MOAR_REVISION:
21:32 dalek nqp: Bump MOAR_REVISION for OSR-related SEGV fix.
21:32 dalek nqp: review: https://github.com/perl6/nqp/commit/bb70129da2
21:36 dalek rakudo/nom: 1b25025 | jnthn++ | tools/build/NQP_REVISION:
21:36 dalek rakudo/nom: Bump NQP_REVISION, to get MoarVM OSR SEGV fix.
21:36 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/1b25025ccd
21:36 hoverboard joined #perl6
21:41 hummeleB1 joined #perl6
21:52 hummeleB1 joined #perl6
21:59 FROGGS__ nqp-m -e 'my $a := 2; say( "aaabbb" ~~ / a ** { [$a, $a+2] } / )'
21:59 FROGGS__ aaa
21:59 FROGGS__ pheew
22:00 FROGGS__ note: really not done yet, need to rearrange some code that it works for all cases
22:01 jnthn FROGGS__++
22:02 dwarring nifty! FROGGS__++
22:02 FROGGS__ since nqp has no ranges you can either return a single thing, or a list where the first two elements will be taken as min/max
22:06 FROGGS__ ohh noes
22:06 FROGGS__ I have to do that for parrot and jvm also
22:06 FROGGS__ >.<
22:08 timotimo oooh, that's a feature we've been wanting for so long!
22:08 timotimo FROGGS++
22:10 masak nice!
22:11 masak but surely it'll be ranges eventually? :/
22:11 jnthn masak: I don't think so
22:11 FROGGS__ masak: not in nqp
22:11 jnthn masak: Not sure how to put those neatly into NQP...
22:11 FROGGS__ but in rakudo of course
22:11 masak oh, ok.
22:11 jnthn Right :)
22:11 masak yeah, I meant in Rakudo :>
22:12 jnthn yeah, range there of course :)
22:12 FROGGS__ masak: you'll get ranges, promise :o)
22:12 masak \o/
22:12 masak 'night, #perl6
22:12 FROGGS__ gnight
22:13 jnthn 'night, masak
22:14 skids joined #perl6
22:38 avuserow joined #perl6
22:55 avuserow joined #perl6
23:03 chenryn_ joined #perl6
23:10 rurban1 joined #perl6
23:12 lizmat joined #perl6
23:39 xragnar joined #perl6
23:52 xragnar joined #perl6
23:52 Mouq joined #perl6

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

Perl 6 | Reference Documentation | Rakudo