»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend! Set by masak on 28 November 2015. |
|||
00:01
leont left
00:09
lucasb left
00:10
firstdayonthejob left
00:14
secwang joined
00:15
pierre-vigier left
|
|||
timotimo | grondilu: did you measure performance with your latest pull request? | 00:28 | |
00:30
regreg left
00:31
rurban1 left
00:32
cdg joined
|
|||
stmuk | DrForr++ | 00:34 | |
liz++ | |||
lucs | stmuk: Did you see some presentations today? | 00:35 | |
stmuk | yes | 00:36 | |
00:36
lizmat joined
|
|||
stmuk | Nigel Hamilton++ # whatever his nick is | 00:36 | |
00:36
cdg left
00:37
leont joined
00:38
Ben_Goldberg joined,
Ben_Goldberg is now known as BenGoldberg
|
|||
dalek | kudo/nom: 1f45b22 | grondilu++ | src/core/native_array.pm: improve permutations implement the XOR swap algorithm in a single statement. Not really necessary but still pretty cool. It should also provide a small performance improvement as we can then put the C<until> in the end, thus avoiding creating a lexical scope. |
00:39 | |
kudo/nom: 4cf0862 | grondilu++ | src/core/native_array.pm: Update native_array.pm use a shortcut for deciding IterationEnd |
|||
kudo/nom: e52617c | lizmat++ | src/core/native_array.pm: Merge pull request #631 from grondilu/patch-8 improve permutations |
|||
00:41
lmmx left,
lmmx joined
|
|||
lucs | "regex" question: (trigger warning, may provoke earworm!) gist.github.com/lucs/bae8c4e4101d9476b661 | 00:44 | |
jdv79 | nine: not that i'm aware of. they aren't used that way together. | 00:48 | |
geekosaur | lucs, try .perl.say? | 00:49 | |
say uses .gist which removes some things | 00:50 | ||
lucs | geekosaur: Ah, I see. Trying... | ||
.perl.say, same result, as does using 'print'. | 00:51 | ||
jdv79 | nine: sorry i was out; bday and all. maybe tomorrow. | 00:52 | |
lizmat | congrats jdv79 | 01:00 | |
good night, #perl6! | 01:01 | ||
lucs | Good night lizmat | ||
AlexDaniel | grondilu: it looks like “}” is misplaced a bit :) | ||
grondilu: line 746 | 01:03 | ||
ah | 01:04 | ||
it does not look like you can quickly fix that. Whatever, who cares then | |||
skids | m: say Match.new(:list(2,3)).perl.say | 01:06 | |
camelia | rakudo-moar e52617: OUTPUT«Match.new(ast => Any, list => (), hash => Map.new(()), orig => Any, to => 0, from => 0)True» | ||
skids | Match is pretty hnky under the hood. | 01:07 | |
01:08
secwang left
|
|||
lucs | skids: Would you say there's nothing to worry about? | 01:09 | |
jdv79 | lizmat: congrats on what - not dying? :) | 01:10 | |
01:12
secwang joined
01:14
snarkyboojum_ left
|
|||
cognominal | what is the canonical way to do a $*OUT redirection for the time of a &run ? | 01:18 | |
leont | It takes an :out parameter, I think | ||
cognominal | leont, it seems to ignore IO::PATH or IO::Handle instances | 01:20 | |
leont | AFAIK it should accept the latter | ||
01:21
vendethiel left
|
|||
cognominal | indeed I made a mistake. | 01:21 | |
01:23
raiph left
|
|||
cognominal | strangely it say the fh is still at "octet 0". Probably the source of my confusion | 01:24 | |
skids | lucs: maybe worth an RT for later on, forging Match objects is probably not a priority. | 01:25 | |
01:25
telex left
|
|||
lucs | skids: Okay, thanks. | 01:26 | |
01:26
telex joined
01:27
llfourn joined
01:30
secwang left
01:51
labster joined
01:56
xpen joined
01:57
leont left
02:01
xpen left
|
|||
AlexDaniel | nine: there is still something with DBIish: github.com/perl6/DBIish/issues/37#...-164211632 | 02:09 | |
02:09
moei left
|
|||
AlexDaniel | nine: the error is different, but it points to the same line | 02:09 | |
02:12
flussenc1 is now known as flussence
|
|||
dalek | kudo/gsr: f95c144 | TimToady++ | src/Perl6/ (3 files): Great Sink Refactor The actions now actively mark wanted nodes so that useless use errrors will be suppressed on those nodes. This marking is recursive on the last statement of a statement list. The optimizer now pays more attention to such annotations when traversing children. Also, we now distinguish children that default to void (Stmts, Stmt, Block) from those that default to using the child values they calculate (Op, etc.). |
02:16 | |
AlexDaniel | 2m34s first run, 15s second run. OK it seems like precompilation thing is actually working :) | 02:20 | |
13s third run, 12s fourth… What | 02:21 | ||
dalek | Heuristic branch merge: pushed 19 commits to rakudo/gsr by TimToady | 02:23 | |
02:26
zengargo1le is now known as zengargoyle
|
|||
AlexDaniel | nine: that being said, it feels like the module itself is working | 02:26 | |
02:29
anon joined,
anon is now known as Guest6941
02:33
Guest51288 left
|
|||
b2gills | m: .say for (^100).rotor(1,9,10 xx *) # I would have thought this was tested | 02:37 | |
camelia | rakudo-moar e52617: OUTPUT«(timeout)» | ||
AlexDaniel | b2gills: I'm sorry, but what would be the right behavior? | 02:42 | |
zengargoyle | m: .say for (^100).rotor(1,9,lazy 10 xx 100); | 02:43 | |
camelia | rakudo-moar e52617: OUTPUT«(0)(1 2 3 4 5 6 7 8 9)(10 11 12 13 14 15 16 17 18 19)(20 21 22 23 24 25 26 27 28 29)(30 31 32 33 34 35 36 37 38 39)(40 41 42 43 44 45 46 47 48 49)(50 51 52 53 54 55 56 57 58 59)(60 61 62 63 64 65 66 67 68 69)(70 71 72 73 74 75 76 77…» | ||
zengargoyle | i would expect that.. | ||
AlexDaniel | b2gills: you've basically told it to rotor infinitely. You can say that it should return a lazy list, maybe | ||
02:43
secwang joined
|
|||
b2gills | m: say (^100).rotor(1,9,10 xx 10000)[*-1] | 02:43 | |
camelia | rakudo-moar e52617: OUTPUT«(90 91 92 93 94 95 96 97 98 99)» | ||
b2gills | 10 xx * should be a lazy list | 02:44 | |
AlexDaniel | 10 xx * is | ||
b2gills | The problem is .rotor is too eager | ||
AlexDaniel | yeah, ok, I probably agree with that | 02:45 | |
zengargoyle | m: .say for (^100).rotor(1,9,9,$(10 xx *)); | 02:48 | |
camelia | rakudo-moar e52617: OUTPUT«(0)(1 2 3 4 5 6 7 8 9)(10 11 12 13 14 15 16 17 18)Cannot .elems a lazy list in block <unit> at /tmp/IUgT6zNL8c:1Actually thrown at:» | ||
02:54
jack_rabbit left
03:01
kid51 left
03:06
advwp left
03:09
advwp joined
03:15
advwp left
03:18
lmmx left
03:21
labster left
|
|||
dalek | ast: 9977e56 | LLFourn++ | S04-blocks-and-statements/temp.t: Tests for RT #126880 also removed unnecessary EVAL around temp @array tests |
03:24 | |
03:26
advwp joined
03:27
secwang left
03:28
secwang joined
03:33
noganex joined
03:40
psch joined
03:42
BenGoldberg left
|
|||
psch | inspired by ab5tract++'s advent post i learned that we're able to reverse either part of a metaop assign | 03:43 | |
m: sub more-state($a?) { (state $x) = $a // ++$x }; say more-state 6; say more-state 7; say more-state 11; say more-state; | 03:45 | ||
camelia | rakudo-moar e52617: OUTPUT«671112» | ||
psch | i'm not sure the golf is worth it there specifically, but it is kind of neat | ||
eh, wrong line copied :/ | |||
m: sub more-state($a?) { ($ [R[//]]= $a)++ }; say more-state 6; say more-state 7; say more-state 11; say more-state; | |||
camelia | rakudo-moar e52617: OUTPUT«671112» | ||
psch | it does seem somewhat brittle, though... | 03:46 | |
ah, no, i just did something wrong, nevermind | |||
b2gills | from earlier I guess .rotor(1,10 xx *) should be an error, but .rotor(1,|(10 xx *)) doesn't work either | 03:50 | |
psch | b2gills: the clog doesn't seem to suggest it should error, more that it tries to reify too strongly? | 03:54 | |
i don't have a good intuition for what exactly can (or should) accept laziness though, so i'm likely wrong... | 03:57 | ||
04:00
Zoffix joined
04:04
bjz left
04:08
bjz joined
04:10
grondilu joined
04:20
Actualeyes joined
|
|||
diakopter | AlexDaniel: you discovered the magic auto-profile-guided-optimization feature | 04:21 | |
04:21
secwang left
04:24
uruwi joined
04:26
yqt left
04:28
jack_rabbit joined
04:31
nowan_ joined
04:33
jack_rabbit left
|
|||
dalek | ast: c205f71 | LLFourn++ | S32-list/map.t: Test for RT #126883 |
04:40 | |
04:42
Actualeyes left
04:45
psy_ joined
|
|||
dalek | c: 48d263a | skids++ | doc/Language/control.pod: Start control.pod out with statements for the truly new users. |
04:50 | |
04:53
vividsnow left
04:54
vividsnow joined
05:05
loren joined
05:12
vividsnow left,
vividsnow joined
|
|||
dalek | kudo/gsr: 2807a3c | TimToady++ | src/Perl6/Actions.nqp: allow wanted to be called on bogus asts |
05:14 | |
ast: 688c43b | TimToady++ | S32-exceptions/misc.t: allow WARNINGS to indicate a filename |
05:15 | ||
05:16
cognominal left
05:21
bjz left
05:24
bjz joined
05:40
Peter_R joined
05:41
snarkyboojum left
05:47
kaare_ joined
|
|||
AlexDaniel | m: sub List { say ‘Hello world’ }; List | 05:50 | |
camelia | ( no output ) | ||
AlexDaniel | ouch | ||
m: sub List { say ‘Hello world’ }; &List() | |||
camelia | rakudo-moar e52617: OUTPUT«Hello world» | ||
05:51
khw left
06:10
adu joined
06:21
pdcawley joined
06:24
pdcawley left
06:29
pierre-vigier joined
06:42
luis joined
06:46
M-Illandan left
06:47
rosso_ joined
|
|||
dalek | kudo/gsr: 398ac59 | TimToady++ | src/Perl6/Actions.nqp: don't need the secondary markers anymore |
06:50 | |
06:51
rosso_ left
06:54
AlexDaniel left
07:00
pierre-vigier left
07:02
M-Illandan joined
07:06
molaf joined
07:07
loren left
|
|||
dalek | c: 621eb8a | skids++ | doc/Language/control.pod: Smooth out and simplify the section on blocks a bit |
07:08 | |
07:11
M-eternaleye joined
07:31
hassoub joined
07:32
hassoub left,
hassoub joined,
skids left
07:37
pierre-vigier joined
07:44
domidumont joined
07:48
darutoko joined
07:49
adhoc left
07:50
adhoc joined
07:51
koo8 left
07:52
domidumont left
07:56
rurban joined
07:57
adhoc left,
pierre-vigier left
07:59
adhoc joined,
pierre-vigier joined
08:00
pdcawley joined,
pierre-vigier left,
pierre-vigier joined
08:05
pdcawley left
|
|||
dalek | kudo/gsr: c64a401 | TimToady++ | src/Perl6/Actions.nqp: traits are also wanted |
08:07 | |
kudo/gsr: 4b13795 | TimToady++ | src/Perl6/Optimizer.nqp: allow useless use of &foo and other symbols too |
|||
08:12
CIAvash joined
08:22
CIAvash left
|
|||
Hotkeys | is there any major difference between these two i.imgur.com/rDsKy3a.png | 08:22 | |
08:24
rurban_ joined
08:30
labster joined
08:35
xfix joined
08:42
darutoko- joined
08:44
darutoko left
08:52
rindolf joined
08:53
hartenfels joined,
labster left
08:54
spider-mario joined
08:55
firstdayonthejob joined
08:56
labster joined
08:57
sno joined
|
|||
_nadim | Good morning. | 08:59 | |
do "we" have standardish names for object factories? Some de-facto term. | |||
09:01
brrt joined
09:06
adhoc left
09:08
adhoc joined
09:13
rindolf left
09:15
adu left
09:31
hassoub left
09:32
pierre-vigier left
09:33
domidumont joined
09:34
domidumont left,
domidumont joined
09:36
Hazim joined
09:37
rindolf joined,
labster left
09:38
RabidGravy joined
09:39
labster joined
|
|||
Hazim | Hello, Whin perl 6 will be released | 09:40 | |
09:40
pierre-vigier joined
|
|||
llfourn | Hazim: Christmas :) | 09:41 | |
09:42
pierre-vigier left
|
|||
Hazim | llfourn: great news | 09:42 | |
llfourn | though I think we're aiming for 17th -- so it might be before then...yes it is! | ||
Hazim | how perl6 will play QT 5 | 09:43 | |
llfourn | that I do not know others might :) | 09:44 | |
Hazim | ok no problem, is there any good link to learn about the QT with perl6 : ) | 09:45 | |
hartenfels | Hazim: I don't think there's any QT module yet. | 09:47 | |
llfourn | probably not :P | ||
stmuk | modules.perl6.org suggests QT bindings are still to be done but there are GTK ones | ||
llfourn | you can check out: docs.perl6.org/language/nativecall | ||
hartenfels | I also heard that somebody's gonna do an advent post on NativeCall that talks a bit about calling into C++. | 09:48 | |
Hazim | ok thanks... | ||
should i learn the C language or i can use only perl6 with the NativeCall | 09:49 | ||
dalek | c: 917addb | sylvarant++ | doc/Language/concurrency.pod: Some spelling fixes and clearer wording Small changes to make the meaning of certain sentences clearer. |
09:50 | |
llfourn | Hazim: you don't need to know C to use p6 but it's there if you need to communicate with C libs | 09:51 | |
nine | Hotkeys: none that I can see. | ||
hartenfels | Hazim: To call into a C++ library like QT, you probably need to use some C++. | 09:52 | |
nine | Hotkeys: though I've been asleep mere minutes ago and am only starting to have my coffee ;) | ||
hartenfels | Because C++ is a bit harder to call from outside than C. | ||
nine | hartenfels: there is at least one program using Qt in Perl 6: niner.name/talks/Leapfrogging%20the...ples/qt.pl | 09:53 | |
hartenfels | Well, I guess using Inline::Perl or Inline::Python is a way too :P | 09:54 | |
That's probably the best way right now in fact. | |||
nine | At least if one doesn't know C++ | 09:55 | |
Hazim | llfourn: Ok , about the hardware interface (mouse, sound card, printers....) or image manipulation, is there a function in perl 6 to do this tasks, because one from the community suggested to learn C and call this function from perl 6 | ||
09:56
adu joined
|
|||
hartenfels | nine: Knowing C++ might make it even more desirable not to use it. | 09:56 | |
llfourn | Hazim: NativeCall and IO stuff is not my area :) | ||
nine | While NativeCall works without even a compiler installed, experience suggests that one needs to know quite a bit of C to use it. Typical C APIs use custom data types and macros a lot and decifering them can be hard if one doesn't know C. | 09:57 | |
Hazim | llfourn: thanks for help :) | 09:58 | |
RabidGravy | Hazim, re "sound card" there is a work in progress for a PortAudio binding that shows some promise, not release yet | ||
nine | Hazim: printers on UNIX are a network service, so we should be covered quite well already | ||
hartenfels | There's also SDL bindings that can do sound I think, but it don't seem to have much documentation yet. | 09:59 | |
Hazim | ok thanks to you all | ||
perl6 still in progress i will start learn it for now , The GUI and Hardware interface is so important to the language from my humble opinion. | 10:02 | ||
brrt | languages don't deal with hardware, operating systems do | 10:03 | |
languages may provide bindings for libraries, but that's not the same thing | |||
10:03
diana_olhovik joined
|
|||
Hazim | brrt: operating systems do that but i meant the function to use or read the data from the hardware | 10:04 | |
brrt | that's libraries bindings, i think? well, that is what NativeCall is for | ||
if there is a C or C++ interface to it, NativeCall can bind it and expose it to perl6 | 10:05 | ||
that does take some work, but not as much as in other cases | |||
grondilu hopes that someday the bindings will auto-generate so we can just do 'use somelibrary:from<C>;' | |||
hartenfels | Sounds like a pretty neat idea actually, writing `is native('libsomething')` gets tiring after a while. | 10:07 | |
Hazim | brrt: NativeCall will do the job done & thanks for the info it was helpfull | ||
brrt | you are welcome of course :-) | 10:08 | |
given DWARF debugging symbols, i'm fairly sure that's possible grondilu | |||
grondilu | hartenfels: it's not my idea though, I think it's a (very) long term goal TimToady already stated. | ||
I don't know about DWARF, I thought :from<C> would involve parsing the headers somehow. | 10:10 | ||
10:10
labster left
|
|||
grondilu | basically automating what humans currently do. | 10:10 | |
10:10
labster joined
|
|||
nine | I seem to remember that someone has already started such a parser | 10:11 | |
brrt | the other side of the coin is that as we make metahacking and binding easier and easier, it actually might discourage people from providing a library that does it | ||
nine | brrt: so what? | 10:12 | |
10:12
labster left
|
|||
brrt | so that a beginner that *doesnt* know what libfoobar even does, just wants something to foo his bars, will think | 10:12 | |
nine | absolute #1 top priority for Perl: get the job done! | ||
10:13
pierre-vigier joined
|
|||
brrt | 'but python/ruby provide a Foo library, and perl6 doesn't' | 10:13 | |
grondilu | some libraries are so big you just don't want to write the bindings, even if it's only copying the names of the functions. | ||
brrt | what i kind mean, is that in java, everything is verbose and difficult and takes a billion hours to design, *hence people use standardized enterprise frameworks* | ||
nine | Making it trivial to bind native libraries frees the programmer to create a Perl6ish interface for it. | 10:14 | |
brrt | and the existence of such frameworks, while insane from an outside perspective, then goes to justify the use of java | ||
RabidGravy | I've written a couple of little tools in the last year that munge the definitions in a include file into something like a useable Perl code | ||
brrt | making it harder to do something more justifies the existence of libraries | ||
libraries go on to justify the use of a language | |||
10:14
TEttinger left
|
|||
brrt | do you see what i mean? | 10:14 | |
nine | brrt: I hear you. I don't think I agree however. | 10:15 | |
brrt | hmmm | 10:16 | |
i'm not100% sure i agree, either | |||
just a nagging doubt | |||
RabidGravy | But that assumes that the C interface is similar to one you would like in Perl 6, simply binding a C library is not going to make a good Perl module | ||
nebuchadnezzar | Hotkeys: According to the documentation (doc.perl6.org/language/control#default_and_when) it can act like an if, the only thing I see is that if will to change topic ($_) in the bloc | ||
nine | RabidGravy: that's what I meant | ||
brrt | well, in contrast, what is or is not perl6ish will grow to depend on taste, hence what *you* think is a good perl6 interface will not match what a lot of others may think; | 10:17 | |
nine | In general whenever people tried to make such decisions on a political basis, they lost. Like Stallman's reluctance to let GCC have a plugin interface. Thing is, people wanted to plug into their compiler. So they went to llvm instead. | ||
I think it's actually the one instance where I really think that Stallman was just plain wrong. | |||
brrt | hence why would i use your library and have your idioms forced on me, when binding the library myself is so easy | 10:18 | |
hmm.... i'm not sure nine, i think he had a point | |||
nine | Reality proved him wrong. | ||
brrt | really? | ||
it was not until some weeks ago that swift, which is 90% llvm magic, was 'open sourced' | 10:19 | ||
nebuchadnezzar | Hotkeys: I imaging that “when” will only smartmatch “$_” with its argument only if “$_” is not provided in the argument | ||
nine | His motive was a good one, but he strayed from helping people, so people went away and he lost a lot of leverage. | ||
brrt | one could provide an AwesomePlugin for gcc, keep it propietary, and benefit from 99% of the development of others, while keeping a tight lock on the users of AwesomeC | ||
grondilu | even a "dumb" binding that would stricly map the structures and functions would be useful. It could be used as an intermediary step towards a more high-level, perlish interface. | ||
brrt | hmmm | 10:20 | |
that is true, yes | |||
nine | brrt: he didn't want to risk proprietary plugins and instead lost part of the user base. That's certainly a net loss. | ||
nebuchadnezzar | when 3 { say "OK" } == when $_ ~~ 3 { say "OK" }, but when $_ %% 3 { say "OK" } will not result in when $_ ~~ $_ %% 3 { say "OK" } since programmer specify $_ in the when argument | ||
Ulti | there is a C parser in the ecosystem re: automagic native interface | 10:21 | |
brrt | nine: not necessarily according to his philosophy | ||
i'm fairly sure that if he hadn't done that, we'd have seen a propietary swift-on-gcc | 10:22 | ||
well, maybe llvm would've 'won' on technical merits, but the risk was there | |||
nine | I'm quite sure we'd have seen an open sourced later swift on gcc, just like we've seen with the llvm version | ||
brrt | i'm not so sure | 10:23 | |
and in the meantime, that would have invalidated all what gnu stood for | |||
stands for | |||
let's put it another way | 10:24 | ||
nine | Why? Having a plugin interface doesn't mean that they would have to accept proprietary plugins. _If_ there were proprietary plugins, they could have still sought legal measures. | ||
brrt | i don't think gnu/stallman had any choice in the manner, given the behaviour of others and their commitment to user freedoms | ||
10:25
corbyhaas left
|
|||
ChoHag | I tried creating a new adverb for a postcircumfix operator with: multi sub postcircumfix:<[ ]>(\SELF, \pos, :$new-adverb!) is rw { die "here" } | 10:25 | |
It doesn't die there. | |||
brrt | well, what would have stopped a propietary plugin-swift from a legal standpoint? | ||
10:26
SmokeMachine___ left,
chansen_ left
|
|||
ChoHag | Whether called as $foo[*]:new-adverb or postcircumfix:<[ ]>($foo, *, :new-adverb). | 10:26 | |
brrt | not that it matters much; if you develop in swift then obviously open-source purity isn't your main concern | ||
timotimo | nebuchadnezzar: i'm not aware of any such magic that looks for a $_ in the argument passed to "when" | ||
10:26
BuildTheRobots left
|
|||
ChoHag | [How] can I get my new adverb to be used? | 10:27 | |
10:27
mrsolo left
|
|||
dalek | c: c99887d | (Daniel Dehennin)++ | doc/Language/control.pod: Remove implementation notes obsoleted by 2015.09 Tested with Rakudo 2015.09 and IRC evalbot Rakudo 2015.11.505.ge.52617.c. |
10:27 | |
c: ab5de74 | (Daniel Dehennin)++ | doc/Language/control.pod: Remove implementation notes obsoleted by 2015.11 Tested with IRC evalbot Rakudo 2015.11.505.ge.52617.c. |
|||
c: 68a913a | RabidGravy++ | doc/Language/control.pod: Merge pull request #239 from baby-gnu/fix/obsolete-implementation-notes Fix/obsolete implementation notes |
|||
10:28
14WAAEER5 left
10:29
chansen_ joined
10:30
corbyhaas joined
|
|||
timotimo | ChoHag: you may need to put it earlier in the source, as adverbs do not take part in the sorting | 10:31 | |
10:31
BuildTheRobots joined
|
|||
ChoHag | I just tried having my -e string begin with that in a BEGIN block (and *then* the use statements which were previously -M options) and it still didn't work. | 10:33 | |
Unexpected named parameter 'new-adverb' passed | 10:34 | ||
All I know is that it got trapped in the bind call in m-BOOTSTRAP.nqp, then I got lost. | |||
10:34
chansen_ left
|
|||
timotimo | oh, um | 10:35 | |
wasn't postcircumfix:<[ ]> actually turned into a method? or was that reversed in the mean time? | |||
ChoHag | Rakudo's source is full of 'multi sub postcircumfix:<[ ]>' definitions. | 10:36 | |
timotimo | ah, it's a sub. | ||
Hazim | good buy to all | ||
10:36
Hazim left
|
|||
nebuchadnezzar | timotimo: So you mean, “when $_ %% 3” evaluate to “when $_ ~~ $_ %% 3” ? | 10:37 | |
ChoHag | m: BEGIN { multi sub postcircumfix:<[ ]>(\SELF, \pos, :$new-adverb!) is rw { die "here" } }; my @a; say @a[0]:new-adverb | ||
camelia | rakudo-moar e52617: OUTPUT«Unexpected named parameter 'new-adverb' passed in block <unit> at /tmp/LggYSsUYzA:1» | ||
timotimo | nebuchadnezzar: i'd expect so, yeah | ||
nebuchadnezzar | Hotkeys: that make a great difference between when and if ;-) | 10:38 | |
timotimo | ChoHag: the thing is, there's candidates in the core that take a slurpy hash, so they'll eat all named arguments | 10:39 | |
and i think that knows about what exact adverbs are "fine" | |||
ChoHag | So basically, it's a bad idea *and* probably impossible. | 10:40 | |
timotimo | sorry about that :( | ||
we may want to have a bug about that | |||
but postcircumfix:<[ ]> is kind of performance critical :| | |||
ChoHag | Aye. | 10:41 | |
10:42
BuildTheRobots left,
chansen_ joined
10:43
isacloud joined
10:44
olinkl joined
10:45
mrsolo joined
|
|||
nine | This is certainly one of the oddest bugs I've seen so far: gist.github.com/niner/fbacfa535a8bd8f8104e | 10:45 | |
10:47
kipd joined
|
|||
nine | Certainly something is wrong with merging globals | 10:47 | |
10:47
pnu joined,
zemmihates joined
|
|||
nine | Well with merging globals when loding the precompiled files. Because without precomp it just works | 10:48 | |
10:48
Spot__ joined
10:50
SmokeMachine___ joined,
parisba joined,
parisba is now known as Guest68455
|
|||
ChoHag | It took me 3 days (on and off) to figure this out and now I've no idea why I wanted to... | 10:50 | |
10:52
BuildTheRobots joined
10:53
ggherdov joined,
clkao joined
10:54
jx2nas joined
|
|||
dalek | kudo/nom: 4bc8f33 | lizmat++ | src/core/ (2 files): Remove $init-time-num leak from CORE Related to #126889 , but that is really about another problem. |
10:56 | |
10:56
jdong joined
|
|||
RabidGravy | nine, seeing global merge failures in http::useragent on and off | 10:56 | |
10:57
xpen joined
10:58
pierre-vigier left
10:59
jx2nas left
|
|||
lizmat | timotimo: re unexpected named param, perhaps before throwing the error, we need to revisit if it really is an error | 10:59 | |
that would only make the new-adverb case slower, rather than all cases | |||
11:00
brrt left
|
|||
lizmat | sightseeing and decommute& | 11:01 | |
timotimo | how do we reach the target lexical scope that may have the extra candidate available? | ||
11:01
lizmat left
11:04
nowan joined,
pRiVi left
11:06
nowan_ left
11:08
Skarsnik joined
|
|||
RabidGravy | okay to save me from having to try every thing I can think of how would I test whether a particular sub is defined? | 11:11 | |
llfourn | RabidGravy: in a particular scope? | 11:12 | |
RabidGravy | yeah | ||
jdv79 | doesnt ::() work? | ||
llfourn | ^^ | ||
jdv79 | i never tried | ||
RabidGravy | let's look | 11:13 | |
llfourn | ::('&particular-sub') | ||
Skarsnik | ::('sym') does Callable? | ||
And hello | |||
jdv79 | hola | ||
11:14
pierre-vigier joined
|
|||
llfourn | ::('sym') ~~ Callable :) | 11:14 | |
RabidGravy | that was the one option I hadn't considered, that works cheers | ||
jdv79 | woohoo | ||
11:14
adu left
11:16
vendethiel joined
|
|||
jnthn | afternoon, #perl6 | 11:16 | |
yoleaux | 12 Dec 2015 22:36Z <nine> jnthn: if use lib ought to install a $?REPO and this is a lexical and we prohibit use lib in modules, those modules may not be able to load their dependencies, since they will only look in $*REPO | ||
11:17
pRiVi joined
|
|||
timotimo | afternoon, jnthn! :) | 11:18 | |
jdv79 | afternoon | ||
jnthn | nine: Urgh...yes, unless it's a lexical effect on a global thing... | 11:19 | |
11:20
diana_olhovik left
|
|||
Skarsnik | Any idea on how I can have github.com/Skarsnik/nativecall-typ...ag.pm6#L19 to work? If I put like Mymodule::EXPORT::DEFAULT::.keys it works | 11:20 | |
dalek | kudo/nom: 50879b2 | grondilu++ | src/core/native_array.pm: cosmetic change in permutations re-align a closing bracket |
||
kudo/nom: a360f3b | jnthn++ | src/core/native_array.pm: Merge pull request #632 from grondilu/patch-9 cosmetic change in permutations |
|||
llfourn | Skarsnik: try .WHO.keys | 11:21 | |
jnthn | Skarsnik: Won't "$module-name::EXPORT::DEFAULT" parse as a fully qualified variable name that you'd like to interpolate? | ||
Try "{$module-name}::EXPORT::DEFAULT" or so | 11:22 | ||
Skarsnik | does not work still ~~ | 11:24 | |
11:25
pierre-vigier left,
pdl joined
11:26
Begi joined
|
|||
llfourn | m: module Foo { our sub test { } }; say ::('Foo').WHO.keys # not sure if this is anything close to what you want :P | 11:28 | |
camelia | rakudo-moar 4bc8f3: OUTPUT«(&test)» | ||
11:28
Begi2 joined
|
|||
Skarsnik | m: use NativeCall; my $a = "NativeCall"; say NativeCall::EXPORT::DEFAULT::.keys.elems; say ::("{$a}::EXPORT::DEFAULT").WHO.keys.elems | 11:28 | |
llfourn | ohh right your looking at EXPORT::DEFAULT :\ nvm that won't work | ||
camelia | rakudo-moar 4bc8f3: OUTPUT«Could not find symbol '&DEFAULT' in block <unit> at /tmp/OKtvXP1Eyw:1Actually thrown at: in block <unit> at /tmp/OKtvXP1Eyw:1» | ||
llfourn | EXPORT::DEFAULT is UNIT scoped so that won't ever work..? | 11:29 | |
Skarsnik | duh it work me x) | ||
llfourn | or at least that's what I though | ||
it can work? | |||
Skarsnik | root@testperl6:~/piko/nativecall-typediag/examples# perl6 -e 'use NativeCall; my $a = "NativeCall"; say NativeCall::EXPORT::DEFAULT::.keys.elems; say ::("{$a}::EXPORT::DEFAULT").WHO.keys.elems' | ||
15 | |||
llfourn | hmm ok maybe I didn't think you could see those kind of things from outside | 11:30 | |
11:31
Begi left
|
|||
jnthn | TimToady++ # great sink refactor | 11:31 | |
timotimo | i don't even know what the GSR is there to achieve | 11:32 | |
Skarsnik | the goal was to found the exported stuff x) | ||
timotimo | but TimToady++ anyway | 11:33 | |
llfourn | Skarsnik: well you got to your goal I guess I learned something too :D | ||
RabidGravy | every time I have to look to work out the order of the args to Test::skip | ||
11:34
leont joined
|
|||
jdv79 | a multi with named would help? | 11:34 | |
RabidGravy | it would | 11:35 | |
same for todo | |||
11:36
s_kilk joined
11:38
xpen left
11:39
xpen joined
|
|||
Skarsnik | hm, that does not work well if I don't use the module and require ::($module-name) does not work too | 11:45 | |
I mean I get the stuff exported but they are 'empty' as I can't test their REPR for example | 11:46 | ||
nine | jdv79: golfed down the URI2 bug some more: gist.github.com/niner/fbacfa535a8bd8f8104e | 11:47 | |
11:48
pjscott joined
|
|||
pjscott | For a p6ish idiom for "all elements of @a have the same value", anything more elegant than all @a == @a[0] ? Suppose @a is longish expression | 11:49 | |
timotimo | i'd go [==] @a | ||
alternatively you can use 1 == @a.Set | 11:50 | ||
jnthn | @a.unique == 1 also | ||
But timotimo's first one is probably the most idiomatic | |||
pjscott | sweet | ||
timotimo | i don't know if [==] short-circuits, though | ||
m: say [==] (^1000000000) | 11:51 | ||
camelia | rakudo-moar a360f3: OUTPUT«False» | ||
timotimo | m: say [==] (^100000000000000000000) | ||
camelia | rakudo-moar a360f3: OUTPUT«False» | ||
timotimo | m: say [+] (^10) | ||
camelia | rakudo-moar a360f3: OUTPUT«45» | ||
timotimo | seems so | ||
m: say [==] (1 xx 1000000) | |||
camelia | rakudo-moar a360f3: OUTPUT«True» | ||
timotimo | right, it does short-circuit, otherwise it couldn't have been as fast :) | ||
vendethiel | m: say (^100000000000000000000).reduce(* == *) | 11:55 | |
11:55
xpen left
|
|||
camelia | rakudo-moar a360f3: OUTPUT«(timeout)» | 11:55 | |
vendethiel | not quite the same, though | ||
timotimo | no, it won't be | ||
* == * doesn't count as chaining, for one | |||
11:56
Actualeyes joined
11:57
s_kilk left,
s_kilk joined
|
|||
jnthn | m: say (^100000000000000000000).reduce(&infix:<==>) | 11:58 | |
camelia | rakudo-moar a360f3: OUTPUT«False» | ||
jnthn | m: say (^100000000000000000000).reduce(&[==]) | ||
camelia | rakudo-moar a360f3: OUTPUT«False» | ||
timotimo | i think * infixop * is a good way to get the same code, but none of the "properties" | 12:00 | |
jnthn | aye | ||
12:04
gauss joined
12:05
ChoHag left
|
|||
vendethiel | m: (1, 1, 1).reduce(* == *) | 12:06 | |
camelia | ( no output ) | ||
vendethiel | m: say (1, 1, 1).reduce(* == *) | ||
camelia | rakudo-moar a360f3: OUTPUT«True» | ||
vendethiel | m: say (0, 0, 0).reduce(* == *) | ||
camelia | rakudo-moar a360f3: OUTPUT«False» | ||
vendethiel | :D | ||
timotimo | yeah. | ||
dalek | ast: 24bf700 | jnthn++ | S02-types/resolved-in-setting.t: Test that we resolve code types in the setting. So that users defining their own type that happens to be called Code, Block, Regex and so forth will not find themselves in a pickle. If there is real desire to override these, it is still possible, it just needs a custom setting, which seems a fair trade-off. |
12:07 | |
gauss | Hi, what is the most common application of Perl nowadays? Is it suitable for end-user programming(small utilities, GUI) on Windows? | 12:11 | |
grondilu | most common is system administration, I'd guess. | ||
Skarsnik | Not really for Gui | ||
lack of binding + slow | 12:12 | ||
jnthn | Web is also common | ||
tadzik | Web is very common, yes | ||
jnthn | Plus some bioinformatics | ||
grondilu | instead of "web" I'd say CGI. Seems more honest. | 12:13 | |
nine | grondilu: why CGI? | ||
RabidGravy | data pipeline, application integration, data transformation are some of the things I've worked on in the last ten years | 12:14 | |
grondilu | I may be wrong but to me web programming in perl is not easy unless you do CGI. | ||
RabidGravy | I'd say you're wrong but hey | 12:15 | |
jnthn | You're probably wrong, or I've misunderstood nearly every recent web framework talk I've seen at Perl confs recently :) | ||
grondilu | yeah I may be still living in the 90s and early 2000s | 12:16 | |
nine | grondilu: I can't imagine web dev being more comfortable than in Perl actually :) | ||
We do have really awesome frameworks | |||
grondilu | yeah but are they really better than frameworks in other languages? | 12:17 | |
llfourn | grondilu: surprisingly, yes. | ||
pdl | Perl is a fast, reliable 'glue language' which makes it perfect web development projects | ||
RabidGravy | whilst I have written actual CGI programs in the recent past it's been because I have considered that just to create some data anything else would be too much overhead | 12:18 | |
stmuk | they are pretty much the same as the other lang web frameworks | ||
llfourn | grondilu: Mojolicious is better than python tornado and ruby sinatra ( in my brief use of them ) | ||
stmuk | almost as if ideas had been directly copied ;) | ||
llfourn | (and I'm biased) | ||
12:19
pjscott left
|
|||
stmuk | mojo is the dogs bollocks | 12:19 | |
RabidGravy | even in the early 2000s people were using straight up mod_perl stuff in lieu of anything else rather than CGI | ||
llfourn | stmuk: I disagree D: | ||
tadzik | hmm | 12:20 | |
stmuk | llfourn: that means its good :D | ||
tadzik | that guy with a red valve on the back of his head, you know, when source games start? | ||
llfourn | stmuk: Oh! then I am in furious agreement :D | ||
grondilu | I don't like frameworks anyway. To me it's like I have to learn and use an other language. | ||
tadzik | what if that's bald gaben :o | ||
jnthn | (git rebase -i)++ # letting me screw up and still push commits that look great anyway :) | ||
llfourn | it's the bollocks of something awesome at least | ||
dalek | kudo/nom: 3c81e33 | jnthn++ | src/Perl6/ (3 files): Resolve code-related objects in setting. |
||
kudo/nom: 7ecba50 | jnthn++ | src/Perl6/ (2 files): Fix X:: resolutions to be done in the setting. We already caught most of these before now, but missed these ones. |
|||
kudo/nom: 1943fa8 | jnthn++ | t/spectest.data: Run S02-types/resolved-in-setting.t. |
|||
llfourn | grondilu: that's true. I think I know mojolicious better than perl itself :P | 12:21 | |
which is probably a good thing... | |||
stmuk | pbs.twimg.com/media/CWBWZKQWEAABC6N.jpg:large | ||
RabidGravy | (British vernacular idiom)++ # confusing non-native speakers and americans for ever | ||
12:22
pierre-vigier joined
|
|||
llfourn | stmuk: heh.. I don't even | 12:22 | |
grondilu | I wonder if web frameworks would gain in marketting themselves as whole programming languages | ||
12:22
pierre-vigier left
|
|||
stmuk | maybe next year LPW gets a Edward Snowdon style talking jnthnbot :) | 12:22 | |
llfourn | RabidGravy: I'm australian lol | ||
grondilu | something like here's Mojolicious, a programming language that looks like perl but which is designed for web programming. | ||
vendethiel | m: $_ = 'a'; say 'hey' if !/b/; | 12:23 | |
camelia | rakudo-moar a360f3: OUTPUT«hey» | ||
pdl | gauss: The thing about perl is that it's very flexible. Almost anything that another language can do, perl can either use or replicate. It's used for loads and loads of things, but what it's traditionally been most stronlgly associated with is system administration, websites, and a few domain-specific things like bioinformatics. Does that answer your question? | 12:24 | |
llfourn | grondilu: you need it though. It's got a consistent event loop interface and things like Mojo::Redis and Mango which I use all the time. Oh and Mojo::UserAgent which is the greatest thing ever. Come to think of it I use Mojo outside of a web server context than in it. | ||
gauss | pdl: yep) | 12:26 | |
jnthn | A consistent interface for async things is important. (Thus why Promise and Supply are part of the Perl 6 language. :)) | ||
llfourn | jnthn: | ||
I am in absolute agreement :) | |||
I can't wait to write all that kind of stuff without loading modules | |||
and writing Mojo::IOloop->start | 12:27 | ||
RabidGravy | yeah, which makes it a no-brainer for the kind of things I like to work on | ||
llfourn | which I just mistyped # see what I mean | ||
jnthn | Well, it's not just "without loading modules", it's also that when we do get a bunch of modules that expose or process async data sources, they can do it using Promise/Supply, and so can be composed easily with others. | ||
llfourn | point taken. That's so true. Mojo doesn't even have inbuilt promises... | 12:29 | |
I really secretly enjoy angular JS because of it's inbuilt promises and how all extensions use it and provide their async interfaces with it. | 12:31 | ||
jnthn wonders if we can get back down to 20 xmas RTs today... :) | |||
lunch & | |||
RabidGravy | easy | 12:32 | |
timotimo | yeah. damn JS and its 50 different promise implementations | ||
dalek | kudo/nom: db6e4d4 | (Stefan Seifert)++ | src/Perl6/World.nqp: No need to load Perl6::Module loader anymore for loading Perl6 modules |
||
kudo/nom: 5308479 | (Stefan Seifert)++ | src/core/CompUnit/RepositoryRegistry.pm: Don't merge symbols into Any's WHO When loading precomp files, load_module is called without a GLOBALish, but with Any instead. In that case, we shouldn't merge globals at all. |
|||
llfourn hides inside angularJS | 12:33 | ||
pdl | Followingin on from gauss' question, I would be interested to know what people on this channel think #perl6 will be most strongly associated with, what the problems are for which in a few year's time people will think "that's a job for perl6" rather than "I can do that in whatever other language I already know" | ||
RabidGravy | well, it's look at the ecosystem and see what people are already doing with it for starters :) | 12:34 | |
anyway off to get xmas tree | |||
llfourn | pdl: for me it is being able to create DSLs but have all the good stuff built in | ||
async, module loading, loops, lexical scope | 12:35 | ||
pdl | RabidGravy: Mostly porting perl5 stuff, at the moment, it looks like. | ||
llfourn, sure. There are some really fantastic things in there. | 12:36 | ||
llfourn | so 'hey we need a language to let our users describe XXX problem to our framework' => Perl 6 | ||
pdl | What I'm wondering though is what are the things that it'll be used for. | ||
Hm | |||
llfourn | (this is what I'm doing in Perl 6) | 12:37 | |
pdl | In the same way that you *can* use R to do web dev but probably you'll be using it for stats, academia, maybe some business reporting | ||
llfourn | yes R is great for describing (and solving optimaly) some type of problems -- but Perl 6 can quickly and easily be morphed into whatever language you need | 12:38 | |
12:39
RabidGravy left,
lmmx joined
|
|||
llfourn | because it's written in itself | 12:39 | |
12:42
xpen joined
12:46
kid51 joined
12:47
csson joined
12:49
Guest6941 left
12:54
lizmat joined
13:00
jdong left
13:01
s_kilk left
|
|||
Begi2 | Where should I write the doc of a module ? In the README file I guess ? | 13:01 | |
13:01
Begi2 is now known as Begi
|
|||
lizmat | not sure if we have any official guidelines for that just yet | 13:07 | |
old-style Perl modules either carried it in the source itself, or in a separate .pod file | |||
README I guess is the easiest visible on Github | |||
YMMV | |||
Skarsnik | I like mi6 idea. put the doc in the "main" module and generate the readme.md from the pod | 13:12 | |
13:13
weihan joined
|
|||
lizmat | m: dd (1 => 42).key # shouldn't that be a Str ??? | 13:15 | |
camelia | rakudo-moar 530847: OUTPUT«Int $var = 1» | ||
llfourn | lizmat: I think it should be a Int because it's a pair (anything can be the key afaik?) | 13:16 | |
lizmat | m: dd Pair.new(1,42).key | ||
camelia | rakudo-moar 530847: OUTPUT«Int $var = 1» | ||
lizmat | in this case I agree | ||
llfourn | m: say dd { 1 => 42 }.keys[0] | 13:17 | |
camelia | rakudo-moar 530847: OUTPUT«Str $var = "1"Nil» | ||
13:17
n0xff joined
|
|||
lizmat | but the fat comma is supposed to stringify anything on the left | 13:17 | |
well, barewords that is | |||
pdl | 1 is an int and not a bareword | ||
llfourn | lizmat: heh well I've been using like it doesn't do that for a while so I'm not sure :P | ||
m: class Foo { }; dd ( Foo.new => 42 ).key | 13:19 | ||
camelia | rakudo-moar 530847: OUTPUT«Foo $var = Foo.new» | ||
llfourn | so I guess you think Int.new(1) on LHS should be Int but 1 by itself should be Str? | 13:20 | |
lizmat | m: dd (NaN => 42).key | 13:21 | |
camelia | rakudo-moar 530847: OUTPUT«Str $var = "NaN"» | ||
llfourn | m: class Foo { }; dd ( Foo => 42 ).key | ||
camelia | rakudo-moar 530847: OUTPUT«Str $var = "Foo"» | ||
lizmat | it seems the spec indicate that autoquoting of the fatarrow only applies to identifiers | 13:22 | |
jnthn | Only things that parse as identifiers to the LHS of => are considered identifiers | ||
lizmat | so, is NaN an identifier ? | ||
jnthn | Yes | ||
It's literally "does it match <identifier>" | |||
lizmat | m: dd (Int => 42).key | ||
camelia | rakudo-moar 530847: OUTPUT«Str $var = "Int"» | ||
lizmat | ok | ||
m: dd ((Int) => 42).key | 13:23 | ||
camelia | rakudo-moar 530847: OUTPUT«Int $var = Int» | ||
jnthn | Where <identifier> is declarative, so picking that parse over the infix => falls out of LTM | ||
13:24
weihan left
13:34
lmmx left
13:44
firstdayonthejob left
13:45
lucasb joined
13:47
zakharyas joined,
Zoffix left
13:48
lmmx joined,
firstdayonthejob joined
|
|||
grondilu | m: my %h{Pair}; %h{A => "B"} = pi; say %h{A => "B"}; | 13:54 | |
camelia | rakudo-moar 530847: OUTPUT«(Any)» | ||
grondilu | m: say (A => "B").WHICH; | 13:55 | |
camelia | rakudo-moar 530847: OUTPUT«Pair|63037200» | ||
13:56
xpen left
|
|||
grondilu | ^seems very wrong | 13:57 | |
dalek | ast: 91eaba2 | jnthn++ | S09-multidim/subs.t: Add tests for subs on multi-dim arrays. To complement the methods tests, and make sure we don't have any divergences in behavior. (We do, as noted in RT #126799, in reverse; this is being patched. But this shows that in all the other cases we are already doing the righ thting.) |
||
jnthn | Is Pair listed as a value type in the design docs, ooc? | 13:58 | |
13:58
lmmx left
|
|||
jnthn | m: my $p = A => 2; $p.value = 42; say $p | 13:58 | |
camelia | rakudo-moar 530847: OUTPUT«Cannot modify an immutable Int in block <unit> at /tmp/JWHaGQNiOB:1» | ||
jnthn | Guess it maybe could be one | ||
grondilu | m: use MONKEY-TYPING; augment class Pair { method WHICH { .key.WHICH ~ '=>' .value.WHICH } }; say (a => "b").WHICH; | 13:59 | |
camelia | rakudo-moar 530847: OUTPUT«Method 'key' not found for invocant of class 'Any' in method WHICH at /tmp/il5sLhKv1P:1 in block <unit> at /tmp/il5sLhKv1P:1» | ||
grondilu | m: use MONKEY-TYPING; augment class Pair { method WHICH { self.key.WHICH ~ '=>' self.value.WHICH } }; say (a => "b").WHICH; | ||
camelia | rakudo-moar 530847: OUTPUT«5===SORRY!5=== Error while compiling /tmp/w6aGdwX06ZTwo terms in a rowat /tmp/w6aGdwX06Z:1------> 3r { method WHICH { self.key.WHICH ~ '=>'7⏏5 self.value.WHICH } }; say (a => "b").WH expecting any of: infix infi…» | ||
grondilu | m: use MONKEY-TYPING; augment class Pair { method WHICH { self.key.WHICH ~ '=>' ~ self.value.WHICH } }; say (a => "b").WHICH; | ||
camelia | rakudo-moar 530847: OUTPUT«Str|a=>Str|b» | ||
14:00
zakharyas left
|
|||
grondilu | FYI I thought about using pairs as keys while solving adventofcode.com/day/13 | 14:01 | |
because then I could do %preferences{@permutation Z=> @permutation.rotate(1)} | 14:02 | ||
lizmat | grondilu: that should work fine | 14:03 | |
m: dd 1 => 2 => 3 => 4 | |||
camelia | rakudo-moar 530847: OUTPUT«Pair $var = 1 => 2 => 3 => 4» | ||
grondilu | it did not. See above. | ||
lizmat | ah ? | ||
grondilu | you can't use pairs as keys. | 14:04 | |
m: my %h{Pair}; %h{A => "B"} = pi; say %h{A => "B"}; | |||
camelia | rakudo-moar 530847: OUTPUT«(Any)» | ||
dalek | kudo/nom: 5b6cbc7 | lizmat++ | src/core/Pair.pm: Fix a number of edge cases in Pair.perl Spotted by zefram++ , cases such as Nil => 42 vs (Nil) => 42. I also found two other edge cases: NaN and Inf as a left hand side |
14:05 | |
lizmat | m: my %h{Pair}; %h{A => "B"} = pi; dd %h.keys[0] # grondilu, looks like it stores ok | 14:06 | |
llfourn | m: use Test do { \(snake => 'viper').say; () } # use arg named munging leaks out of just top level arguments, bug? | ||
camelia | rakudo-moar 530847: OUTPUT«Pair $var = :A("B")» | ||
rakudo-moar 530847: OUTPUT«\("viper")» | |||
grondilu | m: my %h{Pair}; %h{A => "B"} = pi; say %h.keys.pick.perl | 14:07 | |
camelia | rakudo-moar 530847: OUTPUT«:A("B")» | ||
jnthn | lizmat: Yes, it will, but you won't end up with it looked up OK, because the second time you mention the Pair you constuct a new one. | ||
lizmat | yeah, and it isn't a value type | ||
jnthn | m: my $p = A => "B"; my %h{Pair}; %h{$p} = 42; say %h{$p} | ||
camelia | rakudo-moar 530847: OUTPUT«42» | ||
lizmat | yeah, not helping much | 14:08 | |
I guess if neither of key and value are containers, we could generate a .WHICH that *is* a value type? | |||
brb | |||
grondilu | m: my %h; %h{A => "B"} = pi; say %h.keys.pick.perl | ||
camelia | rakudo-moar 530847: OUTPUT«"A\tB"» | ||
grondilu | m: my %h; %h{A => "B"} = pi; say %h{A => "B"}; | 14:09 | |
camelia | rakudo-moar 530847: OUTPUT«3.14159265358979» | ||
grondilu | lol, I guess I could do that | ||
lizmat | yup, you're effectively making it a value type that way | 14:11 | |
jnthn | m: my @a[2;2] = (0,1),(2,3); say squish @a | ||
camelia | rakudo-moar 5b6cbc: OUTPUT«Cannot access 2 dimension array with 1 indices in block <unit> at /tmp/4mnZOYqqSY:1» | ||
grondilu | I lose the structure in the keys though. I was planning on using it. | 14:12 | |
lizmat | perhaps you need to mixin a .WHICH | ||
hmmm.... | |||
jnthn: gist.github.com/lizmat/2b8ff5d17f6ef970fc20 # diff for fixing Slip assignment to a scalar and .map it | 14:13 | ||
doesn't seem to work | |||
decommute continues& | |||
14:13
lizmat left
14:14
Zoffix joined,
Zoffix left
|
|||
grondilu | 15:08 < lizmat> I guess if neither of key and value are containers, we could generate a .WHICH that *is* a value type? | 14:16 | |
^I would agree with that | |||
m: use MONKEY-TYPING; augment class Pair { method WHICH { "{self.key.WHICH} => {self.value.WHICH}" } }; say (a => "b").WHICH; # or this | 14:18 | ||
camelia | rakudo-moar 5b6cbc: OUTPUT«Str|a => Str|b» | ||
grondilu | m: use MONKEY-TYPING; augment class Pair { method WHICH { "{self.key.WHICH} => {self.value.WHICH}" } }; say (a => "b").WHICH; my %h{Pair}; %h{foo => "bar"} = pi; say %h{foo => "bar"} | 14:19 | |
camelia | rakudo-moar 5b6cbc: OUTPUT«Str|a => Str|b3.14159265358979» | ||
grondilu | m: use MONKEY-TYPING; augment class Pair { method WHICH { "{self.key.WHICH} => {self.value.WHICH}" } }; my %h{Pair}; %h{foo => "bar"} = pi; say %h{foo => "bar"} | 14:20 | |
camelia | rakudo-moar 5b6cbc: OUTPUT«3.14159265358979» | ||
14:20
lambert16 joined
|
|||
grondilu | m: use MONKEY-TYPING; augment class Pair { method WHICH { "{self.key.WHICH} => {self.value.WHICH}" } }; say (a => "b").WHICH; my %h{Pair}; %h{foo => "bar"} = pi; say %h.keys.pick.perl | 14:20 | |
camelia | rakudo-moar 5b6cbc: OUTPUT«Str|a => Str|b:foo("bar")» | ||
14:21
xpen joined
|
|||
grondilu | in any case returning the WHERE of the container seems wrong to me | 14:21 | |
m: say (my $ = A => "B").WHICH; | |||
camelia | rakudo-moar 5b6cbc: OUTPUT«Pair|70037216» | ||
grondilu | m: say (my $ = A => "B").WHERE; | 14:22 | |
camelia | rakudo-moar 5b6cbc: OUTPUT«139907610496880» | ||
grondilu | ah sorry that's not the WHERE | ||
grondilu confused stuff | |||
14:23
Zoffix joined
|
|||
jnthn | We don't try to use WHERE for identity, because it changes over an object's lifetime :) | 14:23 | |
Zoffix | docs.perl6.org aren't being generated BTW | ||
Last update is "Generated on 2015-12-10T13:09:43Z" | 14:24 | ||
m: ^2 .grep(*.^can: 'a'); | 14:26 | ||
camelia | ( no output ) | ||
Zoffix | m: ^2 .grep(*.^can:'a'); | ||
camelia | rakudo-moar 5b6cbc: OUTPUT«5===SORRY!5=== Error while compiling /tmp/OdIfxA9Ib7Unable to parse expression in argument list; couldn't find final ')' at /tmp/OdIfxA9Ib7:1------> 3^2 .grep(*.^can:7⏏5'a'); expecting any of: colon pair» | ||
Zoffix | That error is LTA :( | ||
14:26
Upasaka joined
14:27
lambert16 left
|
|||
lucasb | doc site error is: 'Could not find experimental in any of' | 14:28 | |
14:28
tipdbmp joined
|
|||
jnthn | m: use experimental :macros; | 14:30 | |
camelia | ( no output ) | ||
jnthn | Hmm | ||
lucasb: Do you know what Perl 6 version it's using to do the build? | |||
lucasb | build log says 2015.09-210-gef814c3, but idk... :) | 14:31 | |
jnthn | yowser, that's old :) | ||
lucasb | I mean, that is just the directory under ~/doc.perl6.org/.perl6 | ||
~doc.perl6.org/.perl6 # the username is doc.perl6.org | 14:32 | ||
14:35
lmmx joined
|
|||
pdl | Even on 2015.11-513-g5308479 perl6/doc doesn't appear to run `make html`. github.com/perl6/doc/issues/227 looks like the problem. | 14:36 | |
The error 'Type check failed in assignment to @!categories; expected Str but got Array' is a bit perplexing to me (still very new to perl6) | 14:38 | ||
14:38
BenGoldberg joined
14:39
RabidGravy joined
|
|||
pdl | @!categories (declared as 'has Str @.categories' in Perl6/Documentable.pm), so isn't it expecting an array of strings? | 14:39 | |
RabidGravy | yes | 14:40 | |
jnthn | Yes. If I had to guess, I'd suspect a constructor call is feeding it an itemized array. | ||
pdl | Not sure what one of those is, but here's the line that's triggering the error: @!documentables.append: my $d = Perl6::Documentable.new(|%args) | 14:42 | |
Which is probably not helpful unless the unary pipe (?) is doing something bad | 14:44 | ||
RabidGravy | it turns the associative into named args there | ||
lucasb | m: class C { has Str @.arr }; say C.new(arr => ['a','b']) | 14:45 | |
camelia | rakudo-moar 5b6cbc: OUTPUT«C.new(arr => Array[Str].new("a", "b"))» | ||
lucasb | m: class C { has Str @.arr }; my %h = arr => ['a','b']; C.new(|%h) | ||
camelia | rakudo-moar 5b6cbc: OUTPUT«Type check failed in assignment to @!arr; expected Str but got Array in block <unit> at /tmp/8PgTIwe7qa:1» | ||
lucasb | so... in the constructor ['a','b'] gets coerced into Array[Str], but not when it's unpacked with |%h, right? | 14:47 | |
RabidGravy | m: class C { has Str @.arr }; my %h<arr> := ['a','b']; C.new(|%h) | ||
camelia | rakudo-moar 5b6cbc: OUTPUT«5===SORRY!5=== Error while compiling /tmp/MlhfT4cZGuShaped variable declarations not yet implemented. Sorry. at /tmp/MlhfT4cZGu:1------> 3class C { has Str @.arr }; my %h<arr>7⏏5 := ['a','b']; C.new(|%h)» | ||
RabidGravy | m: class C { has Str @.arr }; my %h; %h<arr> := ['a','b']; C.new(|%h) | ||
camelia | ( no output ) | ||
RabidGravy | it's that one | 14:48 | |
14:50
lichtkind joined
14:51
xpen left
|
|||
lichtkind | masak you brushing up knuth? | 14:56 | |
Zoffix | Is it possible to make constants visible in the subclass? | ||
m: class Foo { constant foo = 42; }; class Bar is Foo { method x { return foo } }; Foo.new.x | |||
camelia | rakudo-moar 5b6cbc: OUTPUT«5===SORRY!5=== Error while compiling /tmp/D5BLLLRRlkUndeclared routine: foo used at line 1» | ||
jnthn | constants are our-scoped by default | 14:57 | |
So you can see it as Foo::foo | |||
Zoffix | m: class Foo { constant foo = 42; }; class Bar is Foo { method x { return Foo::foo } }; say Bar.new.x | ||
camelia | rakudo-moar 5b6cbc: OUTPUT«42» | ||
Zoffix | How can I avoid typing Foo:: in the subclass? | ||
pdl | m: class C { has Str @.arr }; my %h; %h = :arr(["a","b"]); C.new(|%h) | 14:58 | |
camelia | rakudo-moar 5b6cbc: OUTPUT«Type check failed in assignment to @!arr; expected Str but got Array in block <unit> at /tmp/sSm2xtJxMd:1» | ||
14:58
raiph joined
|
|||
RabidGravy | m: class Foo { our constant foo = 42; }; class Bar is Foo { method x { return Foo::foo } }; say Bar.new.x | 14:59 | |
camelia | rakudo-moar 5b6cbc: OUTPUT«42» | ||
jnthn | Zoffix: Declare the constants outside of either? | ||
RabidGravy | or that | ||
Zoffix | jnthn, thanks. That worked | ||
jnthn | Unlike some languages, Perl 6 doesn't consider subclasses as privileged in any way with regard to what symbols they can see. | 15:00 | |
pdl | I think this is what's going on, in github.com/perl6/doc/blob/master/h...fy.p6#L418 | 15:01 | |
Zoffix | That introduces the obvious problem that I can't just make a base class that declares a whole bunch of symbols the subclasses don't need to. | ||
lichtkind | is the official wording perl 6 1.0 or perl 6.0.0 ? | ||
jnthn | Zoffix: Yes, that's not what inheritnace is for. | ||
Zoffix | I see | ||
jnthn | That's what importing is for. | ||
Zoffix | m: class Foo { method foo { say callframe.annotations } }; Foo.new.foo | 15:07 | |
camelia | rakudo-moar 5b6cbc: OUTPUT«file => /tmp/vnAXFVCRPV, line => 1» | ||
Zoffix | Is there a way to get "Foo", the package name, as the response? The docs suggest there's no simply way: doc.perl6.org/language/5to6-perlfunc#caller | ||
Oh wait no | |||
Disregard, that's not what I want | |||
m: class Foo { method foo { say callframe.annotations } }; class Bar is Foo { method bar { $.foo } }; Bar.new.bar | 15:08 | ||
camelia | rakudo-moar 5b6cbc: OUTPUT«file => /tmp/UwaBQ7YR_i, line => 1» | ||
Zoffix | This. I want to say "Foo" | ||
This. I want to say "Bar", I mean >_< | |||
RabidGravy | You can get the package of a method: | 15:13 | |
m: class Foo { method foo { say &?BLOCK.package.^name } }; Foo.new.foo | |||
camelia | rakudo-moar 5b6cbc: OUTPUT«Foo» | ||
Zoffix | m: class Foo { method foo { say &?BLOCK.package.^name } }; class Bar is Foo { method bar { $.foo } }; Bar.new.bar | 15:14 | |
camelia | rakudo-moar 5b6cbc: OUTPUT«Foo» | ||
Zoffix | I want that to say Bar. Basically, I want a class to have a method subclasses can call and if $!debug is set, I want that method to output the name of the subclass. | ||
RabidGravy | m: class Foo { method foo { say $?PACKAGE.^name } }; Foo.new.foo | 15:15 | |
camelia | rakudo-moar 5b6cbc: OUTPUT«Foo» | ||
RabidGravy | m: class Foo { method foo { say $?PACKAGE.^name } }; class Bar is Foo {}; Bar.new.foo | ||
camelia | rakudo-moar 5b6cbc: OUTPUT«Foo» | ||
RabidGravy | Hmm | ||
Zoffix | m: class Foo { method foo { say $?CLASS.^name } }; class Bar is Foo {}; Bar.new.foo | 15:16 | |
camelia | rakudo-moar 5b6cbc: OUTPUT«Foo» | ||
lichtkind | im for the perl 6.0.0 | ||
RabidGravy | entirely possible that there's something in the Backtrace or Callframe that has it | 15:17 | |
lichtkind | even it sounds less s a new thing | ||
Zoffix | I'm for 6.0 v1 | ||
Or rather, Perl 6 v1 | |||
lichtkind | it is official? | ||
RabidGravy | of course if the method was in a role then it $?CLASS should be right | ||
Zoffix | lichtkind, what's "official"? | 15:18 | |
lichtkind | well best approval by the big mustache | 15:19 | |
TimToady | it will most likely be called 6c | 15:20 | |
RabidGravy | what the boss said | ||
lichtkind | what the c stand for? | 15:21 | |
TimToady | christmas | ||
you you can call it 6.Christmas too | |||
15:21
frizzi joined
|
|||
TimToady | that's a language version, not a rakudo version | 15:21 | |
lichtkind | allright just want to let you know i dont joking this will be headline of the biggest german article about perl 6 on christma | ||
s | |||
TimToady | so it won't change very fast | ||
lichtkind | yes | ||
jnthn | The key thing to keep in mind is that there are now language and implementation versions. | 15:22 | |
Skarsnik wish someone add a proper https support in ua | |||
TimToady | and the next one after that will likely be Diwali | ||
jnthn | So "officially" it's like "Rakudo 2015.12 (provides Perl 6.Christmas)" | ||
TimToady | note what -v says now | ||
jnthn | Ah, implementing :) | 15:23 | |
TimToady | so that rt is partly fixed, but the info is still scattered about | 15:24 | |
lichtkind | haha | ||
jnthn | TimToady: Yeah, I put it on the xmas list | ||
TimToady | saw | ||
jnthn | Currently tidying up some multi-dim corner cases | ||
Figured we'll allow .reverse and .rotate on 1-dim | 15:25 | ||
TimToady | have a few more things to tidy up in the gsr, but it passes all the tests | ||
jnthn | We can decide semantics for those on multi-dim in the future if we want. | ||
Nice \o/ | |||
RabidGravy | but isn't Divali like next november now? (still stuffed from all the goodies the lovely neighbours brought round) | ||
15:25
frizzi left
|
|||
TimToady | the releases are just names, they don't have to track the dates | 15:25 | |
RabidGravy | :) | 15:26 | |
jnthn | That said, next November for the next *language* version is probably about right. | ||
lichtkind | TimToady so subtitel : larry set free rakudo on moar for productive use (loose translation) | ||
TimToady, that would be allright? | |||
TimToady | that's okay | 15:27 | |
shower & | 15:28 | ||
grondilu | we'll we have .transpose on 2-dim? | 15:30 | |
15:30
cognominal joined
|
|||
jnthn | That can be module space for now. | 15:31 | |
grondilu | more generally linear algebra will be module space, I suppose. | ||
(or PDL or whatever) | |||
lichtkind | TimToady it serves as explanation what christams means and second headline always should you give a gist of facts while being varity from first heading | 15:33 | |
TimToady, thanks | |||
grondilu | the other day I was considering updating the French wikipedia article with inforabout the christmas release, but I was not sure what to say exacly, nor which reference to add on when and where exactly did the announcement occurred. | 15:35 | |
Zoffix | Well, I solved my "can't get subclass's name from class's method" problem: gist.github.com/zoffixznet/5f563d30298552acf82e | ||
lichtkind | i already udated german wikipedia a bit | ||
but will do rest on release day | |||
Zoffix | So hackish and filthy... :) | ||
grondilu | what exactly will happen on christmas? | ||
lichtkind | yes took me weeks and weeks to clean up an article | ||
Skarsnik | the earth explode | ||
dalek | kudo/nom: cb9ccb6 | jnthn++ | src/core/Rakudo/Internals.pm: Fix .Slip on shaped data structures. Slip has no shape, so we produce a Slip of the leaves. |
15:36 | |
kudo/nom: c2a726e | jnthn++ | src/core/Any-iterable-methods.pm: Add candidate for sort to fix passing multi-dim. Rather than letting it fall to the analysis done in the existing candidate, which is doomed to fail. |
|||
kudo/nom: c086506 | jnthn++ | src/core/List.pm: Fix reverse to directly delegate on arrays. So we get the correct exception for reverse(@multi-dim). |
|||
kudo/nom: ba273ef | jnthn++ | src/core/ (3 files): Allow rotate/reverse of 1-dim fixed arrays. Or at least, do so for non-native arrays. We didn't yet implement the two operations at all on native arrays yet. |
|||
lichtkind | you need a ground plan a structure and write it subheading by subheading | ||
kudo/nom: def7024 | jnthn++ | t/spectest.data: Run S09-multidim/subs.t. |
|||
ast: 8b9ae0a | jnthn++ | S09-multidim/ (2 files): More multi-dim method/sub tests. |
|||
lichtkind | jnthn++ | ||
grondilu | I mean I'm not willing to write "official" and actually put quotes around the word. What does that mean? | ||
dalek | ast: 30a3a5f | jnthn++ | S09-multidim/ (2 files): Test rotate/reverse on 1-dimensional arrays. |
||
lichtkind | so to repush the topic anybody interested in perl 6 article for perl.com? | ||
Zoffix | Isn't it a site for a different language? :) | 15:37 | |
lichtkind | its perl.com | 15:38 | |
not perl5.com | |||
besides it has relevance to p5 | |||
Zoffix | Just scrolling through the list of those faces, I see one or two with whom I had a heated "Perl 6 is killing us all" argument. | 15:39 | |
15:39
psy_ left
|
|||
lichtkind | head plenty of the too | 15:40 | |
and were still alive | |||
[Tux] | Cannot find method 'run_alt' :( | ||
not even in a second attempt | |||
Zoffix | There's an RT for it: rt.perl.org/Ticket/Display.html?id=126832 | 15:41 | |
15:41
psy_ joined
|
|||
Zoffix | lichtkind, wasn't really my point. The question at hand is: does Perl 6 infiltrate all the current "Just Perl" sites with the excuse "well, it's not perl5, so we can do that" or ruffle a ton of feathers or would our effort be better spent not doing that and positioning P6 as a new language. | 15:42 | |
s/or/and/; | 15:43 | ||
lichtkind | perl.com is more about the practical side and the major news items which release of p6.c is | ||
so i guessed there will be rather seldom p6 content | 15:44 | ||
but given there was no update since 14 it helps to stay recent too | |||
Zoffix sighs | 15:45 | ||
15:45
zakharyas joined
|
|||
Zoffix | I don't feel perl.com is an appropriate place for any P6 content and placing it there will just piss off more people that are already pissed off... but, I don't want to go down the Name Issue Argument™ again :/ | 15:46 | |
lichtkind | really im surprised o now very few people who would feel that way | ||
is see it as : reporting of what we can be proud of | 15:47 | ||
RabidGravy | I'm personally just ignoring that whole thing and getting on with making software in the language | 15:48 | |
jnthn | RabidGravy++ | ||
leont | jnthn: #126839 might be candidate for the christmas list | 15:49 | |
Zoffix | Considering I have at least half a million lines of P5 code, I can't really do that. | ||
jnthn | leont: It's just a bug, doesn't raise a substantive semantic issue. | ||
leont: I think we all agree it should work. | |||
leont | Ah, ok | ||
jnthn | leont: And it's highly unlikely anyone will come to depend on the current bug. | ||
leont already does :-/ | 15:50 | ||
jnthn | Oh? | ||
leont | TAP::Harness doesn't hangs in its tests, though I could temporarily fixing it by uncommenting the Terminal::ANSIColor support | ||
commenting | |||
jnthn | That means you want if fixed, though, not that we'll break your working code by fixing it? | 15:51 | |
*want it | |||
(I agree it's not a nice bug, there's just limited time before xmas...) | |||
leont | Fair enough, time is short | ||
Zoffix | made me class-finding thing a sub now with a bit of tweaking: gist.github.com/zoffixznet/3022e62544149d6a03fa | 15:52 | |
Will fail if the caller is not in IRC::Client::Plugin:: tho :/ | |||
leont | I'm just expecting other people to hit it soon, EVAL isn't that obscure as a feature, and because it seems to work at first it's highly confusing | ||
Zoffix | oh well | ||
15:53
patrickz joined
|
|||
vendethiel | github.com/rakudo/rakudo/commit/c08650667c can someone explain to me the behavior difference? | 15:54 | |
RabidGravy | Hmm, hitting that run_alt thing in some H::UA tests now | ||
RabidGravy updates rakudo on the grounds it can't make things any weirder | |||
vendethiel | or the interaction +@ has with multidim | ||
jnthn | vendethiel: +@a is a kind of slurpy, meaning you don't get the passed thing itself, but something that is based on its iteration | 15:55 | |
vendethiel: That means we failed to delegate the original multi-dim thing | |||
vendethiel | "based on its iteration"? | ||
15:56
MadcapJake left
|
|||
jnthn | m: my @a[2;2] = (1, 2), (3, 4); sub foo(*@s) { say @s.perl }; foo(@a) | 15:56 | |
camelia | rakudo-moar def702: OUTPUT«[1, 2, 3, 4]» | ||
jnthn | Like that. | ||
vendethiel | m: my @a[2;2] = (1, 2), (3, 4); sub foo(+@s) { say @s.perl }; foo(@a) | ||
camelia | rakudo-moar def702: OUTPUT«[1, 2, 3, 4]» | ||
jnthn | Multi-dim arrays, unlike just making an array of arrays, will iterate over their leaves | ||
vendethiel | ... now that's an unexpected and surprising corner case... | ||
m: my @a[2;2;2] = ((1, 2), (3, 4)), ((5, 6),); @a.map(*.perl.say); | 15:57 | ||
camelia | rakudo-moar def702: OUTPUT«123456AnyAny» | ||
dalek | kudo/nom: e160c98 | jnthn++ | src/core/Seq.pm: Missing `is raw` in Seq.AT-POS. |
||
15:57
BenGoldberg left
|
|||
dalek | ast: d2bc215 | jnthn++ | S04-statements/gather.t: Tests for RT #126424. |
15:58 | |
15:58
AlexDaniel joined
|
|||
jnthn | OK, if TimToady++ merges the sink refactors today I imagine we'll be rid of rt.perl.org/Ticket/Display.html?id=125769 and so get down to 20 RTs. :) | 16:00 | |
16:01
llfourn left
16:02
BenGoldberg joined
|
|||
vendethiel | okay, so that's because multi-dim operations work on leaves as you explained | 16:02 | |
I still consider that to be surprising, though :p | |||
16:05
Ven joined
16:06
hartenfels left,
hartenfels joined
|
|||
RabidGravy | still getting the "Cannot find method 'run_alt' at gen/moar/stage2/QRegex.nqp:1416"" with a freshly built rakudo | 16:07 | |
16:09
gauss left
|
|||
RabidGravy updates Zoffix' RT | 16:11 | ||
Woodi just created wikipedia's polish Perl6 page: 1 sentence - 1 link... | 16:12 | ||
Zoffix cues in the Polish sausages joke | |||
lucasb doesn't understand polish | 16:13 | ||
16:14
adhoc left
16:15
patrickz left
16:16
patrickz joined,
adhoc joined
|
|||
jnthn understands reverse polish, and wonders if that counts... | 16:18 | ||
timotimo | "reverse polish" is basically "dulling"? | 16:20 | |
Woodi | timotimo: WAT ? | 16:21 | |
16:21
rurban_ left
|
|||
grondilu | Woodi: en.wiktionary.org/wiki/polish#Verb | 16:22 | |
en.wiktionary.org/wiki/dull#Verb | 16:23 | ||
16:23
khw joined
|
|||
timotimo | it's not possible to make this joke in german, because polish (nationality) is "polnisch" and polish (making something shiny) is "polieren" | 16:23 | |
lichtkind | colomon ping | 16:25 | |
leont | Really, someone should make a joke about Turkey, polish and Finnish, but I'm not funny enough | ||
16:26
pjscott joined
|
|||
grondilu | I've boutght a turkey, cooked it in a well-polish plate, and when I ate it I was finnish. | 16:27 | |
s/boutght/killed/ | |||
lichtkind | reminds me on the epic quiz show with that stupid blonde who went over wondering: hungry is a country? | 16:28 | |
grondilu | was that justin Bieber? www.youtube.com/watch?v=76CqijPNGSk | ||
16:29
st_iron joined
|
|||
flussence | good morning/* #perl6, I'm working on a rakudo package for gentoo today. I've already got moar/nqp working (and passing tests), just need to figure out how to work around precomp... | 16:29 | |
st_iron | good afternoon my friends | ||
Woodi | ok, some Germans here so I can ask: do for you saying (I hear it from some UK citizen) that Poles are f*g Russians is as much *abstract* as for us ? :) | 16:30 | |
lichtkind | www.youtube.com/watch?v=NQc4V_wTT_I | ||
Woodi, please rephrase | 16:31 | ||
Woodi | nah, nvm :) | ||
lichtkind | there are jokes about poles | ||
and about russians | |||
16:32
lizmat joined
|
|||
flussence | «No writeable path found in block <unit> at tools/build/install-core-dist.pl:15» -- this is the one error I can't fix | 16:32 | |
16:33
BenGoldberg left
16:34
Ben_Goldberg joined,
pjscott left
|
|||
lichtkind | cheers lizmat | 16:34 | |
lizmat | lichtkind o/ | 16:35 | |
16:35
patrickz left
|
|||
jnthn bbl & | 16:36 | ||
flussence | sanity tests in rakudo seem to be failing too, probably for the same reason... | ||
16:36
xfix left
|
|||
AlexDaniel | m: my @a[3]; say @a.reverse | 16:37 | |
camelia | rakudo-moar e160c9: OUTPUT«[(Any) (Any) (Any)]» | ||
AlexDaniel | m: my @a[3,2]; say @a.reverse | ||
camelia | rakudo-moar e160c9: OUTPUT«Cannot reverse a fixed-dimension array in block <unit> at /tmp/s70Osi4tmx:1» | ||
16:37
diana_olhovik_ joined,
zakharyas left
|
|||
lizmat | grondilu: re making Pair conditionally a value type: the which would need to be something like self.^name ~ "|| ~ self.perl | 16:40 | |
to make sure we don't collissions on things like Nil => 42 vs (Nil) vs 42 | |||
*=> | |||
16:42
davercc joined
16:43
espadrine joined
|
|||
masak | ahoy, #perl6 | 16:50 | |
lizmat | ahoy masak | 16:51 | |
tunnelling& | |||
16:52
noganex left
|
|||
moritz didn't think lizmat++ was small enough for quantum operations like tunnelling | 16:52 | ||
lizmat | well, within a car within a train, I'm small enough (apparently) | 16:53 | |
16:54
WizJin left
|
|||
masak | lizmat: you're on a train too? :D | 16:54 | |
lizmat | yup | 16:55 | |
masak | I wonder what the dot product of our velocities is. | ||
16:55
Upasaka left
16:56
noganex joined,
st_iron left
16:58
diana_olhovik_ left,
lmmx left,
lmmx joined
17:01
WizJin joined
|
|||
jdv79 | nine: cool. digging into that at this point is beyond me i'm afraid. | 17:01 | |
wait. is it fixed? | 17:03 | ||
chansen_ | Does perl6 implement the Unicode collation algorithm? | ||
moritz | chansen_: I don't think so | ||
chansen_ | moritz: :o( | 17:05 | |
Top notch unicode string implementation, but we can't sort our strings | 17:06 | ||
jnthn, TimToady ^^^ | 17:07 | ||
moritz | let's say there's still room for improvement :-) | ||
chansen_ | True! | ||
moritz | there are lots of Unicode features/algorithms (like decomposition into words and sentences) that we don't do (yet?) | ||
mst | chansen_: getting the representation right for 6.c is the crucial thing | 17:08 | |
jnthn | In general, policy so far is that anything that is language/culture specific belongs in module space. | ||
moritz | jnthn: well, the collation algorithm is supposed to work well enough for "most" data without needing to determine language | 17:09 | |
17:09
rubio_terra joined
|
|||
chansen_ | moritz: is correct, the default algorithm works for many cases | 17:10 | |
moritz | www.unicode.org/reports/tr10/ | ||
also userguide.icu-project.org/collation | 17:11 | ||
17:11
zakharyas joined
|
|||
chansen_ | Does MoarVM use ICU internally? | 17:11 | |
lizmat | chansen_: no, it doesn't | ||
chansen_ | OK | 17:12 | |
17:12
vividsnow left,
vividsnow joined
|
|||
lizmat is surprised to still have 4G well into the Channel tunnel | 17:12 | ||
RabidGravy | it surprised me last time I was on it | 17:13 | |
flussence | .oO( maybe they have a powerline-ethernet adapter plugged into the rails ) |
||
chansen_ | mst: I can understand that, but collation is a fundamental part for non US/UK developers/users | ||
17:14
Zoffix left
|
|||
mst | chansen_: I'm aware. however that can be built on top of a correct representation, whereas with the representation wrong you'd be completely stuffed, and how fundamental collation is to people's usage doesn't change that reality | 17:14 | |
dalek | c: b45a10e | (Daniel Perrett)++ | htmlify.p6: Fix type check failing (gh #227) |
17:15 | |
c: 592e4a5 | (Zoffix Znet)++ | htmlify.p6: Merge pull request #240 from pdl/pr-type-error Fix type check failing (gh #227) |
|||
17:15
curious__ joined
|
|||
colomon | lichtkind: pong? | 17:15 | |
lichtkind | ah | 17:16 | |
you still work on Math::Vector? | |||
17:17
skids joined
|
|||
chansen_ | mst: True, but IMHO it should be build-in considering Perl6's excellent Unicode support, it would be a major selling point compared to other languages | 17:17 | |
curious__ | Looking at "methods(:local)" in docs. What other than ':local' can go there? Can it be negated? | ||
mst | chansen_: well, yes, everybody wants their biggest wishlist item built in. | 17:18 | |
timotimo | the default is probably "negated :local" | ||
jnthn | chansen_: That could easily still happen in a future Perl 6 version. Showing up *now* to ask for something major that you'd like to be done in 6.Christmas is simply way, way too late. | ||
mst | I don't think he's asking for it, as such | ||
my point is "it's not crucial because it can be added" | |||
jnthn | *nod* | 17:19 | |
moritz | curious__: doc.perl6.org/type/Metamodel::Metho...od_methods :all and :local can go there | ||
mst | if you want it sooner than the current contributors want to implement it, I'm sure they'd be happy to have your help | ||
chansen_ | jnthn: I'm not asking for it this christmas! Perhaps next? ;) | ||
17:19
lizmat left,
Ben_Goldberg left
|
|||
mst | actually | 17:19 | |
moritz | curious__: and you can negate them (:!local), which does the same as not applying them | ||
jnthn | chansen_: That's more realistic, yes :) | ||
mst | jnthn: if you do implement it, totally make chansen_ help | ||
jnthn | ;-) | ||
mst | he's just the right sort of insane pedantic genius | ||
he used to maintain a lot of the catalyst HTTP abstractions that eventually got extracted and turned into chunks of Plack | 17:20 | ||
jnthn | Looking just at TR10, that sounds exactly what implementing it needs. :) | ||
mst | (sadly sri happened to him, as was often the case in those days) | ||
jnthn | *Just looking | ||
mst | see also Time::Moment, wherein chansen_ applies said brilliant pedantry to datetime implementation | ||
anybody capable of staring down datetime math, in C, without having a nervous breakdown, is a rare and useful resource | 17:21 | ||
chansen_: but since I'm feeling nice today I'll wait until after 6.c is out to shout well volunteered at you :P :D | |||
curious__ | Thanks! I was struggling for a term to search for | 17:23 | |
chansen_ hugs mst for his exaggerated praise | 17:24 | ||
17:24
lucasb left
|
|||
arnsholt | Well volunteered is such a good term. I use it occasionally at work when people are being overly helpful | 17:25 | |
_sri | of course mst came here to attack me | ||
masak | er, of course? | 17:26 | |
chansen_ | But I think I can speed up the UTF-8 processing in MoarVM, I recently submitted <gist.github.com/chansen/36544a219c...09e7dc> to p5p which could also be used in MoarVM | ||
mst | masak: didn't you know? everything I've done for ten years is part of a subtle evil plot to damage sri | ||
masak | mst: I'm only now starting to realize | ||
mst: man, that's devious | |||
flussence | chansen_: those percentages are ...scary | ||
17:26
lizmat joined
|
|||
_sri | mst has recently been banned from the mojolicious project for abusive behavior, since then he's been badmouthing me wherever he could | 17:26 | |
masak | fancy that | 17:27 | |
_sri | so, take what he says with a grain of salt | ||
mst | abusive behaviour, as in "sri accused me of unbanning myself from #mojo and then banned me for saying that no, I hadn't done that" | ||
jnthn | chansen_: Such a patch to MoarVM would certainly be welcomed, if you're interested. | ||
mst | which presumably was also part of my evil plan; I wish I understood how | ||
chansen_ | flussence: it's the basic of SIMD, single instruction, multiple data | 17:28 | |
masak | mst, _sri: I'm going to jump ahead a bit and declare your mutual dislike off-topic for this channel. | ||
chansen_ | jnthn: i will look into it | ||
jnthn | chansen_: There's plenty of performance improvements to be had in the normalization stuff to in Moar, since I so far focused on "try to get it right" :) | ||
_sri | masak: appreciated | 17:29 | |
mst | yes. sorry. mojo's code of conduct applying to everybody except sri is a sore point. my mistake. | ||
masak | mst: don't push it ;) | ||
flussence | chansen_: makes me wonder how much of the software I'm using is using slow utf8 code... sometimes it does feel much worse than it needs to be :( | ||
chansen_ | flussence: The worst part is that many implementations simply sucks because they have not read the spec and only implement it partially and is a subject for attacks, like the one I reported for MongoDB which allowed you to smuggle characters because they didn't implement it properly! | 17:33 | |
RabidGravy | Has anyone looked at rt.perl.org/Ticket/Display.html?id=126832 ? Things are properly messed up somewhere | 17:34 | |
jnthn | RabidGravy: It looks like a pre-comp screw-up | ||
lizmat | jnthn: BTW, should all ad-hoc dies and fails in the core be given an exception? | 17:36 | |
flussence is all too aware there's sucky utf-8 implementations... gtk2.d used to have a big fat segfault when it encountered anything >= 0x1ffff | |||
17:36
zakharyas left
|
|||
jnthn | lizmat: In the long run, yeah. In the short term, most important thing is that no spectests expect X::AdHoc | 17:37 | |
(They should just expect Exception, so we're free to refine it later) | |||
lizmat | ok, now I'm not following | ||
ah | |||
jnthn | I already did a pass through the tests for X::AdHoc | 17:38 | |
lizmat | but that is the equivalent of using "dies-ok", which we thought was a bad thing | ||
chansen_ | flussence: the worst part is MongoDB didn't submit a CVE! I said they have to do it, but they didn't ;) | ||
jnthn | Yeah but if there isn't a typed exception to test for then we can't do better :) | ||
lizmat | because then you can have false positives because they don't die for the right reason | ||
17:38
rurban left
|
|||
lizmat | whcih would be my argument for making one then? | 17:39 | |
aka, fix all the dies/fails? | |||
jnthn | Oh, absolutely make one if you're in the position to do so. | ||
lizmat | ok | ||
jnthn | I'm just a bit spectical we've time to actually nail them all this side of 6.Christmas | ||
So am hedging the testsuite so we can in the future :) | |||
lizmat | ok | ||
btw, I think I have a solution for zefram's (1,2,3)[0] := 4 hang | 17:40 | ||
spectesting now | |||
jnthn | Nice | ||
skids | Well, you can still test for Exception and then test .message, I think was the point. | ||
jnthn | Aye, though I'm not too fond it exact messages making it into the spectests either. :) | 17:42 | |
*of | |||
Looking for "does the message contain X important thing" is sensible, though. | |||
skids | I've tried to be minimalist and do things like "these three words" must be in the .message. | ||
right. | |||
lizmat | if you can take the time to make a test for "foo" in .message, then you could also have made an Exception for it | 17:43 | |
skids | Well, minus the PR process, for me. | ||
lizmat | ak, there's that :-) | 17:44 | |
skids hopes there's an advent slated for curli because he's totally behind on what all has happened. | 17:46 | ||
jnthn needs to write his advent post for the year once he's had dinner :) | |||
17:47
toto joined,
toto is now known as Guest23085
17:48
lizmat left,
ilmari_ is now known as ilmari,
Guest23085 left
17:55
lizmat joined
|
|||
masak | skids: now I'm hpoing for that, too | 18:00 | |
RabidGravy | I'm not sure that bisecting H::UA to see exactly where it started tickling this run_alt thing is going to help | 18:01 | |
18:02
rurban joined
|
|||
Skarsnik | gobbla42 | 18:03 | |
oups | |||
18:04
Zoffix joined
|
|||
tadzik | oh, a password :) | 18:04 | |
Skarsnik | For some reason, something did not take the focus xD | 18:05 | |
18:06
BuildTheRobots left,
adu joined
18:07
Skarsnik_ joined,
cognominal_ joined,
avalenn joined,
lizmat left
|
|||
nine | jdv79: no, not fixed yet. I just came across two minor nits with the source while digging into your bug | 18:08 | |
18:08
BuildTheRobots joined
|
|||
nine | jnthn: do you have a quick idea into which direction I should investigate for this bug? gist.github.com/niner/fbacfa535a8bd8f8104e | 18:09 | |
18:09
kipd_ joined,
zemmihates_ joined
|
|||
nine | skids: I fear I won't have time to write about curli with a couple of bugs still needing attention. However if someone were to write a post, I'd be happy to answer any questions. | 18:10 | |
18:10
aigan_ joined
|
|||
nine | skids: gist.github.com/jnthn/47a42b2e86e7e552b2e2 should be a great start in any case | 18:10 | |
18:10
clkao_ joined
18:11
mephinet- joined
18:12
Util_ joined,
spidermario joined
18:13
stux|RC joined,
Actualeyes1 joined,
clkao left,
geekosaur left,
[ptc] left
18:15
WizJin left,
avalenn_ left,
zemmihates left,
kipd left,
lmmx left,
spider-mario left,
Util left,
stux|RC-only left,
mephinet left,
RabidGravy left,
M-eternaleye left,
cognominal left,
Skarsnik left,
rindolf left,
molaf left,
hacst left,
firstdayonthejob left,
Actualeyes left,
lizmat_ joined,
aigan left,
RabidGravy joined,
molaf joined,
virtualsue joined,
clkao_ is now known as clkao,
kipd_ is now known as kipd,
geekosaur joined,
lmmx joined,
Actualeyes1 left,
zemmihates_ is now known as zemmihates
|
|||
jnthn | nine: I'd suspect it's something going wrong in resolve_repossession_conflicts | 18:15 | |
Or something around that area. | |||
Zoffix | m: say [96..104][(9/11).fmt('%.9f').comb.grep(/\d/)».Int]».chr.join | ||
camelia | rakudo-moar e160c9: OUTPUT«`hahahahah» | ||
jnthn | It's meant to merge stashes | 18:16 | |
dalek | kudo/nom: 782f4b6 | lizmat++ | src/core/Nil.pm: Make (1,2,3)[2] = 4 and (1,2,3)[3] give same error |
||
nine | jnthn: thanks! | ||
18:16
M-eternaleye joined
|
|||
jnthn | dinner; bbiab :) | 18:16 | |
Zoffix | m: say (9/11).fmt('%.42f') | 18:17 | |
camelia | rakudo-moar e160c9: OUTPUT«0.818181818181818000000000000000000000000000» | ||
Zoffix | well, that's disappointing | ||
18:18
lmmx left,
lmmx joined
|
|||
Zoffix | Though not as much as typing "9/11" into WolframAlpha :/ www.wolframalpha.com/input/?i=9%2F11 | 18:18 | |
TimToady | m: say (9/11).base-repeating | 18:19 | |
camelia | rakudo-moar e160c9: OUTPUT«(0. 81)» | ||
grondilu | oops that looks wrong | ||
18:19
regreg joined
|
|||
TimToady | m: say (9/11).base(10,42) | 18:19 | |
camelia | rakudo-moar e160c9: OUTPUT«0.818181818181818181818181818181818181818182» | ||
18:20
lizmat_ left
|
|||
Zoffix | m: say [96..104][(9/11).base(10,42).comb.grep(/\d/)».Int]».chr.join | 18:20 | |
camelia | rakudo-moar e160c9: OUTPUT«`hahahahahahahahahahahahahahahahahahahahahb» | ||
18:20
hacst joined
|
|||
Zoffix feels satisfied | 18:20 | ||
18:20
rindolf joined
18:21
firstdayonthejob joined
|
|||
grondilu | what is wrong is the way it's printed. Should be 0.(81) | 18:21 | |
TimToady | no, that's the old way | ||
Zoffix | m: say (9/11).base-repeating.Str | ||
camelia | rakudo-moar e160c9: OUTPUT«0. 81» | ||
leedo | multi method extract (@nodes where { .elems == 0 }) # is this the best way to have a multi method candidate for an empty array? | ||
Zoffix | m: say pi.base-repeating | ||
camelia | rakudo-moar e160c9: OUTPUT«Method 'base-repeating' not found for invocant of class 'Num' in block <unit> at /tmp/2J507SBSrP:1» | ||
TimToady | it's a list, and you can format it however you like | ||
grondilu | oh yeah, I remember now. my bad. | ||
Zoffix | m: say (3/3).base-repeating | 18:22 | |
camelia | rakudo-moar e160c9: OUTPUT«(1 )» | ||
Zoffix | interesting.... | ||
m: say (3/3).base-repeating.elems | 18:23 | ||
camelia | rakudo-moar e160c9: OUTPUT«2» | ||
18:23
WizJin joined
|
|||
Zoffix | m: say (3/3).base-repeating[1] | 18:23 | |
camelia | rakudo-moar e160c9: OUTPUT«» | ||
TimToady | I suppose it could return ('1','0') | 18:24 | |
Zoffix was hoping it would return 0. (9) | |||
:) | |||
«0. 9» I mean | |||
TimToady | <whineyvoice> Why? </whineyvoice> | 18:25 | |
Zoffix | ¯\_(ツ)_/¯ so people could say it's wrong, even though it's right? :) | ||
18:26
rindolf left,
azzure joined
|
|||
mst | how does base 1 even make sense? | 18:26 | |
18:26
rindolf joined
|
|||
mst was oping that if you tried that, a small gnome would exit the monitor and hit Zoffix with a mallet | 18:27 | ||
Zoffix | mst, hm? what base 1? | ||
mst | uhhh, is base-repeating on a number nothing to do with bases? | 18:28 | |
Zoffix | m: say (1/3).base-repeating | ||
mst | if so, I retract my comment and replace it with "can somebody tell me what the heck that even is so I can stop making a fool of myself, please?" | ||
camelia | rakudo-moar e160c9: OUTPUT«(0. 3)» | ||
Zoffix | I've no idea as to the name of the method, but it seems it's returning the repeating portion of the infinite decimal portion of a number | 18:29 | |
m: say (2/3).base-repeating | |||
camelia | rakudo-moar e160c9: OUTPUT«(0. 6)» | ||
Zoffix | m: say (3/3).base-repeating | ||
camelia | rakudo-moar e160c9: OUTPUT«(1 )» | ||
moritz | it gives you the base of a fraction and the repeating part afterwards | ||
m: say 100 / 7 | |||
camelia | rakudo-moar e160c9: OUTPUT«14.285714» | ||
moritz | m: say (100 / 7).base-repeating | 18:30 | |
camelia | rakudo-moar e160c9: OUTPUT«(14. 285714)» | ||
moritz | the 285714 is repeating, the 14. is the base | ||
18:30
lestrrat joined
|
|||
TimToady | that's not what "base" means there | 18:30 | |
m: say (9/11).base(2,42) | 18:31 | ||
camelia | rakudo-moar e160c9: OUTPUT«0.110100010111010001011101000101110100010111» | ||
TimToady | m: say (9/11).base-repeating(2) | ||
camelia | rakudo-moar 782f4b: OUTPUT«(0. 1101000101)» | ||
18:31
azzure left
|
|||
mst | right. the "math API designed by non-mathematicians" problem. we can write up a glossary later, I guess. | 18:31 | |
Zoffix | :D | 18:32 | |
mst | or at least "math API designed in such a way as to confuse *this* mathematician" | ||
maybe I've just forgotten more of my degree than I thought | |||
always possible | |||
grondilu | I'm not sure it's the best to return a list. | 18:36 | |
RabidGravy concludes that there is no version of H::UA will work with the current rakudo and gives up trying to fix it from here | |||
TimToady | grondilu: what would you propose instead, that wouldn't for people to parse it? | 18:37 | |
*force | |||
grondilu | I think it's ok to have people parse it. | ||
18:38
curious__ left,
azzure joined
|
|||
grondilu | m: "0.1(21)".match('(' ~ ')' \d+); | 18:38 | |
camelia | rakudo-moar 782f4b: OUTPUT«5===SORRY!5=== Error while compiling /tmp/3CMnZqNFhxUnable to parse expression in argument list; couldn't find final ')' at /tmp/3CMnZqNFhx:1------> 3"0.1(21)".match('(' ~ ')'7⏏5 \d+); expecting any of: infix in…» | ||
grondilu | m: "0.1(21)".match(/'(' ~ ')' \d+ ')'/); | 18:39 | |
camelia | ( no output ) | ||
grondilu | m: say "0.1(21)".match(/'(' ~ ')' \d+ ')'/); | ||
camelia | rakudo-moar 782f4b: OUTPUT«Nil» | ||
18:39
azzure left
|
|||
grondilu | m: "0.1(21)".match(/'(' ~ ')' \d+/); | 18:39 | |
camelia | ( no output ) | ||
TimToady is rather more partial to overbars, so prefer to leave formatting to the person who actually cares that .0001% of the time | 18:40 | ||
grondilu | m: say "0.1(21)".match(/'(' ~ ')' \d+/); | ||
camelia | rakudo-moar 782f4b: OUTPUT«「(21)」» | ||
flussence | .oO( /me coins a new term, “mobsourcing”: leaving a problem until it gets fixed later in response to demands from an angry mob ) |
||
18:40
lucasb joined
|
|||
grondilu | but frankly neither solution (string or list) seems entirely satisfactory to me. | 18:40 | |
18:42
Ven left
|
|||
cognominal_ | on my mac, perl6 bootstrap.pl creates a folder "(HANDLED) Failed to open file" :( | 18:43 | |
Zoffix | m: say π ≅ [+] (1,3...*).rotor(2).map({4/$_[0]-4/$_[1]})[^25000] | ||
camelia | rakudo-moar 782f4b: OUTPUT«False» | ||
Zoffix | :'( | ||
TimToady | m: my @result = "0.1", "21"; @result[1] ~~ s:g[\d] ~= "\x305"; say @result.join | ||
camelia | rakudo-moar 782f4b: OUTPUT«0.12̅1̅» | ||
18:43
pjscott joined
|
|||
cognominal_ | and says Successfully installed panda | 18:44 | |
pjscott | Another dumb question :) | ||
> my @a = 1..3; | |||
1 2 3 | |||
> @a.append(4) | |||
Method 'append' not found for invocant of class 'Array' | |||
Zoffix | pjscott, your rakudo is very old? | ||
m: my @a = 1..3; @a.append(4); say @a | |||
camelia | rakudo-moar 782f4b: OUTPUT«[1 2 3 4]» | ||
TimToady | why do both my terminal and my firefox offset the overline by a character? you'd think someone wouldn've fixed that by now... | 18:45 | |
pjscott | I guess it is relative... hold on | ||
Zoffix | is offset for me too | ||
m: say π ≅ [+] (1,3...*).rotor(2).map({4/$_[0]-4/$_[1]})[^5000] :4accuracy | |||
camelia | rakudo-moar 782f4b: OUTPUT«5===SORRY!5=== Error while compiling /tmp/64M9TOHjmVYou can't adverb &infix:<≅>at /tmp/64M9TOHjmV:1------> 3map({4/$_[0]-4/$_[1]})[^5000] :4accuracy7⏏5<EOL>» | ||
Zoffix | hm | ||
TimToady | maybe when Perl 6 is done I'll fix the rest of everything... | ||
Zoffix | Could've swore I could | ||
pjscott | This is perl6 version 2015.06-294-gbc01cae built on MoarVM version 2015.06-98-gf22142b | 18:46 | |
Zoffix | wooh | ||
RabidGravy | yeah pre-dates .append | ||
Zoffix | pjscott, that's like... Stone Age :) | ||
TimToady | m: say &infix:<≅>.^methods | ||
camelia | rakudo-moar 782f4b: OUTPUT«(<anon> <anon> <anon> soft <anon> <anon> yada perl <anon> onlystar candidates unwrap wrap <anon> <anon> package leave <anon> <anon> cando <anon> <anon> <anon> <anon> multi <anon> <anon> add_phaser phasers assuming WHY set_why perl of <anon> returns fire_ph…» | ||
flussence | TimToady: looks okay in urxvt, I don't think less-common combining chars and proportional fonts are well tested together :( | ||
TimToady | m: say &infix:<≅> | 18:47 | |
camelia | rakudo-moar 782f4b: OUTPUT«sub infix:<≅> (Mu $?, Mu $?, *%) { #`(Sub|76233616) ... }» | ||
flussence | (it's 0.5ch off to the right in my firefox) | ||
Zoffix | m: say π ≅ [+] (1,3...*).rotor(2).map({4/$_[0]-4/$_[1]})[^5000], :accuracy | ||
camelia | rakudo-moar 782f4b: OUTPUT«False» | ||
TimToady | m: say π ≅ [+] (1,3...*).rotor(2).map({4/$_[0]-4/$_[1]})[^5000] :tolerance(0.1) | ||
camelia | rakudo-moar 782f4b: OUTPUT«5===SORRY!5=== Error while compiling /tmp/sRGWTBHnZQYou can't adverb &infix:<≅>at /tmp/sRGWTBHnZQ:1------> 034/$_[0]-4/$_[1]})[^5000] :tolerance(0.1)7⏏5<EOL>» | ||
pjscott | Evidently 'old' has a meaning in Rakudo-world that I am unused to :) Thanks | ||
Zoffix | m: say π ≅ [+] (1,3...*).rotor(2).map({4/$_[0]-4/$_[1]})[^5000], :tolerance(0.1) | 18:48 | |
TimToady | I can't? | ||
camelia | rakudo-moar 782f4b: OUTPUT«False» | ||
Zoffix | hm | ||
TimToady | $*TOLERANCE = 0.1; m: say π ≅ [+] (1,3...*).rotor(2).map({4/$_[0]-4/$_[1]})[^5000] | ||
m: $*TOLERANCE = 0.1; say π ≅ [+] (1,3...*).rotor(2).map({4/$_[0]-4/$_[1]})[^5000] | |||
camelia | rakudo-moar 782f4b: OUTPUT«Cannot modify an immutable Num in block <unit> at /tmp/RsUfklb1AO:1» | ||
TimToady | o_O | ||
Zoffix | m: $*TOLERANCE = 0.1; say 3 ≅ 3.1 | 18:49 | |
camelia | rakudo-moar 782f4b: OUTPUT«Cannot modify an immutable Num in block <unit> at /tmp/bA1iiX4nTK:1» | ||
TimToady | m: my $*TOLERANCE = 0.1; say π ≅ [+] (1,3...*).rotor(2).map({4/$_[0]-4/$_[1]})[^5000] | ||
camelia | rakudo-moar 782f4b: OUTPUT«True» | ||
TimToady | \o/ | ||
18:49
adhoc left
|
|||
Zoffix | \o/ TimToady++ | 18:49 | |
TimToady | m: my $*TOLERANCE = 0.1; say 3 ≅ 3.1 | 18:50 | |
camelia | rakudo-moar 782f4b: OUTPUT«True» | ||
TimToady | m: my $*TOLERANCE = 0.1; say 3 ≅ 3.11 | ||
camelia | rakudo-moar 782f4b: OUTPUT«True» | ||
TimToady | er... | ||
m: my $*TOLERANCE = 0.1; say 3 ≅ 3.2 | |||
camelia | rakudo-moar 782f4b: OUTPUT«True» | ||
TimToady | hmm | ||
18:50
Skarsnik_ is now known as Skarsnik
|
|||
TimToady | that seems busticated | 18:50 | |
Zoffix | m: my $*TOLERANCE = 0.1; say 4 ≅ 3.2 | ||
camelia | rakudo-moar 782f4b: OUTPUT«False» | ||
Zoffix | m: my $*TOLERANCE = 0.01; say 3 ≅ 3.2 | ||
camelia | rakudo-moar 782f4b: OUTPUT«False» | ||
Zoffix | m: say (1,3...*).rotor(2).map(*[0] + *[1])[^10] | ||
camelia | rakudo-moar 782f4b: OUTPUT«(8 24 40 56 72 88 104 120 136 152)» | ||
18:51
azzure joined
|
|||
Zoffix | how come that ^ is different from the {$_[0]+$_[1]} version? | 18:51 | |
m: say (1,3...*).rotor(2).map(*[0] + *[1])[^10] | |||
camelia | rakudo-moar 782f4b: OUTPUT«(8 24 40 56 72 88 104 120 136 152)» | ||
Zoffix | m: say (1,3...*).rotor(2).map(*[0])[^10] | ||
camelia | rakudo-moar 782f4b: OUTPUT«(1 5 9 13 17 21 25 29 33 37)» | ||
Zoffix | m: say (1,3...*).rotor(2).map(*[1])[^10] | ||
camelia | rakudo-moar 782f4b: OUTPUT«(3 7 11 15 19 23 27 31 35 39)» | ||
TimToady | well, gotta go play a different kind of keyboard for a while... & | ||
Zoffix | weird | ||
leont | Because you use the whatever star twice? | ||
Zoffix | leont, What does it become the second time? | ||
leont | The second argument to the anonymous sub | 18:52 | |
Zoffix | ah | ||
leont | *[0] + *[1] equals {$^a[0] + $^b[1]} | ||
Zoffix | m: say (1,3...*).rotor(2).map(*[0] ~ ' ' ~ *[1])[^10] | ||
camelia | rakudo-moar 782f4b: OUTPUT«(1 7 9 15 17 23 25 31 33 39 41 47 49 55 57 63 65 71 73 79)» | ||
Zoffix | m: say (1,3...*).map(* - *)[^10] | 18:53 | |
camelia | rakudo-moar 782f4b: OUTPUT«(-2 -2 -2 -2 -2 -2 -2 -2 -2 -2)» | ||
b2gills | m: Buf.new(:2<11000000>,:2<10000000>).decode('utf8-c8') | 18:54 | |
camelia | rakudo-moar 782f4b: OUTPUT«(signal SEGV)» | ||
18:57
webstrand joined
|
|||
mst | pjscott: delete whatever you already have installed. get rakudobrew. use that. | 18:59 | |
AlexDaniel | Can I tell panda to install something from specific github repo? | ||
timotimo | i wonder if perl6 should steal a bit of c++11's random generator stuff | ||
AlexDaniel | or should I just clone it and point panda to that specific folder? | ||
timotimo | or perhaps that's moduley | ||
mst | pjscott: for a fast moving project near release, six months fits the standard definition of old, tbh | ||
Skarsnik | AlexDaniel, git clone and panda install . should work | ||
AlexDaniel | great | ||
RabidGravy | AlexDaniel, yeah the latter for the time being | ||
flussence | timotimo: maybe we oughta have a $*RNG so anyone who doesn't like the default can do what they want. And from a few recent conversations, $*TIMESOURCE would probably be useful to some too... | 19:03 | |
timotimo | the thing is, our dynamic variable lookup is a noticable overhead at the moment | 19:04 | |
19:04
hankache joined
|
|||
flussence | oh... :( | 19:04 | |
timotimo | and having a lookup to $*RNG everywhere ... | ||
hmm. | |||
vendethiel | "everywhere" isn't quite true, though :) | ||
timotimo | if we had a way to keep the $*RNG lookup-less when doing something like rand() xx 1000 ... | 19:05 | |
vendethiel | dynamic escape analysis *g* | ||
19:06
FROGGS joined
|
|||
pjscott | Thanks mst. I was already on rakudobrew btw | 19:07 | |
FROGGS | o/ | ||
19:08
WizJin left
|
|||
timotimo | vendethiel: trace jit will do this admirably | 19:10 | |
because then a dynamic variable will just become a lexical variable | |||
Zoffix | pjscott, time to build anew. There've been some changes to packaging, so your best best is to nuke everything and start from scratch | ||
19:19
hankache left
|
|||
mst | pjscott: ah, ok, most people with horribly outdated installs aren't | 19:20 | |
19:20
hankache joined
|
|||
mst | pjscott: note that in my real life I support right back to perl5 5.8.1, so I am aware of stability as a concept, it's just a pre-release completely new language isn't the place to expect that :) | 19:21 | |
Zoffix | 5.8.1 -_- | ||
Zoffix wouldn't want to touch those boxes with a bargepole | 19:22 | ||
mst | good. more consulting revenue for me :D | ||
Zoffix | heh | ||
19:23
[ptc] joined
|
|||
rindolf | Zoffix: hi, sup? | 19:25 | |
Zoffix | rindolf, hi... waiting for pizza. Writing IRC::Client... you? | ||
rindolf | Zoffix: I've been working on Freecell Solver. | ||
Zoffix: I enhanced and refactored some JS code. | |||
Zoffix | Isn't that what you've been working on for years? Or was it some other game? | ||
rindolf | Zoffix: it's not a game - it's a solver for several games. | 19:26 | |
Zoffix | Ahhh | ||
jdv79 | nine: ok | ||
rindolf | Zoffix: and yes - I've been working on it on and off since 2000. | ||
Zoffix | whoa | ||
El_Che | rindolf: so when is your christmas? :) | 19:27 | |
rindolf | El_Che: 25 December. | 19:28 | |
mst | rindolf: www.trout.me.uk/you.jpg | ||
El_Che | rindolf: a new release of perl6 and Frecell Solver! | ||
rindolf | El_Che: anyway, Freecell Solver is already at version 4.0.0 and pretty usable. | ||
El_Che googles | |||
rindolf | El_Che: I'm not planning a new release then. | 19:29 | |
El_Che | rindolf: yes, I see 4.0.0 is very recent | ||
rindolf | El_Che: but it's not perfect. | 19:30 | |
Zoffix: is IRC::Client a Perl 6 thing? | 19:31 | ||
19:31
hankache left
|
|||
RabidGravy | if it was easy to make perfect software it would be boring | 19:31 | |
rindolf | RabidGravy: yes. | 19:33 | |
19:33
curious__ joined
19:34
hartenfels left,
KotH left,
SHODAN left,
risou left
|
|||
RabidGravy | boom | 19:34 | |
19:34
hartenfels joined,
lucs joined,
dpk joined,
camelia joined,
ab5tract joined,
sftp joined,
xdbr joined,
ashleydev joined,
moritz joined,
TimToady joined,
brabo joined,
Fleurety joined,
El_Che joined,
bhm joined,
freeze joined,
stmuk joined,
mst joined,
salva joined,
baest joined,
felher joined,
konobi joined,
cosimo joined,
bartolin_ joined,
petercommand joined,
BooK joined,
Possum joined,
charsbar__ joined,
krunen joined,
cxreg joined,
jordman_ joined,
btyler joined,
rjbs joined,
mathw_ joined,
mtj_ joined,
zostay joined,
shmibs joined,
rudi_s joined,
jferrero joined,
ingy joined,
Bucciarati joined,
johan joined,
retupmoca joined,
pochi joined,
yeltzooo joined,
saaki joined,
jnthn joined,
nine joined,
hitchcock.freenode.net sets mode: +v camelia,
jdv79 joined,
tinita joined,
smash joined,
ponbiki joined,
inokenty joined,
vike joined,
Ulti joined,
mls joined,
KotH joined,
SHODAN joined,
risou joined
|
|||
Skarsnik | this split | 19:34 | |
19:36
Celelibi joined,
baest_ joined
|
|||
jdv79 | its been weeks. wth?! | 19:36 | |
this is not normal | |||
curious__ | for self.^attributes.grep({.has-accessor}) -> $at { say $at.name," how do I call the accessor here given the attribute name"; } | 19:37 | |
19:37
dpk left,
baest left
|
|||
Begi | What's going on here ? | 19:37 | |
19:37
curious__ left,
curious__ joined
|
|||
Begi | Strange... | 19:37 | |
19:37
dpk joined
19:39
adhoc joined,
pecastro joined
|
|||
gfldex | curious__: did you try doc.perl6.org/type/Attribute#method_set_value ? | 19:39 | |
Zoffix | rindolf, yes | 19:41 | |
rindolf | Zoffix: ah, what is it based on? | ||
Zoffix | nothing | ||
rindolf | Zoffix: I see. | 19:42 | |
Zoffix: did you draw any inspiration for the API from somewhere? | |||
19:44
pjscott left
|
|||
Zoffix | rindolf, I took from PoCo::IRC the idea of mapping IRC commands to method calls and using the return values to figure out whether to stop the plugin chain, but that's about it. | 19:46 | |
19:46
cygx joined
|
|||
cygx | o/ | 19:46 | |
re panda creating directories called "(HANDLED) Failed to open file" | |||
Zoffix | And there were a lot of annoyances with PoCo IRC that I hope to not have... \ | ||
curious__ | gfldex: Ah. $at.get_value(self) . Thanks. Early days. Not even very good at navigating the docs. | ||
cygx | github.com/tadzik/panda/blob/maste...App.pm#L15 should stringify the path | ||
Zoffix | That's pretty annoying IMO | ||
underscores: doc.perl6.org/type/Attribute#method_get_value kebob: doc.perl6.org/type/Attribute#method_has-accessor | 19:47 | ||
Reminds me of the PHP Training Wheels Without The Bike riling on how PHP's naming is inconsistent | |||
cygx | also, IO::Path.split and related functions likely should not handle the .open failure | ||
rindolf | Zoffix: there are some other IRC APIs now on CPAN - for IO-Async, AnyEvent, etc. | ||
cygx | I can submit some pull requests, but I cannot test things right now... | 19:48 | |
rindolf | Zoffix: <perlbot> rindolf: Don't parse IRC with regex! See Bot::BasicBot, POE::Component::IRC, Net::Async::IRC, Mojo::IRC, or AnyEvent::IRC. Avoid Net::IRC. | ||
Zoffix | half of those suck | 19:49 | |
jdv79 | what's wrong with parsing IRC with a regex? | ||
its a fairly simple format | 19:50 | ||
stmuk | regexes are for XML! ;) | ||
jdv79 | ah... | ||
flussence | Zoffix: PHP's horrible function naming is consistent, just not in the way most people think it should be :) | 19:57 | |
Zoffix | flussence, yeah, but what about us? | 19:58 | |
I'd expect all core methods to be in kebob | |||
cygx | cognominal_: github.com/tadzik/panda/pull/264/files | ||
also, github.com/rakudo/rakudo/pull/633 | 19:59 | ||
flussence | Zoffix: their excuse boils down to hysterical raisins, which is what perl6 is trying to get far away from. AFAIK there was an explanation for _ vs - a long time ago, something about whether end users should be using that API or not, but I dunno if it's still valid today | 20:01 | |
cognominal_ | cygx, also this line with a shell instead of a run, is very suspicious : github.com/tadzik/panda/blob/maste...rap.pl#L65 | 20:02 | |
20:02
sjohnsen joined
20:03
pmurias joined
|
|||
Skarsnik | Zoffix, You probably want priority for event (or order) Like a plugin that log will probably want to catch everthing | 20:04 | |
pmurias | Zoffix: re - vs _ vs other naming conventions in the setting, there isn't any secret rule, things are just inconsistent | 20:05 | |
20:06
raiph left,
darutoko- left
|
|||
pmurias | Zoffix: maybe we should create a Rakudo branch with things renamed to be consistent? | 20:07 | |
jdv79 | is _ vs - really worth the time? | ||
Zoffix | jdv79, yes | ||
jdv79, because the difference means users will have to look up the method names | |||
Skarsnik | I had a tag for events in my old irc 'client', like start event and end event to be called at the start/end x) | ||
jdv79 | i look method names all the time | ||
Zoffix | pmurias, if by "we" you mean someone who knows what they're doing and not a Zoffix, then yes, definitely | ||
jdv79, well, then you're not an efficient programmer./ | |||
Skarsnik, the priority is set by the order in the plugins array | 20:08 | ||
Though now that you mention it... I probably need to handle my @!plugins-essential and @!plugins in a smarter way. | |||
Skarsnik++ | |||
20:09
lmmx left
|
|||
Zoffix | jdv79, I meant, looking them up all the time or messing up - vs. _ all the time. | 20:09 | |
jdv79 | well, i'm pretty new at p6 and there's a lot of core types so no, i don't think i'm an ineffficient programmer | ||
20:09
bjz left
|
|||
Zoffix | Consistency means predictability, and predictability means fewer errors. | 20:09 | |
20:10
curious__ left,
bjz joined
|
|||
pmurias | it should be possible to have sufficently advanced autocompletion just DWIM things with - vs _ | 20:10 | |
Zoffix | That's horrible | ||
jdv79 | maybe you should lead the movement then. | ||
Zoffix | jdv79, I am. I'm complaining about inconsistency and pointing out another language where exact same inconsistency is problematic. | 20:11 | |
That's all I can do with my skill level. | |||
pmurias | I could donate my time towards that as I believe naming inconsistency is a horrible stain on the language | ||
jdv79 | iirc most common things are already kebabed | ||
Skarsnik | all the META stuff is underscore | ||
jdv79 | Zoffix: php's naming issues are far worse. | 20:12 | |
pmurias | what I would need the most help with is having someone create and *write* down the naming convention | ||
20:12
cognominal_ left
|
|||
pmurias | jdv79: "this sucks but a tiny bit less than in PHP" is not what we are hopefully aiming for in Perl 6 ;) | 20:12 | |
Skarsnik | *look at DBIIsh* It has everything! | 20:13 | |
20:13
cognominal_ joined
|
|||
flussence | "easy things should be easy, bad things should be possible but require proportional use of the shift key" - there, done :) | 20:13 | |
jdv79 | it sucks a whole lot less in fact | ||
good luck getting something like that through. i imagine it was take a language point release to do that in. | 20:14 | ||
Skarsnik | flussence, _ and - don't need shift on a azerty keyboard :) | ||
El_Che | Skarsnik: it's needed on a Belgian Azerty (they are on the same key) | ||
pmurias | jdv79: after christmas changing doing the rename will be a much bigger deal than now | 20:15 | |
Skarsnik | fill a RT x) | ||
jdv79 | well:) same thing could be said < a fortnight from The Release. | ||
simply not gonna happen. too late. | 20:16 | ||
flussence | Skarsnik: IIRC one of ` or \ or | is harder to type on an en-US than en-GB too... | ||
jdv79 | maybe in 6.c -> 6.d if there's enough support for it | ||
20:19
azzure left
20:22
xfix joined
|
|||
pmurias | what's the exact release date? | 20:22 | |
20:25
telex left
|
|||
pmurias | christmas or a few days before? | 20:25 | |
jdv79 | i thought it was exactly xmas | ||
jnthn | The general rule is that stuff that's part of the MOP sticks with _ and other built-ins get - | 20:26 | |
Attribute is part of the MOP | |||
So it's has-accessor that's wrong in this case. | |||
jdv79 | soft target is 17th just to leave some slack i think | ||
20:26
domidumont left
|
|||
dalek | ast: 0588402 | usev6++ | S03-metaops/reduce.t: Fudge (skip) dying tests for JVM |
20:26 | |
20:26
telex joined
|
|||
pmurias | jdv79: so it's too late to fix anything and we will have to live with horrible names forever? :( | 20:27 | |
jnthn | grmbl, there's a has_accessor *and* a has-accessor | ||
jdv79 | is that so you can grep for MOP crazy code quickly? :) | ||
jnthn | pmurias: You seem to think CORE.setting is full of inconsistencies. It's not. | ||
We standardized on - for pretty much everything non-MOP | 20:28 | ||
pmurias | maybe it's just ack painting a grim picture with all the MOP stuff being mixed in | ||
jnthn | Probably | 20:29 | |
20:29
pyrimidine joined
|
|||
jnthn | I'll kill off has-accesor, since it's (a) dupe and (b) totally the odd-one-out in Attribute | 20:29 | |
20:31
cygx left
20:32
Skarsnik left
|
|||
jdv79 | ack grim - i don't get it. | 20:33 | |
20:35
dwarring joined
|
|||
pmurias | jdv79: ack is a perlish grep | 20:35 | |
AlexDaniel | cognominal_: yeah… in fact, panda is using 「shell」 for everything, I think that if you have a space in any path then it will freak out pretty quickly | 20:36 | |
jdv79 | i know the the ack by alester. just not sure what you meant there. | ||
AlexDaniel | cognominal_: I hope that one day I will have enough free time to run-ify everything :) | ||
20:36
adhoc left
20:37
bjz left
20:38
adhoc joined
20:40
TEttinger joined
|
|||
dalek | ast: 6bafc92 | usev6++ | S11-modules/require.t: Remove troublesome "use lib '.'" ... which lead to failing tests on rakudo.jvm |
20:45 | |
20:47
pyrimidi_ joined
20:49
pyrimidine left
20:53
lizmat joined
20:57
pdl left
|
|||
nine | jdv79: I think, I have a fix :) | 21:03 | |
jnthn: indeed, resolve_reposession_conflicts has been utterly broken for a couple of months at least | |||
jdv79: could I interest you in turning my gist into a proper spec test? Testing my fix right now and will commit after the next episode of Planet Earth :) | 21:06 | ||
jnthn | (Planet Earth)++ | 21:07 | |
21:10
roguelazer joined,
Guest68455 is now known as parisba_
|
|||
masak .oO( my favorite planet so far! ) | 21:11 | ||
RabidGravy | I'm quite liking Gliese 581.c | 21:13 | |
dalek | kudo/nom: 82f273b | lizmat++ | src/core/Slip.pm: Fix for #126897 And some code layout and doc |
||
ast: b67ba84 | usev6++ | S (4 files): Unfudge passing tests for JVM (some of those annoying UnwindExceptions are gone) |
21:14 | ||
21:15
lmmx joined
|
|||
masak | RabidGravy: me and my family are planning our vacation for 2016. how would you rate Gliese 581.c compared to, say, Madrid? | 21:16 | |
RabidGravy | well you'd get some airmiles in | 21:17 | |
grondilu | what's planet earth? | ||
masak | RabidGravy: I've seen some negative reviews of Gliese 581.c, some of them going so far as saying it's not habitable. say what you want about Madrid, but... | 21:18 | |
RabidGravy | habitable is over-rated, we went to Blackpool once and survived | ||
lizmat | masak: when going to Madrid, make sure it's in the summer... autumn/winter can be cold in Madrid | 21:19 | |
jnthn | I went to Madrid in January and it was great weather for me! ;) | 21:20 | |
RabidGravy | or just go Ibiza and go large for two weeks | ||
21:21
roguelazer left
|
|||
masak | lizmat: I've actually been there in December once. it was nice :) | 21:21 | |
nicer than Sweden, anyway. | |||
fresh oranges, yum! | |||
lizmat | been there in November once, it was cold, wet and dreary | ||
colder than at home at the time | 21:22 | ||
RabidGravy | I think the only time I've been there was June and it was hot | ||
masak | ugh, Gliese 581.c is tidally locked. that settles it. | ||
dalek | ast: 6d06a5d | lizmat++ | S03-metaops/reduce.t: Slip.perl now correctly returns slip(), fix! |
21:23 | |
RabidGravy | a cruise then? | ||
masak | :P | ||
21:23
spidermario is now known as spider-mario
|
|||
Begi | Did someone already went to Nancy (France) ? | 21:24 | |
lizmat | we had a FPW there once, if I remember correctly? | ||
vendethiel | I did come there, but not for a fpw :P | 21:25 | |
RabidGravy | that's the only region of France I've not been to | ||
lizmat | I remember being amazed by the en.wikipedia.org/wiki/Nancy_Guided...ht_Transit | 21:26 | |
dalek | ast: da7ff73 | usev6++ | S04-phasers/in-loop.t: Add (passing) test for RT #122134 |
||
lichtkind | will the version schema go on to d e f g or ill there be a perl 6.1? | ||
lizmat | more technical background: en.wikipedia.org/wiki/Bombardier_G...ht_Transit | ||
FROGGS | lichtkind: it will probably be letters | 21:27 | |
lizmat | lichtkind: who knows, with yearly language releases, we should be fine for 20+ years | ||
using letters | |||
masak | m: say 'z'.succ | 21:28 | |
camelia | rakudo-moar 782f4b: OUTPUT«aa» | ||
masak | we'll be fine for a while :) | ||
21:28
snarkyboojum joined
|
|||
lucasb | hi lizmat. do you know if LPW talks were recorded? | 21:28 | |
21:29
roguelazer joined
|
|||
lichtkind | thanks | 21:29 | |
lizmat | I think the ones in the main hall were | ||
I think the keynote was | |||
lucasb | lizmat: ah, ok. I'll wait for them to be put online. thanks | 21:30 | |
masak waits, too | 21:31 | ||
stmuk | did anyone attend zefram's talk? I didn't since I would have probably heckled or something | 21:36 | |
lizmat | I attended his talk | 21:37 | |
stmuk | he is opening bugs again so maybe not as negative as I feared? | ||
lizmat | well, in the end he was very positive about MoarVM and nqp | ||
but: he said it would be a good idea to throw away the rest of rakudo and build something better on top of MoarVM and nqp | 21:38 | ||
21:38
hartenfels left
|
|||
lizmat | he showed his issues with IterationEnd not being out-of-band | 21:38 | |
he showed some other issues, that were mostly genuiine issues | 21:39 | ||
but of the type DIHWIDT (well, in my opinion :-) | |||
stmuk | :) | 21:40 | |
lizmat | after his talk, and after my keynote, we talked a bit | ||
I urged him to ticket the issues that he found, because otherwise we don't know about them and they won't get fixed | |||
I think I made it clear they may well not be fixed before Xmas | |||
masak | in order for IterationEnd to be out-of-band, it'd need to be... not a value at all, right? | ||
like, it could be an exception, for example | |||
(this is how Python does it) | 21:41 | ||
21:41
Begi left
|
|||
RabidGravy | C# too iirc | 21:41 | |
lizmat | not sure how we would do this *now*, it would be at least a severe performance penalty, I think | ||
masak | right | ||
jnthn | Note that you already *can* do .push-exactly(1, $buffer) | ||
masak | "don't use exceptions for non-exceptional circumstances" -- and hitting the end of an iteration is pretty non-exceptional | 21:42 | |
jnthn | But the problem seems rather academic. | ||
masak | I agree | ||
lizmat | in any case, an iterator that would leak IterationEnd is just plain faulty | ||
masak | note that there are many clearly successful examples of in-band stoppers | ||
21:42
rindolf left
|
|||
jnthn is, btw, working on his advent post | 21:42 | ||
masak | ASCII NUL comes to mind | ||
stmuk | 2600hz | 21:43 | |
masak | there's no way to escape a NUL. you're just expected not to use it in the middle of a string. | ||
lucasb | masak: a line "." ends insert mode in the ed text editor... is this an example too? :) | 21:44 | |
lizmat | m: CORE::.keys.sort.grep( { /d$/ } ).elems.say # zefram's example | 21:45 | |
camelia | rakudo-moar 82f273: OUTPUT«24» | ||
masak | lucasb: yes, I believe so. | ||
lizmat | m: CORE::.keys.sort.grep( { /d$/ } ).map( { $_ } ).elems.say | ||
camelia | rakudo-moar 82f273: OUTPUT«24» | ||
masak | lucasb: how the heck do you add a line that's just '.' in ed? :) | ||
jnthn | lizmat: Yeah, I'm aware of that one; that just wants the sentinel being a term in the parser | ||
lizmat: And resolved in Rakudo::Internals | 21:46 | ||
lichtkind | could it be that panda is broken? | ||
i get | |||
Could not find symbol '&RepositoryRegistry' | |||
masak | m: say +CORE::.keys.grep( { /d$/ } ) | 21:47 | |
camelia | rakudo-moar 82f273: OUTPUT«24» | ||
moritz | lichtkind: how old is your rakudo? | ||
RabidGravy | lichtkind, newish panda with slighly older rakudo? | ||
masak | why does zefram .sort when he is only interested in .elems anyway? | ||
lizmat | maybe I remembered wrong | 21:48 | |
lichtkind | i thought both were recent but i currently recompile to be sure | ||
lizmat | masak: in any case, the point was that IterationEnd lives in CORE:: , and thus will end an iteration unintendedly | 21:49 | |
oddly enough, I can't reproduce at the moment | |||
RabidGravy | yeah, it looks like the panda incorporates a recent change the rakudo hasn't got | 21:50 | |
lucasb | m: say CORE::.keys.sort.grep({/^It/}).map({$_}) | ||
camelia | rakudo-moar 82f273: OUTPUT«(Iterable IterationBuffer IterationEnd Iterator)» | ||
lucasb | ^^ IterationEnd was not the end? | ||
21:51
kaare_ left
|
|||
lizmat | yeah, I'm confused now | 21:51 | |
could be that zefram already made a ticket for that | |||
RabidGravy | I'm permanently confused | ||
21:51
patrickz joined
|
|||
lucasb | ahhh, maybe it's because it's stringified, not the real object | 21:53 | |
since its a hash key | |||
*it's | |||
21:55
regreg left
|
|||
lizmat | m: say CORE::.keys[0].WHAT | 21:55 | |
camelia | rakudo-moar 82f273: OUTPUT«(Str)» | ||
lizmat | hmmm... | 21:56 | |
m: dd CORE::.keys[0] | |||
camelia | rakudo-moar 82f273: OUTPUT«Str $var = "SIGSEGV"» | ||
lizmat | m: dd CORE::.keys[0,1] | ||
camelia | rakudo-moar 82f273: OUTPUT«List $var = $("SIGSEGV", "WhateverCode")» | ||
lichtkind | sorry lizmat but i have weird error i updated perl want to call panda reboot with sudo and then it cant find perl6 which before was fine without sudo | 22:01 | |
lizmat | sorry lichtkind, but I have no idea | 22:02 | |
dalek | kudo/nom: da9bf6b | lizmat++ | src/core/Failure.pm: Throw the Failure if we try to assign to it Now that Failure inherits from Nil, the recent Nil.STORE change brought some spectest breakage to light. This seems like a good fix for that. |
22:03 | |
RabidGravy | please open the pod bay doors | ||
22:06
snarkyboojum left
|
|||
dalek | kudo/nom: 236cd2e | jnthn++ | src/core/Supply.pm: Fix head. Yes, last should work here too, but done does work here already. |
22:06 | |
kudo/nom: a342eb1 | jnthn++ | src/core/Supply.pm: Implement Supply.share (on-demand => live). |
|||
lizmat | jnthn: what does Supply.share do ? | 22:11 | |
feels like identity to me? | |||
jnthn | lizmat: It taps an on-demand supply once | 22:12 | |
And allows it to be shared among many subscribers that may come and go as they please | |||
lizmat | ah, I see, it turns an on-demand into a live supply | ||
jnthn | Right :) | 22:13 | |
For an example usage, see the Perl 6 advent post I'm currently working on :P | |||
lizmat | ah, as it said in the commit message :-) | ||
ah, ADD ( Advent Driven Development ) | |||
jnthn | (Though I've used the .Net equivalent, .Publish, loads of times in the real world) | ||
lizmat | I'll write up the doc | 22:15 | |
22:15
rurban_ joined
|
|||
lizmat | jnthn: if the supply is already live, shouldn't it just return self ? | 22:15 | |
22:16
FROGGS left
|
|||
jnthn | lizmat: My gut reaction is no | 22:16 | |
lizmat: Don't have a good argument either way yet :) | 22:17 | ||
lizmat | feels like it would just be adding overhead | ||
jnthn | I guess I'm worried about ref-counting style live supplies | 22:18 | |
Which we don't have yet | |||
lizmat | well, once we have those, I guess we can introspect that, no? | 22:19 | |
and then not return self :-) | |||
anyway, just a thought :-) | 22:20 | ||
jdv79 | nine: sure | 22:21 | |
22:21
yqt joined
22:24
lucasb left
|
|||
dalek | c: c1510f6 | lizmat++ | doc/Type/Supply.pod: Add preliminary doc for Supply.share |
22:26 | |
22:26
geraud joined
|
|||
lizmat is tired and goes to bed | 22:28 | ||
good night, #perl6! | |||
jnthn | Rest well, lizmat++ o/ | ||
El_Che | by liz | 22:29 | |
e | |||
22:29
[particle] joined
|
|||
masak | 'night, #perl6 | 22:33 | |
RabidGravy | nighty, nighty, nighty night night | 22:34 | |
22:34
lichtkind left,
espadrine left
|
|||
RabidGravy decides that he'll start the silan thing first, *then* do that thing he promised it's author over a year ago | 22:34 | ||
22:36
webstrand left
22:38
Praise joined,
Praise left,
Praise joined
|
|||
jdv79 | is there a diff between -I and use lib? | 22:40 | |
i mean there is. should there be and if so what is it? | |||
22:43
xfix left
|
|||
RabidGravy | .tell azawawi would you be cool with a PR to File::Which to make it optionally export 'whence' instead of which? It's an ancieunte SysV user thing ;-) | 22:44 | |
yoleaux | RabidGravy: I'll pass your message to azawawi. | ||
timotimo | "perl 6, unicode, and you" is still pretty much unbeaten in visitors/views counts | 22:49 | |
jdv79 | nine: i don't know how to write the test since use lib seems to skirt the bug:( | ||
22:50
snarkyboojum joined
|
|||
RabidGravy | it does, I think that's a partially deliberate feature, in as much as it turns precomp off if it appears after any other "use" | 22:50 | |
or did | |||
jdv79 | huh. i guess i'll just shell out then. | 22:51 | |
22:53
virtualsue left
22:54
rubio_terra left
22:55
raiph joined
|
|||
RabidGravy | top pro-tip of the day, always add .precomp to the .gitignore befiore doing "git add lib" | 23:10 | |
makes for a much happier life | |||
timotimo | yeah, i've already gone around and added .precomp to a bunch of gitignores | 23:11 | |
pmurias | jdv79: re ack painting a grip picture, search the rakudo setting for methods that contain _ returns lots of methods that a user rarely calls | 23:12 | |
jdv79: making is appear so that things are more inconsitent then they appear | |||
jdv79 | ok | 23:13 | |
RabidGravy | yeah, I'm quite happy that's quite consistent with the '-' in the core types and '_' in the MOP and internals and having to remember that shouldn't be a problem | 23:18 | |
23:21
pmurias left
|
|||
dalek | ast: 0899174 | jdv79++ | / (4 files): Test for RT #126904. |
23:29 | |
jdv79 | nine: created a ticket and assigned to you and pushed a test. maybe you can rename the test file as i'm not sure what the issue is called. thankss! | 23:30 | |
also g'nite | |||
gfldex | m: my $s = 'in Latin | doc:Lingua::Romana::Perligata'; dd $s ~~ /(<![|]>+)? \s* '|' \s* (.+)/; | 23:40 | |
camelia | rakudo-moar a342eb: OUTPUT«Memory allocation failed; could not allocate 969179136 bytes» | ||
RabidGravy | that's a bit excessive | 23:41 | |
gfldex | m: my $s = 'in Latin | doc:Lingua::Romana::Perligata'; dd ($s ~~ /(<-[|]>+)? \s* '|' \s* (.+)/)[0,1]>>.Str; | ||
camelia | rakudo-moar a342eb: OUTPUT«List $var = $("in Latin ", "doc:Lingua::Romana::Perligata")» | ||
gfldex | ! <-- dangerous char | ||
cognominal_ | AlexDaniel, my current problem with panda is that compilation errors give a sha1 for a filename. Pretty unhelpful. | 23:46 | |
AlexDaniel | cognominal_: yes, sucks | ||
cognominal_: I just open these files and try to guess what could that be | |||
at the same time, I'm happy that precompilation is there | 23:47 | ||
jnthn | That's not really panda's fault, fwiw | 23:48 | |
AlexDaniel | jnthn: good point | 23:52 | |
I wonder, is it reported? | |||
jnthn | And yeah, getting pre-comp and installation right is really tricky stuff. nine++ | 23:53 | |
AlexDaniel | it's a known issue, but… | ||
jnthn | AlexDaniel: Not sure it is | ||
flussence | er... what's %*CUSTOM_LIB been replaced with today? I didn't get the memo... | 23:54 | |
23:54
lmmx left,
lmmx joined
|
|||
AlexDaniel | I hope that it will be improved before Christmas. Such stack traces just counterweight all of the effort that was put into awesome error messages… | 23:55 | |
23:56
Psyche^_ joined
23:57
RabidGravy left
|
|||
cognominal_ | s/with panda/when using panda/ :) | 23:59 |