»ö« 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.
TimToady it looks like maybe you want some --prefix=mumble option 00:00
holysword yeps, but once again, no package manager 00:01
I'm trying PERL6LIB
TimToady well, the existing ones are almost certain to be out of date
holysword I can try to install it wihout moar, it seems to be causing the trouble
psch holysword: local overlay? long time since i spent time with gentoo...
holysword is there any significand drawback?
TimToady besides not working?
holysword no, not local overlay, its in the default portage tree
gpo.zugaina.org/dev-lang/rakudo 00:02
TimToady shuts up, as his you-are-not-being-helpful-now detector has gone off :)
holysword and nops, PERL6LIB seems to do nothing 00:04
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?
holysword it is looking in /var/tmp/portage/dev-lang/moarvm-2014.06/image/usr/languages/perl6/lib
TimToady oJustDust: it's largely working, but there are still some bugs
holysword which is the working directoty 00:06
*directory
oJustDust hmm...I'm fooling around with this echo code, which seems to work properly on jvm, but not on moar
pastebin.com/pCEPMF9F
00:07 skids left
oJustDust on moar it never reads the socket but just closes it 00:07
so...the capture not working maybe?
...err closure not capturing the connection properly? 00:08
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
nowadays we'd probably do it with the reactive programming model
oJustDust I don't know what that means :\ 00:10
TimToady you might try using "start" instead of "async"
(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"
TimToady this makes it synchronous, but what happens if you put an 'await' in front of the 'start'? 00:13
oJustDust same thing :\ 00:14
TimToady then the problem is probably not the threading, but the socket interface not working that way
oJustDust confirmed, this works in jvm still
TimToady but I'm not the expert on that part 00:15
oJustDust yeah that sounds reasonable
but good to know the threading is working properly :)
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
oJustDust emergency eye surgies does not sound good! 00:16
*surgeries
TimToady there are likely still thread bugs though, since moar has simply not had as much stress testing as jvm so far
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
psch holysword: it seems the moarvm ebuild is busted
holysword: it sets '--prefix=${D}/usr'
TimToady sure, but Here Be Dragonlets :)
oJustDust I am not afraid! Thanks for your help TimToady
psch (plus appropriately placed double quotes)
according to gentoo docs, ${D} is the temporary build directory, which isn't quite what you want 00:18
00:18 rurban1 left 00:19 zjmarlow left
psch er, temporary install directory 00:19
holysword psch yeps, exactly
its the working directory
its just used to store the source files while they are being compiled
afterwards they are moved to /usr/language/perl6
but moarvm still looking for them in the tmp dir
00:19 BenGoldberg joined 00:20 skids joined
TimToady hmm, my install dir has a languages subdir, but no language 00:21
psch TimToady: i think language is from gentoo
in /usr/language/perl/
our languages is below that 00:22
*perl6
TimToady okay
TimToady pines for the days when everything went into /usr/local 00:23
holysword its languages, its just a typo
psch oh, okay 00:25
holysword I will test some things later
thank you for the suggestions
00:25 holysword left
psch didn't feel particularly helpful 00:25
i does confuse me though, that the moarvm ebuild users ${D}, but rakudo doesn't 00:27
i *think* they both should use ${ROOT} 00:29
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! :)
lue (also, the moarvm ebuild isn't using emake, for some reason)
TimToady: I'm not much of a portage expert, I just use it :P
TimToady alas, holysword++ has quit 00:32
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...
TimToady holysword did not seem to have a way to determine that from the other end 00:34
lue some guy named patrick, according the VCS cruft at the top of the ebuilds :) 00:35
TimToady hmmmm
lue Ooh look, moarvm gentoo bugs :) bugs.gentoo.org/buglist.cgi?bug_st...e=allwords 00:37
And here is the bug we're talking about, specifically: bugs.gentoo.org/show_bug.cgi?id=510706
lue & 00:42
TimToady is required by popular acclaim to go cook sausage and mushrooms for his family, despite his many frailties...
afk &
00:43 hoverboard left 00:52 dayangkun joined 01:05 xinming left 01:06 xinming joined 01:14 FROGGS__ joined 01:16 Sqirrel left 01:18 FROGGS_ left 01:28 Alina-malina left 01:29 Alina-malina joined, aoseki joined 01:31 akaseki left 01:32 mls left, mls joined 01:38 thou left 01:45 hoverboard joined 01:47 SevenWolf joined 01:48 klapperl_ joined 01:51 klapperl left 01:53 jack_rabbit joined 01:57 chenryn joined 02:00 Sqirrel joined 02:02 rurban1 joined 02:05 hoverboard left, cooper_ left 02:08 hoverboard joined 02:10 noganex_ joined 02:12 jack_rabbit left 02:13 noganex left 02:14 jack_rabbit joined 02:15 perigrin left 02:24 rindolf joined 02:36 lelf left, raiph joined 02:38 chenryn left
raiph .tell timotimo 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 left 02:44 Akagi201 joined, chenryn joined, oJustDust left 02:46 Akagi201 left, Akagi201 joined, thou joined 02:51 thou left, perigrin joined 02:55 chenryn left 02:57 ventica1 joined 02:58 ventica left, perigrin left, perigrin_ joined, perigrin_ left 02:59 chenryn joined, dayangkun left 03:00 perigrin joined 03:02 cooper_ joined 03:03 perigrin left 03:07 perigrin joined
dalek ast/S26-WHY: 2fdfa37 | (Rob Hoelz)++ | S26-TODO:
More things to look at for S26
03:08
03:08 atroxaper joined 03:09 jnap left 03:10 raiph left 03:16 dayangkun joined 03:20 BenGoldberg left 03:21 perigrin left 03:31 kaleem joined 03:33 thou joined 04:02 kaare_ joined 04:11 anaeem1_ joined 04:17 MilkmanDan left, chenryn left 04:21 Andymeows joined 04:24 atroxaper left 04:25 thou left 04:27 chenryn joined 04:30 SevenWolf left 04:37 thou joined 04:41 perigrin joined, rurban1 left 04:43 [Sno] left, perigrin left 04:49 skids left 04:59 rurban1 joined 05:04 MilkmanDan joined 05:07 skids joined 05:09 Andymeows left 05:15 rurban1 left 05:24 atroxaper joined 05:27 lizmat joined 05:29 atroxaper left 05:31 xragnar_ joined, xragnar left, xragnar_ is now known as xragnar 05:45 rurban1 joined 05:47 rurban2 joined 05:49 rurban1 left 05:51 rurban2 left 05:55 Akagi201 left 05:59 darutoko joined 06:03 denis_boyun_ joined 06:05 lustlife joined 06:11 [Sno] joined
sergot o/ hi 06:15
06:16 Akagi201 joined 06:18 chenryn left 06:22 Mouq joined
Mouq o/ 06:22
Mouq has a puzzle for #perl6
since LoL is NYI, where one cannot write %h{@lol} to access a multi-dimensional hash 06:24
s/where//
Unfortunately, I haven't found a succint workaround
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} })
camelia rakudo-moar 6504db: OUTPUT«6␤»
Mouq That's OK
m: my %h = a => b => c => 6; say (%h, <a b c>).reduce({ $^a{$^b} }) = 42
camelia rakudo-moar 6504db: OUTPUT«Cannot modify an immutable Int␤ in block at /tmp/fNxRQPJ0Xw:1␤␤»
Mouq That's :( 06:26
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
camelia rakudo-moar 6504db: OUTPUT«Cannot modify an immutable Int␤ in block at /tmp/MA0mHKDfHU:1␤␤»
Mouq I'm still not sure what the big blocker for LoL is 06:27
I imagine it's much hairier that it would seem from afar
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␤»
TimToady I think the main blocker for S09 has been (at least perceived to be) the lack of a repr for compact multi-dims
but that would have little to do with hashes anyway
mostly the semantics have to do hairy X-like things on each level 06:30
Mouq say <a b c>.lol
m: say <a b c>.lol.perl
camelia rakudo-moar 6504db: OUTPUT«LoL.new("a", "b", "c")␤»
TimToady m: say ((1,2,3),(4,5,6),(7,8,9)).lol.perl
camelia rakudo-moar 6504db: OUTPUT«LoL.new($(1, 2, 3), $(4, 5, 6), $(7, 8, 9))␤»
Mouq X as in infix:<X> ?
say (lol <a b c>).perl 06:31
TimToady well, or hyper things anyway
Mouq m: say (lol <a b c>).perl
camelia rakudo-moar 6504db: OUTPUT«===SORRY!=== Error while compiling /tmp/6QFBeRGjeY␤Undeclared routine:␤ lol used at line 1. Did you mean 'log'?␤␤»
TimToady @foo[1,2; 3,4] is kinda like @foo[1,2]»[3,4] 06:32
only it oughta figure out the right shape of compact array and return that, if possible
the subscripts you end up visiting are like 1,2 X 3,4 06:33
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?
Mouq ChoHag: sometimes that only works if you put '{}' at the end of the regex you're using for the subst 06:36
The '{}' forces Rakudo to create $/
TimToady .subst(/pattern/, -> $/ { "replacement" }, :g)
or do you mean that?
Mouq That too
Mouq forgets it's also the argument to the replacing code block 06:37
TimToady m: say "123".subst(/(.)/, -> $/ { $0 * 2 }, :g)
camelia rakudo-moar 6504db: OUTPUT«246␤»
06:38 bjz left 06:39 woolfy joined
TimToady m: $_ = '123'; s:g/(.)/{ $0 * 2 }/; .say 06:40
camelia rakudo-moar 6504db: OUTPUT«246␤»
ChoHag Thanks.
I had the $/ from the previous subst.
TimToady m: $_ = '123'; s:g [.] = $/ * 2; .say
camelia rakudo-moar 6504db: OUTPUT«246␤»
ChoHag And is there a better way to chain substs rather than .subst.subst.subst?
fsvo better 06:41
TimToady usually chained substitutions means you should be using a grammar instead :)
ChoHag Right.
No time to learn that before the train.
TimToady chained substitutions basically violates the one-pass parsing principle
each .subst is basically working on a different language
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 :)
Mouq was actually writing a parser for TOML when he ran into the LoL issue ( github.com/toml-lang/toml ) 06:43
(The problem arises from "Nested tables are denoted by table names with dots in them") 06:46
(And I could undoubtably work around it, but I'd rather not) 06:47
06:48 rurban1 joined
TimToady wonders if we can bind a LoL to a ** parameter yet... 06:50
06:50 bjz joined 06:52 rurban1 left
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:53
we probably need prefix:<||> implemented as well, for the cases where you want to interpolate at the dimensional level 06:54
Mouq (Or, you know, even prefix:<|> :P) 06:55
TimToady well, that kinda pretends ot be implemented already 06:56
07:01 chenryn joined 07:03 FROGGS[mobile] joined
ventica1 o/ 07:05
Mouq \o 07:09
dalek c: 11557f7 | Mouq++ | lib/Language/grammars.pod:
Add token/rule explaination to grammars.pod
07:10
07:11 FROGGS[mobile] left 07:12 FROGGS[mobile] joined 07:14 zakharyas joined 07:19 micku46 joined, micku46 left
dalek c: 5837150 | Mouq++ | lib/Language/regexes.pod:
Add a little bit about :sigspace
07:36
07:37 Mouq left 07:41 brrt joined 07:44 virtualsue joined 07:47 ribasushi left 07:48 ribasushi joined 07:49 rurban1 joined, pecastro left 07:52 dmol joined 07:53 rurban1 left
FROGGS__ std: / <["$a"]> / 08:00
camelia std 0f2049c: OUTPUT«Potential difficulties:␤ Repeated character (") unexpectedly found in character class at /tmp/rXjrMP1GTP line 1:␤------> / <["$a"]⏏> /␤ok 00:01 123m␤»
FROGGS__ m: / <["$a"]> /
camelia ( no output )
FROGGS__ umm
looks like it did not rebuild the last commit 08:01
(which is now ten hours old)
08:02 SamuraiJack joined
FROGGS__ moritz: can you take a look why it does not rebuild rakudo? 08:05
08:06 thou left 08:07 Ven joined 08:09 haroldwu left
Ven bit.ly/1ue99GN <- swift gets a lot of stuff right. 08:10
08:10 haroldwu joined 08:16 fhelmberger joined 08:17 brrt left, hoverboard left 08:22 xinming left
moritz FROGGS__: java.lang.NoSuchMethodError: org.perl6.nqp.runtime.Ops.sayfh(Lorg/perl6/nqp/sixm 08:22
odel/SixModelObject;Ljava/lang/String;Lorg/perl6/nqp/runtime/ThreadContext;)Ljav
a/lang/String; in worry (gen/jvm/stage2/NQPP6QRegex.nqp:63)
08:23 haroldwu left
moritz FROGGS__: while compiling Perl6::Grammar 08:23
08:23 haroldwu joined
moritz FROGGS__: does that look like a genuine builde error to you, or a result of stale files? 08:23
08:23 xinming joined 08:24 klaas-janstol joined
FROGGS__ ohh, my fault, will fix 08:25
nqp-m: nqp::sayfh(nqp::getstderr(), 'hurz'); 08:26
camelia nqp-moarvm: OUTPUT«hurz␤»
FROGGS__ nqp-j: nqp::sayfh(nqp::getstderr(), 'hurz');
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␤»
FROGGS__ nqp-p: nqp::sayfh(nqp::getstderr(), 'hurz');
camelia nqp-parrot: OUTPUT«Method 'say' not found for invocant of class 'FileHandle'␤current instr.: '' pc 58 ((file unknown):40) (/tmp/O0GjOMYfVn:1)␤»
FROGGS__ weird
08:26 haroldwu left, haroldwu joined
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 left, haroldwu joined 08:28 haroldwu left, haroldwu joined
dalek p: 543937d | (Tobias Leich)++ | src/QRegex/P6Regex/Grammar.nqp:
unbreak jvm build, printfh works while sayfh does not
08:29
kudo/nom: 0638cb8 | (Tobias Leich)++ | tools/build/NQP_REVISION:
bump nqp rev for jvm build fix
08:39 virtualsue left 08:43 Akagi201 left 08:45 dakkar joined 08:46 haroldwu left 08:47 haroldwu joined, haroldwu left, haroldwu joined 08:48 haroldwu left, haroldwu joined 08:50 rurban1 joined, SamuraiJack left, haroldwu left, haroldwu joined 08:51 rurban2 joined 08:54 rurban1 left, haroldwu left, haroldwu joined 08:55 rurban2 left 08:59 kivutar joined
FROGGS__ m: say 'abcdef' !~~ /<-[dcb]>**{3}/ 08:59
camelia rakudo-moar 6504db: OUTPUT«===SORRY!=== Error while compiling /tmp/haI0mGm859␤Block case of ** quantifier not yet implemented␤at /tmp/haI0mGm859:1␤------> say 'abcdef' !~~ /<-[dcb]>**⏏{3}/␤ expecting any of:␤ postfix␤ …»
FROGGS__ hmmm
09:04 ssutch left 09:05 sam_ joined 09:06 Alula_ left, Alula_ joined 09:12 pecastro joined 09:16 zakharyas left, zakharyas joined 09:17 sqirrel_ joined
masak good antenoon, #perl6 09:17
Ven o/, masak 09:21
jnthn o/ masak 09:23
09:23 atroxaper joined
FROGGS__ o/ masak 09:23
09:27 thou joined 09:30 brrt joined 09:32 thou left
tadzik oh oh, HTTP::UserAgent 09:35
sergot++
masak yes, this is big news 09:37
sergot++
Ven what does putting `is export` on a sub do ? What's the diff with `our` ? 09:42
I know what it does for a method, not sure for a sub tho. 09:43
09:44 lelf joined
sergot thanks :) 09:46
09:50 jack_rabbit left 09:52 rurban1 joined 09:54 atroxaper left 09:56 sqirrel_ left, SamuraiJack joined 09:57 lelf` joined, rurban1 left
betterworld Ven: you can write "use Moon; shine()" if there is a module Moon with a sub shine that "is export" 09:57
Ven betterworld: oh, you mean it's unprefix ? 09:58
unprefixed*. Alright, ty. noted :-)
09:59 lelf left
betterworld yes, if unprefixed means that you can use "shine" without any prefix 10:03
10:07 dmol left, FROGGS[mobile] left
masak that's the "export" action that does that. it exports `shine` from the namespace in the module to the caller's namespace. 10:18
10:26 Ven left 10:34 virtualsue joined, chenryn left 10:40 brrt left 10:46 davercc left 10:47 chenryn joined 10:50 mr-foobar left, mr-foobar joined 10:55 atroxaper joined 10:56 SamuraiJack_ joined, SamuraiJack left 10:59 atroxaper left 11:00 erdic left, erdic joined 11:01 dmol joined
tadzik sergot: gist.github.com/anonymous/0ba4f9c338e04cf2ae7e 11:07
11:12 Ven joined
sergot ohhh 11:13
Ven masak: I still think that should be left to the user as a choice.
sergot tadzik: works on my box 11:14
Ven `use JSON::Tiny <parse-json>`
tadzik sergot: backup your emails, we're sending it to production :D
I'll debug more later
sergot :D
tadzik: do you have latest p6? 11:15
tadzik yeah, just updated rakudo-moar too
sergot hm
11:16 thou joined
sergot waiting for more info then 11:16
tadzik: do you have openssl installed? 11:17
Um, yeah. stupid question 11:18
tadzik sergot: well, OpenSSL module test passed :)
11:20 thou left
tadzik well, my $first-chunk is Any for some reason 11:22
so the while that sets it never kicks in for some reason
sergot ymm, could you try testing it with another site? 11:28
it's github now
11:28 rurban1 joined
sergot try: http-request something.here 11:29
http-request perlgeek.de 11:30
./bin/http-request perlgeek.de
11:35 brrt joined 11:44 rurban1 left
FROGGS__ moritz: camelia is still out of date... though I can build it locally 11:51
11:52 carlin joined
dalek kudo/nom: da5adee | sergot++ | src/core/ (4 files):
.join can be argless, cleaning
11:54
kudo/nom: b205351 | (Tobias Leich)++ | src/core/ (4 files):
Merge pull request #294 from sergot/nom

  .join can be argless, cleaning
carlin I am also getting: No such method 'decode' for invocant of type 'Any' 11:55
sergot oh 11:56
11:56 SamuraiJack_ left
sergot FROGGS__: do you have the same? 11:56
try: panda install HTTP::UserAgent
11:56 anaeem1_ left
FROGGS__ TimToady: we have a winner! 11:58
Repeated character (') unexpectedly found in character class
at /home/froggs/dev/panda/lib/Panda/Fetcher.pm:30
------> my $target = "$to/" ~ $from.match(/<-⏏['/']>+$/);
sergot: it works in my box 12:01
12:05 Sqirrel_ joined, Sqirrel left 12:07 Andymeows joined, Andymeows left 12:09 SamuraiJack_ joined
carlin bin/http-request perl6.org works, it seems to be anything https:// breaks 12:10
12:10 carlin left 12:11 carlin joined, chenryn left
Ven FROGGS__++ # good at fixing things 12:12
sergot carlin: what about perlgeek.de? 12:13
carlin PERL6LIB=lib bin/http-request perlgeek.de 12:15
use of uninitialized value of type Any in numeric context in block at /home/carlin/Documents/http-useragent/lib/HTTP/UserAgent.pm6:98
12:15 kurahaupo left, brrt left
moritz notices that perlgeek.de shows the wrong virtual host 12:15
sergot that's weird 12:20
12:20 kurahaupo joined 12:21 jnap joined 12:23 atroxaper joined
sergot I cannot reproduce the problem with HTTP::UserAgent. 12:25
12:27 SamuraiJack_ left 12:28 atroxaper left, klaas-janstol left 12:29 guru joined, dmol left, guru is now known as Guest81517
masak Ven: as far as I know, importing *is* left to the user as a choice. 12:29
12:29 chenryn joined 12:30 chenryn left
Ven masak: isn't declaring some subs `is export` on the library author, though ? 12:30
`use`ing is left to the user, sure, but having local aliases isn't
12:30 rurban1 joined 12:31 skids left, Guest81517 is now known as ajr_
FROGGS__ std: / <["$a"]> / 12:34
camelia std 0f2049c: OUTPUT«Potential difficulties:␤ Repeated character (") unexpectedly found in character class at /tmp/pr28NwtjWg line 1:␤------> / <["$a"]⏏> /␤ok 00:01 123m␤»
FROGGS__ m: / <["$a"]> /
camelia rakudo-moar 0638cb: OUTPUT«Potential difficulties:␤ Repeated character (") unexpectedly found in character class␤ at /tmp/FvcneJv8Fl:1␤ ------> / <⏏["$a"]> /␤»
FROGGS__ looks like camelia is well again
jnthn FROGGS__++ # adding le warning 12:35
FROGGS__ I am working on /a ** { 3 }/ now
jnthn Hm
How are you approaching it? 12:36
A new rxtype dynquant?
FROGGS__ I am taking quant as a pattern and copy it to yeah, let's call it dynquant
and then replace the if $max > 1 by gotos
jnthn Yeah, that'll stop the LTMer getting confused, since it expects quant to be declarative. 12:37
I guess you're going to look at the range case too?
FROGGS__ std: "foo" ~~ / o ** {1} .. {2} /
camelia std 0f2049c: OUTPUT«===SORRY!===␤Unsupported use of {2} as general quantifier; in Perl 6 please use X**2 at /tmp/Fgfaat7LdP line 1:␤------> "foo" ~~ / o ** {1} .. {2}⏏ /␤Check failed␤FAILED 00:01 125m␤» 12:38
FROGGS__ std: "foo" ~~ / o ** {1}..{2} /
camelia std 0f2049c: OUTPUT«===SORRY!===␤Unsupported use of {2} as general quantifier; in Perl 6 please use X**2 at /tmp/ojvds1qmdX line 1:␤------> "foo" ~~ / o ** {1}..{2}⏏ /␤Check failed␤FAILED 00:01 125m␤»
jnthn It's { 1..2 }
moritz and that's where it gets interesting
FROGGS__ std: "foo" ~~ / o ** {1..2} /
camelia std 0f2049c: OUTPUT«ok 00:01 125m␤»
FROGGS__ uhh
jnthn iirc, anyway
FROGGS__ std: "foo" ~~ / o ** {^10} /
moritz 'cause the block should return a Perl 6 range
camelia std 0f2049c: OUTPUT«ok 00:01 125m␤»
FROGGS__ hmpf
moritz and nqp knows nothing about those
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.
moritz (and the block is really just arbitrary nqp/rakudo could that's expected to return a range (or maybe Int as alternatives)
jnthn And it can go by type 12:40
FROGGS__ jnthn: that sounds good
range and int, aye
!DYNQUANT_LIMITS lives in Cursor.pm I suppose?
jnthn Well, I'd be liberal and accept Numeric
Right
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 12:43 brrt left
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*
masak er, `need`, not `use`. 12:45
PerlJam Ven: need Foo; import Foo <some stuff>; # ? 12:50
moritz m: use Test :!DEFAULT;
camelia ( no output )
moritz m: use Test :!DEFAULT; plan 42;
camelia rakudo-moar 0638cb: OUTPUT«1..42␤# Looks like you planned 42 tests, but ran 0␤»
Ven PerlJam: I feel like we have too many keywords for that 12:51
moritz hrm, still imported it :(
Ven masak: you mean "use, not import" :P
need, use, import. <- why do we need these 3 ? 12:52
jnthn use = need + import
moritz you can also import from locally declared packages
so it's really good to have that available separately
PerlJam Ven: Are you saying that you'd rather have some way to twiddle "use" to accomplished the separate behaviors?
Ven: (in the interest of reducing keywords but keeping behavior) 12:53
12:53 rurban1 left
PerlJam s/accomplished/accomplish/ 12:53
masak lately, I've come to dislike 'our' scope in general. 12:55
Ven PerlJam: yes, I think so 12:56
PerlJam masak: why is that? 12:57
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:58
moritz what do we still use it for? types, and the lookup fallback for dynamic variables come to mind 12:59
13:04 thou joined
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:04
Ven (In JavaScript, there's no types) 13:06
(only functions you decide to call with `new`)
masak yes, maybe it's too flattering to call them types. 13:07
13:08 thou left 13:09 brrt joined
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:09
masak PerlJam++ 13:10
Ven masak: js's incoming module system is pretty interesting 13:15
before, I just used to destructure (coffee, es6, ls) : `{reduce, map} = require 'functional'`
masak ooh 13:19
13:21 lelf` is now known as lelf 13:30 FROGGS[mobile] joined 13:31 dmol joined 13:35 Sqirrel_ left
carlin sergot: what libssl do you have installed? 13:42
13:48 Guest2169 left
sergot carlin: 13:49
Package: libssl-dev
Version: 1.0.1-4ubuntu5.16
Depends: libssl1.0.0 (= 1.0.1-4ubuntu5.16), zlib1g-dev
works on my 2 boxes, the second one I'll send later
13:49 telex left
sergot So it's 1.0.1 13:50
13:50 kaleem left
sergot and 1.0.2 is the latest 13:50
13:50 telex joined
sergot but beta 13:50
carlin I have libopenssl-devel 1.0.1 (openSUSE 13.1 x86_64) 13:51
sergot should work 13:52
jnthn sergot: 32-bit or 64-bit for you? 13:55
13:55 bowtie joined, bowtie is now known as Guest81465
sergot jnthn: 64-bit 13:56
how about you?
Did you try to install it?
I mean, HTTP::UserAgent
jnthn sergot: 64, but I didn't try it yet :)
sergot okok :)
jnthn I was mostly asking 'cus I noticed a mention of 64-bit in carlin's paste but not yours. :)
sergot I can try with 32-bit too 13:57
anyways should work on carlin's 64
And it's really hard to debug it because I can't repreduce this problem. 13:58
So, any more specific info will be appreciated
:) 13:59
13:59 chenryn joined 14:00 ajr_ left
psch hi #perl6 14:00
m: my $a = 1; say $a++ < $a == ++$a; # i am confused
camelia rakudo-moar b20535: OUTPUT«True␤»
14:01 thou joined
masak psch: please elaborate. 14:02
jnthn If you write *that* code, you deserve to be confused! :P
psch m: my $a = 1; my ($b, $c, $d) = $a++, $a, ++$a; say $b < $c == $d; 14:03
camelia rakudo-moar b20535: OUTPUT«True␤»
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.
s/a value/an lvalue/
m: my $a = 1; say $a++ 14:04
camelia rakudo-moar b20535: OUTPUT«1␤»
masak m: my $a = 1; say ++$a
camelia rakudo-moar b20535: OUTPUT«2␤»
masak psch: is this part of what confuses you?
psch masak: how does that help with the second example? $b, $c, $d should be 1, 2, 3, no?
jnthn m: my $a = 1; say my ($b, $c, $d) = $a++, $a, ++$a;
camelia rakudo-moar b20535: OUTPUT«1 3 3␤»
masak psch: no.
Ven psch: "undefined behavior" :P
psch ah, now :)
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.
psch ++$a runs in-place-ish before the comparison/assignment
masak psch: if it existed, then ($x, $y) = $y, $x wouldn't work.
Ven votes for c-like UB :P
m: my ($x, $y) = 3, 4; ($x, $y) = $y, $x; say $x; say $y
camelia rakudo-moar b20535: OUTPUT«4␤3␤»
Ven masak: it does work. And I think it's specced to work 14:06
masak yes, it definitely is.
it's in line with Perl 5.
(and Python)
14:06 chenryn left
Ven oh, you mean "if <that level of sequentiality> existed". my bad, misrad 14:06
masak right.
you can't have both psch's expectation and the swap semantics.
14:07 chenryn joined
psch what brought me across this was RT #81336 14:07
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=81336
psch --target=parse for chained ~~ and chained == looks identical
and re the reported bug
14:07 guru joined
Ven masak: yes, definitely. I don't want his expectations :P 14:08
psch m: say "foo" ~~ ("foo" ge "bar") # works
camelia rakudo-moar b20535: OUTPUT«True␤»
psch but that's right and not chaining assoc
14:08 guru is now known as Guest19726
masak m: say 0 ~~ 0 ~~ 0 14:08
camelia rakudo-moar b20535: OUTPUT«False␤»
masak bah.
14:08 Guest19726 is now known as ajr_
psch so i was wondering about an expression that shows right assoc different as chaining 14:08
which brought me a few steps towards madness, i guess :) 14:09
masak welcome :)
jnthn That is really sugar for 0.ACCEPTS(0.ACCEPTS(0)), which is 0.ACCEPTS(True), and True is numerically 1. 14:11
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++
jnthn masak: Uh...so can you show me how it want it to desugar to ACCEPTS calls? 14:13
*how you
masak jnthn: 0.ACCEPTS(0) && 0.ACCEPTS(0)
jnthn: all chaining comparison ops work like this
jnthn wonders how the $_ twiddling works out with that 14:14
Feel free to try a patch so we can find out, anyways... 14:15
Though if it were me I'd probably be tempted to say ~~ is non-assoc...because it seems as confusing as anything else.
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 $_...?
masak yeah. 14:18
jnthn Probably workable.
14:20 chenryn left 14:21 chenryn joined
carlin sergot: it's also not working for me on Ubuntu... this is weird 14:21
14:22 Rotwang joined, skids joined, Ven left 14:25 atroxaper joined 14:27 btyler joined 14:29 chenryn left
hoelzro moring #perl6 14:29
14:29 atroxaper left, chenryn joined
hoelzro morning, even 14:32
FROGGS__ morning hoelzro
psch hi hoelzro 14:33
carlin sergot: also doesn't work on my FreeBSD VPS :/
14:33 sqirrel_ joined
gtodd has vocabulary question .... 14:37
If I have my @myArray = (1, 2, 3, 4, 5, 6);
TimToady the parens are known as "superstitious" :) 14:38
masak was gonna say :P
gtodd I can do ....for @myArray -> $item { say $item}
for @myArray -> $item { $item.say }
or @myArray { .say } 14:39
oops
or
TimToady you need a new 'f' key
gtodd for @myArray { .say }
yes
masak ( or uck's sake )
gtodd hah
masak gtodd: what is the vocabulary question? 14:40
TimToady was gonna say :P
gtodd just wondering what do I call "say $_" versus .say
... say
masak well, one is a (listop) function, and the other a method.
TimToady listop form vs method form, I suppose
masak in one, $_ is explicit, in the other it's implicit.
gtodd -> $item is "pointy syntax" to get a name 14:41
masak -> $item is just giving the block a parameter.
gtodd ok op versus method
masak it's exactly the same principle as with blocks that are not for loop blocks.
TimToady well, it's formally a lambda, with a parameter
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␤»
TimToady that second & ~is supersitious too :P
s/'~'//
*stitious even
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 :-)
TimToady m: constant lambda = -> $item { say $item }; lambda("this is, like, SO COOL")
camelia rakudo-moar b20535: OUTPUT«===SORRY!=== Error while compiling /tmp/hCaXcs4OD_␤Variable '&lambda' is not declared␤at /tmp/hCaXcs4OD_:1␤------> nstant lambda = -> $item { say $item }; ⏏lambda("this is, like, SO COOL")␤»
TimToady heh
gtodd for @myArray { say } # empty
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.
gtodd for @myArray { .say } # method "sticks" to $_
masak std: my @myArray; for @myArray { say } 14:44
camelia std 0f2049c: OUTPUT«===SORRY!===␤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:␤------> my @myArray; for @myArray { say⏏ }␤Check failed␤FAILED…»
masak gtodd: ^
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.
TimToady I think it was run-time rather than compile-time
14:45 kaleem joined
gtodd ok perfect I will translate that to my internal NQL grokking routines 14:45
(NQL == not quite linguistic) 14:46
TimToady all of linguistics is not quite linguistic
gtodd :)
hmm there could be a book or blog post in that .... 14:47
Intuitive perl6 ... you know it already ...
14:47 jnap left 14:48 jnap joined
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
masak :) 14:52
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
gtodd carlin: yes++ ... more computer languages should steal things like PBP <--> perlcritic ... they are amazing 14:56
errm s/steal/be inspired by/
14:59 chenryn left 15:00 chenryn_ left, chenryn_ joined 15:02 dayangkun left
carlin I guess we can't have a perl6critic without a Perl6 Best Practices... someone should get on writing that :p 15:03
TimToady we haven't found the worst practices yet 15:04
well, we haven't found most of 'em yet
carlin I'm sure there'd be some good examples in the perl6 I've written 15:05
15:05 sqirrel_ left 15:06 chenryn_ left
TimToady and some of them we already discovered in earlier versions of Perl, like lining up the final brace with the innards 15:06
TimToady shudders 15:07
carlin } else {
15:08 denis_boyun_ left
TimToady puts up with cuddled elses, but doesn't use them 15:08
15:09 rindolf left
TimToady
.oO(Potential difficuties: The rest of the Perl community will hate you unless you outdent that } at line 42.)
15:09
15:13 Alina-malina left 15:23 chenryn_ joined
timotimo we need some tool that complains if you BEGIN { @*INC.push: "lib" } OSLT 15:23
yoleaux 02:38Z <raiph> timotimo: gist.github.com/raiph/c1202f874c2477b09d1f i plan to do more tomorrow
TimToady
.oO(Potential difficulties: You did WHAT at line 2?!?!?)
15:24
timotimo u wot m8 15:25
tadzik :D
15:26 atroxaper joined 15:29 woolfy left
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 atroxaper left
carlin Potential difficulties: Umm, what, oh god, WHY? WHY? AHHHHHHH \n Segmentation fault 15:31
15:34 atroxaper joined 15:35 FROGGS[mobile] left
carlin there could be a git hook that runs perl6critic before running git push 15:36
"You really want to make *this* public?"
15:36 brrt left
TimToady ===SORRY!===␤ Could you please rephrase that? 15:36
carlin ===I AM NOT SORRY!===␤ But you should be for writing code like that 15:38
jnthn oops 15:39
:)
TimToady that would just be ===!SORRY===
jnthn oh, what on earh is my IRC client doing...
15:40 atroxaper left
jnthn Apparently mis-painting so it looked like I'd said junk when I hadn't. D'oh :) 15:40
15:40 atroxaper joined, dwarring left, zakharyas left
TimToady most people just blame their keyboard, and their cat... 15:40
carlin or putty's ridiculous right-click behaviour 15:41
TimToady well, putty is kind of the one-eyed man in the kingdom of the blind... 15:42
15:42 lizmat left 15:43 [Sno] left
FROGGS__ restrains from saying anything now :P 15:44
sort of 15:45
rurban it could have been just a finger
15:47 fhelmberger left 15:53 pjscott joined, ajr_ left
pjscott trying my first rakudo install in several years and not getting to first base with INSTALL.txt. 15:53
# 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: github.com/perl6/nqp.git/info/refs download error - Command failed (status 32768): git clone github.com/perl6/nqp.git nqp 15:54
15:54 guru joined, guru is now known as Guest27100
pjscott there is no install directory in the clone. INSTALL.txt out of date or something I am missing? 15:55
15:55 Guest27100 is now known as ajr_
hoelzro pjscott: I think you may have to specify --backends 15:55
at this point, I would suggest trying MoarVM rather than Parrot
jnthn Looking at the error, "Command failed (status 32768): git clone"
It failed trying to clone the NQP git repository, it seems 15:56
Could be an intermittent network failure
TimToady or github
jnthn Yeah. I'd retry, as a first resort... 15:57
16:01 chenryn_ left, pecastro left
pjscott ]# perl Configure.pl --gen-moar Initialized empty Git repository in /usr/local/src/rakudo/nqp/.git/ fatal: github.com/perl6/nqp.git/info/refs download error - Command failed (status 32768): git clone github.com/perl6/nqp.git nqp 16:02
Got that every time since first trying last night
carlin in the rakudo dir, try doing `git clone github.com/perl6/nqp.git` manually 16:03
pjscott fatal: github.com/perl6/nqp.git/info/refs download error - 16:04
yet the clone of rakudo itself had no problem
jnthn Did you clone it using a https URL?
pjscott no, git: 16:05
jnthn Ah
pjscott http and https fail for nqp, trying git:
jnthn Try Configure.pl with --git-protocol=git
pjscott Bingo 16:06
TimToady ISP: Implement Stupid Policies 16:08
16:08 lizmat joined 16:09 ajr_ left
pjscott ISP problem? I am on the OSCON wireless :-) 16:09
no, wait, i'm ssh'ed elsewhere, never mind. 16:10
16:11 ajr joined
pjscott Pity that --git-protocol does not propagate down; same problem further down 16:11
16:11 ajr is now known as Guest30720
TimToady sounds like it shoulda been an env var instead of a switch 16:12
dalek ecs: 0355caf | util++ | S (3 files):
Fix typos
16:13
16:13 Guest30720 is now known as ajr_
TimToady sometimes you want dynamic variables instead of lexicals :) 16:13
16:15 kaleem left
pjscott This is vexing. It had a similar problem with MoarVM.git. I downloaded that manually. Then I executed: 16:18
perl Configure.pl --prefix=/usr/local/src/rakudo/install --git-protocol=git --backends=moar --make-install --gen-moar
But the first thing it does is then:
HEAD is now at 543937d... unbreak jvm build, printfh works while sayfh does not Building NQP ... 16:19
and the promptly executes the command again without the git-protocol:
. /usr/local/bin/perl Configure.pl --prefix=/usr/local/src/rakudo/install --backends=moar --make-install --gen-moar
and then fails: 16:20
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: github.com/MoarVM/MoarVM.git/info/refs download error - Command failed (status 32768): git clone github.com/MoarVM/MoarVM.git MoarVM
ah. MoarVM needed to be cloned in the nap directory. that gets me further 16:21
ventica1 m: say 2 + 2 16:22
camelia rakudo-moar b20535: OUTPUT«4␤»
ventica1 ha, nice!
carlin expect to run into problems when Moar tries to pull in its submodules
sergot carlin: hmmm, that's really weird 16:31
pjscott Trying to clean up this mess. What step creates the install directory? Failing here:
Can't exec "/usr/local/src/rakudo/install/bin/moar": No such file or directory at tools/lib/NQP/Configure.pm line 432.
psch pjscott: that's Configure checking if you have moar already 16:32
if you have it you didn't pass the right prefix
16:34 figoe joined
pjscott oh so that message is expected? 16:34
psch pjscott: yes.
or rather, it's not neccessarily fatal 16:35
pjscott light dawns
psch (if it even ever is fatal, i wouldn't think so)
16:36 Jimmy2 joined
pjscott Woo: Configuration SUCCESS. 16:39
16:39 Jimmy2 left
carlin sergot: I've installed apache locally, and it looks like it isn't actually sending anything to the server 16:41
btyler some unexpected behavior in the REPL: 16:42
my $foo := 1; say $foo.WHAT; --> (Int)
but
sergot carlin: oh...
btyler on a new line: say $foo.WHAT; --> (Mu)
sergot hmmm
carlin: installing it on my Gentoo box, we'll.
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*
carlin: t/09-ua-ssl.t ..... ok 16:44
16:45 ajr_ left 16:48 virtualsue left 16:51 raiph joined 16:53 lelf left 16:59 denis_boyun_ joined, dakkar left
pjscott Rakudo has been built and installed. 17:01
17:01 Alina-malina joined
pjscott FYI the install doesn't chmod +x perl6 17:02
well, didn't for me
17:02 aoseki is now known as akaseki
TimToady odd, my install/bin/perl6 has x 17:03
FROGGS__ pjscott: on what system are you? amiga?
because I've not yet seen that +x was missing 17:04
TimToady are you installing as root?
pjscott ah... I was looking at the perl6 in the rakudo root directory
the one in install/bin does have +x
yup
FROGGS__ good :o)
TimToady hmm, my perl6 is a symlink to perl6-m 17:05
pjscott didn't do that for me. 17:06
not a big deal
TimToady the date on it is February :)
so I probably put it there myself
17:08 lizmat left
pjscott Thanks :-) 17:09
masak putting this in the backlog under the tag "macros", for anyone interested, and for future myself with more time to read it: repository.readscheme.org/ftp/paper...bawden.pdf 17:10
17:10 zakharyas joined 17:11 denis_boyun___ joined, denis_boyun_ left 17:13 pjscott left 17:18 [Sno] joined
masak m: macro infix:<./>($obj, $meth) { quasi { my &meth = {{{$meth}}}; meth {{{$obj}}} } }; say 4 ./ &sqrt 17:24
camelia rakudo-moar b20535: OUTPUT«===SORRY!=== Error while compiling /tmp/DuTx5w5F9d␤Variable '&meth' is not declared␤at /tmp/DuTx5w5F9d:1␤------> meth) { quasi { my &meth = {{{$meth}}}; ⏏meth {{{$obj}}} } }; say 4 ./ &sqrt␤»
masak aww.
dalek kudo-star-daily: 31d0bd0 | coke++ | log/ (14 files):
today (automated commit)
17:28
kudo-star-daily: 491dc46 | coke++ | log/ (14 files):
today (automated commit)
rl6-roast-data: 5d1b607 | coke++ | / (5 files):
today (automated commit)
rl6-roast-data: 0130f34 | coke++ | / (5 files):
today (automated commit)
17:29 sftp left, guru joined, guru is now known as Guest96604 17:30 Guest96604 is now known as ajr_
vendethiel (ftr, the install hasn't +x-ed perl6 here either) 17:30
17:32 prevost joined
TimToady m: macro infix:<./>($obj, $meth) { quasi { {{{$obj}}}.$({{{$meth}}}) } }; say 4 ./ &sqrt 17:33
camelia rakudo-moar b20535: OUTPUT«2␤»
masak TimToady++
carlin sergot: it does send data (as making a quick 'server' proved) but doesn't recieve anything when the server sends data back
sergot: I have no idea what's going wrong... maybe tadzik can help
carlin is glad he's not the only one with this problem 17:34
FROGGS__ jnthn: what is %*REG<rep>? 17:36
17:38 sftp joined, cooper_ left
jnthn A register holding the repetitions count so far, iirc 17:39
FROGGS__ ahh
jnthn (how many times a quantifyed thing matched)
FROGGS__ I compiled the block, but I wonder now how to retrieve its return valu 17:40
jnthn wah...quantified...
FROGGS__ e
jnthn I thought the idea was to pass it to that !THINGY to give a pair of bounds?
I'd do that bit at QAST level though
FROGGS__ yes, Cursor.!DYNQUANT_LIMITS is called... did I say block? 17:41
ahh
jnthn Right, what part of "get the result" did you mean? :)
Like, at a code-gen level?
FROGGS__ its okay, I know what to do now :o)
jnthn ok :)
17:42 denis_boyun_ joined 17:43 denis_boyun___ left
sergot carlin: thank you for testing this module :) 17:48
17:48 dwarring joined 17:49 denis_boyun_ left, cooper_ joined
vendethiel the tablets are in a pretty good shape, aren't they ? they're not mentioned anywhere 17:53
oh, they're still very much of a WIP 17:55
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++
masak sometimes he expresses a mixture of surprise and annoyance at the spec changing under him :P
18:00 carlin left 18:02 Ulti is now known as Dr_Ulti
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
output is at gist.github.com/avuserow/43c1605cb79793b9167a
also I'm not sure how some of them come from src/gen/m-CORE.setting :|
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:12
18:15 molaf joined, atroxaper left 18:16 atroxaper joined
vendethiel TimToady: that macro should be << |> >> :P 18:20
TimToady blames masak++ 18:21
18:21 atroxaper left
vendethiel m: macro infix:<< |> >>($obj, $meth) { quasi { {{{$obj}}}.$(&{{{$meth}}}) } }; say 4 |> sqrt # interesting error 18:21
camelia rakudo-moar b20535: OUTPUT«===SORRY!=== Error while compiling /tmp/kyucfyE5qS␤Unsupported use of &{{{$meth}; in Perl 6 please use &({{$meth)␤at /tmp/kyucfyE5qS:1␤------> $meth) { quasi { {{{$obj}}}.$(&{{{$meth}⏏}}) } }; say 4 |> sqrt # intere…»
vendethiel I'll be sure to use &({{$meth) from now on ;D 18:22
18:22 SamuraiJack_ joined
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
(that'd get us really far) 18:24
FROGGS__ avuserow: the fails for t/spec/S32-io/IO-Socket-Async.rakudo.moar are expected sadly 18:27
avuserow: the reports from the setting are probably reported wrongly
avuserow okay that makes sense, thanks FROGGS__++ 18:28
avuserow be back eventually
18:29 hoverboard joined 18:30 Ven joined 18:33 zakharyas left 18:35 SamuraiJack__ joined, brrt joined 18:38 SamuraiJack_ left 18:39 lelf joined 18:42 carlin joined
carlin /home/carlin/rakudo/install/bin/nqp-m --target=mbc --output=blib/Perl6/Grammar.moarvm --encoding=utf8 \ src/Perl6/Grammar.nqp 18:45
Repeated character (') unexpectedly found in character class
Ven m: macro infix:<< |> >>($obj, $m) { quasi { $obj.$({{{ "&{~$m}" }}}); } }; 4 |> sqrt; 18:46
camelia rakudo-moar b20535: OUTPUT«===SORRY!=== Error while compiling /tmp/Z8FrKWfYLF␤Type check failed in unquote evaluation; expected AST but got Str␤at /tmp/Z8FrKWfYLF:1␤------> ␤»
Ven masak: ^ can I get an AST from a Str ?
carlin sergot: it works on my laptop! 18:50
18:55 gfldex joined 18:56 silug left 19:00 ventica_desktop joined
masak Ven: no, but $m already *is* an AST... 19:02
Ven masak: yes, but I can't prefix it with `&`
masak Ven: try &( {{{$m}}} ) 19:03
Ven masak: not quite
m: macro infix:<< |> >>($obj, $m) { quasi { $obj.&({{{ $m }}}); } }; 4 |> sqrt; 19:04
camelia rakudo-moar b20535: OUTPUT«===SORRY!=== 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
masak m: macro infix:<< |> >>($obj, $m) { quasi { $obj.$(&prefix:<&>({{{ $m }}})); } }; 4 |> sqrt 19:08
camelia rakudo-moar b20535: OUTPUT«===SORRY!=== Error while compiling /tmp/vbeLDHTKLL␤Undeclared routine:␤ &prefix:<&> used at line 1. Did you mean '&prefix:<~>', '&prefix:<?>', '&prefix:<!>', '&prefix:<+>', '&prefix:<->'?␤␤»
masak oh, right. it's a sigil. 19:09
vendethiel yep :(
TimToady the problem is not prefixing the sigil, it's the missing sigil on sqrt 19:10
19:10 SamuraiJack__ left, davercc joined
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
and treats it as such before it ever gets to your macro
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
masak I get an error about calling zero-arg 'sqrt'
m: macro infix:<< |> >>($obj, $m) { quasi { {{{$obj}}}.$({{{$m}}}) } }; say 4 |> &sqrt
camelia rakudo-moar b20535: OUTPUT«2␤»
masak that works, though.
TimToady sure, becasue it parses as a noun, not a verb
masak *nod*
vendethiel mmh :( 19:13
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*
vendethiel well, homoiconic exprs anyway
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
masak they will expect to keep some of the conventional magic Perl 6 applies to expressions.
TimToady which is why I suggested regex macros instead
vendethiel "is parsed" == regex macros
(or did you have something diff. in mind ?)
TimToady is parsed is inside out
masak but what they get will be more like source filters.
TimToady I mean a macro that is written like token infix:sym<op> but 'make' returns the new AST 19:16
Ven makes sense 19:17
TimToady probably needs a different declarator, 'slang token' or some such
and you'd typically see things like 'make quasi {...}' 19:18
19:19 darutoko left
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)
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)
TimToady which is precisely what I was just arguing for, so you confused me
slang regexes could add alternations to any grammatical category 19:22
19:22 pecastro joined
TimToady *alternatives 19:22
all you have to do is return the sort of thing the parser would expect from a normal action at that point 19:23
your typical termish macro would simply be a 'slang token term:sym<thingy> {...}' rather than using a 'macro' keyword 19:25
19:25 lizmat joined
TimToady and it would automatically mix in to the existing language at that point, and write a new lexer for you 19:25
that part is already implemented :)
19:25 lizmat left
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
most of the work of macros is actually not done by 'macro', but by quasiquoting and unquoting
and whatever other API we provide for dealing with ASTs
sorry to blow your branes, but I did mention this a few weeks ago already... 19:29
19:30 Sqirrel joined
TimToady irclog.perlgeek.de/perl6/2014-06-28#i_8943862 or thereabouts, though I called it 'macro regex' at the time 19:33
19:33 Sqirrel left
TimToady I think we should view macros primarily as grammar extensions in Perl 6, not as routines with funny policies 19:34
masak backlogs 19:42
19:42 anaeem1 joined 19:43 rurban1 joined
masak TimToady: fwiw, agree with everything you've written in the last half hour. 19:43
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
*hour
masak :P 19:45
TimToady doesn't even agree with everything he's written in the last 20 years...
masak carlin: whether or not that's true, saying that wouldn't be very Gricean... :)
rurban1 I don't agree with several minor perl5 issues. but no prob 19:46
19:46 Ven left, atroxaper joined
TimToady officially, I have 361 issues with Perl 5. :) 19:47
but I've only had them for 14 years...
19:48 Rotwang left
masak m: say sqrt(361) 19:48
camelia rakudo-moar b20535: OUTPUT«19␤»
masak huh. never noticed.
TimToady obviously some ancient civilization should've based it's calendar on a period of 19 days and 19 months 19:49
*its
with five or six intercalary days each year 19:50
er, four or five
it's the hobbits that have five or six 19:51
TimToady should stop confusing his ancient civilizations
19:51 atroxaper left
TimToady should just stop, in fact... 19:51
nap &
19:52 Ven joined, anaeem1 left
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:56
FROGGS__ that would mean not getting smarter within these 20 years... 19:58
and yeah, who can possibly want that? :o)
jnthn spent his first couple of years in Rakudo learning how *not* to implement Perl 6... :) 20:01
20:05 kivutar left 20:07 kaare_ left 20:08 molaf left 20:11 denis_boyun_ joined 20:14 avuserow left 20:19 denis_boyun_ left 20:24 max78 joined 20:27 denis_boyun_ joined
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
on what I've forgotten?
20:27 avuserow joined
psch max78: your rakudo and/or nqp is probably outdated; nativecallcast is only a few days old 20:28
jnthn max78: How did you obtain your Rakudo? 20:29
(Build from the repository, Rakudo Star .tar.gz, something else?)
max78 two weeks ago. I've the 2014.04 version 20:30
jnthn The distribution release (Rakudo Star), not just the compiler one?
If the R* one, then it already comes with a (compatible) version of NativeCall. 20:31
(So should already be available with "use NativeCall"
)
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
max78 I've opensuse 13.1 20:33
jnthn I guess you're using Panda to install?
max78 yes 20:34
FROGGS__ ahh, panda does not know about already installed rakudo star modules :/
jnthn Yeah
Bu
*but
FROGGS__ so it fetches again
jnthn panda --nodeps install DBIish
May cut it.
FROGGS__ yeah
max78 Ok I'm trying....
20:34 hoverboard is now known as moistcherry
jnthn FROGGS__: Yeah, we should really fix that... 20:34
As always, time...
FROGGS__ true :/
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. :)
max78 Thank you jnthn 20:38
20:39 cooper__ joined, cooper_ left 20:43 lizmat joined, lizmat_ joined 20:47 lizmat left
psch github.com/peschwa/nqp/compare/per...r...master # not all of the formerly-panics i converted here have RTs, but i being prepared is generally good, right? 20:51
i figured the NYI don't need to be overrideable, because they should go away eventually 20:52
github.com/peschwa/rakudo/compare/..._to_typeds # probably matters in context 20:54
cf RT #77522 and RT #77380 20:55
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=77522
20:55 moistcherry is now known as cholby
Ven (what's the p6 word for "splat" ?) 20:56
psch m: *.WHAT.say
camelia rakudo-moar b20535: OUTPUT«(Whatever)␤»
20:56 denis_boyun_ left
psch Ven: i'd say the character itself is still an asterisk? 20:57
i only encountered "splat" in the jargon file
.u *
yoleaux U+002A ASTERISK [Po] (*) 20:58
20:58 max78 left
Ven "slurpy argument", maybe ? 21:00
psch: I mean, *@, really
FROGGS__ that is a slurpy positional parameter 21:01
Ven slurpy it is then.
21:03 brrt left 21:04 lizmat_ is now known as lizmat 21:06 skids left
Ven m: sub f(@ [$a]) { $a }; f(1) 21:06
camelia rakudo-moar b20535: OUTPUT«===SORRY!=== Error while compiling /tmp/Z9hvqvo4cO␤Calling 'f' will never work with argument types (int)␤ Expected: :(@ (Any $a))␤at /tmp/Z9hvqvo4cO:1␤------> sub f(@ [$a]) { $a }; ⏏f(1)␤»
Ven erm, this segfaulted here.
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:07 prevost left 21:08 raiph left
Ven jnthn: gist.github.com/Nami-Doc/f90728c1ba3d7590a5d1 this is my log 21:08
well, I can't even reproduce it with that. Adding the other bits before 21:09
Updated with my actual backlog. Will try to understand it tomorrow. G'night, #perl6 ! 21:10
psch night Ven++ 21:11
fwiw, the same commands didn't segfault for me 21:15
21:17 akaseki is now known as sempai, cholby left 21:18 sempai is now known as DrSeki
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)
camelia rakudo-moar b20535: OUTPUT«␤ in sub key-of at /tmp/g86Cic3YGv:1␤ in block at /tmp/g86Cic3YGv:1␤␤»
masak TimToady: plugging it into grammars makes more sense.
Ven wat ? the error
21:19 gfldex left 21:20 kurahaupo left
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␤␤»
Ven Okay, what this tells me is that I should be sleeping, for real.
21:22 Ven left
vendethiel (re g'night, y'all :P) 21:22
masak 'night, vendethiel 21:25
21:28 kurahaupo joined 21:31 segomos is now known as tony-o
dalek p: bb70129 | jnthn++ | tools/build/MOAR_REVISION:
Bump MOAR_REVISION for OSR-related SEGV fix.
21:32
kudo/nom: 1b25025 | jnthn++ | tools/build/NQP_REVISION:
Bump NQP_REVISION, to get MoarVM OSR SEGV fix.
21:36
21:36 hoverboard joined 21:37 hoverboard left 21:41 hummeleB1 joined 21:50 hummeleB1 left 21:52 hummeleB1 joined
FROGGS__ nqp-m -e 'my $a := 2; say( "aaabbb" ~~ / a ** { [$a, $a+2] } / )' 21:59
aaa
pheew
note: really not done yet, need to rearrange some code that it works for all cases 22:00
jnthn FROGGS__++ 22:01
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:04 lustlife left 22:05 lelf left
FROGGS__ ohh noes 22:06
I have to do that for parrot and jvm also
>.<
timotimo oooh, that's a feature we've been wanting for so long! 22:08
FROGGS++
masak nice! 22:10
but surely it'll be ranges eventually? :/ 22:11
jnthn masak: I don't think so
FROGGS__ masak: not in nqp
jnthn masak: Not sure how to put those neatly into NQP...
FROGGS__ but in rakudo of course
masak oh, ok.
jnthn Right :)
masak yeah, I meant in Rakudo :>
jnthn yeah, range there of course :) 22:12
FROGGS__ masak: you'll get ranges, promise :o)
masak \o/
'night, #perl6
FROGGS__ gnight
jnthn 'night, masak 22:13
22:14 skids joined 22:21 hummeleB1 left 22:38 avuserow left, avuserow joined 22:43 avuserow left 22:55 avuserow joined, lizmat left 23:03 chenryn_ joined 23:07 rurban1 left 23:08 dmol left 23:10 rurban1 joined 23:12 lizmat joined 23:21 kurahaupo left 23:30 btyler left 23:32 chenryn_ left 23:33 lizmat left 23:34 Psyche^_ left 23:36 xragnar left 23:39 xragnar joined 23:49 [particle] left, xragnar left 23:52 xragnar joined, Mouq joined