»ö« 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. |
|||
geekosaur | J has [ and ] | 00:03 | |
(everything is an operator in J, and that's how you anonymously get left and right parameters) | |||
I have a vague recollection of some ancient language having that (ignoring even more ancient languages with arg(N)-type things) | 00:05 | ||
dalek | href="https://perl6.org:">perl6.org: 3d5eea8 | (Steve Mynott)++ | source/ (2 files): Rakudo Star 2014.01 to .04 |
00:06 | |
ar: 6fe68c5 | (Steve Mynott)++ | tools/star/release-guide.pod: mention perl6.org as announce vector |
00:08 | ||
00:14
tardisx left,
tardisx joined
00:16
sue left
|
|||
AlexDaniel | m: say ‘moo=meow ping=pong’.comb(/(\w+) ‘=’ (\w+)/, :match)».Slip».Str | 00:16 | |
camelia | rakudo-moar f05c77: OUTPUT«(moo meow ping pong)» | ||
AlexDaniel | m: say ~«|«‘moo=meow ping=pong’.comb(/(\w+) ‘=’ (\w+)/, :match) | ||
camelia | rakudo-moar f05c77: OUTPUT«(moo meow ping pong)» | ||
gtodd | m: sub stuff { loop (my $i = 0 ; $i++ < 5 ;) { $i } } ; say "sub == seq" if (stuff() == 1 .. 5 ) ; | 00:17 | |
camelia | rakudo-moar f05c77: OUTPUT«sub == seq» | ||
timotimo | that's comparing the number of elemetns, btw | 00:18 | |
gtodd | rats ... how to make an anonymous function do what I want - with a better more correct example :-) | 00:19 | |
AlexDaniel | gtodd: what do you want? :) | ||
gtodd | was only concerned about the anonymous bit really | ||
timotimo | i didn't see any anonymous stuff in there | ||
AlexDaniel | gtodd: “anon sub”? | ||
gtodd | I have a function that returns sequences of numbers so I guess assign it to a scalar and then check if the sequence is the same as well 1 .. 5 or whatever | 00:20 | |
00:21
pierrot joined
|
|||
gtodd | anonymous subroutine | 00:21 | |
timotimo goes to bed | |||
gtodd | some of them were short so I was just sort of doing perl5 style ... | ||
00:22
perlawhirl joined
|
|||
gtodd | I will do it in a more explicit and correct way :) | 00:22 | |
AlexDaniel | gtodd: I don't really get it. If you want to compare lists then try eqv? | 00:23 | |
timotimo | watch out, eqv will likely give False if you compare between Seq, Array, or List | ||
AlexDaniel | timotimo: any other options? | ||
timotimo | ~~ | 00:24 | |
AlexDaniel | and that will give True for a bunch of weird stuff | 00:25 | |
timotimo | >>==<< | 00:27 | |
that will throw if the lengths don't fit, though | |||
AlexDaniel | does not work when lists are not equal | ||
timotimo | instead of just giving False | ||
AlexDaniel | yea | ||
equal in size* | |||
timotimo | @a == @b && [&&] @a Z== @b | 00:28 | |
AlexDaniel | Yeah, that… That's gonna work | ||
timotimo: in RT #127980 I said that we probably need another metaop for comparing listy stuff | |||
synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=127980 | ||
timotimo | mhm | 00:29 | |
AlexDaniel | my suggestion is: @a M== @b # which would be equivalent to your code above | ||
timotimo | anyway, bedtime :) | ||
AlexDaniel | psch: ↑ maybe that will make it more clear :) | 00:30 | |
00:30
atweiden left
|
|||
perlawhirl | Alex: what would the M op do that is different from a set operator ? | 00:31 | |
gtodd | I assigned the subroutine to a scalar and then $seq() >>==<< <1 2 3 4 5> ; worked ok and gave: (True True True True True) | ||
AlexDaniel | ah yea, one more difference would be that M should return one Bool… | 00:32 | |
perlawhirl: which one exactly? | |||
00:33
dha left
|
|||
perlawhirl | are you just wanting to check if the first list contains a subset of the second? | 00:34 | |
00:34
jolts left
|
|||
perlawhirl | like ⊆ | 00:34 | |
gtodd | it is what I expected but it was more how to use anonymous sub that was bugging me :-) | 00:35 | |
AlexDaniel | perlawhirl: no, the question is how check if both are equal | ||
gtodd | m: { loop (my $i = 0 ; $i++ < 5 ;) { $i } }() >>==<< 1 .. 5 ; | ||
camelia | ( no output ) | ||
AlexDaniel | perlawhirl: same size, same elements | ||
gtodd | m: say { loop (my $i = 0 ; $i++ < 5 ;) { $i } }() >>==<< 1 .. 5 ; | 00:36 | |
camelia | rakudo-moar f05c77: OUTPUT«(True True True True True)» | ||
gtodd | hehehe | ||
sorry for the distraction | |||
AlexDaniel | perlawhirl: I mean, that's the problem that I'm trying to solve with M :) | ||
perlawhirl | Alex: So it would allow elements in a different order too? | 00:37 | |
AlexDaniel | no | ||
perlawhirl | so why not @a eq @b ? | 00:38 | |
tho i guess that's not entireley accurate is it | |||
AlexDaniel | perlawhirl: eq is string equality | ||
perlawhirl | yeh | ||
AlexDaniel | so it's not even close… | ||
perlawhirl | what does @a ~~ @b do? | 00:40 | |
AlexDaniel | magic | ||
perlawhirl | hah | ||
AlexDaniel | well, it seems like it does ~~ between elements | ||
geekosaur | Positional List lists are comparable $_ »~~« X (but dwims ** wildcards!) | 00:42 | |
Juerd | AlexDaniel: Yes. Note that [0,1,2] ~~ [True,True,True] is true. | ||
So you can't just use @a ~~ @b to test equality. | |||
AlexDaniel | Juerd: awesome! Best comparison I could have ever imagined | ||
00:42
BenGoldberg left
|
|||
Juerd | Unless of course you are absolutely certain that everything is a number, for example. | 00:42 | |
AlexDaniel | let's be honest here: ~~ is shit for comparing lists | 00:43 | |
dalek | c: 3cfe629 | (Tom Browder)++ | doc/Language/unicode_texas.pod: column is too wide--remove some spaces to see if that helps |
00:44 | |
c: c7d583d | (Tom Browder)++ | doc/Language/unicode_texas.pod: Merge pull request #464 from tbrowder/master column is too wide--remove some spaces to see if that helps |
|||
Juerd | Comparing lists sucks in every language I've ever seen. Fortunately, comparing lists isn't something you regularly do in well written code. | 00:45 | |
perlawhirl | hmmm... how about ?all( @a Zeqv @b ) | ||
AlexDaniel | perlawhirl: does not work if your lists have different length | 00:46 | |
or arrays | |||
whatever | |||
perlawhirl | right | ||
Juerd | It's mostly useful in tests (is_deeply), but apart from that it doesn't have many use cases. Wanting to compare lists is often a code smell. | ||
perlawhirl | i see | ||
Juerd | s/code/design/ | ||
AlexDaniel | so the shortest code to do that is | 00:47 | |
m: my @a = 0,1,2; my @b = True, True, True; say ?all(@a == @b [&&] @a Z== @b) | |||
camelia | rakudo-moar f05c77: OUTPUT«False» | ||
Juerd | gtodd: *Why* compare lists? | 00:48 | |
MadcapJakeDinner | stmuk_++ # R* | 00:49 | |
AlexDaniel | Juerd: that's a good question actually | ||
Juerd | If you're generating a list and then find out that it happens to be the same as a list you had earlier, then couldn't you have skipped generating the list at some earlier point? | 00:50 | |
And if you can't, then how likely is it that what you're skipping when they're equal, is expensive enough to prevent? | 00:51 | ||
AlexDaniel | the most common use case is probably in tests, but that's when you can probably just make sure that ~~ does nothing weird | 00:52 | |
00:52
vike joined
|
|||
Juerd | There are still situations in which you would need to compare list equality, but I don't think you should go for the shortest syntax in such rare cases. | 00:52 | |
Instead, be explicit. Maybe even add a comment about why you're doing this at all. | |||
AlexDaniel: For unit tests, there's is_deeply. | 00:53 | ||
AlexDaniel | id_deeply is just eqv, isn't it? | 00:54 | |
Juerd | Yes. | 00:55 | |
00:55
aborazmeh joined,
aborazmeh left,
aborazmeh joined
|
|||
AlexDaniel | which, as timotimo have mentioned, has its own problems | 00:55 | |
has | |||
Juerd | Yes. Just mentioning is-deeply (not _ by the way) because it's better than "ok @foo eqv @bar" | 00:56 | |
AlexDaniel | right | ||
Juerd | The thing about comparing list-like things is that you'll have to specify what, for your use case, should be considered equal. | ||
The difference between Array and List might matter, or it might not. | 00:57 | ||
Are "42" and 42 the same thing? How about 42e0 and 42? | |||
AlexDaniel | that's why with M you can specify your own op | ||
Juerd | And do the same things matter at the most shallow level, that matter also at deeper recursion? | 00:58 | |
AlexDaniel | good question | ||
Juerd | I can imagine that you may not care about the difference between List and Array at the outermost level, but you do at inner levels. | ||
00:58
maybekoo2 left
01:00
jjido left
|
|||
Juerd | Value equivalence is not an easy topic, and there doesn't seem to be much between situations where even ~~ will suffice, and situations where you have to be specific about details. | 01:00 | |
AlexDaniel | Juerd: I'd say that if you specified == then it would just compare the number of elements, but that's also a bit weird | 01:01 | |
Juerd | Most cases that I can think of, will have either one of those extremes. | ||
AlexDaniel: Well, if for a certain use case, lists are equal enough if they have the same number of elements, it's a rather quick check... :) | |||
And O(1) is nice. | |||
dalek | href="https://perl6.org:">perl6.org: bc0bec5 | (Steve Mynott)++ | source/downloads/index.html: changed some missed refs to new ver |
||
AlexDaniel | Juerd: I mean, my idea was that M would be a short Z thingy for comparing possibly differntly-sized lists. How does Z handle lists in lists? | 01:03 | |
m: my @a = 0,3,2; my @b = True, True, True; say zip @a, @b, :with(&[==]) | 01:05 | ||
camelia | rakudo-moar f05c77: OUTPUT«(False False False)» | ||
AlexDaniel | m: my @a = 0,3,2; my @b = True, True, True; say roundrobin @a, @b, :with(&[==]) | ||
camelia | rakudo-moar f05c77: OUTPUT«Unexpected named parameter 'with' passed in block <unit> at /tmp/fp7YXPBGmr line 1» | ||
AlexDaniel | ???… | ||
ok done: RT #127992 | 01:10 | ||
synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=127992 | ||
AlexDaniel | oh, we are approaching 128000 | 01:11 | |
01:11
sue_ joined
01:12
aindilis joined
|
|||
AlexDaniel | oh, maybe it was done on purpose? | 01:12 | |
because then you will be comparing something with Any | 01:14 | ||
or Nil? | 01:15 | ||
01:17
molaf left
01:22
BenGoldberg joined,
pierre_ joined
|
|||
Herby_ | where am I messing up on this regex | 01:26 | |
m: my $string = '<weather> 60 F, and sunny </weather>'; say $0 if $string ~~ / \<weather\> ( <-[ ^ ]> ) \<\/weather\> /; | |||
camelia | ( no output ) | ||
Herby_ | m: my $string = '<weather> 60 F, and sunny </weather>'; say $0 if $string ~~ / \<weather\> ( <-[ ^ ]> + ) \<\/weather\> /; | 01:27 | |
camelia | rakudo-moar f05c77: OUTPUT«「 60 F, and sunny 」» | ||
Herby_ | nm | ||
:) | |||
01:30
molaf joined
01:35
geraud left
01:36
Herby_ left
01:59
pierre_ left
02:02
perlawhirl left
02:05
kurahaupo joined
02:11
kid51 left
02:13
sue_ left
02:16
kurahaupo left
02:17
kurahaupo joined,
tardisx left
02:18
tardisx joined,
tphilipp joined
02:21
tphilipp left
02:23
hotel joined
|
|||
hotel | Any reason running perl Configure.pl (...) should result in an "error while loading shared libraries: invalid argument"? | 02:24 | |
trying to build rakudostar on "ubuntu" | 02:25 | ||
02:27
noganex_ joined
02:29
xinming left
02:30
xinming joined,
noganex left
|
|||
geekosaur | makes me think it's using an unsupported dlopen() flag. would this "ubuntu" be the new win10 subsystem? it's known to be a bit incomplete, and somewhat behind on syscalls | 02:31 | |
hotel | got it in one | ||
what syscall would be causing these executable stack error things? | 02:32 | ||
"cannot enable executable stack as shared object requires" to be precise | 02:33 | ||
kurahaupo | hotel: one of the flags to mmap iirc | 02:35 | |
hotel | ah, mmap was mentioned last time | ||
geekosaur | that's a different thing. real ubuntu disables that as well, but moarvm uses libffi which claims to require executable stack for ffi trampolines. (it is reported that it doesn't seem to actually need it though) | ||
hotel | hm | ||
geekosaur | you could try using "execstack -q" on the moarvm command and on any shared objects it needs, and "execstack -c" on any of them that say they require it, and see if things still work | 02:36 | |
(execstack -q will show the state of the "exec stack needed" flag, execstack -c will clear the flag) | 02:38 | ||
02:39
kurahaupo left
|
|||
hotel | how do I run that over the configure command? or do I have to go through and insert the execstack call over every command (or ??)? | 02:40 | |
hotel scratches his head | |||
geekosaur | it's not the configure command that matters here, you will have gotten moarvm installed before it can build rakudo (it does this early) so you'd find that and use the execstack command on it | 02:42 | |
I kinda don't see the point in running an ubuntu subsystem in windows running in vmware on ubuntu :) so I can't really provide more detail | |||
hotel | i want to use shiny tools | 02:43 | |
well the main problem is that it fails when building moarvm | |||
on libmoar.so | |||
maybe it's fixed in the latest update, downloading now | 02:48 | ||
I understand that most of my problems would be solved by either using a true VM or even just using the windows version, but that would take all the fun out of it IMO | |||
geekosaur | it's a first release; welcome to the bleeding edge :) | 02:54 | |
(the win10 ubuntu subsystem that is) | |||
02:58
pierre_ joined
|
|||
hotel | :) | 03:00 | |
in an hour or so I might have some bleeding edges too | |||
geekosaur | exactly :) | 03:01 | |
MadcapJakeDinner | how do you make sense of exit codes? | 03:02 | |
geekosaur | for the most part the only meaningful distinction is 0/non-0 | 03:03 | |
MadcapJakeDinner | ahh alright :\ | ||
geekosaur | there are rare programs that use predefined exit codes. things run from a shell that dump core may have that reported via the exit code, but as there is no way to distinguish a program doing exit(143) from a program getting SEGV via "sh -c ...", this should be treated with suspicion | 03:04 | |
MadcapJakeDinner | awesome :P | 03:05 | |
03:06
Ben_Goldberg joined,
BenGoldberg left,
Ben_Goldberg is now known as BenGoldberg
|
|||
hotel | so no error is exit(0), right? maybe they just add +1 for every error and you're left with something like exit($num-errors) | 03:07 | |
03:07
polyfloyd left
|
|||
geekosaur | that's one way. some programs have well-defined error code meanings --- but they're different for each program | 03:08 | |
hotel | oh- I was totally joking. cool though >_< | ||
geekosaur | consistency is not a thing, mostly because 8 bits is not enough to convey meaningful information | ||
hotel | and that's why they made logs | 03:09 | |
03:10
Ben_Goldberg joined,
BenGoldberg left,
Ben_Goldberg is now known as BenGoldberg
03:12
Ben_Goldberg joined,
BenGoldberg left,
Ben_Goldberg is now known as BenGoldberg
|
|||
MadcapJakeDinner | is there a list of Perl 6 error codes? I can't find one | 03:12 | |
03:14
winger joined
|
|||
geekosaur | I don't think so. Also not sure it'd be useful, since you can't distinguish between perl6 itself generating an error and a perl6 script calling exit with the same error code | 03:15 | |
er, exit status | |||
03:15
aborazmeh left
|
|||
MadcapJakeDinner | yeah | 03:16 | |
hotel | can perl6 fix my internet speeds? I'm still learning | 03:17 | |
geekosaur | if only :/ | ||
03:17
winger left,
pierre_ left
|
|||
hotel | meep | 03:18 | |
geekosaur using a hotspot right now for IRC because main internet is currently pretending to be a boat anchor | |||
03:18
winger joined
|
|||
hotel | my isp/mobile provider put it in our contract that we can't use data for a hotspot :$ | 03:19 | |
03:19
pierre_ joined
|
|||
hotel | it's been like this for about 10 minutes now puu.sh/ovYh5/6445fb73eb.png | 03:23 | |
03:28
cibs joined
03:30
pierre_ left
03:31
pierre_ joined
03:37
pierre_ left
03:41
pierre_ joined
03:47
pierre_ left
03:50
pierre_ joined
03:52
pierre_ left
03:53
pierre_ joined
03:55
mr-foobar left,
pierre_ left,
pierre_ joined
03:56
hotel left
04:01
pierre_ left
04:02
pierre_ joined,
Guest99506 is now known as ponbiki
04:05
pierre_ left
04:06
pierre_ joined
04:09
tardisx left
04:13
geraud joined
04:16
pierre_ left
04:20
jack_rabbit joined,
pierre_ joined
04:28
Cabanossi left
04:31
Cabanossi joined
04:34
CIAvash joined,
BenGoldberg left
04:37
pierre_ left
04:39
khw left
04:45
sno left
04:47
sortiz left
04:52
pierre_ joined
04:53
mr-foobar joined
04:58
pierre_ left
05:04
diana_olhovik_ joined
|
|||
dalek | ecs: 7bc7945 | (David Warring)++ | S07-lists.pod: [S07] change .push example (which doesn't follow one-arg rule) to .append. As discussed - closes #104 |
05:04 | |
05:11
tardisx joined
05:20
diana_olhovik_ left
05:23
jjido joined,
kurahaupo joined
05:29
jjido left
05:44
skids left
05:48
sno joined
06:02
winger left,
xinming_ joined
06:03
winger joined
06:05
xinming left
06:23
darutoko joined
06:24
firstdayonthejob joined
06:26
_mg_ joined
06:27
pierre_ joined
06:29
domidumont joined
06:33
domidumont left
06:34
domidumont joined
06:37
mohae left
06:39
firstdayonthejob left
06:50
wamba joined
06:55
ufobat joined
06:56
tardisx left,
rindolf joined
06:57
tardisx joined
07:03
ufobat left
07:11
abraxxa joined
07:18
brrt joined
07:21
sue_ joined
07:24
Relsak joined
07:27
sue_ left
|
|||
brrt | good *, #perl6 | 07:27 | |
masak | good brrt, morning! | 07:28 | |
yay, and a R* release! | |||
brrt | \o/ | 07:29 | |
brrt was confused for a second about the R language | |||
masak | I can fully understand why ufo was pulled out of Task::Star, but why remove Bailador? github.com/rakudo/star/commit/63da...20288c1f28 | ||
isn't... has Bailador not been nice? *sniff* | 07:30 | ||
07:30
hankache joined
|
|||
hankache | konnichiwa #perl6 | 07:32 | |
masak | こんにちは hankache-san | 07:33 | |
hankache | perl6intro is available now in Japanese: ja.perl6intro.com | ||
moritz | masak: Bailador has started to collect quite a few dependencies (like new template systems etc.), so the options where to add them all to star, or to remove Bailador | ||
masak: and it seems the star and Bailador maintainers have agreed to do the latter | 07:34 | ||
masak | ok | ||
I don't so much question that decision as I'm curious | |||
so thanks :) | |||
I may be missing the whole picture, but it still seems a bit strange to me... | 07:35 | ||
"We're gonna provide this distribution of useful things..." | |||
[later] | |||
"Oops, too many dependencies! You're on your own!" | |||
if Bailador has grown less useful over time (maybe in relative terms), I would understand it betters. | |||
better* | 07:36 | ||
nine_ | I think the decision went along the lines of Bailador being useful to only a subset of users. | 07:37 | |
hankache | does the perl 5 dist contain any web framework? | ||
nine_ | no | ||
masak | ...as opposed to... some module that 100% of the users use..._ | 07:38 | |
? | |||
nine_ | Most modules probably have fewer dependencies or larger audiences | ||
masak | sorry, I'm probably coming off as a bit too argumentative | ||
hankache | there was cgi but it's gone now | ||
masak | for all I know, it was the right decision to exclude Bailador | 07:39 | |
hankache | i think what we should do is create multiple task::* | 07:40 | |
and then depending on what the user wants they can install lets say Task::Web | 07:41 | ||
masak | sounds not bad | 07:42 | |
07:43
ufobat joined
|
|||
ufobat | oi! :D | 07:43 | |
07:44
wamba left
|
|||
stmuk_ | I think we need to think more about exactly "star" is | 07:44 | |
07:46
hankache left,
wamba joined
|
|||
stmuk_ | its not an "early adopter" distro | 07:46 | |
maybe its a standard library | 07:47 | ||
07:47
maybekoo2 joined,
pmurias joined
|
|||
stmuk_ | or maybe its just p6doc, panda and zef | 07:47 | |
dunno | 07:48 | ||
07:49
dakkar joined
|
|||
masak | stmuk_: there will always be modules that belong in the ecosystem but not in ::Star | 07:49 | |
07:49
g4 joined
|
|||
masak | stmuk_: I think what surprised me was that Bailador felt like such an obvious ::Star candidate, and still does. | 07:50 | |
07:51
rindolf left
|
|||
stmuk_ | I'm not anti Bailador in anyway, its still easy to install but it didnt seem tome | 07:52 | |
07:53
leont_ joined
|
|||
stmuk_ | to me to to be a standard library module given other mpdules | 07:53 | |
and noone seem | |||
to | 07:54 | ||
fell | |||
efeel | |||
brrt | i think star maybe started of as a collection of 'look, cool, usable things in perl6' | ||
stmuk_ | feel strongly enough to revert | ||
brrt | and now the focus may be changing to 'the standard distribution for end users which is universally useful' | ||
stmuk_ | yes we need to think about what star is | 07:55 | |
07:56
araujo joined
|
|||
brrt | i think we can reasonably argue that 'http server writing toolkit' can be a part of a standard library | 07:57 | |
we have perl5's CGI and pythons SimpleHTTPServer as precedent | |||
stmuk_ | I think SSL connections also should be in std lib more than MVC framewors | 07:58 | |
ks | |||
also R* is getting harder to maintain especially on windows with various compilers and NC too | 08:01 | ||
08:01
astj left,
astj_ joined
08:02
zakharyas joined
|
|||
El_Che | w | 08:03 | |
stmuk_ | I also wonder why panda is in R* and not zef | 08:08 | |
since zef can delete modules and panda cant | 08:09 | ||
masak .oO( Society for the restoration of apostrophes ) | 08:10 | ||
08:10
tardisx left
|
|||
stmuk_ | I still think having one perl 6 distribution based on MoarVM called "perl 6" and containing just p6doc, panda and zef might be best | 08:18 | |
08:19
rindolf joined
|
|||
sjn tries to compile nom-jvm for the first time in half a year | 08:19 | ||
bloody hell, it takes a long time! | |||
El_Che | stmuk_: you're describing my internal base docker image for perl6 | ||
stmuk_: in a docker scenario, Rakudo Star does not bring nothing to the table because it does not version pin the released modules | 08:20 | ||
stmuk_ | star is supposed to pin working module versions (which it does on linux and OS X) | 08:21 | |
the problem platform is Windows | 08:22 | ||
El_Che | stmuk_: ok, I need to recheck that again then | ||
stmuk_ | El_Che: Task::Star doesnt "pin" git versions whereas R* does | 08:23 | |
El_Che | stmuk_: that's actually great news | 08:24 | |
stmuk_ | the main problem with R* is that linenoise is unlikely to work on windows | 08:28 | |
which isn't a new problem since it didn't work in the last R* | |||
08:30
Actualeyes left,
winger_ joined,
uruwi left
08:31
uruwi joined
08:34
TEttinger left,
winger left
|
|||
stmuk_ | I wondered whether linenoise should also be removed from R* | 08:38 | |
08:38
leont_ left
|
|||
stmuk_ | but I guess that working on linux and OS X is probably better for most users | 08:39 | |
and broken windows might encourage fixage :) | |||
brrt | doesn't linenoise work on windows? | 08:41 | |
stmuk_ | maybe depending on arch (32 v 64 bit) or compiler | 08:45 | |
I've not seen it work on MSVC although I'm not a windows guy | 08:46 | ||
and MSVC is used for the MSI build | 08:47 | ||
08:49
RabidGravy joined
08:58
brrt left
|
|||
RabidGravy | boom | 09:11 | |
psch | here comes the | 09:13 | |
timotimo | wobble base, wobble base, wobble wobble wobble | 09:14 | |
wobble, wobble, wobble wobblewobblewobble | |||
www.youtube.com/watch?v=IfeyUGZt8nk <- Masterchef Synesthesia - Swede Mason | 09:15 | ||
psch | www.youtube.com/watch?v=qoLS9We9hl4 | 09:16 | |
timotimo | perhaps at some point i ought to put in the time to watch every single youtube video that has >1mil views | 09:18 | |
psch | i am utterly astonished by the amount of practice and musical comprehension the harmonizator shows | 09:21 | |
timotimo | huh, practice? | 09:22 | |
psch | yeah, that's by ear afaik | ||
and, well, it's a guy and not a program :P | 09:23 | ||
timotimo | oh | ||
i thought it was a program :) | |||
psch | youtu.be/POgiuxb7xj0 | 09:24 | |
well, first video unter the videos tab... :) | |||
timotimo | good stuff | 09:41 | |
09:43
Relsak left
09:45
cdg left
09:53
zakharyas left,
Actualeyes joined
09:54
zakharyas joined
10:07
kerframil joined
|
|||
dalek | osystem: cc2a02b | RabidGravy++ | META.list: Rename META of WebService::Souncloud |
10:31 | |
ZoffixWin | Souncloud? It's that an alternative to Soundcloud? :P | 10:39 | |
10:40
polyfloyd joined
|
|||
ZoffixWin | You listen to Soundcloud in a sauna | 10:40 | |
RabidGravy | :) | 10:42 | |
dalek | atures: 8fc35e4 | timotimo++ | features.json: "arrow blocks" are called "pointy blocks" by pretty much everyone. |
10:48 | |
10:48
dalek left
|
|||
timotimo | %) | 10:48 | |
finally did that major update to the features comparison matrix | |||
10:48
dalek joined,
ChanServ sets mode: +v dalek
|
|||
timotimo | now i wonder if the page will properly be updated by itself soon | 10:49 | |
Please note that this feature matrix generally represents the state of the latest development versions of the compilers, not that of the latest release. | 10:50 | ||
^- or the other way around! | |||
psch | hrm, formulating my reply to #127980 is hard /o\ | 10:58 | |
synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=127980 | ||
psch | i'm having trouble finding the right way to approach it in general, fwiw | ||
as in, i have a bunch of arguments that point to different future behaviors | |||
...probably should start with "the current behavior definitely seems wrong" then vOv | 10:59 | ||
11:04
kid51 joined
|
|||
psch | language design is hard, let's just fix bugs /o\ | 11:06 | |
masak has a look | 11:11 | ||
11:12
perlawhirl joined
|
|||
timotimo | you've got the look! | 11:13 | |
perlawhirl | pcsh: I think best to treat it like a bug than a feature request. $item ~~ @list shouldn't check if the item is in the list... it should always be false | 11:14 | |
but the other thing with the empty list | |||
... that's odd i guess | |||
tadzik | what in the world can make a red test turn gre-en | ||
masak | psch: intersting discussion. | ||
tadzik: the right implementa-a-a-tion! :D | |||
psch | perlawhirl: well, S03 says "Any ~~ Positional => lists are comparable: $_[] «===» X[]" | 11:15 | |
+plus a few chars so it makes sense outside of the table :) | |||
masak | I'd be instinctively against putting elementship semantics into ~~ | ||
we used to do that, and we backtracked away from it | |||
perlawhirl is off to read S03 | |||
psch | perlawhirl: header "Smart matching" has the table about a page down | 11:16 | |
masak: right, if it was tried and decided to not work that's good enough for me | |||
masak: i really don't understand the empty list or self[0] ~~ Match cases though | 11:17 | ||
masak | I think that's a recent tweak | 11:19 | |
ish | |||
psch | oh | 11:20 | |
right, looks like it's there because no one wants to champion the truthiness bit | |||
perlawhirl | on a slightly unrelated note... what is the defining difference between === and eqv | 11:21 | |
psch | well, OKness type as it was called in the gist | ||
ohh | 11:23 | ||
m: say ("aaaa" ~~ m:g/./).WHAT | |||
camelia | rakudo-moar f05c77: OUTPUT«(List)» | ||
psch | that bit matters there i think | ||
masak | maybe I would've been more positive towards the OKness proposal if it'd happened back in 2005 or something | 11:24 | |
psch | well, i think it's pretty much off the table by now anyway | 11:25 | |
m:g// returning a List *still* irks me :/ | 11:28 | ||
masak | what would you like it to return? | ||
psch | m: class A { }; my A $a .= new; my A $b .= new; say $a eqv $b; say $a === $b | 11:29 | |
camelia | rakudo-moar f05c77: OUTPUT«TrueFalse» | ||
perlawhirl | ahhhhh | ||
wamba | m: [\*] (2 .. *) ==> map *.sqrt ==> { say .[1000] }() | ||
camelia | rakudo-moar f05c77: OUTPUT«Inf» | ||
perlawhirl | psch++ | ||
psch | perlawhirl: =:= is eqaddr, === is eqaddr && WHICH eq WHICH, eqv is "do these look the same" | 11:30 | |
perlawhirl | yeah, reading... the docs do kinda spell it out for me :D | ||
psch | eqv and === are somewhat close semantically for value types i guess | ||
if not even identical vOv | 11:31 | ||
lizmat | And another Perl 6 Weekly hits the net: p6weekly.wordpress.com/2016/04/26/...oductions/ | ||
masak | lizmat++ | ||
psch | lizmat++ | ||
perlawhirl | psch: yes, for a lot of use cases they are comparable ('===' eqv 'eqv') | ||
psch | ZoffixWin++ # Audio::MIDI::Note | 11:32 | |
that's a strong superset of what i do in Music::Helpers :o | 11:33 | ||
wamba | [\*] (2 .. *) ==> { say .[1000].sqrt }() | ||
m: [\*] (2 .. *) ==> { say .[1000].sqrt }() | |||
camelia | rakudo-moar f05c77: OUTPUT«Inf» | ||
masak | sounds about right :P | ||
moritz | 1000! is a pretty large number | ||
masak | 1000! is! a! pretty! large! number! | 11:34 | |
wamba | ye, but why sqrt form big numbers is Inf? | ||
psch | m: say &sqrt.candidates>>.signature | ||
camelia | rakudo-moar f05c77: OUTPUT«((Numeric \x) (Cool \x) (num $a --> num))» | ||
moritz | wamba: what do you think the sqrt of Inf is? | 11:35 | |
masak | m: say sqrt(2 * pi * $_) * ($_ / e) ** $_ given 1_000 | ||
camelia | rakudo-moar f05c77: OUTPUT«Inf» | ||
masak | yup | ||
Sterling's approximation agrees :P | |||
psch | m: say (1000 / e) ** 1000 | ||
camelia | rakudo-moar f05c77: OUTPUT«Inf» | ||
wamba | moritz: if i remove sqrt then its not Inf | ||
perlawhirl | m: ( [\*] (2 .. *) )[1000].chars | ||
camelia | ( no output ) | ||
perlawhirl | m: say ( [\*] (2 .. *) )[1000].chars | ||
camelia | rakudo-moar f05c77: OUTPUT«2574» | ||
perlawhirl | that's a big number | ||
masak | meh | 11:36 | |
I've seen bigger | |||
psch | m: say ( [\*] (2 .. *) )[1000].Numeric | ||
camelia | rakudo-moar f05c77: OUTPUT«4035952266318452090518806286296408436845044275530751978706963977610491878128497049118615252008472869536910295360050080411996791369475389741951456038066137646595987724483431553460999362576257530948038840278601639397898421388354597263097357654866250729221451…» | ||
perlawhirl | HA! | ||
moritz | wamba: but it's an Int, which is an arbitrary precision type | ||
wamba: sqrt returns a Num, which is limited to roughly 1e308 | |||
wamba | m: [\*] (2 .. *) ==> { say .[1112].Num }() | ||
camelia | rakudo-moar f05c77: OUTPUT«Inf» | ||
wamba | ok, ty | ||
moritz | m: say log( ( [\*] (2 .. *) )[1000] ) | ||
camelia | rakudo-moar f05c77: OUTPUT«Inf» | ||
wamba | moritz: ty | 11:37 | |
psch | oh duh, Int.Numeric is a noop | ||
silly me | |||
moritz | the log thing is a bit sad | ||
though I don't know any good integer algorithms for calculating a natural log | |||
perlawhirl | m: say ( [\*] (2 .. *) )[168].sqrt # as far as you get before it craps out | 11:40 | |
camelia | rakudo-moar f05c77: OUTPUT«2.6939590968142e+153» | ||
perlawhirl | m: say ( [\*] (2 .. *) )[169].sqrt | ||
camelia | rakudo-moar f05c77: OUTPUT«Inf» | ||
11:41
pierre_ left
|
|||
timotimo | good, the feature matrix page has successfully been updated with my changes | 11:42 | |
11:44
AlexDaniel left
|
|||
perlawhirl | so, there are shaped arrays, tho... or are they still a WIP at this stage? | 11:45 | |
timotimo | they are a bit NYI | ||
moritz | perlawhirl: they exists, but not with all the degrees of freedom that TimToady has dreamed up :-) | ||
timotimo | m: my int @a[4;5] = (0 xx 5) xx 4; say @a.perl | ||
camelia | rakudo-moar f05c77: OUTPUT«array[int].new(:shape(4, 5), [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0])» | ||
timotimo | m: my int @a[4;5] = (0 xx 5) xx 4; @a[*;4] = 1 | ||
camelia | rakudo-moar f05c77: OUTPUT«Partially dimensioned views of arrays not yet implemented. Sorry.  in block <unit> at /tmp/xasTIEdpJu line 1» | ||
timotimo | ^- this is the part that's missing | 11:46 | |
perlawhirl | ah, i see | ||
timotimo | and shaped hashes are missing completely | ||
lizmat | what is a shaped hash other than a mutable Enum ? | 11:47 | |
perlawhirl | well yeah that's why i as asking... i thought they would at least get a +- in the list | ||
moritz | yes, sounds sensible | 11:48 | |
perlawhirl | yeah, it is Partially implemented (just the Array part (and only part of that)) | 11:49 | |
timotimo | lizmat: dunno, I would have to read the specs | ||
11:55
kid51 left
11:58
tbrowder joined
|
|||
tbrowder | hi! the unicode_texas.pod file still needs help. the unicode 'e' renders nicely (thanks) but its row is now too high; html source shows a big gap in that line but I don't see any error in the html; the html generated on my machine has no error and renders nicely with iceweasel | 12:02 | |
12:04
ufobat left
12:05
nd3i joined,
pierre_ joined
|
|||
nd3i | in the REPL, can I test subs from a file? | 12:05 | |
I tried: use /path/to/file, and load /path, and EVAL slurp /path ... no joy | 12:06 | ||
timotimo | if you have a path, you'll use "require" with a string argument | 12:11 | |
otherwise you'd make sure the file is in your library search paths and then just "use Folder::Inner::Modulename" | |||
12:15
kaare_ joined
|
|||
nd3i | beautiful! require does the trick. Forgot about that one. TYVM | 12:16 | |
12:16
nd3i left
12:17
_rubio_ joined
|
|||
XliffNap | MadcapJake++ # HTML::MyHTML release. | 12:20 | |
12:20
XliffNap is now known as Xliff
12:22
cdf joined
|
|||
cdf | quit | 12:23 | |
12:23
cdf left
12:29
pierre_ left
|
|||
perlawhirl | ^Hexit | 12:43 | |
lol | |||
12:43
perlawhirl left
|
|||
masak .oO( IRC is hard, let's exit... lol ) | 12:43 | ||
12:49
pierre_ joined
12:57
ZoffixW joined
|
|||
tony-o | MadcapJake: have you been using (or trying to use) modules.zef.pm? | 12:59 | |
MadcapJake | tony-o: yeah! but does search work? | 13:02 | |
also needs a favicon and an opensearch provider www.opensearch.org/Home | 13:03 | ||
tony-o | MadcapJake: search does work | 13:06 | |
it's not great, yet | |||
but it does bring back what you're looking for, for the most part | 13:07 | ||
13:10
Sgeo left
|
|||
MadcapJake | tony-o: if I put in HTML, not a single HTML::* module shows up | 13:14 | |
ZoffixW | Any idea why Inline::Perl5 is choking on this code? gist.github.com/zoffixznet/7fe6677...9da9433ea4 | ||
psch | ZoffixW: ooc, did you see github.com/peschwa/p6-Music-Helpers ? | 13:17 | |
ZoffixW | psch, yeah | ||
What's "ooc"? | 13:18 | ||
timotimo | "out of curiosity" usually | ||
psch | i usually take it as "out of curiousity", yeah | ||
timotimo | eh. british english, american english, same difference | 13:19 | |
13:19
Sgeo joined
|
|||
timotimo AFK | 13:19 | ||
psch | some contexts have it as s/curiousity/character/, and i sometimes also use it as s/curiousity/context/ :S | ||
huf | it's the french way to say "coo" | ||
just like OOP in french is POO | 13:20 | ||
13:20
infina left,
infina_ is now known as infina
|
|||
dalek | osystem: 1450f3f | RabidGravy++ | META.list: Rename META for Chronic |
13:20 | |
psch | ZoffixW: i like your interface a lot more, 'cause it takes all the portmidi handling away, fwiw | ||
MadcapJake | Xliff: have you given it a try yet? It's pretty fast for me (hope it doesn't give you errors like before) | ||
psch | on the otherh and, i wouldn't know how deal with chords as easily there vOv | ||
s/h a/ha/ | 13:21 | ||
+a space... | |||
but maybe i've just not really understood it heh | 13:22 | ||
ZoffixW | Just pass a list: .play(<C4 E4 G4>) play C major | ||
13:22
skids joined
|
|||
psch | i'm wondering if should tear out Music::Helpers::Note and replace it with Audio::MIDI::Note, in any case | 13:23 | |
13:23
Sgeo left
|
|||
psch | orr if maybe Music::Helpers is kinda bad anyway and i should trash it :P | 13:23 | |
ZoffixW | And if, say, two of those notes are meant to sound longer than the third, you can use .aplay to sound longer ones asynchronously: .aplay(<E4 G4>).play('C4', 1/8).play('C4', 1/8) <-- plays C major with C4 note played twice in 8th notes | ||
heh | 13:24 | ||
Don't trash it. | |||
Oh, Music::Helpers::NOTE... | |||
psch | nah, trashing was in reference to Music::Helpers | 13:25 | |
ZoffixW | Nah, don't. With ::Note you actually have to know what notes C major has :) While Music::Helpers will tell you :) | ||
psch | ::Note should probably be replaced by something built upon Audio::MIDI::Note, although i think it's (a) somewhat misnamed and (b) i don't like passing strings around to tell what i'd like to have played | 13:26 | |
well, A::M::N feels misnamed, to be precise | |||
it's more like a minimal sequencer, isn't it | 13:27 | ||
ZoffixW | I think I'll rename it to ::Instrument | ||
And will have an ::Instrument::Guitar subclass that will be able to take tabs. | 13:28 | ||
psch | that sounds neat | ||
ZoffixW | I'm doing this stuff just for an article on grammars. I don't think I have much real use for it anywhere else :) | ||
Well, I reported my Inline::Perl5 issue. No idea what's causing it. Gonna rewrite my .each() with a regular loop: github.com/niner/Inline-Perl5/issues/60 | 13:32 | ||
13:32
ZoffixW left
|
|||
Xliff | MadcapJake, as soon as I need something like that, I'm definitely giving it a whirl. | 13:34 | |
I've been playing with Mojo::DOM like Zoffix. | |||
Mainly for eBook mangling. | 13:35 | ||
s/eBook/ePub/ | |||
13:37
ufobat joined
|
|||
takadonet | morning all | 13:39 | |
MadcapJake | Xliff: ok! It still needs more work (and MyHTML itself still needs some features) but I'm knee-deep in CompUnits right now so it'll be a little while before I get back to it. | 13:41 | |
Xliff | No worries! Glad you got it released. I will update and see if I can break it, again! ^_^ | 13:45 | |
13:45
luiz_lha left
13:46
pierre_ left
|
|||
dalek | osystem: 158a0a4 | RabidGravy++ | META.list: Rename META file for Tinky |
13:47 | |
Xliff | Hmm.... MadcapJake, did you rename some classes? The tests aren't passing. | 13:49 | |
13:49
tomboy64 left
|
|||
Xliff | 020-basics.t -> "my MyHTMLTree $tree .= new($myhtml);" | 13:49 | |
MadcapJake | oh my, I definitely left tests in disrepair :P | ||
You can still --force install right? | 13:50 | ||
moritz | stmuk_++ # rstar release | 13:52 | |
13:53
tomboy64 joined
13:54
_rubio_ left
13:56
pierre_ joined
|
|||
tbrowder | is anyone else seeing the too-high row for unicode 'e' in this list: <doc.perl6.org/language/unicode_texas>? | 13:58 | |
[Coke] | tbrowder: looks fine here. | 13:59 | |
(os x/chrome) | |||
Xliff | MadcapJake, heh! I'm gonna take a stab at fixing them. Just for the halibut. | 14:00 | |
lizmat | tbrowder: looks fine for me on OS/X Safari as well | ||
ilmari | tbrowder: exactly the same height as the surrounding rows in firefox/linux | ||
27.2px, according to the dom inspector | |||
Xliff | tbrowder, looks fine here (Win/Chrome) | 14:01 | |
tbrowder | okay, thanks; my chrome seems weird, but iceweasel does show it fine (I don't use it much and forget to check it) | 14:02 | |
ilmari | tbrowder: it's one pixel taller in chromium | 14:03 | |
27 vs 26 | |||
and the 「 and 」 rows are 29px | 14:04 | ||
Xliff | .u 1d450 | 14:05 | |
yoleaux | U+1D450 MATHEMATICAL ITALIC SMALL C [Ll] (𝑐) | ||
Xliff | ^ Speed of light?! | ||
14:05
pierre_ left
|
|||
Xliff | m: say 𝑐 | 14:05 | |
camelia | rakudo-moar ce5dc0: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ko9rnRT6gNUndeclared routine: 𝑐 used at line 1» | ||
Xliff | .u 1d452 | 14:06 | |
yoleaux | U+1D452 MATHEMATICAL ITALIC SMALL E [Ll] (𝑒) | ||
tbrowder | weird! my deb 8 chrome does have utf-8 encoding but I guess I'll have to fall back to another browser for a while; thanks all! | ||
Xliff | m: say 𝑒 | ||
camelia | rakudo-moar ce5dc0: OUTPUT«2.71828182845905» | ||
14:06
khw joined
|
|||
tbrowder | bye | 14:06 | |
14:06
tbrowder left
|
|||
Xliff | Who can I talk to to advocate for the addition of the 𝑐 constant? | 14:06 | |
[Coke] | Xliff: what would the # be? | 14:07 | |
Xliff | Speed of light in a vacuum. | ||
[Coke] | (and that's why it's not going in, probably) | ||
psch | in meters per second | ||
[Coke] | Xliff: what units? | ||
psch | probably vOv | ||
i don't like it, fwiw | |||
Xliff | 299 792 458 m / s | ||
psch | e and pi are mathematical constants | 14:08 | |
[Coke] | yah, not going to happen, based on previous units based conversations. | ||
geekosaur | while I looked for it the other day, I actually agree it's module space | ||
Xliff | psch: So.... only unitless values? | ||
geekosaur | I could argue for pi and e also being module space | ||
MadcapJake | m: constant 𝑐 = 2.99792458e8; say 𝑐; | ||
camelia | rakudo-moar ce5dc0: OUTPUT«299792458» | ||
[Coke] | Xliff: where would you even hang the units? | ||
psch | Xliff: well, that's my naive reasoning, yeah. but i also think "how fundamental" is a thing to think about as well | 14:09 | |
like, we don't need G64 for example vOv | |||
Xliff | Well. That makes sense, then. And MacapJake threw in a simple workaround. | ||
geekosaur | ...also I'd be happier with e if it weren't a single letter in its texas version | 14:10 | |
MadcapJake | wrt module-space: I could see `use Constant::SpeedOfLight :meters;` | 14:11 | |
though tbh, is there really any other unit than m/s where it would be used? | 14:12 | ||
Xliff | Math::Constant::SpeedOfLight? | ||
DrForr | As long as alpha doesn't change (which it may) :) | ||
Xliff | Most equations that use it require m/s | 14:13 | |
colomon | Math::Constant::SpeedOfLightInAVacuum | ||
errr, surely Physics::Constant::SpeedOfLightInAVacuum | |||
DrForr | I'd put that in Physics:: myself. | ||
Xliff | Fair enough. | ||
14:14
tharkun left
|
|||
Xliff | No Physics:: modules in the ecosystem yet. LOL! | 14:14 | |
MadcapJake | another idea would be Physics::Constants and leave the space open for more than just speed of light | 14:15 | |
Xliff | I'm looking here: physics.info/constants/ | ||
DrForr | Well, there are at least 19 constants that we ned... | ||
*need | 14:16 | ||
Xliff | Unfortunately... subscripts! | ||
14:16
blue_lizzard joined,
tharkun joined
|
|||
DrForr | X_0 and friends? | 14:16 | |
Xliff | Yup | ||
MadcapJake | you could make each one an instance of a Physics::Constant class that has a convert method | 14:17 | |
Xliff | ε0, u0, and the whole m_ pantheon. | ||
I like that idea, MadcapJake. | 14:19 | ||
Only problem is that for completeness, there'd need to be some way to take care of symbols with subscripts. | 14:20 | ||
Because the closer we get to this: 4πε0....the more useful it would be to the people who would actually use it. | 14:21 | ||
lizmat | Xliff: if they're part of an identifier, subscripts should just work ? | ||
Xliff | And that 0 should be subscript. | ||
psch | m: constant m₀ = "foo"; say m₀ | 14:22 | |
camelia | rakudo-moar ce5dc0: OUTPUT«5===SORRY!5=== Error while compiling /tmp/dwke_FWkd1Missing initializer on constant declarationat /tmp/dwke_FWkd1:1------> 3constant m7⏏5₀ = "foo"; say m₀» | ||
psch | alphabetical subscripts work i think | ||
Xliff | m: constant e₀ = 8.854187817e-12; say e₀ | ||
camelia | rakudo-moar ce5dc0: OUTPUT«5===SORRY!5=== Error while compiling /tmp/lQ5b_5oa_FMissing initializer on constant declarationat /tmp/lQ5b_5oa_F:1------> 3constant e7⏏5₀ = 8.854187817e-12; say e₀» | ||
psch | well, if those constants had a formulaic progression it could be solved with postfix ops :P | 14:23 | |
hm, actually, even without it could | |||
Xliff | lizmat: Soo.... not yet. | ||
psch | m: sub postfix:<₀> { $^a }; say 2₀ | ||
camelia | rakudo-moar ce5dc0: OUTPUT«2» | ||
lizmat | :-( | 14:24 | |
psch | define a constant m, define a postfix to take only that constant, return the right value | ||
it's a bit terrible, yes, but i think the "allow numeric subscripts in ident" discussion has happened a few times already | |||
Xliff | psch: That's a strategy. However how would that work for the m_e, m_p, and m_n constants? | 14:25 | |
psch: multis? | 14:26 | ||
psch | m: constant mₑ = "i don't know physics"; say mₑ | ||
camelia | rakudo-moar ce5dc0: OUTPUT«i don't know physics» | ||
MadcapJake | not to beat a dead horse, but I think subscripts should be allowed in ident because x₁ is a very common compsci/math concept/syntax | ||
psch | Xliff: Lo is fine in ident, No isn't afaik | ||
.u ₑ | |||
yoleaux | U+2091 LATIN SUBSCRIPT SMALL LETTER E [Lm] (ₑ) | ||
psch | m: say uniprop 'ₑ' | ||
camelia | rakudo-moar ce5dc0: OUTPUT«Lm» | ||
psch | oh, isn't even Lo | ||
Xliff | Oh. Right. Letters work. | ||
psch | ...i don't know unicode :) | ||
m: say uniprop '₀' | 14:27 | ||
camelia | rakudo-moar ce5dc0: OUTPUT«No» | ||
Xliff | So for any No, we need postfix ops. | ||
MadcapJake | actually though, I *could* see subscripts being more powerful than just simply numbers-on-ends-of-identifiers | ||
Xliff | LOL! And Hubble's constant doesn't seem so .... constant. | 14:31 | |
dalek | osystem: 3d4b9d3 | RabidGravy++ | META.list: Rename META for Audio::Sndfile |
14:38 | |
masak .oO( Hubble's readonly parameter ) | 14:45 | ||
Xliff | When declaring a unit class, how do you handle inheritance? | 14:48 | |
psch | m: unit class Foo; also is Cool; | ||
camelia | ( no output ) | ||
psch | m: unit class Foo is Cool; | ||
camelia | ( no output ) | ||
tailgate | how does one write a custom "say" for an object? | 14:51 | |
psch | tailgate: &say calls .gist on its arguments | ||
tailgate | so you override gist in your object? | 14:52 | |
class | |||
14:57
mohae joined
|
|||
lizmat | m: class A { method gist { "foo" } }; say A | 14:57 | |
camelia | rakudo-moar ce5dc0: OUTPUT«foo» | ||
Xliff | Thanks psch. | 14:58 | |
15:01
_mg_ left
15:03
lostinfog joined
|
|||
dalek | osystem: 264a14e | RabidGravy++ | META.list: Rename META for Audio::Convert::Samplerate |
15:05 | |
15:06
molaf left
15:09
g4 left
|
|||
grondilu | > use Clifford; say no*ni # now shows -1+𝑂∧∞, which is neat | 15:10 | |
15:11
domidumont left
|
|||
hoelzro | stmuk_: there's no reason Linenoise shouldn't work on Windows; I can test it later | 15:13 | |
I'm wondering if it's just the star MSI that has problems with Linenoise | 15:14 | ||
15:18
muraiki joined
15:20
_mg_ joined
15:25
muraiki left
|
|||
RabidGravy | Oooh Tinky's tests fail with "latest" and not 2016.04 | 15:33 | |
and only on Travis it seems | 15:35 | ||
Xliff | Is there a perl6 equivalent of 'prove'? | ||
RabidGravy | I think leont made one | 15:36 | |
15:36
abrakadabra joined
|
|||
lizmat | it's actually in nom now | 15:37 | |
ilmari | rakudo.git:t/harness6 | ||
lizmat | afk for a few hours& | ||
RabidGravy | also github.com/tony-o/perl6-flow | ||
15:40
blue_lizzard left
15:41
CIAvash left
15:42
Begi joined
|
|||
Begi | is there an easy way to check if a number is pair or unpair? (a method maybe ?) thanks ! | 15:44 | |
timotimo | "pair"? "unpair"? | ||
Begi | euh, 1 is unpaire, 2, 4 and 6 are pair for example | 15:45 | |
huf | even/odd | 15:46 | |
Begi | sorry if it's not the good word :} Ah, thanks ! | ||
huf | that's how they say it in english. not paired and unpaired. | ||
arnsholt | Doesn't look like there're methods for even/odd | ||
huf | &1 | ||
arnsholt | But there's the %% operator | ||
huf | well, whatever binary and is | ||
arnsholt | Which returns true if the remainder is 0 and false if note | ||
*not | 15:47 | ||
timotimo | huf: bitwise and is +& | ||
m: say 1 %% 2; say 2 %% 2; say 3 %% 2; say 4 %% 2; say 5 %% 2; say 6 %% 2 | |||
camelia | rakudo-moar ce5dc0: OUTPUT«FalseTrueFalseTrueFalseTrue» | ||
ilmari | m: (1..4).map: * %% 2 | ||
camelia | ( no output ) | ||
ilmari | m: say (1..4).map: * %% 2 | ||
camelia | rakudo-moar ce5dc0: OUTPUT«(False True False True)» | ||
timotimo | Begi: what language do you come from? | ||
RabidGravy | m: say (^10).classify({ $_ %% 2 ?? "even" !! "odd" }) | 15:49 | |
camelia | rakudo-moar ce5dc0: OUTPUT«{even => [0 2 4 6 8], odd => [1 3 5 7 9]}» | ||
RabidGravy | right there in the examples of List.classify | ||
15:50
|Tux| left
|
|||
masak | m: sub is-even($n) { $n %% 2 }; say 42.&is-even | 15:50 | |
camelia | rakudo-moar ce5dc0: OUTPUT«True» | ||
masak | Begi: there. | ||
timotimo | if you don't come from an english background it may be hard to find "even" and "odd". in german, you say literally "straight" and "unstraight" | 15:51 | |
arnsholt | Oooh, masak++ to the resecue! | ||
Begi | I'm French. And i was sure that pair and unpair was good... But now I know, thanks ! :) | 15:52 | |
arnsholt | Norwegian uses pair-number and odd-number, French has pair and unpair, IIRC | ||
timotimo | pff, the french are always arrogant about language :D :D | ||
arnsholt | Well, usually English has the same terms as the French when it comes to mathematics. It's usually the *Germans* who are stubborn and insist on their own words ;p | 15:53 | |
timotimo | yeah, the german words and terms are always better, though | 15:54 | |
huf | timotimo: yeah, my first guess waaaay back when was paired/unpaired too :) | ||
it's the english translation of the hungarian words, after all :) | |||
also i think i may have seen the words on a roulette mat | 15:55 | ||
arnsholt | timotimo: I once heard a (Norwegian) professor of Philosophy say that Kant was *even* harder to understand in English translation than in Norwegian translations, since many of Kant's special terms are very hard to translate into English | 15:56 | |
(Or translate well, at any rate) | |||
15:56
|Tux| joined
|
|||
timotimo | i ought to read a bunch of his work some day | 15:56 | |
i don't think i've read a single piece of his :( | 15:57 | ||
arnsholt | I think I've read fragments | ||
And in the end, I think it's more important to be aware of Kant as a philosopher and roughly his position on things. There simply isn't enough time to read all of the seminal things | |||
timotimo | i also ought to read some kafka. for some reason the two are closely related in my mind | 15:58 | |
probably because their names are both "ka"-words :) | |||
grondilu was given 'the metamorphosis' to read during high-school. | 15:59 | ||
psch | "Auf der Galerie" is simply amazing | 16:00 | |
en.wikipedia.org/wiki/Up_in_the_Gallery#Text | |||
by kafka that is | |||
grondilu forgot almost everything about it except the weird plot. | |||
(it's crazy how little I can remember from books, especially fiction) | 16:01 | ||
Begi | I'm doing a little game. The goal is to write code with fewer characters possible. I'm sure Perl can win :) | 16:06 | |
For now, I've that ? Can I reduce it ? | |||
my $n = prompt('>');my $m = prompt('>'); for 1..$n { if $_ %% 2 {say 'O' x $m } else { say 'X' x $m }} | |||
grondilu | my ($n,$m) = promopt('>') xx 2; comes to mind | 16:07 | |
*prompt | |||
perlpilot | using a ternary would make is smaller too | 16:08 | |
grondilu | also, use the ternary operator | ||
timotimo | no, perl cannot win | ||
perlpilot | a post-fix for could shave off a couple of characters | ||
timotimo | the $n doesn't have to be a variable | 16:09 | |
psch | my ($m,$n) = prompt('>') xx 2; my $l = $_ %% 2 ?? 'O' !! 'X'; $l x $_ for 1..$n # i'd say | 16:10 | |
timotimo | m: say ('O', 'X' Xx 5)[^10] | ||
camelia | rakudo-moar ce5dc0: OUTPUT«(OOOOO XXXXX Nil Nil Nil Nil Nil Nil Nil Nil)» | ||
timotimo | m: say ('O', 'X' Xx 5 xx *)[^10] | ||
camelia | rakudo-moar ce5dc0: OUTPUT«(OOOOO OOOOO OOOOO OOOOO OOOOO OOOOO OOOOO OOOOO OOOOO OOOOO)» | ||
timotimo | m: say (('O', 'X' Xx 5) xx *)[^10] | ||
camelia | rakudo-moar ce5dc0: OUTPUT«((OOOOO XXXXX) (OOOOO XXXXX) (OOOOO XXXXX) (OOOOO XXXXX) (OOOOO XXXXX) (OOOOO XXXXX) (OOOOO XXXXX) (OOOOO XXXXX) (OOOOO XXXXX) (OOOOO XXXXX))» | ||
psch | oh, no, needs andthen instead of the second ; | ||
which makes it a lot longer | |||
timotimo | ugh, sublists | ||
Xliff | m: So "my ($n,$m)=prompt('>') xx 2; for (^$n) { say $_ %% 2 ?? 'O' x $m !! say 'X' xx $m } | 16:11 | |
camelia | rakudo-moar ce5dc0: OUTPUT«5===SORRY!5=== Error while compiling /tmp/lnR8Fl14B7Variable '$n' is not declaredat /tmp/lnR8Fl14B7:1------> 3So "my (7⏏5$n,$m)=prompt('>') xx 2; for (^$n) { say» | ||
Xliff | m: my ($n, $m)=prompt('>') xx 2; for (^$n) { say $_ %% 2 ?? 'O' x $m !! say 'X' xx $m } | ||
camelia | rakudo-moar ce5dc0: OUTPUT«>>Cannot convert string to number: base-10 number must begin with valid digits or '.' in '3⏏5Céad slán ag sléibhte maorga Chontae Dhún na nGall' (indicated by ⏏) in block <unit> at /tmp/yzMHZDQPLg line 1Actually thrown at: in block…» | ||
grondilu | m: say <O X> Zx (2, 3) | ||
camelia | rakudo-moar ce5dc0: OUTPUT«(OO XXX)» | ||
grondilu | m: say <O X> Zx (2, 3)[$_ % 2] for ^2 | 16:12 | |
camelia | rakudo-moar ce5dc0: OUTPUT«(OO)(OOO)» | ||
grondilu | m: say (<O X> Zx (2, 3))[$_ % 2] for ^2 | ||
camelia | rakudo-moar ce5dc0: OUTPUT«OOXXX» | ||
timotimo | m: say (<O X> xx *) Zx 6 | 16:13 | |
camelia | rakudo-moar ce5dc0: OUTPUT«(O XO XO XO XO XO X)» | ||
16:13
leont_ joined
|
|||
grondilu | my ($n, $m) = prompt xx 2; say (<0 X> Zx ($n, $m))[$_ % 2] for 1 .. $n | 16:14 | |
I think I win | |||
psch | grondilu: no, the length the X and O strings is both $m :) | 16:15 | |
Xliff | Yeah. Beat my "'my ($n, $m)=prompt(">") xx 2; for (^$n) { say $_ %% 2 ?? "O" x $m !! say "X" x $m }" | ||
16:15
ufobat left
|
|||
psch | grondilu: so that's <O X> Xx $m instead i think | 16:15 | |
timotimo | m: say (|<O X> xx *) Zx 6 | ||
camelia | rakudo-moar ce5dc0: OUTPUT«(OOOOOO)» | ||
timotimo | m: say (|<O X> xx *) Xx 6 | 16:16 | |
camelia | rakudo-moar ce5dc0: OUTPUT«(...)» | ||
timotimo | m: say ((|<O X> xx *) Xx 6)[^20] | ||
camelia | rakudo-moar ce5dc0: OUTPUT«(OOOOOO XXXXXX OOOOOO XXXXXX OOOOOO XXXXXX OOOOOO XXXXXX OOOOOO XXXXXX OOOOOO XXXXXX OOOOOO XXXXXX OOOOOO XXXXXX OOOOOO XXXXXX OOOOOO XXXXXX)» | ||
grondilu | my ($n, $m) = prompt xx 2; say (<0 X> Xx $m)[$_ % 2] for 1 .. $n | ||
psch | timotimo++ wins i think, replace 6 with $m and ^20 with $n | ||
grondilu | m: say 'my ($n, $m) = prompt xx 2; say (<0 X> Xx $m)[$_ % 2] for 1 .. $n'.chars | ||
camelia | rakudo-moar ce5dc0: OUTPUT«64» | ||
psch | err, ^$n | ||
Xliff knows better than to get into a golfing contest with grondilu. | |||
timotimo | if the two numbers were reversed, it'd be easier, because then the variables could go completely | 16:17 | |
hm, actually ... | |||
Xliff | I don't think the variables are important, in this instance. | ||
timotimo | m: my @vals = 10, 5; say ((|<O X> xx *) Xx @vals.shift)[^@vals.shift] | ||
camelia | rakudo-moar ce5dc0: OUTPUT«(OOOOOOOOOO XXXXXXXXXX OOOOOOOOOO XXXXXXXXXX OOOOOOOOOO)» | ||
timotimo | nope, wrong way around. | 16:18 | |
perlpilot notes that an explicit index is fewer characters than .shift :) | |||
timotimo | in that case you've misunderstood my intention, perlpilot | 16:19 | |
grondilu | m: say (@=<O X> X 3).shift for ^10 | ||
camelia | rakudo-moar ce5dc0: OUTPUT«(O 3)This Seq has already been iterated, and its values consumed(you might solve this by adding .cache on usages of the Seq, orby assigning the Seq into an array) in block <unit> at /tmp/1o99Qfc1Q2 line 1» | ||
grondilu | m: say (state @=<O X> X 3).shift for ^10 | ||
camelia | rakudo-moar ce5dc0: OUTPUT«Cannot shift from an empty Array in block <unit> at /tmp/2Rv7582yPU line 1Actually thrown at: in block <unit> at /tmp/2Rv7582yPU line 1» | ||
perlpilot | perhaps. I just glanced at what you did | ||
timotimo | i was wondering which of the two shifts would be executed first | ||
grondilu | m: say (@=[<O X> X 3]).shift for ^10 | ||
camelia | rakudo-moar ce5dc0: OUTPUT«(O 3)This Seq has already been iterated, and its values consumed(you might solve this by adding .cache on usages of the Seq, orby assigning the Seq into an array) in block <unit> at /tmp/D_RZgPPlr9 line 1» | ||
perlpilot | ah. | ||
timotimo | if i had known, i would have been able to use indices | 16:20 | |
grondilu | m: say (@=[<O X> Xx 3] xx *).shift for ^10 | ||
camelia | rakudo-moar ce5dc0: OUTPUT«[OOO XXX][OOO XXX][OOO XXX][OOO XXX][OOO XXX][OOO XXX][OOO XXX][OOO XXX][OOO XXX][OOO XXX]» | ||
grondilu | m: say (@=|[<O X> Xx 3] xx *).shift for ^10 | ||
camelia | rakudo-moar ce5dc0: OUTPUT«OOOOOOOOOOOOOOOOOOOOOOOOOOOOOO» | ||
timotimo | %) | ||
grondilu | meh | ||
* | 16:21 | ||
psch | m: say {((|<O X> xx *) Xx @^a[1])[^@a[0]]}(3, 4) | ||
camelia | rakudo-moar ce5dc0: OUTPUT«Too many positionals passed; expected 1 argument but got 2 in block <unit> at /tmp/hbBI5tYDZj line 1» | ||
[Coke] wonders if he missed what the goal of the code to be golfed was. | 16:22 | ||
psch | m: say {((|<O X> xx *) Xx @^a[1])[^@a[0]]}([3, 4]) | ||
camelia | rakudo-moar ce5dc0: OUTPUT«(OOOO XXXX OOOO)» | ||
timotimo | [Coke]: ask the user for two numbers. the first one will be the number of results, the second one will the the number of characters in each result | ||
psch | [Coke]: afaict "print $n strings of lenght $m alternating between only O and only X, starting with O" | ||
my @^a juggling there is only neccessary if $n has to be the first character prompted for | 16:24 | ||
well, and inside the argument brackets it has to be < prompt('>') xx 2 > of course | |||
perlpilot | m: say {((|<O X> xx *) Xx $^b)[^$^a]}(3, 4) | 16:25 | |
camelia | rakudo-moar ce5dc0: OUTPUT«(OOOO XXXX OOOO)» | ||
psch | but yeah, that's pretty much a variation on timotimos shift attempt above | ||
perlpilot: ohh. i thought that was in order of apperance, not lexicographically? | |||
16:26
blue_lizzard joined
16:27
abraxxa left
|
|||
perlpilot | psch: the only place it's mentioned is S06:1903 I think. Easy to miss. | 16:28 | |
synopsebot6 | Link: design.perl6.org/S06.html#1903_I_think | ||
perlpilot | blah S06:1903 | ||
synopsebot6 | Link: design.perl6.org/S06.html#line_1903 | ||
perlpilot | S06:1903 # blah | 16:29 | |
synopsebot6 | Link: design.perl6.org/S06.html#1903 | ||
[Coke] | the original had newlines between. doesn't matter? | ||
16:31
sno left,
molaf joined
|
|||
psch | m: {((|<O X> xx *) Xx $^b)[^$^a]}(3, 4)>>.say | 16:31 | |
camelia | rakudo-moar ce5dc0: OUTPUT«OOOOXXXXOOOO» | ||
[Coke] | m: say @ARGS; #should this point the user to @*ARGS ? | 16:32 | |
camelia | rakudo-moar ce5dc0: OUTPUT«5===SORRY!5=== Error while compiling /tmp/95U50oqhdlVariable '@ARGS' is not declaredat /tmp/95U50oqhdl:1------> 3say 7⏏5@ARGS; #should this point the user to @*» | ||
16:32
leont_ left
|
|||
[Coke] | m: {((|<O X>xx*)Xx$^b)[^$^a]}(3, 4)>>.say #don't need that whitespace, fwiw. | 16:34 | |
camelia | rakudo-moar ce5dc0: OUTPUT«OOOOXXXXOOOO» | ||
grondilu | aren't anonymous vars stateful by default? | 16:39 | |
m: say ($ = rand) xx 3 | 16:40 | ||
camelia | rakudo-moar ce5dc0: OUTPUT«(0.873389677186383 0.873389677186383 0.873389677186383)» | ||
grondilu | ^ok | ||
m: say class { method foo | |||
camelia | rakudo-moar ce5dc0: OUTPUT«5===SORRY!5=== Error while compiling /tmp/vRbGQyHmS8Missing blockat /tmp/vRbGQyHmS8:1------> 3say class { method foo7⏏5<EOL>» | ||
grondilu | m: say class { method foo { $ = rand } }.foo xx 3 | ||
camelia | rakudo-moar ce5dc0: OUTPUT«(0.12095567275021 0.949202130224687 0.528641531443544)» | ||
grondilu | m: say class { method foo { state $ = rand } }.foo xx 3 | 16:41 | |
camelia | rakudo-moar ce5dc0: OUTPUT«(0.0667398521920298 0.0667398521920298 0.0667398521920298)» | ||
grondilu | m: say sub { $ = rand }() xx 3 | ||
camelia | rakudo-moar ce5dc0: OUTPUT«(0.42887390855944 0.0981274916362383 0.726979193199287)» | ||
grondilu | m: say sub { state $ = rand }() xx 3 | 16:42 | |
camelia | rakudo-moar ce5dc0: OUTPUT«(0.606978223312708 0.410643969659601 0.241039878874842)» | ||
grondilu | that's slightly confusing | ||
ok I suppose a new sub is made each time. | |||
m: say ($ = sub { state $ = rand })() xx 3 | 16:43 | ||
camelia | rakudo-moar ce5dc0: OUTPUT«(0.685959262855442 0.850307852496684 0.959541707007263)» | ||
grondilu | m: say (state $ = sub { state $ = rand })() xx 3 | ||
camelia | rakudo-moar ce5dc0: OUTPUT«Cannot find method 'Any' in block <unit> at /tmp/zr0wrj1hrS line 1» | ||
psch | ...neat | ||
grondilu | m: say (state $ = sub { state $ = rand })() for ^3 | ||
camelia | rakudo-moar ce5dc0: OUTPUT«Cannot find method 'Any' in block <unit> at /tmp/eQvnQ_pq0I line 1» | ||
grondilu | m: say (& = sub { state $ = rand })() for ^3 | 16:44 | |
camelia | rakudo-moar ce5dc0: OUTPUT«0.6670767516860910.2392404996219150.923056760645881» | ||
psch | m: state $ = sub { } | 16:45 | |
camelia | ( no output ) | ||
psch | m: (state $ = sub { })() | ||
camelia | ( no output ) | ||
16:48
dakkar left
16:50
Begi left
16:58
_mg_ left
16:59
blue_lizzard left
17:01
zakharyas left
17:07
zakharyas joined,
kerframil left
17:09
sue joined
17:14
Actualeyes left
|
|||
gregf_ | m: say (& = sub { state $ = rand } ).^name | 17:16 | |
camelia | rakudo-moar ce5dc0: OUTPUT«Sub» | ||
gregf_ | m: say (sub { state $ = rand } ).^name | 17:17 | |
camelia | rakudo-moar ce5dc0: OUTPUT«Sub» | ||
[Coke] | MadcapJake: did you just open 127989? | ||
A code sample showing the code to generate the bad output would be great. | 17:18 | ||
psch | m: say (state $ = sub { state $ = rand } ).^name | ||
camelia | rakudo-moar ce5dc0: OUTPUT«Sub» | ||
17:19
cale2 joined
|
|||
Juerd | Is there any difference between a bare '$' and 'state $'? | 17:20 | |
17:22
sue left
17:23
infina left
17:24
infina joined
|
|||
tailgate | what do I do to remove the last character from a string? | 17:25 | |
[Coke] | m: "what?".chop.say | 17:26 | |
camelia | rakudo-moar ce5dc0: OUTPUT«what» | ||
gregf_ | m: say [ $, state $ ].map: { [ $_.^name, $_ ] } | ||
camelia | rakudo-moar ce5dc0: OUTPUT«([Any (Any)] [Any (Any)])» | ||
gregf_ | chop? | ||
17:33
_mg_ joined
17:36
sortiz joined
|
|||
sortiz | \o #perl6 | 17:37 | |
vendethiel- | o/ | 17:38 | |
17:38
domidumont joined
|
|||
timotimo | \o | 17:45 | |
perlpilot | tailgate: why do you want to remove the last character of a string OOC? | 17:48 | |
[Coke] catches another 10 seconds of footage on the latest portuguese captain america teaser. :) | 17:51 | ||
17:52
cale2 left
18:04
CIAvash joined
18:08
kurahaupo left,
sno joined
18:12
ufobat joined
18:14
domidumont1 joined
18:17
maybekoo2 left,
Xliff left,
domidumont left
18:20
infina left,
infina joined
18:21
kurahaupo joined
|
|||
ufobat cries over his broken laptop | 18:21 | ||
18:21
kurahaupo left
|
|||
moritz hugs ufobat | 18:22 | ||
ufobat | :-) | ||
18:23
zakharyas left
|
|||
timotimo | :( | 18:26 | |
mein beileid~ | |||
ufobat | i am a victim of the dell pro support | 18:37 | |
timotimo | >:( | ||
ufobat | my touchpad was semi broken, it got replaces, speakers sounded like a old modem.... then everything else was replaced. | ||
the new touchpad is completly broken, and is getting so hot after a while... | 18:38 | ||
but after 2 replacements dell will not create a new call for a 3rd hardware replacment. the technican told me i probably get a offer for a new notebook now.. :/ | |||
bla | |||
anyway :D | |||
i've got a newbie question again | 18:39 | ||
m: sub bar {try {return foo; CATCH {given X::AdHoc {say "caught "}}}}; sub foo {die 1}; bar(); say "okay" | |||
camelia | rakudo-moar ce5dc0: OUTPUT«caught 1 in sub foo at /tmp/SDcMycTRvT line 1 in sub bar at /tmp/SDcMycTRvT line 1 in block <unit> at /tmp/SDcMycTRvT line 1» | ||
timotimo | personally, i'm pretty fond of lenovo support | ||
ufobat | <3 lenovo | ||
timotimo | will be AFK for a bit | ||
stmuk_ | I only really trust Apple and Lenovo laptops - and the latter less so recently | ||
ufobat | i've got a lenovo keyboard because i like the trackpoint so much | ||
timotimo | ufobat: you accidentally wrote "given" instead of "when" | 18:40 | |
ufobat | omg | ||
thanks! | 18:41 | ||
18:42
CIAvash left
|
|||
tony-o | MadcapJake: that's really bad. i guess 'no' is the answer to your question | 18:43 | |
18:46
infina left
|
|||
masak can't help but think of Perl 6 when he sees an article called "Good Software Takes Ten Years. Get Used To it." | 18:47 | ||
www.joelonsoftware.com/articles/fog...00017.html | |||
(written 15 years ago) | |||
18:48
jjido joined
18:52
spider-mario joined
18:53
jack_rabbit left
18:56
Xliff joined
|
|||
stmuk_ | I have a shirt with | 18:59 | |
www.einval.com/~steve/DebianT/grol...n-open.gif | |||
"we only release it when it's ready" | 19:00 | ||
19:03
jamesneko joined
19:04
infina joined
19:05
infina left,
infina joined
19:06
jack_rabbit joined
|
|||
Xliff | MadcapJake, sorry to be the bearer of bad news but p6-MyHTML is still generating SEGVs. I'm currently running on my Linux host, so it is not a problem limited to my VM. | 19:09 | |
MadcapJake | awesome /s | 19:10 | |
:P I wonder what could cause it to work for me and not for you? | |||
Is your host 32 bit? | 19:11 | ||
[Coke]: ok, commenting now | |||
[Coke] | MadcapJake: danke | 19:13 | |
Xliff | MadcapJake, host is 64-bit. VM is 32-bit. | ||
Same error. | |||
MadcapJake | tony-o: You could just send a json of all the modules to the browser and then use fuse (a client-side JS fuzzy search engine) to give you per-character search | ||
Xliff | I'm writing up a gist, now. | ||
19:13
colomon left
19:15
domidumont1 left,
polyfloyd left
|
|||
Xliff | gist.github.com/Xliff/80881b4b3f02...0f95d4cca2 | 19:15 | |
^^ MadcapJake | |||
19:16
dwarring joined
|
|||
Xliff | Over 2000 packages to update to go from Ubuntu 15.10 to 16.04... o_O | 19:16 | |
MadcapJake | seriously...RT doesn't accept pre code blocks... | 19:17 | |
Xliff | I wonder if I can recompile moar with debugging info. | 19:18 | |
MadcapJake | omg I am totally fumbling with RT, now > does block quotes, is this markdown? I thought it was email style? | 19:19 | |
19:25
Sound joined
|
|||
mst | > is quotes, just like it is in email | 19:27 | |
moritz | except for Larry, who use : for quoting :-) | 19:28 | |
DrForr | Xliff: If you're using it in a vm there's supposedly an open-source version of the VirtualBox tools that fix a lot of issues. | 19:30 | |
vendethiel- | masak: I can't think of anything when I read "good software", myself :P | 19:32 | |
Xliff | DrForr, It's not an issue of VM or non-VM anymore. | ||
I'm currently dual-booted to Linux and the same SEGV occurs in the same place. | 19:33 | ||
Although I will look into the VB tools, as you've suggested. Thanks for the hint. | |||
masak | vendethiel-: :) | ||
DrForr | Ah. I don't know the circumstances, I'm just echoing something I saw on FB. | 19:34 | |
Xliff | No worries. | 19:35 | |
So I'm trying to get debugging info into libmoar... and I don't know if I'm having much luck | 19:36 | ||
Will find out, shortly. | |||
MadcapJake | mst: huh I thought in email you still had to do <blockquote> or somesuch | 19:38 | |
mst | that's HTML, my email is plain text | 19:39 | |
MadcapJake | Xliff | ||
Xliff: nine_ taught me a great gdb command: `call MVM_dump_backtrace(tc)` | 19:40 | ||
Xliff | OK | 19:41 | |
Hum | |||
MadcapJake | mst: huh thought they were all the simplified email html format | ||
Xliff | $1 = 0 | ||
mst | MadcapJake: wut | ||
Xliff | Maybe I need to be in the proper frame? | ||
mst | MadcapJake: I. er. I'm 33 and you just made me feel old. | ||
MadcapJake: HTML email is an abomination, damnit :P | |||
19:41
blue_lizzard joined
|
|||
skids pines for the days of USENET. | 19:42 | ||
MadcapJake | lol sorry! not much younger than you but I thought that plaintext email was completely gone from our world :P | ||
skids | Not at all. | ||
Xliff | I still use USENET | 19:43 | |
skids | Go try posting HTML on lkml and see how much of your clothing is not melted to your flesh afterwards. | ||
mst | MadcapJake: my mail client doesn't even render HTML email | 19:44 | |
if there's no plain text part, generally I delete it unread | |||
skids | (Why something with the stated goal of human readability ended up like HTML did has always mystified me.) | ||
Xliff | I swear I can't get any debugging symbols into libmoar.so | 19:45 | |
MadcapJake | where does it say html was designed for human readability? | ||
skids | (At least with SGML you could write more or less normally once you agreed on a DTD.) | ||
Well, I guess maybe XML was the one making that claim. | 19:46 | ||
That's hw I rmember it being sold, at the time. | |||
MadcapJake | html was designed to make the resultant page readable :) | ||
19:48
zakharyas joined
|
|||
vendethiel- | html was designed so that electron could be used to build desktop applications :) | 19:49 | |
mst | skids: old school semantic HTML is pretty reasonable | ||
MadcapJake | I actually think the move away from divs/spans in HTML5 is a huge step forward towards readability. | ||
mst | skids: see the source to trout.me.uk | ||
MadcapJake: in favour of what? I'm still using tables | |||
Xliff | Waitasec?! | ||
What is HTML5 replacing div's with? | |||
And spans are evil. | 19:50 | ||
MadcapJake | mst: main, section, article, aside ,details, header, footer, nav, and more | ||
mst | oh, neat | ||
span IIRC is mostly for hanging CSS off | |||
beats <font> | |||
Xliff | True enough | ||
MadcapJake | span is an inline div | 19:51 | |
mst | except a span isn't a box by default and a div is | ||
so I don't think that's a good explanation of it | |||
MadcapJake | right, that's what i mean by "inline" | ||
mst: actually though div has zero semantics technically, besides the fact that css does allow you to treat it like a box | 19:52 | ||
but you could just use it to give things within certain properties and the div would be completely invisible | 19:53 | ||
Xliff | <div> - division? | 19:55 | |
MadcapJake | html has two levels of interaction really: block and inline and div/span are respectively the zero-semantics tools to manipulate at each level. | ||
19:55
sivoais left
19:56
blue_lizzard left
|
|||
Xliff | So without div and span how is styling going to work? | 19:56 | |
MadcapJake | Xliff: they aren't gone. | ||
Xliff: and really the new tags have very little meaning (if any) outside of what you provide | |||
19:57
sivoais joined
|
|||
MadcapJake | The point is, what is more readable <div class="main"></div> or <main></main> | 19:57 | |
It's like a DSL for divs xD | 19:58 | ||
Xliff | Ah. Gotcha. | ||
HTML with a custom DTD? | |||
MadcapJake | yeah I think :P | 20:00 | |
not really knowledgeable on XML/SGML/DTDs | |||
20:01
jamesnek1 joined
|
|||
MadcapJake | Xliff: I pushed a better test for the Raw stuff, give that one a go and see if it works (the code in your snippet doesn't appear current) | 20:01 | |
ufobat | what does this mean: Missing serialize REPR function for REPR MVMContext? i am getting if from a my $dbh will leave { .dispose } = get-dbiish; | ||
skids | It means something is trying to be precomped which cannot be precomped. | 20:02 | |
Maybe a constant? | |||
Xliff | MadcapJake, OK | ||
There we go. No more segfault. | 20:03 | ||
I still don't get why my pull over an hour ago didn't get the latest code from origin/master | |||
ufobat | no :/ | ||
20:04
dolmen joined,
jamesneko left
|
|||
MadcapJake | Xliff: huh not sure! | 20:04 | |
Xliff | Yup! I can run eg/attributes-high.pl6 with no problems now. | ||
MadcapJake | YESSSS! :D | ||
Xliff | Wonder what you changed. I will have to look at the last patch. | 20:05 | |
MadcapJake++ | |||
skids | ufobat: I might have a more helpful hint if I had any clue what an MVMContext was (darn smurf words) | ||
MadcapJake | w00t w00t! My first user of my module xD Xliff++ | ||
Xliff | =D | ||
20:06
zacts joined
|
|||
MadcapJake | Xliff: I changed a lot, for one I moved all the raw into ::Raw (the only NativeCall pragma is in that file) | 20:06 | |
ufobat | skids, no worries, i dont know nothing. if i do a $dbh.dispose in the end of my method it's fine | ||
MadcapJake | Xliff: all other module files are for sugary goodness :P | ||
ufobat | skids, the only "odd" thing i am doing is that my method is in a $coderef with .assuming | ||
20:07
llfourn_ joined
|
|||
geekosaur | could this be related to the eval thing? | 20:07 | |
skids | It could be EVAL related, .assuming still does that. | ||
Xliff | MadcapJake, Yeah. I noticed that. Was doing something similar in Audio::OggVorbis | ||
geekosaur | I was thinking more that EVAL is only the most visible version of it | ||
Xliff | Now why is SMPlayer not playing videos under Ubuntu? Maybe time for a reboot. BBL | 20:08 | |
20:08
Ven joined
|
|||
MadcapJake | Xliff: It helps with precomp time, I've noticed | 20:08 | |
geekosaur | `will leave` happens at compile time but the block you pass it is at runtime; I believe these are as yet unfixed instances of the same failure | ||
20:08
Xliff left
|
|||
geekosaur | which is that something run at compile time gets its stuff compiled into a separate context, but if that stuff includes a runtime block then it gets serialized missing its context, because the context only exists at compile time | 20:09 | |
(as I understand it, at least) | |||
it's somewhat complex, it's obviously not that all such things will do that, it's only certain circumstances that trigger it. EVAL is a more consistent one but I recall seeing mention that phasers are also capable of triggering it under some circumstances | 20:11 | ||
skids | .oO(In order to understand how the word "context" is being used, you have to know the context. Heh.) |
||
geekosaur | but that specific error is generally an indication that something didn't get a compile time context serialized for use at runtime | ||
20:12
Sound left
|
|||
grondilu | have you guys checked the article on HN about a new floating point type? ubiquity.acm.org/article.cfm?id=2913029 | 20:12 | |
[Coke] | .seen flussense | 20:14 | |
yoleaux | I haven't seen flussense around. | ||
[Coke] | .seen flussence | 20:15 | |
yoleaux | I saw flussence 29 Feb 2016 20:55Z in #perl6: <flussence> (except for their idiotic anti-harvester mangling @array sigils) | ||
masak | grondilu: oh, interval math. nice. | ||
20:18
cdg joined
20:19
Xliff joined
|
|||
Xliff | *sigh* | 20:21 | |
Ubuntu desktop FAIL. No environment after I upgraded. | |||
20:25
firstdayonthejob joined
20:30
darutoko left
|
|||
dalek | osystem: 9db28f2 | jnthn++ | META.list: Add App::MoarVM::HeapAnalyzer. |
20:31 | |
20:32
ZoffixWin left,
colomon joined
20:33
ZoffixWin joined,
ZoffixWin left,
ZoffixWin joined
20:34
dwarring left,
_mg_ left
20:42
colomon left
20:43
pmurias left
|
|||
zacts | are there any plans for a physical Perl6 book to be in print? | 20:43 | |
(a la Programming Perl by O'Reilly press, or something) | |||
ufobat | night :D | ||
20:44
ufobat left
20:48
as left,
as joined
20:49
colomon joined
20:50
Ven left
20:51
wamba left
20:54
rindolf left
|
|||
jnthn | zacts: Yes, plans, and even writing work in progress I believe. | 20:55 | |
zacts | oh nice! | 20:57 | |
21:00
zakharyas left
|
|||
dogbert2 | anyone up for some new documentation bashing? | 21:05 | |
tried to write some documetation for list.sum, strangely enough it's missing atm | 21:06 | ||
21:06
skids left
|
|||
dogbert2 | it can be found here: gist.github.com/dogbert17/caa98270...a194c21eca | 21:06 | |
21:07
zacts left
|
|||
masak looks | 21:09 | ||
dogbert2 | Hooray | ||
masak | s/unless all elements can be coerced/if an element can not be coerced/, perhaps? | 21:10 | |
dogbert2 | sure | ||
updated | 21:11 | ||
masak | rest looks fine | ||
dogbert2 | The it will go in :), thx for the review | ||
*Then | |||
21:14
colomon left
21:22
TEttinger joined
|
|||
grondilu | is there an idiomatic way to parallelize something like this: my @result; for @a -> $a { for @b -> $b { push @result, work($a, $b) } } ? | 21:25 | |
21:25
tbrowder joined
|
|||
grondilu | forgot to mention: the order of entries in @result does not matter. | 21:26 | |
dalek | c: f0e14bf | (Jan-Olof Hendig)++ | doc/Type/List.pod: Added documentation for method sum |
21:27 | |
mst | grondilu: isn't that what .race is for? | 21:28 | |
grondilu | tell me more. | ||
mst | err, I just remember somebody mentioning it at some point | 21:29 | |
now you get to find the docs and learn things I don't know, sorry | |||
21:31
colomon joined,
maybekoo2 joined
|
|||
ZoffixWin | grondilu, there's race, but it's a bit iffy | 21:33 | |
(buggy) | |||
for @a.race -> $a { for @b.race -> $b { push @result, work($a, $b) } } | 21:34 | ||
That'll use batches of 64. Adjust it depending on whether you have a ton of fast things or a few of slow things | |||
docs.perl6.org/routine/race | |||
grondilu | thanks. I had no idea it was this powerful. | 21:35 | |
ZoffixWin | m: sleep 1 for ^4 .race: :1batch; say now - INIT now | ||
camelia | rakudo-moar ce5dc0: OUTPUT«1.00760413» | ||
ZoffixWin | ^ 4 one second sleeps; 1 second total runtime | ||
tbrowder | doc: please review <github.com/perl6/doc/pull/465> | 21:36 | |
grondilu | very cool | ||
jnthn | Uh...don't push to an array from multiple things you're racing :) | 21:37 | |
ZoffixWin | robot #127965 | ||
synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=127965 | ||
ZoffixWin | jnthn, oh :( | ||
jnthn | Also, unless the number of items in @a is less than the number of CPU cores you have, parallelizing the inner and outer loop is probably too much work | ||
Uh, *work division | |||
ZoffixWin | tbrowder, +1 looks good to me | 21:39 | |
jnthn | my @result = @a.race.map(-> $a { slip @b.map(-> $b { work($a, $b) }) }) # or so | ||
ZoffixWin | Also, I didn't even realize >>=>> wouldn't work :) | ||
grondilu | jnthn: can I use the push method with hyper then? | 21:40 | |
21:41
zacts joined,
kaare_ left
|
|||
jnthn | grondilu: No, becuase that also means you're pushing from concurrent workers to a non-concurrent data structure (Array) | 21:41 | |
grondilu | ok. | 21:42 | |
what about a gather/take then? | |||
21:42
ZoffixWin left
|
|||
mst | I kinda like the map + map version | 21:43 | |
grondilu | the map + map looks too different from a non-parallel code IMHO | ||
dalek | c: 4504706 | (Tom Browder)++ | doc/Language/unicode_texas.pod: use nested [()] instead of (()) in sentence; specify that first list consists of single codepoints; add another table to document weird compositions such as the one explained by Larry Wall in a recent comment on bug #127965 |
||
c: dcdf014 | (Tom Browder)++ | doc/Language/unicode_texas.pod: Merge pull request #465 from tbrowder/master use nested [()] instead of (()) in sentence; specify that first list … |
|||
synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=127965 | ||
grondilu | I mean I'd like to stick with for loops | ||
jnthn | With a well-placed `do` or so you can :) | 21:44 | |
21:45
tbrowder left
|
|||
jnthn | It's the `push`/mutation that's the thing to avoid | 21:45 | |
21:45
jjido left
|
|||
jnthn | my @result = do for @a.race -> $a { slip do for @b -> $b { work($a, $b) } } | 21:46 | |
Or some such | |||
If you really want to collect the results into something, then it's possible to make a Channel and .send them on it also, then get them out afterwards | 21:47 | ||
I suspect that's still a decent bit more contention than the way I first suggested (and it's `for` spelling), though if work(...) is doing enough then that'd likely be noise. | 21:49 | ||
*its | 21:50 | ||
21:50
leont_ joined
21:51
dolmen left
|
|||
grondilu | the do for will do fine, thanks. | 21:55 | |
jnthn | :) | 21:56 | |
Sleep time for me...'night o/ | |||
21:59
kid51 joined
22:00
jamesneko joined
22:04
jamesnek1 left
22:09
leont_ left
|
|||
grondilu | hum... do doesn't do well with imbricated fors | 22:10 | |
m: say do for ^2 { for ^2 { rand } }; | |||
camelia | rakudo-moar ce5dc0: OUTPUT«(Nil Nil)» | ||
grondilu | oh wait I need two do | ||
m: say do for ^2 { |do for ^2 { rand } }; | 22:11 | ||
camelia | rakudo-moar ce5dc0: OUTPUT«(0.941930929386464 0.593323531184251 0.518306449759161 0.784756936870671)» | ||
grondilu | ok | ||
22:11
Sgeo joined
|
|||
grondilu | "I needed two do for doing what I wanted to do" lol | 22:12 | |
22:12
timotimo joined
22:15
colomon left
22:16
adu joined
22:17
lostinfog left
|
|||
masak | 'night, #perl6 | 22:20 | |
22:24
pdcawley left
22:26
RabidGravy left
22:36
tomboy64 left
22:41
leont_ joined
22:42
ajr_ joined
|
|||
ajr_ | Has anyone encountered a problem with !# perl6 on vim? That line appears to send vim off on an adventure that only kill -9 will end. | 22:43 | |
(Any path to perl6 apprears to be a problem, while plain perl is fine.) | 22:44 | ||
22:44
tomboy64 joined
22:47
colomon joined
22:50
kurahaupo joined
22:51
cfedde left
22:52
Herby_ joined
|
|||
Herby_ | Afternoon, #perl6! | 22:52 | |
o/ | |||
sortiz | \o Herby_ | ||
22:56
tbrowder joined
|
|||
Herby_ | how does one iterate through all matches of a global regex? | 22:59 | |
m: my $string = "abc\n cde\n fgh"; say ~$/<alpha> if $string ~~ m:g/ $<alpha>=(\w+) /; | |||
camelia | rakudo-moar ce5dc0: OUTPUT«Type List does not support associative indexing. in block <unit> at /tmp/fPgvomR_Yn line 1Actually thrown at: in block <unit> at /tmp/fPgvomR_Yn line 1» | ||
Herby_ | was playing with it today, couldn't quite figure it out | ||
tbrowder | doc: pod processing is not handling format codes such as E<>, S<>, and I<>, at least in tables. Where in the pod processing code is the right place to start to fix that? is the code to fix that to be found? | 23:02 | |
sortiz | m: my $string = "abc\n cde\n fgh"; if $string ~~ m:g/ $<alpha>=(\w+) / { for @$/ { say $_<alpha> } }; # Herby_ | 23:07 | |
camelia | rakudo-moar ce5dc0: OUTPUT«「abc」「cde」「fgh」» | ||
23:08
spider-mario left
|
|||
Herby_ | great, thanks! | 23:08 | |
I was trying all manners of things but not quite that | |||
sortiz | yw | 23:09 | |
23:11
tbrowder left
23:13
firstdayonthejob left
23:19
tbrowder joined
23:24
tbrowder left
|
|||
timotimo | Xliff: did you end up getting debug info working? | 23:24 | |
Xliff | Nope | ||
I've been searching the web, and I still can't find useful information on getting debugging symbols into rakudo. | 23:25 | ||
I've found the --debug option in MoarVM's makefile, but by the time it's compiled and moved to the proper location, the symbols are gone. | |||
So I'm wondering if there is a strip rule in the Makefile, somewhere. | 23:26 | ||
Herby_, or you can assign the results of the smart match to an array. | 23:28 | ||
m: my $string = "abc\n cde\n fgh"; my @m = $string ~~ m:g/ $<alpha>=(\w+) /; if (@a) { for @a -> $a { say $a<alpha> } } | 23:29 | ||
camelia | rakudo-moar ce5dc0: OUTPUT«5===SORRY!5=== Error while compiling /tmp/LfXJqR8p5jVariable '@a' is not declaredat /tmp/LfXJqR8p5j:1------> 3= $string ~~ m:g/ $<alpha>=(\w+) /; if (7⏏5@a) { for @a -> $a { say $a<alpha> } }» | ||
Xliff | m: my $string = "abc\n cde\n fgh"; my @m = $string ~~ m:g/ $<alpha>=(\w+) /; if (@m.elems > 0) { for @m -> $a { say $a<alpha> } } | ||
camelia | rakudo-moar ce5dc0: OUTPUT«「abc」「cde」「fgh」» | ||
Herby_ | Xliff: Thanks. Thats the path I was going down earlier but I was some small bit | 23:31 | |
s/missing// | 23:33 | ||
or is it s//missing/ | |||
:( | |||
23:34
tardisx joined
|
|||
Xliff | Herby_, I got the gist of it.=) | 23:36 | |
MadcapJake, getting SEGVs on the VM. This time I think it might be distro related. | 23:38 | ||
23:38
ajr_ left
23:40
nd3i joined
|
|||
timotimo | Xliff: sorry for taking so long to answer | 23:41 | |
Xliff: you just have to ./Configure.pl with --debug=3 | |||
and if you're debugging something nasty, you'll want to --optimize=1, too, so that not so many local variables get their value "optimized out" | |||
nd3i | I'm getting a crash with some simple code under the debugger (fine otherwise). Is that helpful to report? | 23:42 | |
I created a gist if anyone wants to take a look: gist.github.com/nd3i/1f5bca144d3e9...968ecd68f1 | 23:43 | ||
Xliff | timotimo, is that done from the top-level Configure.pl or a deeper one? | ||
timotimo, and thanks for the help! | |||
timotimo | moar's configure.pl, of course :) | 23:45 | |
stmuk_ | www.reddit.com/r/perl6/comments/4g...se_201604/ | 23:46 | |
timotimo | moar's Configure.pl also accepts "--asan", but last time i tried it was bugged | ||
stmuk_ | that error sounds unlikely to me | ||
timotimo | stmuk_: rakudo really wants its source files to be utf8. maybe that user is using some other encoding that's incompatible? i.e. not latin-1 | 23:47 | |
Xliff | MadcapJake, gist.github.com/Xliff/80881b4b3f02...0f95d4cca2 | 23:48 | |
stmuk_ | yes that sounds possible and I suspect user error somehow | ||
Xliff | timotimo, OK. Will try that. Back in a bit. | 23:49 | |
timotimo | 'k | ||
Xliff | Now the big problem. If I've already built moar, how can I get the source tree cleaned up without nuking the entire installation? | 23:52 | |
timotimo | god fucking damnit, could the connection stop being killed ... | ||
you don't have to do anything | |||
just run configure again, supply the right --prefix and "make install" | |||
Xliff | Cos I did: 'perl ./Configure.pl --gen-moar --backend=moar --moar-option='--debug=3' and it went right into the compiling. No Configure.pl output at all. | ||
timotimo | well, --gen-moar does compile for you | 23:53 | |
Xliff | Yeah, but I've been here before and when I don't see output from Configure.pl I get no symbols. | ||
timotimo | you'd just go into moar's source folder and do the Configure there | ||
Xliff | Well, I will do a "make distclean" and just let it run and see. | ||
timotimo | that's not going to help | ||
that'll only clean up rakudo, but not nqp or moar | 23:54 | ||
23:54
damnlie joined
|
|||
timotimo | it could e that rakudo's Configure.pl doesn't know it has to completely re-make moar when --moar-option changes | 23:54 | |
Xliff | Ahh! removing bin/nqp-m did the trick. | 23:55 | |
timotimo | generally i'm not very happy about the --gen-moar stuff when you're compiler-internals-hacking | ||
Xliff | As you've stated, "make distclean" doesn't remove nqp. | ||
timotimo | yeah, Configure will build nqp and moar for you. the resultign makefile knows absolutely nothing about nqp or moar after that | 23:56 | |
Xliff | Crap. Forgot to specify -O1 | ||
timotimo | fortunately moar builds real fast | 23:57 | |
just have to -j4 it | |||
which you can't do if you use the outermost Configure script | 23:59 |