»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend! Set by moritz on 22 December 2015. |
|||
00:03
Guest65773 left
|
|||
MadcapJake | azawawi: ok, i've already started modifying it in the form of a PR for codemirror proper, it definitely has a lot of P5 cruft to pull out | 00:05 | |
It's tough to weed it all out when I've no experience with P5, so I might end up just rewriting large portions of it | 00:06 | ||
00:10
vendethiel left
00:15
addison joined
00:16
vendethiel joined
|
|||
[Coke] | sevvie: I have too much shit to keep track of already. | 00:22 | |
sevvie | [Coke]: aye, understood. Thanks for letting me know! | ||
jdv79 | it is nice that this chan and pl6anet.org covers most if it for now | 00:24 | |
[Coke] | (I have 2 different work chats, and 3 different personal chats) | ||
00:24
firstdayonthejob left
|
|||
[Coke] | tools, I mean. | 00:24 | |
jdv79 | its tiring and demotivating to go out and poll 10 things | ||
idk | |||
froze up again:( /home/jdv/.perl6/2015.12-230-g2e17820/precomp/.lock | 00:30 | ||
who knows about this stuff? | |||
well, first up would be nice to be able to read filenames that mean something instead of tracing procs | 00:31 | ||
is anyone working on readable filenames in the cur stuff? | |||
00:39
vendethiel left
00:40
virtualsue left
00:42
geekosaur left
00:44
geekosaur joined
00:47
Cabanossi left
00:55
Vitrifur joined,
patrickz left
01:00
Actualeyes joined
01:04
kurahaupo joined
01:07
yeahnoob joined
01:08
Vitrifur left
01:09
kurahaupo left
01:12
wamba left
|
|||
azawawi | atom.io/packages/atom-perl6-editor-tools # run Perl 6 tests in atom :) | 01:24 | |
dalek | osystem: 9ce68a6 | (Shoichi Kaji)++ | META.list: rename username |
01:27 | |
osystem: 37d9d2f | (Shoichi Kaji)++ | META.list: META.info -> META6.json |
|||
osystem: d8de336 | (Aleks-Daniel Jakimenko-Aleksejev)++ | META.list: Merge pull request #142 from skaji/rename Fix urls of some modules (github username was changed) |
|||
01:29
khw joined
01:36
azawawi left
01:38
dolmen left
01:46
nightfrog is now known as culb
01:48
yqt left
01:50
captain-adequate left
01:55
addison left
|
|||
ugexe | jdv79: the workaround is to do -IfakeDir as the first include when launching the proc | 02:07 | |
so that it precomps into 'fakeDir', so when the proc tries to read the default .precomp directory its not locked (fakeDir will be) | 02:09 | ||
02:10
maybekoo5 joined,
addison_ joined
|
|||
ugexe | zef uses `-Ilib/.precomp` to hide it under `lib/.precomp/.precomp` | 02:11 | |
p6doc fails to declare its dependencies on Panda::Installer, Panda::Builder, Shell::Command, File::Find, and JSON::Fast | 02:12 | ||
02:18
vendethiel joined
02:32
abaugher left
02:33
abaugher joined,
Cabanossi joined
02:36
molaf_ joined
02:38
xpen joined,
vendethiel left
02:40
molaf left
02:41
johan left,
johan joined
02:45
kid51 joined
02:46
johan left
02:47
araujo_ joined
02:48
xpen left
02:49
araujo_ left,
araujo_ joined,
johan_ joined
02:50
araujo left,
addison_ left
02:51
araujo_ left,
araujo_ joined
02:53
araujo_ left
02:54
araujo_ joined
02:56
protium joined,
johan joined,
johan_ left
03:03
vendethiel joined
|
|||
AlexDaniel | .tell revhippie I've also figured that any example that is using 「@x.keys.map: …」 can be shortened by doing 「(… for ^@x)」 | 03:04 | |
yoleaux | AlexDaniel: I'll pass your message to revhippie. | ||
AlexDaniel | .tell revhippie but yeah, somehow list comprehension is a very underrated feature in Perl 6 :) | 03:06 | |
yoleaux | AlexDaniel: I'll pass your message to revhippie. | ||
03:08
psy_ left
|
|||
Hotkeys | yeah | 03:11 | |
AlexDaniel++ | 03:12 | ||
03:16
Actualeyes left
03:18
Herby_ joined
|
|||
Herby_ | Evening, everyone! | 03:18 | |
\o | |||
AlexDaniel | lately I've started noticing that stuff that I write in Perl 6 is mostly unreadable to others because I'm not limiting myself to some subset of Perl 6 (some small piece of code may require a rather advanced introduction to Perl 6 features). but yeah, then suddenly comes someone who did not notice a space character between a dot, and it makes me wonder if I should restrict myself sometimes | ||
03:18
Welton joined
03:19
Welton left
|
|||
AlexDaniel | but oh well, even (@a[^$_, $_..*] for 1..^@a) example is not so easy to explain to someone who never used Perl⅚ | 03:20 | |
perlawhirl | AlexDaniel: you may have to wait be a while so we as a community can decide on some good conventions. reading Perl Best Practices was the best thing that happened to my perl code. it stopped me writing clever code for the sake of it | ||
Hotkeys | Perl 5/6ths? | 03:21 | |
AlexDaniel | Hotkeys: :) 5 or 6 | ||
Hotkeys | just joking :p | ||
Is there any chance we could get √ as an op for sqrt? | 03:22 | ||
seems to fall in line with the other magical unicode stuff | |||
perlawhirl | It's funny, you know AlexDaniel i am playing around with the same code snippet :D it makes perfect sense when you understand all the parts, but there's a lot going on in that showrt line | ||
AlexDaniel | Hotkeys: gist.github.com/AlexDaniel/c89bd2786f9b63f31e4c | ||
Hotkeys | AlexDaniel++ | ||
AlexDaniel | Hotkeys: this is just a small list that I've assembled over the times. There are no pull requests or anything | 03:23 | |
Hotkeys: so feel free to pick the one that you like and implement it | |||
Hotkeys | what does #| do | ||
AlexDaniel | Hotkeys: it's javadoc-like kinda thingies | ||
Ben_Goldberg | m: sub prefix<√> ($N) { return sqrt($N) }; say √ 121; | ||
camelia | rakudo-moar 172a92: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ADOsGR5dLLMissing blockat /tmp/ADOsGR5dLL:1------> 3sub prefix7⏏5<√> ($N) { return sqrt($N) }; say √ 121; expecting any of: new name to be defined» | 03:24 | |
perlawhirl | AlexDaniel: how about → for block assignment? | ||
Ben_Goldberg | m: sub prefix<√> ($N) { return sqrt($N) }; say √(121); | ||
camelia | rakudo-moar 172a92: OUTPUT«5===SORRY!5=== Error while compiling /tmp/fakW5IvXTZMissing blockat /tmp/fakW5IvXTZ:1------> 3sub prefix7⏏5<√> ($N) { return sqrt($N) }; say √(121) expecting any of: new name to be defined» | ||
perlawhirl | for @list → $item {} | ||
AlexDaniel | perlawhirl: oh right, forgot about it | ||
I'll add it | |||
03:24
mkj joined
|
|||
Hotkeys | I like the idea of subscripts allowed in vars | 03:24 | |
Ben_Goldberg | m: sub prefix:<√> ($N) { return sqrt($N) }; say √(121); | 03:25 | |
camelia | rakudo-moar 172a92: OUTPUT«11» | ||
03:25
protium left
|
|||
Ben_Goldberg | Hotkeys, ^ | 03:25 | |
AlexDaniel | I like the idea of subscripts as array subscripts! That'd be awesome… :) If only we could decide what would be the best thing to do | ||
Hotkeys | I know Ben_Goldberg | ||
I'm just doing some codegolf right now | |||
so that would hurt my byte count | |||
:p | |||
Ben_Goldberg | Ahh, I see. | ||
AlexDaniel | perlawhirl: not that any other example on this page is easier to explain: gist.github.com/AlexDaniel/1e2d1c50963d37c5d43a | 03:26 | |
03:26
vendethiel left
|
|||
perlawhirl | i know | 03:27 | |
tho the head/tail ones are fairly understandable if you know about perl's $_ | |||
Herby_ | anyone know if any of the perl 6 FOSDEM videos are online yet? | 03:28 | |
AlexDaniel | perlawhirl: you still have to explain ranges and ^ thing. It's not hard of course, but far from being obvious :) | ||
perlawhirl | Herby_: i've looked about, can't find any | ||
03:28
Vitrifur joined
|
|||
perlawhirl | certainly not on the fosdem website... and i didn't find any on youtubes | 03:28 | |
Herby_ | perlawhirl: ok thanks | ||
perlawhirl | i guess we'll just have to be patient | ||
AlexDaniel | perlawhirl: also 「@e - $_」 is rather tricky | ||
perlawhirl: oh right, and the whole thing is a list comprehension… | 03:30 | ||
perlawhirl | you can get a lot more explicit about things | 03:31 | |
m: for 1..^@a.elems -> $i { say @a.head($i), @a.tail(@a.elems - $i); } | |||
camelia | rakudo-moar 172a92: OUTPUT«5===SORRY!5=== Error while compiling /tmp/of2EsIyExgVariable '@a' is not declaredat /tmp/of2EsIyExg:1------> 3for 1..^7⏏5@a.elems -> $i { say @a.head($i), @a.tai» | ||
03:31
noganex joined
|
|||
perlawhirl | m: my @ = 'a'..'c'; for 1..^@a.elems -> $i { say @a.head($i), @a.tail(@a.elems - $i); } | 03:31 | |
camelia | rakudo-moar 172a92: OUTPUT«5===SORRY!5=== Error while compiling /tmp/b4eIIjqywTVariable '@a' is not declaredat /tmp/b4eIIjqywT:1------> 3my @ = 'a'..'c'; for 1..^7⏏5@a.elems -> $i { say @a.head($i), @a.tai» | ||
perlawhirl | m: my @a = 'a'..'c'; for 1..^@a.elems -> $i { say @a.head($i), @a.tail(@a.elems - $i); } | ||
camelia | rakudo-moar 172a92: OUTPUT«(a)(b c)(a b)(c)» | ||
perlawhirl | using .elems removes a lot of ambiguity | ||
in properly formatted code (ie, not one-liners) it reads more englishy | 03:32 | ||
AlexDaniel | m: my @a = 'a'..'c'; for 1..(@a.elems - 1) -> $i { say @a.head($i), @a.tail(@a.elems - $i); } | ||
camelia | rakudo-moar 172a92: OUTPUT«(a)(b c)(a b)(c)» | ||
AlexDaniel | perlawhirl: though you are not getting a list or seq back anymore :) | ||
by the way | 03:33 | ||
perlawhirl | well for that you need to do things more like a list comp, ie postfix for loop | ||
AlexDaniel | how to “return” something without “return” keyword? | ||
perlawhirl | ie, for (@a[^$_, $_..*] for 1..^@a) -> (@first, @last) { ... } | ||
AlexDaniel | perlawhirl: just enclose it in ( ) and that should work | ||
03:34
noganex_ left
|
|||
perlawhirl | AlexDaniel: just like perl5... the last expression evaluated should return implicitly | 03:34 | |
03:34
Ben_Goldberg left
|
|||
AlexDaniel | perlawhirl: yes, of course. But what if I want to be explicit? | 03:34 | |
perlawhirl | you mean like golang's pre-defined return thingy? | 03:35 | |
kinda like that? | |||
AlexDaniel | I don't know that much about golang | ||
perlawhirl | i'm confused cause you said you want to return explicitly, but you don't want to use 'return' (which is explicit) | 03:36 | |
AlexDaniel | m: my @a = ‘a’..‘c’; say (for 1..^@a.elems -> $i { #`xE2x8CxA9returnxE2x8CxAA @a.head($i), @a.tail(@a.elems - $i); }) | ||
camelia | rakudo-moar 172a92: OUTPUT«(((a) (b c)) ((a b) (c)))» | ||
perlawhirl head implodes | |||
AlexDaniel | perlawhirl: ok look | ||
m: my @a = ‘a’..‘c’; say (for 1..^@a.elems -> $i { return @a.head($i), @a.tail(@a.elems - $i); }) | |||
camelia | rakudo-moar 172a92: OUTPUT«Attempt to return outside of any Routine in block <unit> at /tmp/0oI2IPwELU line 1» | ||
Hotkeys | m: my &f = {sqrt [+] ($_²for @^a Z-@^b)}; say f([1,2],[3,4]) | 03:37 | |
camelia | rakudo-moar 172a92: OUTPUT«2.82842712474619» | ||
Hotkeys | ayy | ||
03:37
protium joined
|
|||
perlawhirl | AlexDaniel: ok i see what you're getting at. though i'm not sure how to acheive it | 03:37 | |
Hotkeys | that's what I wanted the sqrt char for | ||
:p | |||
perlawhirl | wait... so, what happens if you just remove return | 03:39 | |
m: my @a = ‘a’..‘c’; say (for 1..^@a.elems -> $i { @a.head($i), @a.tail(@a.elems - $i); }) | |||
camelia | rakudo-moar 172a92: OUTPUT«(((a) (b c)) ((a b) (c)))» | ||
Hotkeys | ++ | 03:40 | |
why be explicit? | |||
AlexDaniel | I have no idea. It is crystal clear to me. But some people love explicit things, so we have to make them happy too | 03:42 | |
perlawhirl | explicit code rocks when you looking at it 6-12 months later :D | 03:43 | |
Hotkeys | if you want to explicitly return then use return :p | ||
AlexDaniel | Hotkeys: you can't use return | 03:44 | |
Hotkeys | oh I see | ||
i missed the example | 03:45 | ||
03:45
kid51 left
|
|||
Hotkeys | idk | 03:46 | |
AlexDaniel | m: for ^5 { .say; leave } | ||
camelia | rakudo-moar 172a92: OUTPUT«0leave not yet implemented. Sorry.  in block <unit> at /tmp/eRY146_xrJ line 1» | ||
Hotkeys | I tend to use implicit return most places even if it makes me a bad person | ||
perlawhirl | i still use it sometimes, usually when it's obvious, ie, the last operation in the sub is an assignment | 03:47 | |
but like i said, reading Perl Best Practices changed a lot of my habits, and i think for the better | 03:48 | ||
03:48
bowtie_ left
|
|||
perlawhirl | Maybe it's cause Conway's an Aussie like me *shrug* | 03:48 | |
Juerd | I use implicit returns only if the last expression is free of side-effects. | ||
AlexDaniel | Usually I don't place a semicolon in this case. This makes it more explicit (ha!) | ||
03:49
bowtie joined,
neilb left
03:50
bowtie is now known as Guest98990
|
|||
AlexDaniel | ok, so it seems like 「leave」 is the answer to my question | 03:50 | |
From S06: &?ROUTINE.leave(1,2,3); # Return from current sub. Same as: return 1,2,3 | |||
03:51
neilb joined
|
|||
perlawhirl | i'm surprised things like leave and labelled goto's are not implemented yet | 03:52 | |
AlexDaniel | goto is probably tricky to implement, but 「leave」 is most likely not | ||
m: say (.² for ^5) | |||
camelia | rakudo-moar 172a92: OUTPUT«(0 1 4 9 16)» | ||
AlexDaniel | .² :D | 03:53 | |
perlawhirl | yeah that's what i was gonna say... maybe goto is tricky to implement... i'm just not smart enough to know why | ||
Hotkeys | m: my &f = {sqrt [+] (.²for @^a Z-@^b)}; say f([1,2],[3,4]) | ||
camelia | rakudo-moar 172a92: OUTPUT«2.82842712474619» | ||
Hotkeys | sweet | ||
AlexDaniel++ | |||
AlexDaniel | m: my &f = {sqrt [+] (@^a Z-@^b)»²}; say f([1,2],[3,4]) | 03:55 | |
camelia | rakudo-moar 172a92: OUTPUT«2.82842712474619» | ||
AlexDaniel | Hotkeys: ↑ shorter | ||
Hotkeys | sonofa | ||
I always don't use hyper | |||
because everyone's like | 03:56 | ||
"Don't use hyper" | |||
perlawhirl | my &f={sqrt [+] (@^a Z-@^b)»²};say f([1,2],[3,4]) | ||
m: my &f={sqrt [+] (@^a Z-@^b)»²};say f([1,2],[3,4]) | |||
camelia | rakudo-moar 172a92: OUTPUT«2.82842712474619» | ||
Hotkeys | I don't need to golf the whole thing | ||
perlawhirl | strippin' whitespace | ||
Hotkeys | just the block | ||
perlawhirl | hah i know | ||
Hotkeys | :p | ||
03:56
mkj left
|
|||
perlawhirl | i just wanted to win something :( | 03:56 | |
AlexDaniel | Hotkeys: don't use hyper? Why? | ||
Hotkeys | I don't even remember | 03:57 | |
AlexDaniel | I have a few bug reports about .hyper but not about » | ||
Hotkeys | I used to use it for that kind of thing | ||
AlexDaniel | » should work (or so it seems…) | ||
Hotkeys | and was discouraged for some reason | ||
AlexDaniel | Hotkeys: let me guess | ||
Hotkeys | do you mind if I steal the hyper bit for my codegolf response :p | 03:58 | |
AlexDaniel | m: ^10»²».say | ||
camelia | rakudo-moar 172a92: OUTPUT«WARNINGS for /tmp/uqkKYU16h6:Useless use of "^" in expression "^10»²».say" in sink context (line 1)100» | ||
AlexDaniel | Hotkeys: this? | ||
now it warns you correctly! How cool is that! | |||
Hotkeys | oh | ||
fancy | |||
AlexDaniel | Hotkeys: that's the reason why it could've been discouraged in some particular case | 03:59 | |
Hotkeys | probably | ||
AlexDaniel | » returns the data in order, but it may processes it in parallel | ||
so you shold not ».say stuff like this | |||
Hotkeys | ah | ||
AlexDaniel | but now it gives you a warning so ther's no problem | 04:00 | |
Hotkeys | seems reasonable | ||
perlawhirl | what is 'sink context'? can someone give me the idiots summary | ||
AlexDaniel | m: my &f = {sqrt [+] (@^a Z-@^b)»²}; say f([1,2],[3,4]) | ||
camelia | rakudo-moar 172a92: OUTPUT«2.82842712474619» | ||
AlexDaniel | m: my &f = {sqrt [+](@^a Z-@^b)»²}; say f([1,2],[3,4]) | ||
camelia | rakudo-moar 172a92: OUTPUT«1» | ||
AlexDaniel | perlawhirl: you're returning a value but it goes nowhere | 04:01 | |
m: 5 | |||
camelia | rakudo-moar 172a92: OUTPUT«WARNINGS for /tmp/ar7sxaTC4U:Useless use of constant integer 5 in sink context (line 1)» | ||
AlexDaniel | m: my $x =5 | ||
camelia | ( no output ) | ||
perlawhirl | ok... goes down the sink :) | ||
AlexDaniel | perlawhirl: yeah. Most of the time it means that you have a problem | 04:02 | |
e.g. ».say example above | |||
perlawhirl | i have a problem?! back off, pal, you don't know me! | ||
jk | |||
Hotkeys | lol | ||
I hate when code-golf requires a full program | |||
and I have to whip out @*ARGS[x] | 04:03 | ||
so many characters | |||
is there a shorter way? | |||
04:04
risou is now known as risou_awy
|
|||
geekosaur | have you considered just using parameters to sub MAIN? | 04:05 | |
Hotkeys | I've considered it but it hasn't been shorter in any I've done yet | ||
geekosaur | which also gives you option processing and a usage message | ||
Hotkeys | I would if it were shorter | ||
perlawhirl | he's golfing... i don't think he needs a usage mesasge :D | 04:06 | |
Hotkeys | ++ | ||
AlexDaniel | Hotkeys: you may also use stdin instead of args sometimes | ||
which means that you can just 「slurp」 | |||
m: say slurp.comb.rotor(3) | 04:07 | ||
camelia | rakudo-moar 172a92: OUTPUT«((C é a) (d s) (l á n) ( a g) ( s l) (é i b) (h t e) ( m a) (o r g) (a C) (h o n) (t a e) ( D h) (ú n ) (n a ) (n G a) (l l ) (A g u) (s d) (h á ) (c h é) (a d ) (s l á) (n a) (g a) (n E) (i r e) (a g a) (l a) (r d ) (i n a…» | ||
geekosaur is not sure that optimizing for code golf should be a language objective | |||
Hotkeys | oh | ||
jdv79 | 35 locked pandas. woohoo. clearly that fix didn't work. | ||
Hotkeys | geekosaur: no i know I was just wondering if there was any existing ways | ||
to golf it up | |||
AlexDaniel: neat | |||
perlawhirl | fore! | ||
AlexDaniel | geekosaur: you're right, but sometimes golfing possibilities make it easier to write code that is less verbose :) | 04:08 | |
Hotkeys | m: say slurp | ||
camelia | rakudo-moar 172a92: OUTPUT«Céad slán ag sléibhte maorga Chontae Dhún na nGallAgus dhá chéad slán ag an Eireagal ard ina stua os cionn caor is coll;Nuair a ghluais mise thart le Loch Dhún Lúich’ go ciúin sa ghleann ina luíI mo dhiaidh bhí gleanntáin ghlas’ G…» | ||
Hotkeys | this isn't lorem ipsum in gaelic is it | ||
oh | |||
it's a song | 04:09 | ||
perlawhirl | Hotkeys: if you need to process lines, that should work too | ||
m: say lines | |||
camelia | rakudo-moar 172a92: OUTPUT«(Céad slán ag sléibhte maorga Chontae Dhún na nGall Agus dhá chéad slán ag an Eireagal ard ina stua os cionn caor is coll; Nuair a ghluais mise thart le Loch Dhún Lúich’ go ciúin sa ghleann ina luí I mo dhiaidh bhí gleanntáin ghlas’ Ghaoth…» | 04:10 | |
04:10
bpmedley left,
cpage left
04:11
yurivish_ joined
|
|||
Herby_ | newbie question here... what is a good way to append/remove from a json file in perl 6? | 04:11 | |
04:11
cpage joined
|
|||
Herby_ | i'd like to store "journal entries" in a json file, and add entries or delete them as needed | 04:12 | |
perlawhirl | "for (lines) { ... }" is the new "while (<>) { ... }" | ||
04:12
clkao left,
huggable left,
skarn left,
lnrdo left,
integral left,
solarbunny left
04:13
yurivish left,
Juerd left,
mindos left,
integral joined,
integral left,
integral joined,
mindos joined,
Juerd joined,
yeahnoob left,
samb1 left,
Hotkeys left
04:14
Hotkeys joined,
samb1 joined
|
|||
Hotkeys | what happened there | 04:14 | |
Herby_ | i asked a question. people bailed | ||
diakopter | netsplit; glitch in the matrix | ||
Hotkeys | lol | ||
Herby_ | :) | 04:15 | |
Hotkeys | m: say pop | ||
camelia | rakudo-moar 172a92: OUTPUT«5===SORRY!5=== Error while compiling /tmp/jKhnsINKsdCalling pop() will never work with proto signature (@)at /tmp/jKhnsINKsd:1------> 3say 7⏏5pop» | ||
Hotkeys | darn | ||
04:15
solarbunny joined
|
|||
geekosaur | the kiddies are out in force already. someone was ddos-ing linode a couple hours ago | 04:15 | |
pronably hitting freenode too | 04:16 | ||
04:16
lnrdo joined
04:17
risou_awy is now known as risou
|
|||
AlexDaniel | Herby_: not if you have a root element. Otherwise just append to a file and it should work fine | 04:18 | |
04:18
sftp_ joined
|
|||
Herby_ | AlexDaniel: thanks | 04:18 | |
04:18
lucs_ joined,
breinbaa1 joined
04:19
richi235 left,
sftp left,
breinbaas left,
lucs left,
lnx left,
Fleurety left,
sftp_ is now known as sftp,
Hor|zon left,
Util_ left,
tinita left,
ranguard left,
jnthn left,
sivoais left,
arnsholt left,
dindinx left,
japhb left,
arnsholt joined,
tinita joined,
ranguard joined
|
|||
AlexDaniel | Herby_: you'd have to read the whole file to remove something though | 04:19 | |
04:19
lnx joined,
jnthn joined,
richi235 joined,
japhb joined,
dindinx joined
|
|||
perlawhirl | whole goddamn platoon's droppin' like flies! | 04:19 | |
04:19
skarn joined
|
|||
AlexDaniel | it's raining men! | 04:19 | |
04:20
Hor|zon joined,
Util joined
|
|||
AlexDaniel | Herby_: if you don't want it simple then perhaps you should also consider using a database system | 04:20 | |
e.g. sqlite | |||
04:20
sivoais joined
|
|||
Herby_ | That's what I was looking at as well, but I have very little db experience | 04:21 | |
but to be fair, i havent messed with a whole lot of json either :) | |||
04:21
yeahnoob joined
|
|||
AlexDaniel | well, it kinda depends on how complicated you want it to be | 04:22 | |
Herby_ | i guess there's no time like the present | ||
04:22
Fleurety joined
|
|||
Herby_ | not complicated. just an OO learning exercise in Perl 6 | 04:22 | |
create an app where I can create journal entries, tag them, search them | |||
skids | github.com/skids/perl6-Control-Bail # Whipped up in one night. Probably should not drop anything in the ecosystem when I'm this tired. | ||
04:23
clkao joined
|
|||
AlexDaniel | skids: ```perl6 should give you perl6 syntax highlighting in md files | 04:24 | |
perlawhirl | skids: i don't understand this module, but your readme makes me laught | 04:25 | |
skids | Was wondering ow to turn that on. | ||
I figured we needed somethng Superbowl themed, as much as I am bored by sports. | 04:26 | ||
04:29
sivoais left
04:31
sivoais joined
04:32
mkj joined
|
|||
Hotkeys | I don't understand what this module does either | 04:33 | |
oh | 04:35 | ||
I see | |||
there is documentation in the code | |||
skids | Yeah the README was a rush job so I could get to bed. | 04:36 | |
Herby_ | I'm assuming DBIish is the go-to for dealing with sqlite? | 04:37 | |
Hotkeys | The C<bail> statement places the block following it onto the | 04:40 | |
C<LEAVE> queue | |||
The C<trail> statement is the same, but places the closure on the | |||
LEAVE queue | |||
what is the difference here | |||
04:40
sivoais left,
bxoekk joined
|
|||
skids | Oh. bail is UNDO. | 04:40 | |
04:40
Herby_ left
04:41
sivoais joined,
bxoekk left
|
|||
Hotkeys | ah | 04:42 | |
04:44
Actualeyes joined
|
|||
skids fixes. now bed. | 04:49 | ||
04:50
sivoais left
04:52
maybekoo5 left,
sivoais joined
05:00
sivoais left
05:02
sivoais joined
05:04
zengargoyle left
05:06
perlawhirl left
05:08
sivoais left
05:09
molaf_ left
05:18
skids left,
AlexDaniel left
05:22
neilb left
05:23
neilb joined,
zengargoyle joined
|
|||
masak | oh hai, #perl6 | 05:27 | |
yoleaux | 2 Feb 2016 18:47Z <ely-se> masak: I got the type checker to work well now, in Haskell :) | ||
masak | ely-se++ | 05:28 | |
05:29
mohae left,
mohae joined
|
|||
masak is on vacation, and is hoping to have some 007 time in the near future | 05:29 | ||
05:31
sivoais joined
05:33
davido joined
05:35
Amnez777 left
05:37
davido left
05:40
sivoais left
05:41
sivoais joined
05:43
psy_ joined
05:48
sivoais left,
khw left
05:49
Cabanossi left
|
|||
MadcapJake | Here's the basic issue submitter design postimg.org/image/js469h5wl/ I think the search results will accordion out between subject and the version dropdowns. It will then fold back in if you click any of the textarea boxes. Each entry will have a linked title and a button to "Change to Comment" or something that will prepend the RT# at the beginning of your subject. (Or should it replace the whole subject line?) I could also | 05:51 | |
add a "miscellaneous" textarea but I feel that if you're really going to write it your way, then just use an email (thoughts?). All that the sections will do is provide some structure to the resultant email message. | |||
05:51
zakharyas joined
05:52
Cabanossi joined
05:58
Amnez777 joined,
Amnez777 left
|
|||
masak | I like the fact that it enforces the "observable triplet" | 05:58 | |
05:58
Amnez777 joined,
Amnez777 left
05:59
Amnez777 joined,
Amnez777 left,
Amnez777 joined
|
|||
masak | it seems to me that a lot of the grey help text could be placeholder text in the actual form fields instead | 06:00 | |
MadcapJake | Maybe, I couldn't decide because sometimes I think placeholder text should be an example, but I'd be willing to just plop them all in there. | 06:01 | |
Gonna work on some of the internals now, will hold that for round two design updates | 06:03 | ||
06:03
mkj left
06:12
CurtisOvidPoe joined
06:22
DoverMo joined,
sivoais joined
|
|||
DoverMo | I think a better mascot for perl6 would be the extinct chinese river dolphin, with han zi on it's body to differentiate from non extinct river dolphins | 06:24 | |
MadcapJake | o_O | ||
DoverMo | any +1's ? | 06:25 | |
MadcapJake | i think i'm the only one here--and I'm an advocate for perl6 logo variants; but I'm sorry I do not support your idea xP | 06:28 | |
DoverMo | aw | 06:29 | |
06:31
mkj joined,
sivoais left
06:32
sivoais joined
06:34
sivoais left
06:36
CIAvash joined
06:45
johan left,
johan_ joined
06:50
sivoais joined
06:51
Actualeyes left
06:52
DoverMo left
06:54
geraud left,
protium left
06:56
mkj left
|
|||
TEttinger | MadcapJake: honestly the chinese river dolphin is an extremely sad story. I might go for the pink river dolphins that collaborate with fishermen to both catch fish | 06:56 | |
news.discovery.com/animals/whales-d...120502.htm | 06:58 | ||
06:59
sivoais left
07:00
sivoais joined
|
|||
TEttinger | (that river dolphin, the boto, actually has a number of parallels, like the collaboration with an established group that had worked alone but now doesn't have to, a la P5::Inline) | 07:01 | |
also being playful and chirpy | 07:02 | ||
07:04
protium joined
07:05
broquaint left,
domidumont joined
07:07
Actualeyes joined
07:08
domidumont left,
dolmen joined
07:09
sivoais left,
domidumont joined
07:11
sivoais joined,
sjoshi joined
07:19
sivoais left
07:21
sivoais joined
07:23
_Gustaf_ joined
07:26
RabidGravy joined
|
|||
MadcapJake | TEttinger++ that's amazing! | 07:26 | |
07:28
protium left,
CurtisOvidPoe left
07:29
sivoais left
|
|||
TEttinger | other parallels might be that they don't need to see where they're going to navigate, and that of all the animals you look at, dolphins and whales are among the best at understanding linguistic things that people thought were uniquely human (some birds are better with "grammar" but don't understand much "vocabulary") | 07:30 | |
07:31
sivoais joined
|
|||
TEttinger | and you could certainly argue that perl 6 was implemented "in the dark" at first, but it still got where it needed to go | 07:31 | |
07:33
mr-foobar joined
07:34
araujo_ left
07:36
darutoko joined
07:37
araujo_ joined
07:38
mr-foobar left
07:39
mr-foobar joined,
sivoais left
07:41
sivoais joined
07:42
nakiro joined
|
|||
MadcapJake | definitely some interesting parallels, and a pink dolphin would definitely be in the same vein as camelia | 07:43 | |
07:44
mr-foobar left,
firstdayonthejob joined
|
|||
dalek | kudo/nom: 1097fc0 | donaldh++ | tools/lib/NQP/Configure.pm: Unbust parse_revision in Configure.pm This is much less wrong at comparing NQP versions than it was. |
07:47 | |
kudo/nom: 8de83d9 | donaldh++ | tools/lib/NQP/Configure.pm: Better to use // operator. |
|||
kudo/nom: 0029a1a | niner++ | tools/lib/NQP/Configure.pm: Merge pull request #703 from donaldh/parse_revision Unbust parse_revision in Configure.pm |
|||
[Tux] | test 23.577 | 07:48 | |
test-t 12.192 | |||
csv-parser 49.600 | |||
07:49
sivoais left
07:51
CurtisOvidPoe joined,
sivoais joined,
mr-foobar joined
07:56
mr-foobar left
07:57
mr-foobar joined
07:59
sivoais left
08:00
kurahaupo_ joined
08:01
kurahaupo_ left,
kurahaupo_ joined,
sivoais joined,
kurahaupo_ left
08:03
CurtisOvidPoe left
08:05
mr-foobar left
|
|||
baest | [Tux]: can you paste the link to the graph (again) | 08:06 | |
08:06
mr-foobar joined
08:07
sjoshi left
08:08
nakiro left
08:09
sjoshi joined,
sivoais left
08:11
sivoais joined,
mr-foobar left
08:12
mr-foobar joined
|
|||
nine | tux.nl/Talks/CSV6/speed4.html and tux.nl/Talks/CSV6/speed5.html | 08:13 | |
irclog.perlgeek.de/perl6/search/?ni...amp;q=http | 08:14 | ||
baest | nine: thanks! | ||
08:16
mr-foobar left
08:19
sivoais left
08:20
mr-foobar joined
08:21
sivoais joined
08:24
Actualeyes left
08:26
dolmen left,
nakiro joined,
neilb left
08:29
rindolf joined,
sivoais left
|
|||
RabidGravy | BOOM! | 08:32 | |
08:32
sivoais joined
|
|||
timotimo | what booms? | 08:33 | |
RabidGravy | Well just now the drums in Underworld's Born Slippy | 08:37 | |
timotimo | oh | ||
08:39
firstdayonthejob left
08:41
brrt joined
08:42
nebuchadnezzar left
08:43
sivoais left
08:44
sivoais joined
|
|||
brrt | what do i actually have to do to get the nice postfix array deref syntax of perl5 | 08:49 | |
use feature qw(postderef); | 08:50 | ||
hmm cool | |||
not very practical, but nevertheless cool :-) | |||
08:55
sivoais left
|
|||
RabidGravy | I just realised in the last year I wrote ~15K lines of Perl 6 and less than a hundred of Perl 5 | 08:55 | |
08:56
sivoais joined
|
|||
moritz | cool | 08:56 | |
so a factor 150 :-) | 08:57 | ||
DrForr | Uh, wait a minute, isn't that 150 thousand? :) | 08:58 | |
moritz | m: 15_000 / 100 | ||
camelia | rakudo-moar 0029a1: OUTPUT«WARNINGS for /tmp/VDKr2FdKAL:Useless use of "/" in expression "15_000 / 100" in sink context (line 1)» | ||
moritz | m: say 15_000 / 100 | ||
camelia | rakudo-moar 0029a1: OUTPUT«150» | ||
DrForr | Yes, I do know the actual number, it's just one of those damn memes running around. | 08:59 | |
moritz | oh | ||
I'm oblivious to this one, I think | |||
nine | brrt: stable features also get activated by requiring the perl version that declared them stable like use v5.20; Sadly, postfix deref is still experimental | 09:00 | |
09:00
nebuchadnezzar joined
|
|||
DrForr | Good. As memes go it's weak, basically someone in all sincerity posted that each American would get something like a million each if they split up the PowerBall lottery. The figure was actually something like $4.50 because whoever wrote the image macro couldn't figure out how to divide. | 09:02 | |
nine: You going to be around this evening? I don't have time during work, but I would like some input on the proper way to return that array w/o resorting to callbacks. | |||
nine | DrForr: I'll probably be around. Don't know if I will be much help though. Turns out being surrounded by thousands of people, drinking beer and sleeping little is a good recipie for catching a really bad cold. | 09:04 | |
RabidGravy | who knew | ||
nine | Especially after it worked the same way last year | ||
DrForr | Oof. Okay, later then. The callback bit really is trivial compared to the serialization code. | ||
09:07
abraxxa left,
abraxxa1 joined
09:08
sivoais left
|
|||
lizmat | .tell jnthn could it be that nqp::atkey throws an error when called on a Stash, rather than returning null ? | 09:08 | |
yoleaux | lizmat: I'll pass your message to jnthn. | ||
09:08
dakkar_ joined
|
|||
nine | lizmat: I'd say it should as Stash is a Perl 6 object while atkey expects an nqp::hash | 09:09 | |
09:09
sivoais joined
|
|||
lizmat | nine: I'm getting "Lexical with name '&USAGE' does not exist in this frame" on an nqp::atkey | 09:09 | |
nine | That sounds...odd | 09:10 | |
timotimo | that sounds like we're failing in the code gen | ||
09:10
virtualsue joined
|
|||
lizmat | well, perhaps... but it's blocking a very nice optimization :-) | 09:10 | |
nine | src/Perl6/ModuleLoader.nqp has a stash_hash sub | ||
brrt | aye, i see | 09:11 | |
09:11
mkj joined
|
|||
timotimo | Total number of videos currently available: 64 | 09:11 | |
la la la ... | 09:12 | ||
lizmat, nine: at least if we're talking about the same Stash i see in the BOOTSTRAP, it's derived from Map and you'd have to atkey its $!storage; see also Stash.pm for its AT-KEY method | 09:13 | ||
lizmat | yes, oddly enough, it doesn't make it to the AT-KEY in Stash | ||
nine | timotimo: yes, stash_hash uses .FLATTENABLE_HASH which just returns $!storage | ||
timotimo | ah | ||
lizmat: as i said, it seems more like something is emitting faulty code | 09:14 | ||
lizmat | timotimo nine : gist.github.com/lizmat/f106496445b055c4437e | ||
timotimo | well, Stash has its own AT-KEY, which overrides Map's | 09:15 | |
lizmat | simplest test case: perl6 --ll-exception 'sub MAIN($foo) { }' | ||
timotimo | i'll have a look | 09:16 | |
lizmat | perhaps callframe.my doesn't return a stash | 09:17 | |
nine | I really can't see anything wrong with your patch | ||
lizmat | nine: me neither :-) | 09:18 | |
nine | It's also very clear that it should be faster :) | ||
lizmat | yup, callframe.my is not a Stash but a Map | 09:19 | |
DrForr | Wow. Don't mention Perl 6 on perlmonks, you're apparently only going to get flames. | ||
lizmat | so it *is* calling the right candidate | ||
timotimo | callframe().my returns a Map, it seems | 09:20 | |
so ... who is throwing that exception? :) | |||
09:21
sivoais left
|
|||
lizmat | nqp::atkey, afaics | 09:21 | |
timotimo | it could very well be that the $!storage inside the Map is something special | ||
like, a different REPR from what we usually have in there | |||
09:22
sivoais joined
|
|||
timotimo | and that has a different behaviour regarding missing keys | 09:22 | |
09:22
vytas left
|
|||
lizmat | ah, indeed, it has a context as $!storage | 09:22 | |
timotimo | right | 09:23 | |
09:23
wamba joined
|
|||
timotimo | it doesn't seem very nice that in one instance a REPRop will throw and in another will return null | 09:23 | |
lizmat tries something | |||
09:23
octoploid joined
|
|||
lizmat | changing the Map to a Stash | 09:23 | |
timotimo | jnthn: how do you feel about making at_key in MVMContext not be lethal to put it in line with MVMHash? | ||
i don't think you're on the right track with that, liz; it's the nqp::atkey that's throwing that exception if a given key doesn't show up in there | 09:24 | ||
lizmat | that's correct, but it should probably be calling Stash's AT-KEY, and not Map's AT-KEY anyway | ||
yup, that fixes it | 09:25 | ||
timotimo | could be because it wants to prefer the \key over the Str() $key? | ||
er, huh? | |||
lizmat | - my $h := nqp::create(Map); | ||
+ my $h := nqp::create(Stash); | |||
09:25
rindolf left
|
|||
timotimo | hm. well, that'll also still give you the better performance for Map in general, and Hash in particular | 09:25 | |
lizmat | (in CallFrame.pm) | ||
timotimo | yes, yes, that solution does seem sensible | 09:26 | |
how much faster is it? :D | |||
lizmat | probably in the order again of 25% | ||
but please note, it didn't cost much to begin with | 09:27 | ||
timotimo | mh, right | ||
lizmat | so unless you are doing a *lot* of hash/map lookups, you won't notice it much | ||
timotimo | jnthn: i pinged you about making at_key not lethal in MVMContext, but that ended up not being necessary in our case | ||
lizmat | the only thing I wonder about now, is that Stash.AT-KEY creates a hash if it has no $!storage, rather than a context | 09:28 | |
that feels wrong | |||
timotimo | oh? | 09:29 | |
i don't even know if you can just conjure up an MVMContext out of nowhere to put it in there | |||
jnthn | YOu can't Just Create a context. | ||
yoleaux | 09:08Z <lizmat> jnthn: could it be that nqp::atkey throws an error when called on a Stash, rather than returning null ? | ||
lizmat | yeah, which is probably the reason it creates a hash | ||
jnthn | Yeah | ||
timotimo | yeah, it takes an MVMFrame in its body | ||
jnthn | Actually nearly every Stash you'll see has an MVMHash inside of it. | 09:30 | |
timotimo | also, ohai jnthn :) | ||
jnthn | It's PseudoStash that tends to have the MVMContext | ||
morning :) | |||
lizmat | jnthn : morning! | ||
octoploid | Is there a way to get a persistent REPL history? | ||
timotimo | octoploid: rlwrap will definitely allow it. other than that, linenoise and readline should have support for that, but i have no idea how exactly it works | 09:31 | |
octoploid | well, with both linenoise and readline perl6 starts with an empty session on my machine. I only recalls history in the current running session. | 09:32 | |
DrForr | Readlike uses add-history()... | ||
lizmat | jnthn: can you live with this change? gist.github.com/lizmat/6d3da10f0d686a69a04e | ||
09:33
sivoais left
|
|||
DrForr | Ah, per-session? You'd need to preserve the history elsewhere. | 09:33 | |
(that's what .bash_history &c are for.) | |||
timotimo | well, yeah. do we have that? is there any option you can give to our readline module or the linenoise module to make that happen? | ||
09:34
sivoais joined
|
|||
octoploid | yeah, if I quit perl6 and start it again I want to use "cursor-up" to recall the last command from the previous session. | 09:34 | |
timotimo | yeah | ||
that's not something "you'd need to" do, it's something these modules ought to offer | 09:35 | ||
lizmat | afk for a few hours& | ||
jnthn | lizmat: So long as we don't end up trying to magically auto-viv things in there | ||
lizmat: That is, that ... .my<something> 42 doesn't magically work somehow | 09:36 | ||
lizmat: Since we're making it be a subtype, we don't break things in the unlikely event somebody type-constrained a thing storing the result .my to a Map. Note that going back in the other direction would be problematic, however. | |||
09:36
mkj left
|
|||
jnthn | otoh we probably don't have any tests for the type there at all yet :P | 09:37 | |
09:38
ocbtec joined
|
|||
jnthn | lizmat: The other option may be to set it up as a PseudoStash | 09:41 | |
Since that's what MY:: gives | |||
Also | |||
I have a horrible feeling that callframe(n).my doesn't restrict what you see to things marked "is dynamic" | 09:42 | ||
09:43
araujo_ left
09:44
sivoais left
09:45
_mg_ joined
09:46
sivoais joined
|
|||
jnthn | meeting & | 09:47 | |
timotimo | it probably doesn't restrict that, yeah | 09:49 | |
i don't think there's any code anywhere to do that | |||
09:50
kjs_ joined,
maybekoo5 joined
09:56
sivoais left
09:58
sivoais joined
10:02
abraxxa1 is now known as abraxxa
10:03
vytas joined
10:09
sivoais left
10:10
sivoais joined
10:13
CIAvash left
10:21
sivoais left
10:22
sivoais joined,
donaldh joined
10:25
zakharyas left
10:27
kurahaupo joined
10:28
Amnez777 left
10:30
ocbtec left
10:32
rindolf joined
|
|||
dalek | kudo/nom: 241e6c0 | donaldh++ | tools/build/NQP_REVISION: Bump NQP revision to get stat_time on JVM. |
10:33 | |
kudo/nom: 4ca1591 | donaldh++ | src/core/Rakudo/Internals.pm: Use stat_time on JVM. |
|||
kudo/nom: f99bdbe | niner++ | / (2 files): Merge pull request #705 from donaldh/stat_time Use stat_time on JVM |
|||
10:33
Amnez777 joined,
Amnez777 left,
sivoais left
10:34
Amnez777 joined,
Amnez777 left,
sivoais joined,
Amnez777 joined,
Amnez777 left
10:35
Amnez777 joined,
Amnez777 left
10:36
Amnez777 joined,
Amnez777 left,
Amnez777 joined,
Amnez777 left
10:38
nchambers left,
aindilis` joined
10:39
emdashcomma left,
gregf_ left
10:40
a3r0 left,
aindilis left,
gregf_ joined,
ocbtec joined
10:41
emdashcomma joined,
a3r0 joined
10:42
nchambers joined,
drrho left
10:43
drrho joined
10:45
ocbtec left,
sivoais left
10:46
ocbtec joined
10:47
sivoais joined,
kurahaupo left,
kurahaupo joined,
jojotus left
10:49
perlawhirl joined
10:51
vendethiel joined
|
|||
RabidGravy | perlawhirl, I add a .Str to IO::Path::Mode so you can replace the majority of the ls-a-like with "use IO::Path::Mode; for '.'.IO.dir { say $_.mode.Str, " ", $_.Str; }" | 10:53 | |
not completely sure I got the "sticky bit" part right but hey | 10:54 | ||
anyway off to the supermarket | 10:55 | ||
perlawhirl | ahh, i readjusted some things using your methods... was playing around with how to do the stringy stuff | ||
i will look at your source to see how you did it :D | |||
10:55
petercommand left
10:58
sivoais left
|
|||
perlawhirl | RabidGraby: for what it's worth, i doublecheck how golang strinifys it's file mode. it does a straightup rwxrwxrwx.. no file type prefix. however, if you have an 4th-bit's set, it just prepends the string, for eg, 'ugtrwxrwxrwx' | 10:59 | |
10:59
sivoais joined,
broquaint joined
|
|||
perlawhirl | hmm, how do i update modules with panda | 10:59 | |
11:00
RabidGravy left
11:02
petercommand joined
|
|||
perlawhirl | RabidGravy... it seems your stringy method doesn't like setuid/setgid | 11:02 | |
RabidGravy: execute... not executable | 11:04 | ||
i meant to tell you about that... it's wrong in your docs | |||
brrt lunch & | 11:05 | ||
timotimo | normally, just "panda install" the module again. may need to --force if it complains about "already installed" | 11:06 | |
perlawhirl | yep thanks timo, got it... i tried panda update at a guess... but yeah, install worked fine | ||
i had it complain about 'module already installed' before so i presumed there was an update option | 11:07 | ||
presumptions rarely work out :D | |||
timotimo | update will just pull in the ecosystem list again | 11:08 | |
nine | If it's already installed, you don't need to install it...by definition. | ||
Of course that requires module authors to actually increase their version numbers. If they don't, please tell them to. | 11:09 | ||
We really need a change of culture here. | |||
timotimo | right, we do | ||
perlawhirl | I had a module fail to install (File::Zip, specifically... it's since worked) and when i tried to install it complained | 11:10 | |
11:10
sivoais left
|
|||
perlawhirl | had to ack the files to find out which one was the right one, delete it and try install again | 11:10 | |
11:10
TEttinger left
|
|||
perlawhirl | .tell RabidGravy stringy mode dies on suid/sgid files. your method is wrong, .execute, not .executable. it's also wrong in your docs | 11:11 | |
yoleaux | perlawhirl: I'll pass your message to RabidGravy. | ||
11:11
sivoais joined
|
|||
nine | perlawhirl: please report such issues here. Otherwise we can't fix bugs like that. | 11:12 | |
11:13
vendethiel left
11:16
xtreak joined
|
|||
xtreak | I am writing a toy language and I am trying to use Perl6 for parsing due to the Grammar. Is there a way to print a message when the regex fails? | 11:17 | |
11:18
dindinx left,
dindinx joined
|
|||
timotimo | xtreak: have you tried using Grammar::Trace or Grammar::Debugger yet? | 11:18 | |
DrForr | The parser will return Any. | ||
xtreak | I am trying to make my language print things. So while parsing the strings to print functions how can I throw an error if there is unescaped symbols in the string | ||
timotimo | our grammars don't give you a nice "at this position, failed to match because of reasons" feature without a bit of extra work | ||
jnthn | xtreak: Typically you put alternations in stragetic places | 11:19 | |
DrForr | Right, that's all error recovery, which I need to investigate once I've finished rebuilding the ANTLR actions. | ||
jnthn | || <.panic: "Invalid statement"> | ||
And defined a method panic($message) { ... } | |||
Which will typically use .pos and .orig to show some context | 11:20 | ||
xtreak | I tried reading the Grammar.nqp and Actions.nqp . But when I try to compile the nqp I get the error that there is no MOAR when I try --gen-moar there is an error related to too many symbolic links in Git. | ||
11:21
mr-foobar left
11:22
sivoais left
|
|||
xtreak | I get the error like this when I clone NQP and build moar with "perl Configure.pl --gen-moar". Error : pastebin.com/19ey5ras | 11:23 | |
timotimo | huh, wtf | ||
11:23
sivoais joined
|
|||
xtreak | Thanks jnthn. I short pastebin will help me in playing around with things. | 11:24 | |
11:25
kurahaupo left,
wamba left,
wamba joined
|
|||
perlawhirl | .tell RabidGravy i've submitted a pull request... it's my first one ever. evar! | 11:26 | |
yoleaux | perlawhirl: I'll pass your message to RabidGravy. | ||
11:27
ocbtec left
|
|||
xtreak | I have moar at ~/.rakudobrew/moar-nom/nqp/MoarVM/moar is there a way I can pass it to the nqp build so that it detects moar | 11:31 | |
11:32
pmurias joined
|
|||
timotimo | if you already have a moar-nom, why would you even need to build another nqp? | 11:32 | |
pmurias | hi | ||
jnthn | xtreak: That looks like the build output rather than the installed moar | 11:33 | |
xtreak: If you can find where that install directory is then it can be passed to NQP's Configure.pl with --prefix=/path/to/install | |||
11:34
wamba left,
ocbtec joined
11:35
sivoais left
|
|||
xtreak | I was suggested that studying NQP can be useful to know about how it parses things that I can use for my language. So I thought to change and build it to see the parsing process. | 11:36 | |
11:37
sivoais joined,
kaare_ joined
11:39
virtualsue left
11:42
orbus left,
rindolf left
|
|||
kaare_ | hi, who wrote this? p6weekly.wordpress.com/2016/01/25/...waiting-4/ | 11:46 | |
Perhaps I could get a correction in, the Dr Strangecode, or how to stop worrying and learn to love Perl 6! is not by by Dave Bakr, but by me | |||
11:47
jsimonet joined
11:48
sivoais left
|
|||
perlawhirl | timo: ↑ | 11:49 | |
kaare_ | Judging by the name of the blog, it'd probably be lizmat I should ask. | ||
perlawhirl | no it's timotimo | 11:50 | |
lizmat | but I wrote that | ||
perlawhirl | oooh | ||
moritz | lizmat and timotimo both have access to that blog, and take turns more or less | ||
11:51
sivoais joined
|
|||
lizmat | kaare_ : which name should I use ? | 11:51 | |
just kaare? | |||
kaare_ | Could you correct it to Kaare Rasmussen, would I be happy | ||
lizmat | updated | 11:52 | |
11:52
ocbtec left,
vendethiel joined
|
|||
lizmat | sorry for the confusion | 11:52 | |
11:53
ocbtec joined
|
|||
kaare_ | Super! lizmat++ | 11:53 | |
11:53
Amendil joined
11:55
donaldh left
11:56
donaldh joined
|
|||
jnthn | My final report from Perl 6 Release Goals grant has been posted: news.perlfoundation.org/2016/02/per...l-gra.html | 11:57 | |
(donors who made it possible)++ | |||
12:00
maybekoo5 left
|
|||
nine | jnthn++ # reminding me to start our monthly donations | 12:01 | |
12:02
sivoais left
|
|||
lizmat | jnthn: making it a PseudoStash is a no go | 12:03 | |
$ 6l 'sub MAIN($foo) { }' | |||
getlexrel needs a context | |||
12:03
sivoais joined
|
|||
jnthn | But...you had a context? :) | 12:03 | |
12:04
orbus joined
|
|||
jnthn wonders if a Scalar container sneaked in the way somewhere... | 12:04 | ||
lizmat | ah, ok, lemme check | 12:05 | |
ah, no, because PseudoStash has more attributes, and they are not getting initialized in CallFrame.new | 12:07 | ||
jnthn | aha | 12:08 | |
12:09
espadrine_ joined,
espadrine_ is now known as espadrine
12:11
Chandini joined
|
|||
Chandini | hi | 12:12 | |
msg camelia | |||
say 3 | |||
p6: say 3 | |||
camelia | rakudo-moar f99bdb: OUTPUT«3» | ||
gfldex | m: say "hi Chandini!"; | 12:13 | |
camelia | rakudo-moar f99bdb: OUTPUT«hi Chandini!» | ||
Chandini | How to start | ||
gfldex | you could try perl6intro.com/ | 12:14 | |
12:14
sivoais left
12:15
sivoais joined
|
|||
brrt | jnthn++ good read : -) | 12:15 | |
donaldh | There's a massive chunk of BOOTSTRAP.nqp that is currently moar specific | 12:19 | |
12:19
fireartist joined
|
|||
donaldh | Is it needed for JVM? In other words, is it worth me implementing nqp::capturenamedshash on JVM? | 12:20 | |
jnthn | donaldh: Well, we have a choice. | 12:21 | |
donaldh: At the moment the JVM equivalent of that code is written in Java. | |||
But on JVM it's more performance critical than on Moar | 12:22 | ||
'cus on JVM we don't yet support bind lowering. | |||
If we got that in place, then we'd (a) get a big speed-up for the common case, and (b) could then take the hit for the less common case and lose a bunch of Java code to keep in sync. | |||
donaldh | gotcha | 12:23 | |
jnthn | So if you want to spend tuits in that area, getting bind lowering to work out on JVM would probably be more useful in the immediate. | ||
And it could potentially be a big runtime speedup | |||
donaldh is not sure what bind lowering is | |||
jnthn | Basically, we compile a bunch of signatures into QAST nodes | ||
Rather than interpreting the signature | |||
We can't do it for really complex ones | 12:24 | ||
But can for all the common ones | |||
It happens in Actions.nqp | |||
12:24
xtreak left
12:26
sivoais left
|
|||
donaldh | k, I'll take a look and likely come back with questions. | 12:27 | |
pmurias | sprintf is part of the HLL instead of the nqp setting? | ||
12:27
sivoais joined
|
|||
jnthn | pmurias: Think so, since it's an nqp:: op | 12:27 | |
lunch & | |||
nine | donaldh: look for use_vm_binder | 12:28 | |
donaldh | nine: got it thanks. | 12:29 | |
also lunch& | |||
12:30
Skarsnik joined,
aindilis` left
12:35
vendethiel left
12:38
kid51 joined,
vendethiel joined
12:39
sivoais left,
sivoais joined
12:42
skids joined
12:46
kjs_ left
12:48
skids left
12:49
mohae_ joined,
brrt` joined
12:50
kid51 left
12:51
sivoais left,
Rotwang_ is now known as Rotwang,
Rotwang left,
Rotwang joined,
sivoais joined
12:52
ZeroDogg joined,
ZeroDogg left,
ZeroDogg joined,
kanishka joined
12:53
Chandini left
12:54
brrt left,
Zero_Dogg left,
mohae left,
clkao left,
samb1 left,
ZeroDogg is now known as Zero_Dogg,
clkao joined,
samb1 joined
12:59
vendethiel left
13:01
breinbaa1 is now known as breinbaas
13:02
sivoais left,
sufrostico joined
13:04
sivoais joined
13:06
pyrimidi_ joined
|
|||
lizmat | .tell jnthn is there a reason why uninitialized attributes are not isnull() ? | 13:08 | |
yoleaux | lizmat: I'll pass your message to jnthn. | ||
lizmat | m: class A { has $!a }; use nqp; say nqp::isnull(nqp::getattr(A.new,A,q/$!a/)) | ||
camelia | rakudo-moar f99bdb: OUTPUT«0» | ||
13:08
pyrimidine left
|
|||
jnthn | lizmat: Yes, we lazily allocate them on first touch | 13:10 | |
yoleaux | 13:08Z <lizmat> jnthn: is there a reason why uninitialized attributes are not isnull() ? | ||
brrt` | i hold that assembly language in perl6 is easier than in go: goroutines.com/asm | 13:11 | |
jnthn | There's an nqp::isattrinit or so | ||
lizmat | yeah, but that basically means I cannot use nqp::ifnull | ||
13:11
gregf_ left
|
|||
jnthn | Not on attributes, no | 13:11 | |
lizmat | :-( too bad | ||
jnthn | Though the cost model on attributes is kinda different post-JIT | 13:12 | |
lizmat | would have been a nice opt on hash accesses | ||
13:12
ocbtec left
13:13
gregf__ joined
13:15
ocbtec joined
13:16
maybekoo5 joined,
sivoais left
13:18
sivoais joined
13:21
bjz left,
bjz joined
|
|||
lizmat | jnthn: looking at this boilerplate: | 13:23 | |
my Mu $storage := nqp::getattr(self, Map, '$!storage'); | |||
$storage := nqp::bindattr(self, Map, '$!storage', nqp::hash()) | |||
unless nqp::defined($storage); | |||
13:29
sivoais left
13:30
psy_ left,
sivoais joined
13:31
ely-se joined
13:33
Actualeyes joined
13:35
ChoHag left,
ChoHag joined
|
|||
jnthn | lizmat: It's possible it could be turned into nqp::attrinited(self, Map, '$!storage') ?? nqp::getattr(...) !! nqp::bindattr(...) | 13:35 | |
lizmat | ok, lemme try that | ||
jnthn | In theory, it'll avoid an allocation per hash | 13:36 | |
(note, per hash, not per access) | |||
lizmat | an other thing: I just noticed Hash.AT-KEY as a Str sig, instead Str:D | ||
if I change it to Str:D, we lose quite a bit of performance :-( | |||
jnthn | Yeah, probably best make it Str:D | ||
Oh? | |||
It should make no difference :S | |||
Very odd | 13:37 | ||
lizmat | 25% slower :-( | ||
jnthn | Profiler may tell what's up | ||
'fraid I'm a bit tied up with $dayjob at the moment | |||
lizmat | ok | 13:38 | |
moritz | is there a str variant as well? | ||
13:38
rindolf joined
|
|||
moritz | and if yes, doesn't that make the Str variant redundant? | 13:39 | |
lizmat | moritz : yes, there's a str | ||
m: sub a(Str $a) { }; for ^1000000 { a("foo") }; say now - INIT now | |||
camelia | rakudo-moar f99bdb: OUTPUT«0.2583536» | ||
lizmat | m: sub a(Str:D $a) { }; for ^1000000 { a("foo") }; say now - INIT now | ||
camelia | rakudo-moar f99bdb: OUTPUT«0.48564677» | ||
lizmat | m: sub a(Str:D $a) { }; for ^1000000 { }; say now - INIT now | ||
camelia | rakudo-moar f99bdb: OUTPUT«0.25334126» | ||
lizmat | m: sub a(Str $a) { }; for ^1000000 { }; say now - INIT now | 13:40 | |
camelia | rakudo-moar f99bdb: OUTPUT«0.25297848» | ||
lizmat | so I'd say the Str:D makes quite a significant difference | ||
jnthn | Indeed...but why... | ||
jnthn suspects something silly is going on :) | 13:41 | ||
13:42
sivoais left,
kurahaupo joined
|
|||
moritz | maybe it doesn't do the distpatch at compile time with Str:D? | 13:42 | |
13:43
sivoais joined
|
|||
jnthn | I'm wondering if we istype the definedness type, rather than picking it apart in signature bind lowering | 13:43 | |
lizmat | hmmm..looks like the call a a is completely optimized away in the case of the Str | 13:45 | |
m: sub a(Str:D $a) { }; for ^1000000 { my $a = a("foo") }; say now - INIT now # better benchmark | |||
camelia | rakudo-moar f99bdb: OUTPUT«0.593814» | ||
lizmat | m: sub a(Str $a) { }; for ^1000000 { my $a = a("foo") }; say now - INIT now # better benchmark | 13:46 | |
camelia | rakudo-moar f99bdb: OUTPUT«0.33312953» | ||
lizmat | m: sub a(Str $a) { }; for ^1000000 { my $a }; say now - INIT now # better benchmark | ||
camelia | rakudo-moar f99bdb: OUTPUT«0.31736595» | ||
13:46
woolfy joined,
woolfy left,
kurahaupo left
13:48
brrt` is now known as brrt,
kjs_ joined
|
|||
jnthn | A benchmark that does it as a method may also be good | 13:48 | |
As that rules out the static optimizer doing clever things that it can't in the actual problem case | |||
lizmat | the sub "a" simply does not appear in the profile in the Str case | 13:49 | |
and it appears 100000 times in the Str:D case | |||
so that explains the difference | |||
jnthn | lizmat: In that benchmark, yes, but your original case was a method? | 13:52 | |
13:52
zakharyas joined
|
|||
lizmat | yes, testing now | 13:54 | |
13:54
sivoais left
|
|||
lizmat | as a class method, it doesn't make a difference | 13:55 | |
13:55
sivoais joined
13:56
ely-se left
|
|||
lizmat | as an instance method either | 13:56 | |
13:58
octoploid left
|
|||
lizmat | m: multi a(Str:U) { say "undef" }; multi a(Str $a) { say "str" }; a(Str) # jnthn, is this correct ? | 13:58 | |
camelia | rakudo-moar f99bdb: OUTPUT«Ambiguous call to 'a'; these signatures all match::(Str:U $):(Str $a) in block <unit> at /tmp/aTJ1QDASfH line 1» | ||
jnthn | Yeah, we've never factored :D/:U vs. the lack of one into a tighter/narrower distinction. | 14:01 | |
lizmat pulls herself out of this rabbit hole for now | |||
donaldh | They take the same length of time with --optimize=0 | 14:02 | |
14:02
ely-se joined
|
|||
donaldh | m: my $x = 0; sub a(Str:D $s) { $x++; }; for ^1000000 { a('foo'); }; say now - INIT now; | 14:04 | |
camelia | rakudo-moar f99bdb: OUTPUT«0.646731» | ||
donaldh | m: my $x = 0; sub a(Str $s) { $x++; }; for ^1000000 { a('foo'); }; say now - INIT now; | ||
camelia | rakudo-moar f99bdb: OUTPUT«0.63431186» | ||
14:04
FROGGS joined
|
|||
donaldh | or when the sub body is non-trivial | 14:05 | |
lizmat | ah, ok, good to know: so the optimizer is tricked out of optmizing a trivial body away on Str:D | 14:06 | |
donaldh | looks that way yes | ||
14:07
sivoais left
|
|||
masak | jnthn: "we've never factored" -- but intuitively that feels like it should be part of it, yes? | 14:07 | |
lizmat | jnthn : looks like attrinited code is about 2x as fast | ||
masak | I guess what I'm asking is whether it's a bug. | ||
14:09
sivoais joined
14:10
perlawhirl left
|
|||
FROGGS | o/ | 14:12 | |
14:16
skids joined
14:17
sivoais left,
RabidGravy joined
|
|||
lizmat | FROGGS o/ | 14:18 | |
FROGGS | hi lizmat :o) | ||
14:19
sivoais joined
14:20
vendethiel joined
14:25
wamba joined,
sivoais left
|
|||
RabidGravy | HARR! | 14:28 | |
yoleaux | 11:11Z <perlawhirl> RabidGravy: stringy mode dies on suid/sgid files. your method is wrong, .execute, not .executable. it's also wrong in your docs | ||
11:26Z <perlawhirl> RabidGravy: i've submitted a pull request... it's my first one ever. evar! | |||
14:37
perl6newbee joined
14:39
sena_kun joined
|
|||
flussence | .oO( multi dispatch both looks and acts a lot like CSS... ) |
14:40 | |
14:42
zakharyas left
|
|||
RabidGravy | :-O | 14:43 | |
I'd better add some tests for ^ | |||
sena_kun | Since Nil is not a 'real' value, the most perl6ish way to represent 'Here is nothing' is empty list? | ||
m: my $var = Nil; $var eq Nil; | 14:44 | ||
camelia | rakudo-moar f99bdb: OUTPUT«WARNINGS for /tmp/OKHPsBd9Ec:Useless use of "eq" in expression "$var eq Nil" in sink context (line 1)Use of uninitialized value $var of type Any in string contextAny of .^name, .perl, .gist, or .say can stringify undefined things, if needed. in b…» | ||
14:44
rindolf left
|
|||
lizmat | sena_kun: Nil indicates the absence of a value where there could/should be one | 14:45 | |
14:45
virtualsue joined
|
|||
dalek | rl6-roast-data: 0320526 | coke++ | / (6 files): today (automated commit) |
14:46 | |
sena_kun | lizmat, docs say so, but how can I compare something to Nil, if Nil just 'erases' variable content after assigment? Or I don't understand how Any/Nil works, which is more probably. | 14:47 | |
lizmat | m: my $a is default(42) = 666; say $a; $a = Nil; say $a | 14:48 | |
camelia | rakudo-moar f99bdb: OUTPUT«66642» | ||
lizmat | sena_kun: assigning Nil returns the original state | ||
m: my $a = 666; say $a; $a = Nil; say $a # default default state is Any | 14:49 | ||
camelia | rakudo-moar f99bdb: OUTPUT«666(Any)» | ||
lizmat | sena_kun: does that explain it a bit better ? | ||
hoelzro | o/ #perl6 | 14:50 | |
lizmat | hoelzro o/ | ||
14:50
sjoshi left
|
|||
hoelzro | o/ lizmat | 14:50 | |
sena_kun | lizmat, yeah, I understand it now. But I wonder what I can use then. Something like "None" or perl6 idiomatic replacement for it. | ||
hoelzro, hi. | 14:51 | ||
hoelzro | o/ sena_kun | ||
lizmat | m: my $a is default(Nil); say $a | ||
camelia | rakudo-moar f99bdb: OUTPUT«Nil» | ||
lizmat | m: my $a is default(Nil); say $a == Nil | ||
camelia | rakudo-moar f99bdb: OUTPUT«Use of Nil in numeric context in block <unit> at /tmp/q125CjKhfB line 1Use of Nil in numeric context in block <unit> at /tmp/q125CjKhfB line 1True» | ||
lizmat | m: my $a is default(Nil); say $a == Any | 14:52 | |
camelia | rakudo-moar f99bdb: OUTPUT«Use of Nil in numeric context in block <unit> at /tmp/05frxoqEvl line 1Use of uninitialized value of type Any in numeric context in block <unit> at /tmp/05frxoqEvl line 1True» | ||
lizmat | yeah, that still won't work | ||
sena_kun | lizmat, and "Numeric"(or "String" for 'eq') context warning will be still here. | ||
lizmat | m: my $a is default(Nil); my $b is default(42) = 666; say $b; $b = $a; say $b | ||
camelia | rakudo-moar f99bdb: OUTPUT«66642» | ||
14:52
franciskittu joined
|
|||
hoelzro | timotimo: Linenoise and Readline both provide persistent history; I just never got around to hooking it up because I didn't want to decide where the history should live | 14:53 | |
MadcapJake | m: my $a is default(Nil); say $a.isa(Nil) | ||
camelia | rakudo-moar f99bdb: OUTPUT«True» | ||
lizmat | sena_kun: generally, an absence of an initialization is indicated with definedness | ||
moritz | hoelzro: ~/.perl6/rakudo-history | ||
sena_kun | MadcapJake, it seems your code did the trick, thanks. | 14:54 | |
hoelzro | moritz: I would be ok with that. | ||
MadcapJake | m: my $a is default(Nil); say $a.defined | ||
camelia | rakudo-moar f99bdb: OUTPUT«False» | ||
moritz | hoelzro: maybe with .readline and .linenoise added, if they have different file formats | ||
lizmat | m: my $a; say $a.defined | ||
camelia | rakudo-moar f99bdb: OUTPUT«False» | ||
lizmat | m: my $a = 42; say $a.defined | ||
MadcapJake | xD | ||
camelia | rakudo-moar f99bdb: OUTPUT«True» | ||
hoelzro | good point | ||
sena_kun | lizmat, thanks. | 14:55 | |
Okay then, I will use '.defined' to check. Back to coding... | 14:56 | ||
14:57
ely-se left
15:02
vendethiel left
15:13
kjs_ left
|
|||
gfldex | docs are not building again | 15:15 | |
lizmat | gist? | ||
gfldex | doc.perl6.org/build-log/build-2016-...0+0000.log | ||
Pod::To::BigPage is working fine so the .pod files should be OK | 15:16 | ||
lizmat | hmmm... doesn't ring a bell... :-( | 15:17 | |
gfldex | i will try a local build in a bit | 15:18 | |
MadcapJake | hoelzro: what's "LTA" mean? | 15:23 | |
hoelzro | MadcapJake: Less Than Awesome | ||
15:23
vendethiel joined
15:24
virtualsue left
|
|||
MadcapJake | hoelzro: thanks! I was thinking that I could include an "add code" button that would create a field (on this form I'm working on) which--when you submit--would generate a proper code box in the email, this would save from having to attach things, would you think this better? | 15:25 | |
15:26
brrt left,
ely-se joined
|
|||
sena_kun | Is it a known panda bug that if I fail building of a module once at test phase, then panda will never update source file for building to new(corrected) version, no matter how many times you change module code? If no, it's time to reproduce/open the issue. | 15:27 | |
15:27
kjs_ joined
|
|||
MadcapJake | sena_kun: are you providing the path to the module directory? | 15:28 | |
sena_kun | MadcapJake, of course. | ||
MadcapJake | have you tried `panda --force install <path>` | 15:29 | |
(note, i believe you do have to place --force before the install subcommand) | |||
sena_kun | MadcapJake, yeah. My exact command is 'panda --force install perl6-Compress-hpack/'. | 15:30 | |
15:31
yeahnoob left
|
|||
ugexe | i'd look at the .panda_workdir directory or whatever to see if its at least copying your changes over | 15:32 | |
h | 15:33 | ||
sena_kun | ugexe, I took a look at internal panda's file(like '.rakudobrew/moar-nom/install/share/perl6/site/sources/6DDF2F33D978C03CD0D0F4CDE2B909299B5DB582') and changes doesn't copied. It's the problem I'm about. | 15:34 | |
ugexe | oh. your path needs to start with a `.`. or a `/` | ||
./perl6-Compress-hpack/ | |||
sena_kun | s/panda's file/file panda use to point error/ | ||
ugexe | at least it used to | ||
sena_kun: those aren't internal panda files | 15:35 | ||
sena_kun | ugexe, do you think it can matter? Since I many times installed/reinstalled modules without any prefix. Will try next time I catch this bug. | ||
ugexe | the panda files will be in $*CWD.child('.panda_workdir') | ||
sena_kun: it matters because otherwise its treated as a module/distribution name to search for | 15:36 | ||
sena_kun | ugexe, aw, okay. I will use prefix then, thank you. | 15:37 | |
ugexe | again i dunno if its still neccesary. i only know it *used* to be | ||
MadcapJake | ugexe: i was thinking that too, but if it tries to run the tests then surely it's getting somewhere, right? | 15:39 | |
or is it getting that far sena_kun ? | |||
ugexe | but for all we know its just fetching the version from github that it finds from a search | 15:40 | |
sena_kun | ugexe, I'll file an issue with reproducible description if I hit it again anyway. Now my 'report' doesn't look like a proper report. | ||
ugexe | sena_kun: thanks | ||
15:41
ely-se left,
AlexDaniel joined,
Amnez777 joined,
Amnez777 left
15:42
Amnez777 joined,
Amnez777 left,
Amnez777 joined
15:45
vendethiel left,
aindilis joined
|
|||
sena_kun | MadcapJake, (as I see it) code compiles(syntactically), but if in tests there are a calls for some broken functions, this functions will be called, we got a runtime error and I will end with error text and 'No plan found in TAP output'. And after I change source file and try to install it again - then my changes won't be used, only version that didn't compiled. If I compile/install package and then *separately* write down and run some | 15:45 | |
test(that might fail) everything with reinstall will be okay. But not 'install/failed tests' both. | |||
15:45
fireartist left,
xpen joined
|
|||
sena_kun | Sorry for so long message written in poor runglish. | 15:45 | |
15:45
Amnez777 left,
Amnez777 joined
15:47
franciskittu left
|
|||
nine | I so wish important issues would be discussed as thoroughly as the pretty much irrelevant choice of bug reporting system... | 15:49 | |
MadcapJake | nine: xD | ||
bikeshedding always happens on the least important topics, it's gotta be some kind of Law of the Internet | 15:50 | ||
lizmat | jnthn: trying the attrinited approach, I get a strange failure with MAIN related code: gist.github.com/lizmat/ce236e35e082aa1db05e | ||
mspo | nine: propose changing the VCS and see what happens | ||
lizmat | jnthn: could use a sanity check there | ||
jnthn: would be nice if we could get that to work, as it looks it's making hash accesses 2x as fast | |||
afk for some time& | |||
pyrimidi_ | nine++ # re: keeping focus on the important things | 15:51 | |
15:51
pyrimidi_ is now known as pyrimidine
|
|||
nine | mspo: until someone actually offers to do the contless hours of work of moving 1200 open tickets from RT to GH _and_ changing all the references to those tickets in source and roast, I cannot even call this a discussion. | 15:52 | |
sena_kun | nine, if nobody here(except me) hits this issue, it's not so dangerous as it seems. | ||
There is a probability that it's me who 'do it wrong' and get a strange result. | 15:53 | ||
nine | I actually think the best course of action for moving to GH issues would be to work on fixing about a 1000 open issues so the rest can be moved easily. That way even if it turns out that GH sucks, we'd still have gotten rid of a 1000 issues ;) | 15:54 | |
15:54
kjs_ left
|
|||
pyrimidine | nine: we did a redmine -> github migration recently (for different reasons, to get off legacy hardware). It was a pain (and only half-arsed worked, still links back to old tickets) | 15:56 | |
15:56
vendethiel joined
|
|||
pyrimidine | nine: that was for ~200 tickets. Agree, would be more productive to just focus on the RT issues and close them. | 15:56 | |
nine | sena_kun: safest way to do this is just: cd perl6-Compress-hpack ; panda --force install . | ||
16:00
maybekoo5 left
|
|||
sena_kun | nine, will try it then. I want to take a look at panda code, actually, but haven't so much free time here. It will be easier if I will be able do to this, maybe. | 16:00 | |
pmurias | nine: we could try to automate the moving of GH issues from RT to GH and in the moved RT tickets just linked to the github one | 16:01 | |
nine: "Ticket moved to this url" | |||
nine: likely not worth doing unless RT starts causing serious trouble | |||
hoelzro | that's my issue (sorry for the pun); is RT *that* troublesome? | 16:03 | |
mspo | github issues kind of sucks, though | 16:05 | |
16:05
ZoffixW joined
|
|||
MadcapJake | sena_kun: if you're using rakudobrew you could always nuke your install | 16:05 | |
16:05
khw joined,
musiKk joined
|
|||
ZoffixW | Just noticed the discussion on the critical issue was taking place, so I came in to contribute... :) | 16:05 | |
mspo | NetBSD has been wanting to move bug trackers for ages but has some crazy number of tickets | ||
MadcapJake | mspo: that's my feeling on this, why move to a weaker issue tracker? | 16:06 | |
pyrimidine | I don't see the point in expending tuits on moving tickets to GH if it's not pressing, particularly if no one is volunteering. And what mspo++ said. | ||
mspo | MadcapJake: I have a whitepaper describing a "good enough" bug tracker that someone in netbsd's phd club finally wrote | ||
MadcapJake: proving that none of them were sufficiently good :) | |||
sena_kun | MadcapJake, I did so, since I don't have any other way to get rid of it. | 16:07 | |
ZoffixW | I've not read too far into the backlog, but... why the hell are we discussing moving tickets to GH? | ||
mspo | probably because you're doing dev on github | ||
jnthn | Because people like discussing stuff. Doesn't mean it's going to happen. :-) | ||
ZoffixW | :) | ||
jnthn | It started out with a "how do we make life better for people submitting bugs" | ||
ZoffixW | I thought the original Issue was (a) our websites and docs don't make it clear how to report bugs; and (b) signing up for RT is not ideal, so that's why MadcapJake is planning to add a web reporting interface | ||
So when and if that interface is ready, we simply update the docs and websites and the issue is resolved. Nothing needs to be moved anywhere. | 16:08 | ||
16:08
mr-foobar joined
|
|||
pyrimidine | MadcapJake++ # for taking the initiative! | 16:08 | |
jnthn | Indeed. | ||
ZoffixW | MadcapJake++ | ||
jnthn | I'm all for making it clearer how to submit good bug reports | ||
MadcapJake | ZoffixW: agreed, the discussion has certainly gotten OT | ||
ZoffixW | :) | ||
jnthn | Anyway, if it helps to have somebody with the authority to shoot down a move away from RT any time in the near future, then consider it done. :-) | 16:09 | |
ZoffixW | :D | ||
pyrimidine | MadcapJake: yep, that's what happens when I come into the conv midstream :P | ||
jnthn | I glanced at MadcapJake++'s form and it seemed to help people form a bug report with the important bits (what to do to reproduce, what was observed, what was expected) | 16:10 | |
MadcapJake | pyrimidine: no problem! I was more speaking to the github issue's OTness | ||
16:12
xpen left
|
|||
pyrimidine | MadcapJake: well, looking at backlog has become increasing difficult lately (though for good reasons, community-building++) | 16:13 | |
MadcapJake: but definitely awesome work on making bug reporting easier! | |||
jnthn | lizmat: Will have to apply that and build it when I have time. If I don't get chacne later today, please remind me about it again tomorrow. :) | 16:14 | |
16:14
FROGGS left,
xpen joined
16:16
_Gustaf_ left
|
|||
dalek | c: 7498cae | (Robert Newbould)++ | doc/Language/regexes.pod: s/than must/that must/ |
16:17 | |
c: 2ba2245 | (Zoffix Znet)++ | doc/Language/regexes.pod: Merge pull request #379 from c0nspiracy/patch-1 s/than must/that must/ |
|||
16:18
vendethiel left
16:19
nakiro left
16:24
cdg joined
|
|||
mspo | fwiw roundup was the only bug tracker possibly flexible enough to satisfy almost anyone's requirements | 16:29 | |
but customizing it enough takes tons of work, and it's python so slow-as-hell | 16:30 | ||
16:30
_mg__ joined
|
|||
mspo | github has basically killed all development of open source infrastructure/hosting suites | 16:31 | |
jast | I don't think so. there's gitlab, for instance, though that's commercially driven, too | 16:32 | |
it's just that writing a good bug tracker is not easy | |||
flussence | gitlab's also slow-as-hell, but I do like its issue tracker interface more than githubs | 16:33 | |
16:34
xpen left,
_mg_ left,
_mg__ is now known as _mg_
|
|||
flussence | (one nice thing they added recently: buttons to tally single-emoji replies so they don't need to clutter up a discussion) | 16:35 | |
16:37
virtualsue joined,
FROGGS joined
16:39
Sgeo_ joined
16:40
Sgeo left
16:41
_mg_ left
16:42
_mg_ joined
|
|||
Skarsnik | Hello, How the hell I can display my ticket on the main page of RT? it only offer me top priority tickets and that empty :( | 16:43 | |
ZoffixW | Skarsnik, tickets that you created you mean? | 16:44 | |
Skarsnik | Yes | ||
(and the half translation is annoying too, but whatever) | |||
I added the My tickets stuff on the config, but it's empty | 16:45 | ||
ZoffixW | At the top, go to Tickets->New Search, then in the "Add Criteria" panel, there's "Requestor's email address" select field in the middle and next to it, just type your RT email address and then click "Add these items and search" button | ||
moritz | I think "my tickets" is "tickets assigned to me", not "tickets I opened" | ||
Skarsnik | Oooh... | 16:46 | |
ZoffixW | I think in that case, that'd be the "Owner" select field and you just choose the user you want from the second select field next to it. | ||
16:47
Sgeo joined
16:48
Sgeo_ left
|
|||
Skarsnik | I am not in the list x) | 16:51 | |
16:51
Sgeo_ joined
|
|||
ZoffixW | ¯\_(ツ)_/¯ | 16:52 | |
16:53
Sgeo left
16:55
abraxxa left
|
|||
Skarsnik | (╯°□°)╯︵ ┻━┻ | 16:56 | |
Ah I managed with the advanced edit | |||
to enter manually | 16:57 | ||
mspo | RT's best feature is its excellent email support | 17:00 | |
17:00
Zero_Dogg left
17:01
Zero_Dogg joined
|
|||
moritz | question for the windows users: do you have to enhance PATH after installing the R* MSI? if yes, what exactly do you need to add? | 17:02 | |
17:02
_mg_ left
|
|||
Skarsnik | where the perl6 'binary' is and the location of moar.dll probably | 17:02 | |
moritz | I'm looking for, like, actual paths :-) | 17:03 | |
17:03
dakkar_ left
|
|||
moritz | something that I can write in instructions without looking stupid | 17:03 | |
jnthn | moritz: C:\rakudo\bin | ||
Skarsnik | depend if the user change the location in the installer? | ||
17:03
vendethiel joined
|
|||
jnthn | moritz: And | 17:03 | |
moritz | jnthn: that's all, no 'site' dir for panda or so? | ||
jnthn | C:\rakudo\share\perl6\site\bin | ||
Skarsnik | for me it will me like D:\rakudo\bin if i install it | ||
moritz | thanks jnthn++ | 17:04 | |
jnthn | True, though I think it's only relocatable by drive letter...you can't pick the path more specifically than that | ||
'cus it's not relocatable | |||
Skarsnik | You can do like gstreamer, it set a env variable with this location | ||
17:05
dakkar_ joined
|
|||
moritz | making moar+nqp+rakudo relocatable would be a great project | 17:05 | |
Skarsnik | rt.perl.org/Ticket/Display.html?id=126948 can probably closed ~~ | 17:06 | |
17:10
domidumont left
|
|||
dalek | c: c1683e9 | (Wenzel P. P. Peppmeyer)++ | util/update-and-sync: add debug info |
17:11 | |
c: 1c0c506 | (Wenzel P. P. Peppmeyer)++ | doc/Language/regexes.pod: Merge branch 'master' of github.com/perl6/doc |
|||
17:12
sena_kun left
17:18
ab5tract left,
ab5tract joined
17:20
chacewells joined
|
|||
chacewells | is there a recommended way to do heredocs with variable interpolation? q:to/WHATEVER/ seems to not have a double-quoting syntax | 17:21 | |
the only other option i'm aware of is qq{} | |||
jnthn | qq:to/WHATEVER/ | 17:22 | |
chacewells | jnthn: that's what i thought, but i've gotten errors on that syntax | ||
donaldh | chacewells: are you using {$var} syntax? | 17:23 | |
chacewells | tried that too, but let me do a quick sanity check to make sure i'm not just missing something | ||
jnthn | It may be that it interpolates things you aren't wanting it to | 17:24 | |
You can also opt in bit by bit | |||
q:s:to/WHATEVER/ should only interpolate scalars, for example | |||
chacewells | what i've been doing is q:to/WHATEVER/.subst('this', 'that') | ||
donaldh | github.com/donaldh/swagger-to-yang...ang.pl#L33 is a working example | ||
gfldex | chacewells: please provide the error message in question. | 17:25 | |
chacewells | yeah, qq: definitely works. i wonder what i was doing wrong yesterday | 17:26 | |
maybe i missed the curly-braces | |||
thanks guys | |||
donaldh | the joy of iterating through many wrong combinations. you miss the right combination :-/ | 17:27 | |
gfldex | Pod::To::HTML is not the best HTML generator possible, see: <h2 id="" type_str_does_not_support_associative_indexing.""=""> | 17:28 | |
jnthn | donaldh: Heh, I wrote a Swagger spec just a couple of days ago. Had never heard of YANG. :) | ||
donaldh | jnthn: very specific to network managment. | 17:29 | |
timotimo | gfldex: argh, that's a rather epic fail | ||
chacewells | haha amen | 17:30 | |
AlexDaniel | Skarsnik: I view my tickets like this: rt.perl.org/Public/Search/Simple.h...il.com+any | 17:31 | |
17:31
domidumont joined
|
|||
ZoffixW | chacewells, to clarify, $var will work, you don't need to write it as {$var} | 17:31 | |
AlexDaniel | Skarsnik: it will yell on you about CSRF but just click “click here to resume your request” | ||
ZoffixW | AlexDaniel, "Possible cross-site request forgery" :) | 17:32 | |
AlexDaniel | ZoffixW: ↑ | ||
ZoffixW | Ah! | ||
Cool. AlexDaniel++ | |||
AlexDaniel | don't ask me how I came up with that link | ||
ZoffixW | You sold your kidney to a shady hacker? | ||
AlexDaniel | but yeah, by changing the email you can view other tickets in a same fashion | ||
17:33
kjs_ joined
|
|||
moritz | I'm looking for a small concurrency example in Perl 6 for use in an article | 17:33 | |
any recommendations? | |||
ideally something with Supply and/or Promise | |||
dalek | href="https://perl6.org:">perl6.org: ea7e15e | (Steve Mynott)++ | source/downloads/index.html: Recommend Rakudo Star rather than Rakudobrew for most users. |
||
AlexDaniel | moritz: my recommendation is: don't mention .hyper | ||
moritz | AlexDaniel: I hadn't planned to :-) | 17:34 | |
AlexDaniel | good | ||
timotimo | yeah, .hyper isn't too stable right now ;( | ||
.hyper.map sometimes works, .hyper.grep never works | 17:35 | ||
17:35
cognominal left
17:36
cognominal joined
|
|||
ZoffixW | m: say ^10 .hyper.grep: *.is-prime | 17:36 | |
camelia | rakudo-moar f99bdb: OUTPUT«()» | ||
ZoffixW | :S | ||
17:36
pmurias left
|
|||
moritz | isn't grep implemented in terms of map? :-) | 17:37 | |
17:37
Amendil left
|
|||
moritz | m: say (^10).hyper.map({ .is-prime() ?? $_ !! Empty }) | 17:37 | |
camelia | rakudo-moar f99bdb: OUTPUT«HyperSeq.new» | ||
AlexDaniel | ZoffixW: rt.perl.org/Public/Search/Simple.h...+hyper+any | ||
jnthn | moritz: Something with the react/supply/whenever syntax | ||
moritz | m: say (^10).hyper.map({ .is-prime() ?? $_ !! Empty }).values | ||
camelia | rakudo-moar f99bdb: OUTPUT«(2 3 5 7)» | ||
moritz | jnthn: is that documented somewhere? I don't think I ever really understood that :/ | 17:38 | |
ZoffixW | AlexDaniel, stop trying to hack me with all those cross forgeries, mate :) | ||
AlexDaniel | ZoffixW: I don't understand how a search query could possibly be a possible CSRF | 17:39 | |
ZoffixW | ¯\_(ツ)_/¯ | ||
donaldh | jnthn: looking at VM bind lowering, I follow what is happening in Actions.nqp but not what features are lacking on JVM backend. What does moar have that JVM needs? | ||
jnthn | moritz: yes, RabidGravy++ wrote up some stuff on it I think | 17:40 | |
moritz: And also my advent post was about it. | |||
donaldh: I think it's actually in code-gen | 17:41 | ||
17:41
musiKk left
|
|||
RabidGravy | well, I altered the doc.perl6.org/language/concurrency to use it in the examples | 17:41 | |
jnthn | donaldh: Of note, QAST::Var parameters having the subnodes that do the type checks for that parameter | ||
stmuk_ | a watched cron job never runs :/ | 17:42 | |
donaldh | jnthn: I thought that might be the case. So I need to compare as_jast for blocks and moar's compile_node for blocks ? | ||
and figure it out from there | |||
jnthn | donaldh: Yeah | ||
Skarsnik | Wow I just found a "Perl 6 essential" while sorting stuff | 17:45 | |
jun 2003 ~~ | 17:46 | ||
17:46
vendethiel left
|
|||
moritz | is there a list somewhere of equivalence between react/whenever/emit syntax and method calls? | 17:46 | |
dalek | href="https://perl6.org:">perl6.org: 04f6c2e | (Steve Mynott)++ | source/downloads/index.html: tweak some whitespace I didn't see in lynx |
17:48 | |
ecs: 983eaa7 | (Zoffix Znet)++ | S22-package-format.pod: Fix example of "perl" META key "perl" specifies *minimum* version, but example and its explanation demonstrate it as the *maximum* version. |
17:50 | ||
href="https://perl6.org:">perl6.org: c01dfba | (Steve Mynott)++ | source/index.html: Compiler -> Rakudo Star on Homepage |
17:51 | ||
flussence | blogs.perl.org/users/martin/2016/01...nsion.html -- this looks interesting, a postfix operator for "fail out of the immediately enclosing statement if undef". I guess we'd use andthen/orelse for that sort of thing? | 17:56 | |
17:57
vendethiel joined
|
|||
flussence | (and postfix with, I suppose) | 17:57 | |
RabidGravy | m: class A { has Str $.a = "A" }; class B is A { has Int $.a = 1 }; say B.new; say B.new.a | 17:58 | |
camelia | rakudo-moar f99bdb: OUTPUT«B.new(a => 1, a => "A")1» | ||
flussence | oh, yep, those are some comments down below. | ||
17:59
molaf joined
18:00
ZoffixW left
|
|||
Skarsnik | I would want a something like ! that do 'check if left is defined" to avoid if $stuff.defined and $stuff < 42; so you can write if $stuff ?< $stuff | 18:00 | |
$stuff ?< 42 | 18:01 | ||
arnsholt | flussence: It's an interesting idea, but I'm not entirely sure I like the exact approach suggested in that post | ||
My main gripe is that it's an operator that potentially interacts with other operators in the expression | |||
flussence | m: my $stuff; say $stuff //< 42 | ||
camelia | rakudo-moar f99bdb: OUTPUT«5===SORRY!5=== Error while compiling /tmp/mmOOeD_aLKUnable to parse expression in quote words; couldn't find final '>' at /tmp/mmOOeD_aLK:1------> 3my $stuff; say $stuff //< 427⏏5<EOL> expecting any of: quote wo…» | ||
18:01
chacewells left
|
|||
arnsholt | So kind of macro-like. Except it actually interacts with operators *above* it in the expression, not below | 18:02 | |
So the implementation of this is likely to be at least a little bit hairy | |||
18:03
firstdayonthejob joined
|
|||
AlexDaniel | gfldex: just curious, why not use trans for that? | 18:03 | |
gfldex | that would be a little bit slower | ||
at least it did when i benchmarked last time | 18:04 | ||
AlexDaniel | m: say ‘hello "world"’.trans(‘"’ => ‘"’) | ||
camelia | rakudo-moar f99bdb: OUTPUT«hello &world&» | ||
AlexDaniel | hmmmmmm | ||
18:04
dakkar_ left
|
|||
AlexDaniel | ok it doesn't even work this way | 18:05 | |
although I've always thought that it does… | |||
dalek | href="https://perl6.org:">perl6.org: 1db3354 | (Steve Mynott)++ | source/index.html: Use Star announcement |
||
gfldex | m: say ‘hello "world"’.trans([‘"’] => [‘"’]) | ||
camelia | rakudo-moar f99bdb: OUTPUT«hello "world"» | ||
AlexDaniel | ah yeah | 18:06 | |
gfldex | m: say ‘hello "world"’.trans([‘"’, 'e'] => [‘"’, 'E']) | ||
camelia | rakudo-moar f99bdb: OUTPUT«hEllo "world"» | ||
timotimo | m: say 'hello "world"'.trans('"' => '"') | ||
camelia | rakudo-moar f99bdb: OUTPUT«hello &world&» | ||
timotimo | ah, that's why ... | ||
18:07
SCHAAP137 joined
|
|||
AlexDaniel | gfldex: interestingly, I don't think that there is any reason for 「trans」 to be slower | 18:07 | |
18:07
donaldh left
|
|||
gfldex | it calls subst in a loop. That's at least 2 iterators it needs to create. | 18:08 | |
AlexDaniel | using a regex is definitely more complicated than doing trans, so there's some room for optimization, I guess | ||
timotimo | m: say 'hello "world"'.trans('"', '"') | ||
camelia | rakudo-moar f99bdb: OUTPUT«Only Pair objects are allowed as arguments to Str.trans, got Str in block <unit> at /tmp/kdpBJnktAS line 1» | ||
moritz | RabidGravy: the IO::Socket::Async echo example seems to be broken (on perl6/doc) | ||
RabidGravy: github.com/perl6/doc/issues/380 | 18:10 | ||
RabidGravy | Boo! I already fixed that *twice* | 18:11 | |
moritz | seems we need better tests :-) | ||
AlexDaniel: fwiw you can push to perl6/ecosystem directly; no need to make pull requests | 18:13 | ||
AlexDaniel | ? | ||
moritz | AlexDaniel: oh sorry, you merged one, didn't open one | ||
AlexDaniel | :) | ||
RabidGravy | moritz, are you absolutely sure? it works fine here | 18:14 | |
moritz | RabidGravy: oh, seems my rakudo is pre-historic. My bad, sorry | ||
RabidGravy | :) | 18:15 | |
moritz | 2015.07.something | 18:16 | |
18:17
virtualsue left,
fireartist joined
18:18
vendethiel left,
_mg_ joined
|
|||
RabidGravy | moritz, yeah that'll do it, I'm surprised that it even compiled TBH :) | 18:19 | |
18:20
ocbtec left,
vendethiel joined
18:22
ocbtec joined
18:23
araujo joined
18:28
Actualeyes left
|
|||
gfldex | Pod::To:HTML may have to be updated by hand on the host that is building the docs | 18:28 | |
timotimo | the STATUS.txt of fosdem video uploads reached 68 (up from 64 earlier today), but i don't see perl related videos up yet | 18:35 | |
gfldex | they obviously have the wrong priorities | 18:37 | |
timotimo | ;) | ||
moritz | gfldex: I'm building a rakudo 2016.01 on hack right now | 18:41 | |
18:43
cosarara joined
|
|||
jdv79 | is hack under mem pressure? its taking an awfully long time to flip between screen sessions | 18:43 | |
[Coke] | MadcapJake: postimg.org/image/js469h5wl/ - suggestion, add "Rakudo " in front of the compiler versions. | 18:44 | |
18:44
cosarara_ left
|
|||
timotimo | moritz: i was wondering why only hack is on the collectd dashboard | 18:44 | |
perhaps it'd also be interesting to get info about the VM host, for example | 18:45 | ||
18:45
lostinfog joined,
DoverMo joined
18:50
ely-se joined
18:56
hyuil joined
18:57
hyuil left
19:04
fireartist left
|
|||
skids | github.com/skids/perl6-Control-Bail # bikeshed now open for business. | 19:05 | |
perlpilot | .oO( we're using Perl 6 for criminals now? ) |
19:08 | |
.oO( or perhaps fishing with a spinning reel? ) |
19:09 | ||
geekosaur | on the one hand, Haskell's bracket. (On the other, it's capable of leaking resources when monad stacks are involved, and the MonadBaseControl workaround is a bit of a beast.) | ||
timotimo | perlpilot: for people who handle lots of money, but make a mistake | ||
geekosaur wonders about: my $foo will undo... | 19:10 | ||
19:11
fireartist joined
|
|||
timotimo | geekosaur: i expect that also unconditionally execute the cleanup code regardless of where in the block execution went wrong | 19:12 | |
geekosaur | mm, point | ||
jdv79 | where does the flip between the non-precomp'd panda and the precomp'd one happen? | ||
19:13
addison joined
|
|||
geekosaur | although if you attach it to the var, the var can tell if it has a value or a type object | 19:13 | |
timotimo | yes, but that's the kind of boilerplate that skids seeks to eliminate with that module | ||
geekosaur | ...otoh if you attach it to the var, the e.g. undo code could leak outside the scope. different use case, I guess | ||
timotimo | i don't think the undo property moves through the program | 19:14 | |
since it not only has to be present in the Var itself, but also be installed as a phaser on the block | 19:15 | ||
skids still trying to figure out exactly what it does at the CLI. | |||
perlpilot | run-time adding of phasers is ... interesting. | ||
feels like the capability should already be there too | |||
(which I guess it is if you're willing to talk QAST and nqp) | 19:16 | ||
timotimo | i'm surprised you can call the same block multiple times in a row without the trail/bail actions piling up more and more over time | ||
skids | Well, depends on whether you think the optimizer should unroll the whole mess before execution, I guess. | 19:17 | |
jdv79 | paste.scsys.co.uk/505098 | ||
geekosaur | timotimo, it wouldn't with bail, it presumably would with a hypothetical "will bail" trait | ||
timotimo | i expect the optimizer will bail out of all static optimizations when it sees curcode be called | ||
jdv79 | where does that happen? | ||
geekosaur | if its attached to the var, it should stay alive as long as the var does. | ||
er, will undo | 19:18 | ||
timotimo | ah | ||
wait, "will undo" doesn't exist? | |||
geekosaur | not so far as I know | ||
timotimo | oh | ||
m: do { my $a will undo { say "oh" }; False } | 19:19 | ||
camelia | rakudo-moar f99bdb: OUTPUT«WARNINGS for /tmp/uPiZ4LxKlZ:Useless use of constant value False in sink context (line 1)» | ||
geekosaur | I was just noodling. then realized that any use case for it would be different... and possibly nonexistent since I'm not even sure how that would work if it is scoped like that/// | ||
timotimo | m: sub test { my $a will undo { say "oh" }; fail }; test | ||
camelia | rakudo-moar f99bdb: OUTPUT«oh» | ||
timotimo | it does exist | ||
skids | m: sub a () { my $foo will keep { 42.say }; $foo = 1; return $foo; }; 43.say; a(); | ||
camelia | rakudo-moar f99bdb: OUTPUT«4342» | ||
timotimo | and even work | ||
geekosaur | huh | ||
19:19
DrBlue joined
|
|||
geekosaur | what does that do if I leak the VAR (not value) out of the sub? | 19:20 | |
(I think that can be done with sufficient evil) | |||
skids | m: sub a () { my $foo will keep { 42.say }; $foo = 1; return $foo.VAR; }; 43.say; my $b := a(); 44.say; | 19:21 | |
camelia | rakudo-moar f99bdb: OUTPUT«434244» | ||
skids | Yeah it's the actual variable not the Scalar | ||
geekosaur | I meant the undo case | ||
skids | m: sub a () { my $foo will leave { 42.say }; $foo = 1; return $foo.VAR; }; 43.say; my $b := a(); 44.say; | ||
camelia | rakudo-moar f99bdb: OUTPUT«434244» | ||
geekosaur | it can't undo the scope it was created in and it's not clear that it should fire if the scope it ends up in fails | ||
or similar for LEAVE etc | 19:22 | ||
skids | timotimo: Doh, yes, they do pile up. Darn. | 19:29 | |
timotimo | then you need a state variable to go with your code and install the phasers unconditionally at compile-time | ||
skids | timotimo: well, will need some sort of per-clone mechanism. | 19:30 | |
timotimo | oh, of course | 19:31 | |
a regular variable, not a state variable | |||
19:32
tochjammer joined
19:34
rindolf joined
19:35
espadrine left
19:36
DrBlue is now known as jmark
|
|||
skids | Well, at least I should understand more about when clones happen, succeed or fail ;_0 | 19:37 | |
19:37
wamba left
19:39
mohae_ left
19:41
ely-se left
19:42
_mg_ left
19:44
DoverMo left,
perl6newbee left
19:45
mohae joined
19:47
yqt joined
19:51
fireartist left
19:54
perlawhirl joined
19:56
fireartist joined
|
|||
Hotkeys | m: say v6 < v7 | 19:58 | |
camelia | rakudo-moar f99bdb: OUTPUT«Cannot call Real(Version: ); none of these signatures match: (Mu:U \v: *%_) in block <unit> at /tmp/gQLmAwOfcc line 1» | ||
19:58
perlawhirl left
|
|||
Hotkeys | why does this happen? | 19:58 | |
yet | |||
m: v6 cmp v7 | 19:59 | ||
camelia | rakudo-moar f99bdb: OUTPUT«WARNINGS for /tmp/AW5Q5Zw3yg:Useless use of "cmp" in expression "v6 cmp v7" in sink context (line 1)» | ||
Hotkeys | isfine | ||
m: say v6 cmp v7 | |||
camelia | rakudo-moar f99bdb: OUTPUT«Less» | ||
timotimo | because < is strictly for numeric comparison | ||
how do you compare versions to regular numbers? | |||
moritz | m: say v6 before v7 | ||
camelia | rakudo-moar f99bdb: OUTPUT«True» | ||
Hotkeys | lame | ||
timotimo | i don't think so | ||
moritz | it's simply a choice to have 'before' the general, DWIM comparison, and < strictly for numbers | 20:00 | |
Hotkeys | m: v6 lt v7 # works | ||
camelia | rakudo-moar f99bdb: OUTPUT«WARNINGS for /tmp/LFxgPTavVJ:Useless use of "lt" in expression "v6 lt v7" in sink context (line 1)» | ||
timotimo | perl decided to make its operators coercive and have more operators rather than overload existing operators for different types | ||
Hotkeys | m: say v6 lt v7 # works | ||
camelia | rakudo-moar f99bdb: OUTPUT«True» | ||
moritz | m: say v12 lt v9 | ||
camelia | rakudo-moar f99bdb: OUTPUT«True» | ||
moritz | "works" | ||
geekosaur | heh | ||
timotimo | yeah, lt coerces to String | ||
moritz | for some value of works | ||
20:00
sivoais joined
|
|||
Hotkeys | I wish the repl didn't lull me into a false sense of say-curity | 20:01 | |
geekosaur | next up, QuickCheck port >.> | 20:02 | |
jdv79 | wow, some test suites taking forever these days. | 20:04 | |
dalek | href="https://perl6.org:">perl6.org: d0cc162 | (Steve Mynott)++ | source/downloads/index.html: don't leave out BSD and add etc. |
||
20:05
virtualsue joined
|
|||
moritz is curious if the doc build will work again | 20:05 | ||
I've updated the perl6 there to 2016.01 and installed the required modules | |||
20:05
firstdayonthejob left,
perlawhirl joined
|
|||
timotimo | neat. | 20:06 | |
when i recently looked at the website, i thought the update had gotten stuck, but it's just that the changes for the recent rakudo star release were a bit ... understated :) | |||
20:07
kjs_ left
20:08
lokien_ joined
20:09
sivoais left
20:10
sivoais joined
|
|||
Skarsnik | ooh we have a 2016.01? | 20:11 | |
20:11
ZoffixW joined
|
|||
moritz | we do! \o/ | 20:12 | |
20:12
Amendil joined
|
|||
ZoffixW | jdv79, ranguard and anyone else working on MetaCPAN6 stuff around? I'm writing a blog post about module ecosystem and I wanted to do a call for volunteers to help out. What can I include? If someone wants to help out, where should the look into? | 20:12 | |
20:13
pi4 left,
pi4 joined
20:14
laz78 joined
20:16
darutoko left
20:18
firstdayonthejob joined
20:19
spider-mario joined,
sivoais left,
kanishka left
20:20
sivoais joined
|
|||
stmuk_ drinks a Jack in memory of Lemmy | 20:26 | ||
20:26
domidumont left
|
|||
ZoffixW | Lemmy? | 20:27 | |
jdv79 | ZoffixW: fixing the cur locking issue(s), trying to install dists and filing bug reports on hangs or fails, stopping in #perl6-toolchain and asking, etc... | 20:28 | |
ZoffixW | k, I'll mention #perl6-toolchain | ||
dalek | href="https://perl6.org:">perl6.org: 6785a45 | (Steve Mynott)++ | source/downloads/index.html: actually Configure.pl in the example needs root |
||
jdv79 | i'm only just now trying to get back into it. movement is pretty slow it seems lately. xmas burnout/recovery maybe. idk | 20:29 | |
20:30
sivoais left
|
|||
jnthn | jdv79: Yes, certainly some of that. :) | 20:30 | |
20:31
sivoais joined,
addison left
|
|||
ZoffixW | It's kinda sucky our instructions need a root. Why not have --prefix be a user dir? Anyone wanting to install system-wide can change the prefix and figure out the need for root by themselves. Is that just to avoid the requirement of adding a new PATH? | 20:31 | |
stmuk_ | ZoffixW: I suppose it could be ${HOME}/opt but I'd guess most people have root on a linux desktop and would use /opt or /usr/local | 20:34 | |
20:34
addison_ joined
|
|||
stmuk_ | TBH anyone who doesn't understand UNIX perms is unlikely to be able to install or run rakudo | 20:34 | |
moritz | what are you two talking about? our default prefix is ./install, right? | 20:35 | |
stmuk_ | (based on me trying to explain the install at a london hackday) | ||
moritz | oh, extra instructions on perl6.org | ||
stmuk_ | I was using an example of --prefix | ||
ZoffixW | This is an extremely terrifying statement "<stmuk_> TBH anyone who doesn't understand UNIX perms is unlikely to be able to install or run rakudo" | ||
For a language who claims to be n00b-friendly | 20:36 | ||
moritz | well | ||
stmuk_ | well the solution is binary installs | ||
moritz | right | ||
a better .msi (that does the PATH fixup itself) | |||
stmuk_ | which of course will use root :) | ||
ZoffixW | heh | ||
moritz | up-to-date packages for all linux/UNIX flavors | 20:37 | |
haha, so easy to say :-) | |||
ZoffixW | :) | ||
20:38
dolmen joined
|
|||
dalek | href="https://perl6.org:">perl6.org: 2d7e1ef | (Zoffix Znet)++ | source/downloads/index.html: Fix tpo |
20:38 | |
perlawhirl | .tell RabidGravy updated 'ls' script: hastebin.com/usidanuzux.pl | 20:39 | |
20:39
diakopte1 joined,
emdashcomma_ joined
|
|||
perlawhirl | .seen RabidGravy | 20:40 | |
.botsnack | |||
20:40
sivoais left
|
|||
RabidGravy | I'm here! | 20:40 | |
nice one on the new ls :) | 20:41 | ||
20:41
ely-se joined
|
|||
perlawhirl | ok haha | 20:41 | |
ZoffixW | .u – | ||
geekosaur | another victim of netsplits? | ||
RabidGravy | just head down in some code I just broke big time | 20:42 | |
geekosaur | (yoleaux is here but might well be stuck) | ||
stmuk_ | does moar statically link? I was wondering about a "fat" x86-64 binary tarball | ||
20:42
sivoais joined
|
|||
stmuk_ | not ideal I know | 20:42 | |
20:42
kjs_ joined
20:43
Cabanoss- joined
|
|||
perlawhirl | :q | 20:45 | |
20:45
perlawhirl left
20:46
Peter_WR joined
|
|||
stmuk_ | ^X^Q | 20:46 | |
20:46
huggable joined
20:47
firstdayonthejob left,
virtualsue left,
pyrimidine left,
emdashcomma left,
Cabanossi left,
noganex left,
ribasushi left,
Upasaka_ left,
Peter_R left,
SmokeMachine____ left,
|Tux| left,
yoleaux left,
diakopter left,
Cabanoss- is now known as Cabanossi
|
|||
ZoffixW | weeeeeeeeee | 20:47 | |
DrForr | Just filed a NativeCall bug - Apparently assigning 0 to a union of fields within a CStruct causes NativeCall to assign a type object to the CStruct field rather than the union. | 20:48 | |
20:48
_mg_ joined,
noganex joined,
ZoffixW left
20:49
ramon joined,
pyrimidine joined,
ribasushi joined,
SmokeMachine____ joined,
virtualsue joined,
F1AA9FQP joined,
F1AA9BRI joined,
Upasaka_ joined,
yoleaux joined,
hitchcock.freenode.net sets mode: +v yoleaux,
virtualsue left,
SmokeMachine____ left,
SmokeMachine____ joined
|
|||
stmuk_ | I did wonder about adding a "Star Errata" section somewhere | 20:49 | |
20:49
ramon is now known as Guest88614
20:50
Upasaka_ left,
Upasaka joined
|
|||
ely-se | I read that as "Star Erotica" | 20:51 | |
20:51
sivoais left
20:52
sivoais joined
20:53
virtualsue joined,
risou is now known as risou_awy
|
|||
geekosaur | that'd be ao3, not perl6 >.> | 20:53 | |
20:53
risou_awy is now known as risou,
fireartist left
20:57
geraud joined
|
|||
Skarsnik | DrForr, weird, what is the rt? | 20:58 | |
20:58
sivoais left
20:59
firstdayonthejob joined
|
|||
geekosaur | 127460 (just hit ,y inbox) | 21:00 | |
jdv79 | Method 'phasers' not found for invocant of class 'Code' | ||
is that familiar to anyone? | |||
FROGGS | not to me | 21:01 | |
jdv79 | "react whenever $main_supply {" is the line that hits that | ||
hmm | |||
21:01
|Tux| joined
|
|||
moritz | error messages from react blocks report wrong line numbers | 21:01 | |
jdv79 | o | 21:02 | |
RabidGravy | react { whenever { } } | ||
moritz | that is, they report that of the react, not of the actual error | ||
RabidGravy: does it make a difference? | |||
RabidGravy | yep | 21:03 | |
MadcapJake | .seen gfldex | ||
yoleaux | I saw gfldex 18:37Z in #perl6: <gfldex> they obviously have the wrong priorities | ||
RabidGravy | m: react whenever Supply.interval(1) -> $v { say $v } | ||
camelia | rakudo-moar f99bdb: OUTPUT«0Method 'phasers' not found for invocant of class 'Code' in block <unit> at /tmp/3fWB4IM_Ym line 1» | ||
RabidGravy | awful error message though | ||
moritz | that error message is extremly LTA | ||
jdv79 | i get that error inconsistently. races or something?... | 21:04 | |
moritz | I also don't understand why we don't require curly braces after the react when we need it semantically | ||
or is that supposed to work, and just a bug? | |||
jdv79 | yeah, blocks up in a futex otherwise. cool. | 21:05 | |
MadcapJake | .ask gfldex I keep getting a strange error using HTTP::Server::Simple::PSGI, seemingly randomly it will just crash and spit out «Use of uninitialized value of type Any in string context» when trying to split the url inside net_server. But the weird part is, it doesn't happen when there is a request sent. I can't make sense of it. | ||
yoleaux | MadcapJake: I'll pass your message to gfldex. | ||
jdv79 | i'll rebuild | ||
21:07
molaf left
|
|||
DrForr | Yes, 127460. | 21:07 | |
RabidGravy | yeah, I'd expect "react whenever" to fail less amboguously in the parse, and REACT takes a block argument, so I'm mystified | ||
moritz | sub REACT(&block) | 21:09 | |
that's actually a Positional type constraint | |||
21:09
Zero_Dogg left
|
|||
moritz | could be changed to sub REACTE(Block \block) { } | 21:09 | |
21:09
Zero_Dogg joined
|
|||
jdv79 | would it be possible to have bearable lag on hack? | 21:10 | |
FROGGS: is that you? | |||
waiting seconds for my term to unfreeze is out of control | 21:11 | ||
21:11
Guest88614 left
|
|||
FROGGS | I'm not logged in | 21:11 | |
moritz | hack seems pretty responsive to me righ tnow | ||
load average of 1.4 | |||
21:12
vodka joined
|
|||
jdv79 | huh, ok | 21:12 | |
moritz | jdv79: heh, you seem two have two long-running rakudo processes :-) | ||
jdv79 | well, my term to my box is fine and my term to hack is super laggy | ||
moritz | one JVM, one more | ||
jdv79: might be network | |||
*moar | |||
jdv79: I had the same an hour or so ago | 21:13 | ||
jdv79 | k | ||
21:16
virtualsue left
21:17
_mg_ left
|
|||
gfldex | MadcapJake: try to run it with --ll-exception to see if that leads somewhere | 21:20 | |
yoleaux | 21:05Z <MadcapJake> gfldex: I keep getting a strange error using HTTP::Server::Simple::PSGI, seemingly randomly it will just crash and spit out «Use of uninitialized value of type Any in string context» when trying to split the url inside net_server. But the weird part is, it doesn't happen when there is a request sent. I can't make sense of it. | ||
21:21
go|dfish left
21:22
vodka left
21:23
Psyche^ joined
21:28
Psyche^_ left
21:30
buharin joined
21:31
molaf joined
21:32
buharin left,
buharin joined
|
|||
buharin | hello :) | 21:32 | |
21:33
buharin left,
buharin joined
|
|||
[Coke] | buharin: hi | 21:33 | |
21:34
bjz left
21:35
kaare_ left
21:37
ajr_ joined
|
|||
timotimo | heyo | 21:38 | |
RabidGravy | HARR! | 21:40 | |
21:42
grondilu left
|
|||
ajr_ | I'm trying to translate this s/\w<(^>]+)>/\U$1/g P5 regex to P6 s/\w<(<:!>>+)>/uc$0/g What am I doing wrong? Pointers to the documentation welcomed. | 21:42 | |
21:43
newbie joined,
newbie is now known as Guest35482
|
|||
RabidGravy | took, me a second to parse the P5 one | 21:44 | |
ajr_ | correction to the P5 - there's a left [ in there | ||
21:44
mr-foobar left
|
|||
ajr_ | s/\w<([^ &c | 21:45 | |
21:45
yqt left
|
|||
perlpilot | ajr_: < are meta in P6, but not P5 | 21:46 | |
21:46
addison_ left
|
|||
ajr_ | Literal < needs escaping? | 21:46 | |
21:47
mr-foobar joined
21:48
laz78 left
21:49
ely-se left
|
|||
dalek | ar: 2fed8a4 | hoelzro++ | modules/MODULES.txt: Add LibraryMake and Linenoise to MODULES.txt Otherwise, they don't get built and installed |
21:49 | |
ar: efd255b | (Steve Mynott)++ | modules/MODULES.txt: Merge pull request #64 from hoelzro/master Add LibraryMake and Linenoise to MODULES.txt |
|||
buharin | hey what does it mean that perl6 runs on jam? | 21:50 | |
jvm is slow | |||
:< | |||
RabidGravy | ajr_, something like: | 21:51 | |
m: my $a = "<foo>"; $a ~~ s:g/\<(<-[>]>+)\>/{ $/.uc }/; say $a | |||
camelia | rakudo-moar f99bdb: OUTPUT«<FOO>» | ||
ajr_ | RG, so any literal < should be \< ? | ||
RabidGravy | yes | ||
DrForr | It means that ... it runs on JVM. It runs on MoarVM as well. | ||
perlpilot | ajr_: or '<' | ||
ajr_ | > as well? | 21:52 | |
perlpilot | ajr_: aye | ||
21:52
sufrostico left
|
|||
perlpilot | ajr_: non-alphanumerics are all meta-syntax. | 21:52 | |
ajr_ | Thanks. Off to try it. | ||
RabidGravy | they are part of "character classes" | ||
[Coke] | well, the JVM port isn't 100% up to speed with the moarvm port. | 21:53 | |
j: say "hi" | |||
camelia | rakudo-jvm f99bdb: OUTPUT«hi» | ||
[Coke] | m: say "hi" | ||
camelia | rakudo-moar f99bdb: OUTPUT«hi» | ||
ajr_ | HTML and friends are going to be fun. | ||
RabidGravy | the "<-[>]>" is the character class for "not >" | ||
[Coke] | ^^ there; one ran through the jvm backend, one ran through the moar backend. | ||
dalek | p: 7e8546d | (Pawel Murias)++ | src/vm/js/QAST/Compiler.nqp: [js] Fix bool to integer conversion. |
21:54 | |
nqp: 0a8b7f0 | (Pawel Murias)++ | src/vm/js/QAST/Compiler.nqp: | |||
nqp: [js] Take in regard types of variables when emitting code. | |||
21:54
dalek left
|
|||
RabidGravy | ajr_, this is why you split it up into bits in a grammar so so don't look at a massive dense regex | 21:54 | |
[Coke] | IWBNI if we got perl6 on her: regex101.com/ | ||
DrForr | Or just a few 'my regex {}' bits if you don't want a full grammar. | ||
[Coke] | *here | ||
21:54
dalek joined,
ChanServ sets mode: +v dalek,
pmurias joined
|
|||
[Coke] | buharin: see that nqp commit? javascript backend coming sometime this year. | 21:55 | |
buharin | :] | ||
RabidGravy | which will be fun | ||
FROGGS | ***ALL*** FYI, the windows msi packages are now available for 2016.01 - rakudo.org/downloads/star/ | 21:56 | |
buharin | it should be done in C++ | ||
perlpilot | FROGGS++ | ||
buharin | like Swift | ||
RabidGravy | FROGGS++ | ||
[Coke] | FROGGS++ | ||
sortiz | FROGGS++ | ||
jdv79 | thanks | ||
FROGGS | :D | ||
[Coke] | I updated the NY.pm perl 6 beginner meetup note letting them know they have an R* they can play with. | 21:57 | |
pmurias | [Coke]: is that regex101.com thing open source? | ||
[Coke] | pmurias: no clue, but it's great for testing and explaining to my non-regex aware coworkers. | ||
Skarsnik | DrForr, Are you sure using int32 for a long is not the issue? | ||
perlpilot | ajr_: I'd probably write your regex something like this ... | ||
lizmat | FROGGS++ | ||
21:57
kurahaupo joined
|
|||
perlpilot | m: my $str = "foo<blah> alpha<beta>"; $str ~~ s:g[ \w '<' (<-[>]>+) '>'] = $0.uc; say $str; | 21:57 | |
camelia | rakudo-moar f99bdb: OUTPUT«foBLAH alphBETA» | ||
perlpilot | (that's what your P5 version did, though I'm not sure that's really what you wanted) | 21:58 | |
pmurias | [Coke]: I can't find a github link anywhere so it looks like it isn't :( | ||
if it was I could try to hook up nqp-js up to it | 21:59 | ||
DrForr | Skarsnik: Possibly, I'll test quickly. | ||
Skarsnik | m: use NativeCall; say nativesizeof($_) for <int32 long Pointer> | ||
camelia | rakudo-moar f99bdb: OUTPUT«NativeCall op sizeof expected type with CPointer, CStruct, CArray, P6int or P6num representation, but got a P6opaque in sub nativesizeof at /home/camelia/rakudo-m-inst-1/share/perl6/sources/075EFE4B4CDAAF73190194EA876F81A1F128D1A2 line 372 in block…» | 22:00 | |
Skarsnik | duh | ||
FROGGS | m: use NativeCall; say nativesizeof(int32|long|Pointer) | ||
camelia | rakudo-moar f99bdb: OUTPUT«any(4, 8, 8)» | ||
DrForr | Nope, still dies with int64 in Perl 6, long in C. | 22:01 | |
Skarsnik | why mine does not work FROGGS ? x) | ||
DrForr | I'll push the entire thing to github here in a moment. | ||
Skarsnik | Oh | ||
I know | |||
FROGGS | strings? | ||
Skarsnik | m: use NativeCall; say nativesizeof(::($_)) for <int32 long Pointer> | ||
camelia | rakudo-moar f99bdb: OUTPUT«488» | ||
FROGGS | m: use NativeCall; say nativesizeof($_) for int32, long, Pointer | 22:02 | |
camelia | rakudo-moar f99bdb: OUTPUT«488» | ||
lizmat | .tell jnthn could it be that nqp::attrinited gives false positives? it may be buggy, as it only seems to be used in one place in nqp ? | ||
yoleaux | lizmat: I'll pass your message to jnthn. | ||
Skarsnik | use long DrForr if it's long ^^ | ||
22:02
addison joined,
kjs_ left
|
|||
[Coke] | pmurias: see #regex channel on this server. | 22:02 | |
22:02
skids left
|
|||
DrForr | I thought native types like 'int' weren't allowed... | 22:03 | |
Fails still, though. | |||
FROGGS | DrForr: int is not allowed, like num isnt | ||
[Coke] | I'm in there now. | 22:04 | |
FROGGS | because our int is usually 64bits wide which is not what C thinks of int | ||
Skarsnik | long had a proper REPR if I remember well | 22:05 | |
[Coke] | 17:04 <+OnlineCop> [Coke]: It is not open source, although there is a 2.0 that we're developing now. | ||
Skarsnik | I don't remember what did I do to confond int over int32 | ||
[Coke] | 17:04 <+OnlineCop> It's got Perl6, PCRE2, and multiple other flavors in the pipeline. | ||
22:06
pmqs_ joined
22:07
perlawhirl joined,
ely-se joined
|
|||
perlawhirl | just joined on to say... | 22:07 | |
FROGGS++ | 22:08 | ||
DrForr | Skarsnik: drforr/perl6-Inline-Scheme-Guile - If you care to play with the actual source. Uncomment any of the tests like #f or 0 - Those both set int_content to 0. And the types are matched on both sides. | 22:10 | |
22:10
mscha joined,
buharin left
|
|||
mscha | p6: i² | 22:10 | |
camelia | ( no output ) | ||
DrForr | Once the iteration is properl laid out it's my intent to generate both the Inline and C modules from Perl so I can keep both sides in sync. | ||
Skarsnik | I don't run my perl6 vm now, sorry. I was just pointing something that could make it not size the union correctly | ||
mscha | p6: say i² | 22:11 | |
camelia | rakudo-moar f99bdb: OUTPUT«-1+1.22464679914735e-16i» | ||
DrForr | Right, understood. In any case it's up on GitHub. | 22:12 | |
My bet is the nesting of a CUnion in a CStruct... | 22:13 | ||
Skarsnik | did you try comparing the size of the struct/cunion? | ||
between C and perl6 | 22:14 | ||
DrForr | I'll try that tomorrow... | ||
mscha | say e**(π*i) + 1; | ||
p6: say e**(π*i) + 1; | |||
camelia | rakudo-moar f99bdb: OUTPUT«0+1.22464679914735e-16i» | ||
Juerd | !calc e**(tau * i) | 22:15 | |
Er. | |||
Mixing channels now :) | |||
m: say e**(tau * i) | |||
camelia | rakudo-moar f99bdb: OUTPUT«1-2.44929359829471e-16i» | ||
mscha | p6: say e**(100000000000000001*π*i) + 1; | 22:17 | |
camelia | rakudo-moar f99bdb: OUTPUT«0.469955266004289-0.847969681040198i» | ||
mscha | p6: say e**(1000000000001*π*i) + 1; | ||
camelia | rakudo-moar f99bdb: OUTPUT«3.40092933814873e-08+0.000260803730219934i» | ||
mscha | p6: say e**(100000001*π*i) + 1; | ||
camelia | rakudo-moar f99bdb: OUTPUT«1.11022302462516e-16+1.12647929283531e-08i» | ||
mscha | p6: say 0.1 + 0.2 == 0.3; # well, at least it gets this one right :-) | 22:18 | |
camelia | rakudo-moar f99bdb: OUTPUT«True» | ||
mscha | p6: say 1e-1 + 2e-1 == 3e-1; # huh, isn't it supposed to get this wrong? | 22:20 | |
camelia | rakudo-moar f99bdb: OUTPUT«True» | ||
22:21
tochjammer left,
tochjammer joined,
ocbtec left
|
|||
timotimo | don't we have an approximation stuff in comparisons now? | 22:21 | |
22:22
autark joined
|
|||
mscha | p6: say 1e-1 + 2e-1 - 3e-1; | 22:23 | |
camelia | rakudo-moar f99bdb: OUTPUT«0» | ||
timotimo | seems like i'm mistaken? | ||
lizmat | timotimo: you mean =~= ? | 22:24 | |
aka ≅ | |||
timotimo | oh | 22:25 | |
that could be | |||
FROGGS | gnight #perl6 | ||
22:25
FROGGS left,
molaf left
22:27
perlawhirl left,
perlawhirl joined
22:31
mcmillhj joined
22:32
Gothmog_ left
|
|||
Hotkeys | golf is fun codegolf.stackexchange.com/a/71139/46687 | 22:33 | |
22:33
perlawhirl left
|
|||
Hotkeys | I don't think that can be made any shorter | 22:33 | |
22:34
vike left
|
|||
mscha | p6: my Num @n = (1e-1, 2e-1, -3e-1); say [+] @n; # finally! | 22:35 | |
camelia | rakudo-moar f99bdb: OUTPUT«0» | ||
mscha | p6: # or not... | ||
camelia | ( no output ) | ||
22:36
ZoffixWin joined,
ZoffixWin left,
ZoffixWin joined
|
|||
mscha | my @Num @n = <0.1 0.2 -0.3>».Num; say [+] @n; # finally, for real this time | 22:37 | |
p6: my @Num @n = <0.1 0.2 -0.3>».Num; say [+] @n; # finally, for real this time | |||
camelia | rakudo-moar f99bdb: OUTPUT«5===SORRY!5=== Error while compiling /tmp/tmpfileTwo terms in a rowat /tmp/tmpfile:1------> 3my @Num7⏏5 @n = <0.1 0.2 -0.3>».Num; say [+] @n;  expecting any of: infix infix stopper statement end …» | ||
Hotkeys | lol | 22:38 | |
AlexDaniel | /@Num/Num/ ? | ||
mscha | p6: my @Num @n = (0.1, 0.2, -0.3)».Num; say [+] @n; # finally, for real this time | ||
camelia | rakudo-moar f99bdb: OUTPUT«5===SORRY!5=== Error while compiling /tmp/tmpfileTwo terms in a rowat /tmp/tmpfile:1------> 3my @Num7⏏5 @n = (0.1, 0.2, -0.3)».Num; say [+] @n; expecting any of: infix infix stopper statement end …» | ||
mscha | p6: my Num @n = <0.1 0.2 -0.3>».Num; say [+] @n; # finally, for real this time | ||
camelia | rakudo-moar f99bdb: OUTPUT«5.55111512312578e-17» | ||
Hotkeys | oh nooooo | ||
AlexDaniel | mscha: what are you trying to do? | ||
mscha | I'm trying to get floating point math to fail, as any proper programming language does. ;) | 22:39 | |
AlexDaniel | ah, pffft | ||
mscha | 1e-1 + 2e-1 - 3e-1 is supposed to fail as well. But I guess it's optimized away. | 22:40 | |
AlexDaniel | a bit relevant: 0.30000000000000004.com/ | 22:41 | |
notice how some other languages do it right | |||
ZoffixWin | If anyone who wants to learn the cool bits of Perl 6 is in Toronto on March 30th, come to TO.pm to my Wow, Perl 6! talk: www.meetup.com/Toronto-Perl-Mongers...228600742/ | ||
Hotkeys | oh man | 22:42 | |
there's a TO meetup? | |||
might have to go | |||
mscha | AlexDaniel: do they get it right, or do they, like PHP, just round the output? (That's why 0.1 + 0.2 - 0.3 is a better test.) | 22:43 | |
Hotkeys | I | ||
'm not in TO | |||
but I'm close enough | |||
AlexDaniel | mscha: e.g. look at “r” thing in ruby | ||
ZoffixWin | Hotkeys, where? | ||
AlexDaniel | mscha: it looks right | ||
Hotkeys | hamilton | ||
ZoffixWin is in Brampton | 22:44 | ||
22:44
jmark left
|
|||
Hotkeys | neat | 22:44 | |
22:45
vike joined
|
|||
ZoffixWin | m: sub slow-as-hell { sleep 1; $^a }; say 42 if slow-as-hell(False) or slow-as-hell(False) or slow-as-hell(True); say now - INIT now; | 22:47 | |
camelia | rakudo-moar f99bdb: OUTPUT«423.0027275» | ||
ZoffixWin | m: sub slow-as-hell { sleep 1; $^a }; say 42 if slow-as-hell(False) | slow-as-hell(False) | slow-as-hell(True); say now - INIT now; | ||
camelia | rakudo-moar f99bdb: OUTPUT«423.00337181» | ||
22:47
go|dfish joined
|
|||
ZoffixWin | Am I correct in understanding that "autothreaded junctions" means the calculation like the last one above happens in multiple threads? | 22:47 | |
Or should... is it just NIY? or just too few operations? | 22:48 | ||
lizmat | ZoffixWin: no, not yet: it's an indication to the compiler that it *may* do that | ||
but atm it will never do that | |||
ZoffixWin | Thanks :) | ||
AlexDaniel | even when it is implemented it is not guaranteed to do it this way, I think | ||
lizmat | patches welcome, of course :-) | ||
AlexDaniel: indeed, it's only a hint to the compiler | 22:49 | ||
22:49
raiph joined
|
|||
lizmat | a compiler may choose not to implement that, just like .>>method | 22:49 | |
22:51
tochjammer left
|
|||
RabidGravy | in Tinky, I've implemented similar by kicking the bunch off in their own start, doing .allof and checking the results | 22:52 | |
22:53
perlawhirl joined
|
|||
RabidGravy | (that is do all the any number of validator function and methods say True) | 22:53 | |
22:53
TEttinger joined
22:54
vendethiel left
22:56
wamba joined
|
|||
ajr_ | Can a matched string (e.g. $0) on the RHS of a substitution be uppercased? If so, how? | 23:05 | |
ZoffixWin | m: my $foo = 'foobar'; $foo ~~ s/(foo)bar/{$0.uc}ber/; say $foo | 23:06 | |
camelia | rakudo-moar f99bdb: OUTPUT«FOOber» | ||
23:07
ely-se left
|
|||
ZoffixWin | { ... } executes perl code and stuffs the result into the string and .uc is the method to turn stuff into uppercase | 23:07 | |
huggable, Str | |||
huggable | ZoffixWin, class Str [String of characters]: doc.perl6.org/type/Str | ||
ajr_ | Thanks Zoffix, that did the trick. | ||
23:08
HaraldJoerg joined
|
|||
ajr_ | The {...} was the bit I was missing - I'll a look at huggable's suggestion too. | 23:09 | |
23:09
vendethiel joined
|
|||
ZoffixWin | ajr_, I think this is a better place to look at for that: docs.perl6.org/language/quoting#Int...tion%3A_qq | 23:09 | |
it's interpolation: | |||
lizmat | m: my $foo = 'foobar'; $foo ~~ s/(foo)bar/$0.uc()ber/; say $foo | 23:10 | |
camelia | rakudo-moar f99bdb: OUTPUT«FOOber» | ||
ZoffixWin | :o | ||
m: say "The time a year later is {DateTime.now.later: :1year}" | |||
camelia | rakudo-moar f99bdb: OUTPUT«The time a year later is 2017-02-05T00:10:33.511280+01:00» | ||
ajr_ | ZoffixWin - are you going to be talking to Toronto PerlMongers this month? | 23:12 | |
ZoffixWin | ajr_, nope | ||
ajr_ | Oh, Zoffix Znet is scheduled - is Zoffix a popular first name? :-)* | 23:13 | |
ZoffixWin | ajr_, that's for March | ||
ajr_ | Well, I'll be able to thank you personally in March, then. | 23:15 | |
ZoffixWin | ajr_, were you at the Mojolicious talk? | 23:17 | |
AlexDaniel | m: say “hello {“world {“foo {“bar”}”}”}” # ;) | ||
camelia | rakudo-moar f99bdb: OUTPUT«hello world foo bar» | ||
ZoffixWin | AlexDaniel, show off! | 23:18 | |
23:18
rindolf left,
addison left
|
|||
AlexDaniel | ZoffixWin: well, I'm not sure what to show off here. It just works as expected :) | 23:18 | |
smartquotes are amazing though | |||
m: say “hello “world”!” | 23:19 | ||
camelia | rakudo-moar f99bdb: OUTPUT«hello “world”!» | ||
ZoffixWin | m: say “hello “world””!” | ||
camelia | rakudo-moar f99bdb: OUTPUT«5===SORRY!5=== Error while compiling /tmp/1fYOGRtjFHNegation metaoperator not followed by valid infixat /tmp/1fYOGRtjFH:1------> 3say “hello “world””!7⏏5” expecting any of: infix infix stopper» | ||
AlexDaniel | notice how it didn't stop at the first ” | ||
ZoffixWin | m: say “hello “““““world”””””!” | ||
camelia | rakudo-moar f99bdb: OUTPUT«hello “““““world”””””!» | ||
ajr_ | ZW - yes | ||
AlexDaniel | yeah | ||
AlexDaniel feels like there's no reason not to use smartquotes if you have those on your keyboard | 23:20 | ||
ZoffixWin doesn't | |||
AlexDaniel | why? :) | 23:21 | |
23:21
kurahaupo left
|
|||
ZoffixWin doesn't have smartquotes on the keyboard | 23:21 | ||
AlexDaniel | ZoffixWin: if perl6 -e 'say ‘hello’' does not convince you that I'm not sure what will | ||
ah right | |||
ZoffixWin | :D | 23:22 | |
AlexDaniel | well… yeah | ||
mscha | p6: say π² × ½ ÷ Ⅶ; | 23:24 | |
camelia | rakudo-moar f99bdb: OUTPUT«0.704971742934954» | ||
dalek | kudo/nom: 8bd7ee6 | lizmat++ | src/core/Hash.pm: Make %h<a>.push|append about 10% faster And stop it from leaking values |
||
lizmat | gnight, #perl6! | ||
ZoffixWin | night | 23:25 | |
.u Ⅶ | |||
yoleaux | U+2166 ROMAN NUMERAL SEVEN [Nl] (Ⅶ) | ||
ZoffixWin | mscha++ that's pretty cool | ||
23:25
eseyman left
|
|||
AlexDaniel | m: say τ² × ½ ÷ Ⅶ | 23:26 | |
camelia | rakudo-moar f99bdb: OUTPUT«2.81988697173982» | ||
AlexDaniel | m: say τ² × ⅛ ÷ Ⅶ | ||
camelia | rakudo-moar f99bdb: OUTPUT«0.704971742934954» | ||
23:27
erdic left,
skids joined
23:28
erdic joined
|
|||
AlexDaniel | ZoffixWin: not sure if you backlogged but | 23:28 | |
m: say <1 4 8 15>»² | 23:29 | ||
camelia | rakudo-moar f99bdb: OUTPUT«(1 16 64 225)» | ||
ZoffixWin | crazy | ||
m: say <1 4 8 15>»½ | |||
camelia | rakudo-moar f99bdb: OUTPUT«5===SORRY!5=== Error while compiling /tmp/otww4N7uwlMalformed postfixat /tmp/otww4N7uwl:1------> 3say <1 4 8 15>»7⏏5½ expecting any of: postfix» | ||
AlexDaniel | what does it mean xD | ||
well, ½ is not an operator, so… | |||
ZoffixWin | *shrug* divide each by 2? :D | 23:30 | |
mscha | p6: sub prefix:<√>($x) { $x.sqrt; }; say √2; | ||
camelia | rakudo-moar f99bdb: OUTPUT«1.4142135623731» | ||
23:30
vendethiel left
|
|||
AlexDaniel | m: say <1 4 8 15>».&(*/2) | 23:31 | |
camelia | rakudo-moar f99bdb: OUTPUT«(0.5 2 4 7.5)» | ||
AlexDaniel | ZoffixWin: not sure if there's any way to make it shorter | ||
mscha | m: say <1 4 8 15>»*½; | 23:32 | |
camelia | rakudo-moar 8bd7ee: OUTPUT«5===SORRY!5=== Error while compiling /tmp/p9p6fNAw64Malformed postfixat /tmp/p9p6fNAw64:1------> 3say <1 4 8 15>»7⏏5*½; expecting any of: postfix» | ||
ZoffixWin | m: say <1 4 8 15>»/»2 | ||
camelia | rakudo-moar 8bd7ee: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ngbWDIQnoXMalformed postfixat /tmp/ngbWDIQnoX:1------> 3say <1 4 8 15>»7⏏5/»2 expecting any of: postfix» | ||
ZoffixWin | m: say <1 4 8 15> »/» 2 | ||
camelia | rakudo-moar 8bd7ee: OUTPUT«(0.5 2 4 7.5)» | ||
Hotkeys | what're smart quotes | ||
mscha | m: say <1 4 8 15> »×» ½; | 23:33 | |
camelia | rakudo-moar 8bd7ee: OUTPUT«(0.5 2 4 7.5)» | ||
ZoffixWin | Hotkeys, “ and ” | ||
AlexDaniel | not only | ||
Hotkeys: also ‘’ and 「」 | |||
Hotkeys | ah | ||
23:33
ZoffixWin left
|
|||
AlexDaniel | mscha: that's really good! | 23:33 | |
Hotkeys | so essentially left and right quotes | ||
that match to eachother like brackets | 23:34 | ||
23:34
autark left
|
|||
AlexDaniel | yeah baby!! | 23:34 | |
Hotkeys | smart indeed | ||
mscha | p6: say „Hello, World!”; | ||
camelia | rakudo-moar 8bd7ee: OUTPUT«Hello, World!» | ||
Hotkeys | oh man | ||
Skarsnik | lol | ||
Hotkeys | it even has german quotes huh | ||
AlexDaniel | mscha: oh right, forgot to mention that there is a thousand of ways to write those | ||
23:34
dolmen left
|
|||
mscha | p6: say „Hello, “World”!”; | 23:35 | |
camelia | rakudo-moar 8bd7ee: OUTPUT«5===SORRY!5=== Error while compiling /tmp/tmpfileTwo terms in a rowat /tmp/tmpfile:1------> 3say „Hello, “7⏏5World”!”; expecting any of: infix infix stopper postfix statement end …» | ||
mscha | Can't mix conventions, apparently. | 23:36 | |
AlexDaniel | yup | ||
m: say ‚hi’ | |||
camelia | rakudo-moar 8bd7ee: OUTPUT«hi» | ||
AlexDaniel | by the way | 23:38 | |
m: say ½ «×« <1 4 8 15> | |||
camelia | rakudo-moar 8bd7ee: OUTPUT«(0.5 2 4 7.5)» | ||
23:38
addison_ joined
|
|||
Hotkeys | I discovered you can do this today | 23:38 | |
m: say --«[1,2,3] | 23:39 | ||
camelia | rakudo-moar 8bd7ee: OUTPUT«[0 1 2]» | ||
Hotkeys | While golfing and just trying things | ||
23:39
perlawhirl left
|
|||
AlexDaniel | yeah, well, it is only going to work with [] | 23:40 | |
but | |||
23:40
perlawhirl joined
|
|||
AlexDaniel | m: say .pred«<1 2 3> | 23:40 | |
camelia | rakudo-moar 8bd7ee: OUTPUT«5===SORRY!5=== Error while compiling /tmp/IXeyWUWywHUnable to parse quote-words subscript; couldn't find right double-angle quoteat /tmp/IXeyWUWywH:1------> 3say .pred«<1 2 3>7⏏5<EOL> expecting any of: method arguments…» | ||
AlexDaniel | m: say .pred« <1 2 3> | ||
camelia | rakudo-moar 8bd7ee: OUTPUT«5===SORRY!5=== Error while compiling /tmp/mccWJt8OTTUnable to parse quote-words subscript; couldn't find right double-angle quoteat /tmp/mccWJt8OTT:1------> 3say .pred« <1 2 3>7⏏5<EOL> expecting any of: method arguments…» | ||
23:40
wamba left
|
|||
AlexDaniel | :/ | 23:40 | |
Hotkeys | I think it only works for prefixes | ||
AlexDaniel | m: say <1 2 3>».pred | ||
camelia | rakudo-moar 8bd7ee: OUTPUT«(0 1 2)» | ||
AlexDaniel | right | 23:41 | |
23:42
SCHAAP137 left,
pmurias left
|
|||
Hotkeys | m: say derp.«<1 2 3> # just kidding | 23:43 | |
camelia | rakudo-moar 8bd7ee: OUTPUT«5===SORRY!5=== Error while compiling /tmp/MpIYg2dawHUnable to parse quote-words subscript; couldn't find right double-angle quoteat /tmp/MpIYg2dawH:1------> 3say derp.«<1 2 3> # just kidding7⏏5<EOL> expecting any of: arg…» | ||
AlexDaniel | m: say (1, 1 .. *)[^5] | ||
camelia | rakudo-moar 8bd7ee: OUTPUT«(1 1..Inf Nil Nil Nil)» | ||
AlexDaniel | xD | ||
m: say (1, 1 … *)[^5] | 23:44 | ||
camelia | rakudo-moar 8bd7ee: OUTPUT«(1 1 1 1 1)» | ||
AlexDaniel | what's the shortest way of creating an infinite list with the same number? | ||
1,1…∞ is 5 characters, that's too long | |||
raiph | m: say 1 xx * | 23:45 | |
camelia | rakudo-moar 8bd7ee: OUTPUT«(...)» | ||
Hotkeys | ^^^ | ||
skids | m: (1 xx *)[0..4].perl.say | ||
camelia | rakudo-moar 8bd7ee: OUTPUT«(1, 1, 1, 1, 1)» | ||
Hotkeys | I was too busy trying to find the infinity symbol on my phone | 23:46 | |
AlexDaniel | nice! | ||
but that's 6… :) | |||
ok 5 if you omit space between xx and * | |||
mscha | m: say ∞; | ||
camelia | rakudo-moar 8bd7ee: OUTPUT«Inf» | ||
AlexDaniel | m: say (1 xx ∞)[^5] | ||
camelia | rakudo-moar 8bd7ee: OUTPUT«(1 1 1 1 1)» | ||
Hotkeys | It's less if you count bytes instead of chars I think :p | ||
mscha | m: say (^∞).reverse; | 23:47 | |
camelia | rakudo-moar 8bd7ee: OUTPUT«Cannot reverse a lazy list in block <unit> at /tmp/TMzmnxkPEa line 1Actually thrown at: in block <unit> at /tmp/TMzmnxkPEa line 1» | ||
Hotkeys | Lol | ||
geekosaur | waddaya want, it's already shorter than haskell's `repeat 1` :p | ||
Hotkeys | m: (1 for Inf) | ||
camelia | rakudo-moar 8bd7ee: OUTPUT«WARNINGS for /tmp/I0JnsFTNlP:Useless use of constant integer 1 in sink context (use Nil instead to suppress this warning) (line 1)» | ||
Hotkeys | Ugh | 23:48 | |
AlexDaniel | m: say (1 for ^∞)[^5] | ||
Hotkeys | Rip | ||
skids | for is eager. | ||
camelia | rakudo-moar 8bd7ee: OUTPUT«(timeout)» | 23:49 | |
Hotkeys | I thought it would be | ||
Had to try | |||
mscha | m: (^Inf).join.say; | 23:51 | |
camelia | rakudo-moar 8bd7ee: OUTPUT«...» | ||
mscha | huh? | ||
Hotkeys | m: say ((1..*)»⁰)[^5] # just curious | ||
Aw | |||
camelia | rakudo-moar 8bd7ee: OUTPUT«(timeout)» | 23:52 | |
Hotkeys | m: say [\**] 1..* »,» 0 | ||
camelia | rakudo-moar 8bd7ee: OUTPUT«List on left side of hyperop of infix:<,> is known to be infinite in block <unit> at /tmp/wQyFLjSMSC line 1» | ||
Hotkeys | Darn | ||
I'm silly anyway | 23:53 | ||
That's a reduction | |||
RabidGravy emulates private multis for all the fun of the fair | |||
Hotkeys | Is there a way to zip with repetition | ||
Or rather like | |||
How hyoer extends the list if its on the pointy side | |||
raiph | mscha: Were you expecting a timeout? Perl 6 has some pragmatic (not algebraic) knowledge about things being infinite and uses that to try to be helpful | 23:54 | |
Hotkeys | I'm sure zip is eager too but just checkinf | ||
skids | m: (^∞ Z ^∞)[0..2].perl.say # not eager | 23:55 | |
camelia | rakudo-moar 8bd7ee: OUTPUT«((0, 0), (1, 1), (2, 2))» | ||
23:56
addison_ left
|
|||
Hotkeys | well then | 23:57 | |
so many surprises |