»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend! Set by sorear on 25 June 2013. |
|||
00:02
slmult0_z_y_h_g left
00:05
slmult0_z_y_h_g joined
00:14
raiph joined
00:15
Akagi201 joined
00:19
Akagi201 left
00:27
Akagi201 joined
00:33
bjz left
01:02
molaf left
01:11
FROGGS_ joined
01:14
FROGGS left
01:24
xenoterracide joined
01:28
leont left
01:33
xenoterracide left
01:39
raiph left
01:45
ilbot3 left
01:47
ilbot3 joined
02:02
aborazmeh joined
02:18
araujo joined
02:21
masak_grr is now known as masak
02:22
masak is now known as Guest79116
02:24
Guest79116 is now known as masak_grr
02:31
slmult0_z_y_h_g left
02:32
slmult0_z_y_h_g joined
02:42
noganex joined
02:45
noganex_ left
02:47
firnsy joined,
firnsy left,
firnsy joined
02:55
aborazmeh left
03:03
firnsy left
03:04
FROGGS_ left
03:21
FROGGS[mobile] joined
|
|||
jnthn | morning, #perl6 | 03:22 | |
FROGGS[mobile] | morning jnthn | 03:26 | |
03:27
firnsy joined,
firnsy left,
firnsy joined
03:28
slmult0_z_y_h_g_ joined,
slmult0_z_y_h_g left
|
|||
ingy | jnthn: where on earth are you? | 03:37 | |
jnthn | ingy: Shenzhen, China. | ||
ingy | aha | ||
no way you'd be waking up at 4am in sweden | 03:38 | ||
tell all the Chinese people that Ingy sez HAI | 03:39 | ||
better get started! | |||
jnthn | :P | ||
Not sure I@m here long enough to get round all billion :P | |||
FROGGS[mobile] | saying "hallo" would be worse | 03:40 | |
ingy | Auf Wiedersehen would really multiply the syllables | 03:43 | |
03:46
BenGoldberg left
|
|||
FROGGS[mobile] | additionally you'd have to explain everytime | 03:47 | |
03:58
tinyblak joined
04:08
Guest16580 left
04:09
colomon joined,
no-doz joined
04:23
FROGGS[mobile] left
|
|||
dalek | p: b87a73b | usev6++ | 3rdparty/dyncall/configure: compile dyncall with -fPIC on DragonFly BSD It's the same fix as in commit 5ed99d26b3c3ac2d65bc622afdbd987a547046f5 for FreeBSD and 008f60c31bbd82ca090486468e8ffc8cd51bfb11 for NetBSD. |
04:27 | |
p: 034304d | (Tobias Leich)++ | 3rdparty/dyncall/configure: Merge pull request #184 from usev6/master compile dyncall with -fPIC on DragonFly BSD |
|||
04:29
FROGGS joined
04:35
tinyblak left
04:40
itz_ joined
04:50
FROGGS left
|
|||
dalek | ar: 77018e1 | (Tobias Leich)++ | modules/perl6-digest-md5: bump Digest::MD5 revision |
04:51 | |
04:53
FROGGS joined
|
|||
FROGGS | [Coke]: in order to unbreak NativeCall on star-daily, I have to port nqp::nativecallglobal to parrot and jvm... will do that ASAP | 04:56 | |
jnthn | FROGGS: Hmm...what does that mean for the Star release? Just ship a NativeCall without the C globals patch? | 04:58 | |
FROGGS | jnthn: yes, I intentionally did the cglobals merge after the compiler release | 05:00 | |
jnthn: and star uses NativeCall HEAD^ | |||
so that's fine | |||
05:00
jerrycheung joined
|
|||
FROGGS | just the star-daily shows it, since it smokes most recent versions | 05:00 | |
bbl | 05:02 | ||
05:02
FROGGS left
05:04
jerrycheung left
05:06
araujo left
05:16
FROGGS[mobile] joined
05:28
molaf joined
05:33
tinyblak joined
05:39
molaf left
05:51
[Sno] left,
[Sno] joined
05:53
ggherdov___ left,
xenoterracide joined
05:58
tinyblak left
06:13
tinyblak joined
06:15
isacloud______ joined
06:16
pnu_ joined
06:19
clkao joined
06:20
kurahaupo left,
tinyblak left
06:21
tinyblak joined
06:22
ggherdov___ joined
06:23
tinyblak left
06:27
xinming_ joined
06:28
tinyblak joined
06:29
xinming left
06:33
slmult0_z_y_h_g_ left
06:34
slmult0_z joined
06:37
tinyblak_ joined
06:39
slmult0_z left,
tinyblak left
06:40
darutoko joined,
kaare_ joined
06:46
tinyblak_ left
07:06
uniejo joined
07:07
uniejo left
07:08
bjz joined,
itz_ is now known as itz
07:10
tinyblak joined
07:13
xenoterracide left
07:22
mr-foobar left
07:23
mr-foobar joined
07:30
tinyblak_ joined
07:31
tinyblak left
07:43
Isp-sec joined
07:47
mr-foobar left
07:49
mr-foobar joined
07:51
[Sno] left,
[Sno] joined
07:55
mr-foobar left
07:56
mr-foobar joined
08:03
tinyblak joined
08:04
tinyblak_ left
08:08
anaeem1 joined
08:10
kurahaupo joined,
kurahaupo left
08:17
anaeem1 left
08:29
telex left
08:30
telex joined
08:34
anaeem1 joined
08:37
anaeem1 left
08:40
Isp-sec left
08:41
anaeem1 joined
08:45
virtualsue joined,
spider-mario joined
|
|||
lizmat | good *, #perl6 | 08:46 | |
itz++ for setting up pl6anet.org/hackday/ | 08:47 | ||
08:50
anaeem1 left
|
|||
virtualsue | \o/ | 08:50 | |
jnthn | o/ lizmat | 08:51 | |
lizmat | jnthn virtualsue o/ | 08:54 | |
08:56
diego_k joined
|
|||
diego_k is trying to compile p6-moarvm on osx but having some problems... | 08:59 | ||
08:59
leont joined
|
|||
lizmat assumes diego_k has Xcode installed ? | 09:00 | ||
diego_k | lizmat: sure :) | ||
now I'm using brew to update gcc, just in case :-/ | 09:01 | ||
lizmat | gcc ? afaik, clang is used with Xcode | 09:02 | |
diego_k | ouch :D | ||
It's strange all seems to be ok, but at some point of make, it says "write error" :-/ | 09:04 | ||
lizmat | which version are you trying to compile? | 09:05 | |
does the file 'tools/build/moar_core_sources exist ? | 09:06 | ||
diego_k | I'm trying with 2014.08 | 09:08 | |
I got some warns -> clang: warning: argument unused during compilation: '-fno-optimize-sibling-calls' | |||
lizmat | ah, then please ignore the make error | 09:09 | |
it was fixed in 2014.09 | |||
it always was just a nuisance | |||
yes, also known ignorables | |||
diego_k | I don't have tools/build/moar_core_sources | 09:10 | |
jnthn guesses diego_k may be doing the r* build, in which case trying make again is maybe a little less easy (I guess cd rakudo && make install would do it though). Guess there isn't a 2014.09 r* yet. | |||
diego_k | jnthn: Oh, I'm just following README :-) | 09:11 | |
let me try... | |||
jnthn | If it's just the compiler then there#s a 2014.09 that fixes it. | ||
diego_k | make goes well for a while, but ends with make[1]: write error / make: *** [rakudo/perl6-m] Error 1 | 09:12 | |
cd rakudo; make install workerd | 09:14 | ||
thanks!, time to play :) | |||
carlin | m: my $buf = $*IN.slurp(:bin); if $buf eq "foo" { say 1 }; say 'alive' | 09:15 | |
camelia | rakudo-moar 7a381f: OUTPUT«(timeout)» | ||
09:16
anaeem1 joined
09:20
anaeem1 left
09:26
virtualsue left
|
|||
lizmat | m: "a:b".words.say | 09:29 | |
camelia | rakudo-moar 7a381f: OUTPUT«a:b» | ||
lizmat | m: "a:b".words.elems.say | 09:30 | |
camelia | rakudo-moar 7a381f: OUTPUT«1» | ||
lizmat | that feels wrong... | ||
would have expected 'a b' and 2 | |||
oddly enough, the spec test doesn't check for non-alphanumeric / non-whitespace cases | 09:31 | ||
09:38
anaeem1 joined
09:39
anaeem1 left,
anaeem___ joined
09:45
masak_grr is now known as masak
09:46
anaeem___ left
|
|||
sergot | mo/rning | 09:48 | |
09:48
leont left
09:50
bjz left,
bjz joined
09:51
anaeem1_ joined
09:52
jerrycheung joined
09:53
jerrycheung left
|
|||
jnthn | lizmat: I thought words was about splitting on whitespace | 09:54 | |
lizmat | that's the spec, right | ||
jnthn | lizmat: Do it the other way and can't can't be a word and maybe we don't want that... :) | ||
lizmat | true: I guess I will have to adjust my mental image :-) | 09:55 | |
09:55
mr-foobar left
09:56
mr-foobar joined
|
|||
lizmat | fwiw: a datapoint wrt to push performance | 09:58 | |
working on IO::Handle.words: I can't get the eager version to outperform the lazy one | |||
jnthn | How is that push related ooc? :) | ||
lizmat | well, if I use an rpa, and nqp::push, I need to create a loop, which is slower | 09:59 | |
and if I create a HLL array, with a .push, it's a bit faster, but slower still than the gather / take combo (1.6x slower) | 10:00 | ||
10:00
PZt left
|
|||
lizmat | jnthn: nothing to worry about, just a datapoint :-) | 10:01 | |
10:03
denis_boyun_ joined
10:06
pmurias joined
|
|||
pmurias | jnthn: the hack I'm using to make the serialization do what I want on MoarVM: github.com/pmurias/nqp-js/commit/a3cf6e7ca7 | 10:08 | |
10:09
virtualsue joined
10:11
anaeem1_ left
10:12
denis_boyun_ left
10:13
anaeem1 joined
10:15
itz_ joined
10:16
itz is now known as not_itz,
itz_ is now known as itz
|
|||
jnthn | pmurias: Nice hack ;) | 10:17 | |
10:17
anaeem1 left
|
|||
jnthn | pmurias: While we maybe could find a more elegant solution, given this is temporary until nqp-js self-hosts I guess it's not pressing to do so? :) | 10:18 | |
10:18
bjz left
10:20
darutoko- joined
|
|||
jnthn | timotimo: Maybe you could try a perl6-bench run of abc97dbcc2fec (or just HEAD) too? Your run took in my work to get push performance back to how it was, but my follow-up patch was a further factor of 2 improvement for me here... | 10:20 | |
10:21
bjz joined
10:22
darutoko left
10:24
dalek left,
tadzik left,
dalek joined,
ChanServ sets mode: +v dalek
|
|||
itz | "The following step can take a long time, please be patient." <=- is this still true? :) | 10:24 | |
10:24
FROGGS[mobile]2 joined,
tadzik joined
10:25
FROGGS[mobile] left
10:26
SHODAN left,
MilkmanDan joined
|
|||
jnthn | itz: Depends on what backend you build and how fast your hardware is :) | 10:26 | |
itz: It only says it can take a long time, not that it will. :) | |||
lizmat | on parrot, definitely :-) | ||
10:27
cxreg left
|
|||
jnthn | dinner & | 10:27 | |
10:28
cxreg joined,
SHODAN joined
10:29
BinGOs joined
10:33
MilkmanDan left
10:34
vendethiel joined,
Akagi201 left,
MilkmanDan joined
10:35
Akagi201 joined
|
|||
vendethiel | o/, #perl6 :) | 10:37 | |
lizmat | vendethiel o/ | ||
pmurias | vendethiel: hi | 10:39 | |
vendethiel | masak: do macros in P6 (currently) have sublexical scope? | ||
10:43
tinyblak left
|
|||
dalek | p: 783e870 | (Elizabeth Mattijsen)++ | docs/ops.markdown: Add documentation stub for nqp::encode |
10:48 | |
10:51
jaffa4 joined
|
|||
jaffa4 | hi all | 10:52 | |
How can I reference aub parameter by position? | 10:54 | ||
10:55
petercommand joined
|
|||
lizmat | sub a (*@positionals) { say @positionals[42] } ?? | 10:56 | |
timotimo | aye | 10:57 | |
another thing you can do: | |||
10:58
cognome joined
|
|||
timotimo | m: sub a(*@positionals ($one, $two)) { say "$one, $two!"; say @positionals.perl } | 10:58 | |
camelia | ( no output ) | ||
timotimo | m: sub a(*@positionals ($one, $two)) { say "$one, $two!"; say @positionals.perl }; a(1, 2) | ||
camelia | rakudo-moar 7a381f: OUTPUT«1, 2!Array.new(1, 2)» | ||
timotimo | m: sub a(*@positionals ($one, $two)) { say "$one, $two!"; say @positionals.perl }; a(1, 2, "extra nonsense") | ||
camelia | rakudo-moar 7a381f: OUTPUT«Too many positionals passed; expected 2 arguments but got 3 in sub-signature of parameter @positionals in sub a at /tmp/3RnGe1A2qr:1 in block <unit> at /tmp/3RnGe1A2qr:1» | ||
timotimo | m: sub a(*@positionals ($one, $two)) { say "$one, $two!"; say @positionals.perl }; a("too few") | ||
camelia | rakudo-moar 7a381f: OUTPUT«Too few positionals passed; expected 2 arguments but got 1 in sub-signature of parameter @positionals in sub a at /tmp/wftKLGG8R8:1 in block <unit> at /tmp/wftKLGG8R8:1» | ||
timotimo | jnthn: will run the benchmarks now :) | 10:59 | |
jaffa4 | so there is no @_ | 11:00 | |
timotimo | you can have a @_ | ||
m: sub foobar { say @_.perl }; foobar(1, 2, 3) | |||
camelia | rakudo-moar 7a381f: OUTPUT«Array.new(1, 2, 3)» | ||
dalek | ecs: 65bdb0f | (Stéphane Payrard)++ | S99-glossary.pod: Update S99-glossary.pod |
11:01 | |
timotimo | but you cannot have a signature *and* @_ | ||
jaffa4 | m: sub f ($a.$b) { print $_[0]} ; f(1,2); | ||
camelia | rakudo-moar 7a381f: OUTPUT«===SORRY!=== Error while compiling /tmp/hj1CmebZPqMissing blockat /tmp/hj1CmebZPq:1------> sub f ($a⏏.$b) { print $_[0]} ; f(1,2); expecting any of: statement list prefix or term …» | ||
jaffa4 | m: sub f ($a,$b) { print $_[0]} ; f(1,2); | ||
camelia | ( no output ) | ||
vendethiel | jaffa4: sigil invariance ;-) | ||
jaffa4 | How do I reference a function pointer? | 11:02 | |
vendethiel | &fn | ||
(and that's not a pointer) | |||
jaffa4 | whic his passed in as a parameter | ||
sub AppendClipboard(Str $format,Value $data,&render(Value $data1)--> Str ) | 11:03 | ||
$render does not seem to work | |||
11:04
FROGGS[mobile]2 left
11:05
FROGGS[mobile] joined
|
|||
jaffa4 | : sub f ($a,$b) { print @_[0]} ; f(1,2); | 11:05 | |
m: sub f ($a,$b) { print @_[0]} ; f(1,2); | 11:06 | ||
camelia | rakudo-moar 7a381f: OUTPUT«===SORRY!=== Error while compiling /tmp/ItYu74gU9TPlaceholder variable '@_' cannot override existing signatureat /tmp/ItYu74gU9T:1------> sub f ($a,$b) { print @_[0]}⏏ ; f(1,2); expecting any of: …» | ||
diakopter | how do you read that error? | ||
jaffa4 | yes, just checking | ||
11:19
Ven joined
|
|||
lizmat | timotimo: perhaps a question for you while jnthn is nomming | 11:22 | |
jaffa4 | this does not seem to work pastebin.com/t0ziKCju | ||
lizmat | so I've read 64K from a filehandle into a Buf | ||
how do I make it a native str ? | |||
my str $str = nqp::unbox_s(nqp::encode($buf, $utf8, $utf8_type)); # gives me: This representation (VMArray) cannot unbox to a native string | |||
jaffa4 | can you think of a work around? | 11:23 | |
lizmat is a complete NativeCall noob :-( | 11:24 | ||
11:29
pflanze joined
|
|||
pflanze | Hi. lizmat, I'm the guy from London.pm working on functional modules. | 11:30 | |
lizmat | hi pflanze ! | ||
pflanze | I haven't followed Perl6 for some years, so I don't know what or if anything has been going on re functional in Perl6. | 11:31 | |
lizmat | Perl6 caters for most different methodologies | 11:32 | |
m: <a b c d e e f f g g g>.Bag.pairs.say | |||
camelia | rakudo-moar 7a381f: OUTPUT«"a" => 1 "b" => 1 "c" => 1 "d" => 1 "e" => 2 "f" => 2 "g" => 3» | ||
lizmat | answering my own question: my str $str = nqp::unbox_s($buf.decode); | 11:33 | |
pflanze | In my modules, I'm following how things are done in Scheme pretty closely: linked lists, what Scheme calls promises (structure containing thunk when unevaluated and result when evaluated) as building blocks for lazy algorithms, then streams (lazy lists) on top. | 11:36 | |
I know many languages use generators for lazy sequence generation; does Perl6 it that way? I feel that approach less elegant than lazy lists, but perhaps it has its own benefits that I'm not aware of. | 11:38 | ||
generators or, more to the point, yield. | |||
lizmat | you probably want to read: S17:01 | 11:40 | |
synopsebot | Link: perlcabal.org/syn/S17.html#line_01 | ||
lizmat | most of that is implemented | ||
pflanze | Note that what Perl6 calls "Promise" is generally called a "future" in the FP world; whereas the Scheme "promise" has nothing to do with concurrency; Haskell calls them "thunks" (Scheme people call a parameter-less function a thunk; when wrapped with struct that swaps the thunk for a value on eval, it's called promise). | 11:51 | |
Well "nothing to do" is maybe too strong since the use of a promise can be changed to a use of a future when wanting to evaluate speculatively; that doesn't *always* make sense though. | 11:55 | ||
11:55
raiph joined
|
|||
pflanze reading the section about "supplies" | 11:57 | ||
(I just realized you're one of the authors.) | 11:59 | ||
lizmat | hehe... well, mostly following jnthn implementation :-) | 12:00 | |
12:10
virtualsue left,
FROGGS[mobile] left
|
|||
diakopter | lizmat: I think you need to use the chr routine on the resulting array and join the strings? or if there's an optimized version of that? | 12:16 | |
timotimo | jnthn: t.h8.lv/p6bench/2014-09-20-post_rel...udo_2.html - t.h8.lv/p6bench/2014-09-20-history_rakudo_2.html | ||
i still wonder what the heck happened to the parse json benchmarks | 12:17 | ||
lizmat | diakopter: you mean my str $str = nqp::unbox_s($buf.decode); ??? | ||
diakopter | lizmat: like chrs(array of codepoints -> Str) | ||
encode is returning the array | |||
12:18
Ven left
|
|||
diakopter | [I'm thinking of a mythical aggregate-form of chr()] | 12:18 | |
lizmat | I'm not interested in chrs per se, I'm interested in something I can run nqp::findcclas on | 12:19 | |
*class | |||
diakopter | that can only run on strings, I thought | 12:21 | |
lizmat | yup | ||
12:23
virtualsue joined
|
|||
diakopter | I don't know of a way to go from an array of codepoints to a string without using chrs | 12:27 | |
is chrs too slow? | |||
lizmat | isn't that what .encode is meant to do ? | 12:28 | |
diakopter | that runs on a string..? | 12:29 | |
lizmat | on a Buf | ||
diakopter | I don't see an encode method on Buf | 12:30 | |
just on Str | 12:31 | ||
12:35
ggoebel11111113 joined,
Ven joined
|
|||
lizmat | what can I say: it works for me... | 12:37 | |
12:39
ggoebel11111112 left
12:46
spider-mario left
|
|||
grondilu would have expected such a Buf method to be called rather "decode" | 12:47 | ||
Str->Blob is encode, Blob->Str is decode, isn't it? | 12:48 | ||
lizmat | ah, du | ||
yes, decode | |||
my str $str = nqp::unbox_s($buf.decode); | 12:49 | ||
12:49
spider-mario joined
12:56
anaeem1_ joined
12:59
anaeem1__ joined
13:03
anaeem1_ left
|
|||
diakopter | oh | 13:03 | |
jnthn | lizmat: Did you figure out what you wanted with the string/buf thing? | 13:04 | |
timotimo: Nice, we do better on all the push benchmarks now, it seems :) | 13:05 | ||
timotimo | yup, i'm impressed | ||
good work! | |||
dalek | kudo/nom: 48244cc | (Elizabeth Mattijsen)++ | src/core/IO/Handle.pm: Implement IO::Handle.words |
13:06 | |
lizmat | jnthn: ^^^ | ||
timotimo | i don't have the time necessary to get the parse json benchmark bisected or something | ||
jnthn | timotimo: You could maybe see if it's the CAPHASH elimination patch. While in theory it should be a speedup, it's maybe possible something in it is accidentally costly... | 13:07 | |
lizmat: Why read a buf and decode it, ooc? | 13:08 | ||
lizmat | jnthn: are you implying that I can read directly into a str ? | ||
jnthn | nqp::readcharsfh | 13:09 | |
lizmat | aha, another undocumented nqp function :-) | 13:10 | |
timotimo | oh, right | ||
that's a good hint, i'll check that | |||
jnthn | Yeah, I actually knew moar has an op called read_fhs and looked it up that way in QASTOperationsMAST.nqp... :) | ||
lizmat | does that work on JVM and parrot as well ? | 13:11 | |
jnthn | timotimo: I'd guess it may be accidental boxing. I did pour over the NQP one with the profiler for quite a while after getting it working. | ||
timotimo | ah | ||
good to know | |||
jnthn | lizmat: Oh...no :( | 13:12 | |
lizmat: Seems they both miss it. | |||
masak | vendethiel: "sublexical" relates to "lexical" how? macros have lexical scope AFAIK. | ||
lizmat | yeah, looking at IO::Socket | ||
it's moarvm only | |||
Ven | masak: sublexical is basically the ... "visible" lexical scope from a macro. | ||
yoleaux | 18 Sep 2014 21:29Z <ingy> Ven: applied,thanks! | ||
18 Sep 2014 21:34Z <ingy> Ven: join #lingy | |||
jnthn | That's unfortunate. | ||
lizmat | I'll use nqp::readcharsfh in the case of moar only then | 13:13 | |
masak | Ven: in order to clarify your question, could you give me a concrete case where different answers would make a difference? | ||
Ven | masak: I'm writting one up :) | ||
jnthn | lizmat: Yeah. Feel free to file an NQP ticket requesting availability of that on the other backends? | ||
lizmat | will do | ||
Ven | writing*, even | 13:14 | |
13:14
anaeem1__ left,
anaeem1_ joined
|
|||
Ven | masak: i.e., (defmacro foo () (let (name (gensym)) `(+ 1 2 ,(some-macro name)))) | 13:15 | |
masak: here, the code generated by the macro `some-macro` won't have the let's lexical scope at disposal | 13:16 | ||
letoverlambda.com/textmode.cl/guest/chap6.html | |||
13:20
SamuraiJack joined,
anaeem1_ left
|
|||
masak | hold on, distracted | 13:21 | |
13:24
camelia left
13:30
camelia joined
13:32
ChanServ sets mode: +v camelia
|
|||
dalek | ecs: 1c17220 | (L. Grondin)++ | create_contents.p6: S99/create-contents.p6, explicitely specify encoding, avoid .pod~ files, and add a blanck line before =end pod |
13:32 | |
grondilu | ^hope it's OK. it was generated errors in contents.pod so I fixed it. | 13:33 | |
lizmat | grondilu++ | 13:35 | |
13:37
BenGoldberg joined,
JimmyZ joined
13:39
anaeem1 joined
13:41
SamuraiJack_ joined
13:42
SamuraiJack left
|
|||
masak | letoverlambda.com/textmode.cl/guest/chap6.html looks very interesting, but is too long for me to read right now. | 13:44 | |
it's also telling me that I should read 'On Lisp' at some point. | |||
sooner rather than later. | |||
<Ven> masak: here, the code generated by the macro `some-macro` won't have the let's lexical scope at disposal | 13:45 | ||
Ven: could you clarify "at disposal"? | |||
Ven | masak: just jump to "sublexical" | ||
(ctrl-F, I mean :P) | |||
13:46
anaeem1 left
|
|||
Ven | masak: On Lisp is pretty bad, tbh. "Pratical Common Lisp" and "50 years of lisp" are much better | 13:46 | |
timotimo | jnthn: your supposition was correct, the "if $match.Bool" block in the MATCH method allocates a gigantic crapton of Int objects | 13:47 | |
Ven | masak: the basic difference between lexical scope and sub-$0 is macro expansion: if I'm traversing a body of some sort in a macro, it hasn't been macro-expanded yet | ||
masak | I jumped to "sub-lexical", but it feels exactly like jumping into something the surrounding context of which I don't have. | 13:48 | |
Ven | right, my bad | 13:49 | |
masak | oh, but by the definition you just gave, I don't think macro expension is sub-lexical in p6. | ||
...by current spec. | |||
I'm glad you mention it, though, because I'm gearing up to rethink macros and the way we want to do them. | |||
and I'll especially be looking towards having something that composes in ways we find useful. | 13:50 | ||
Ven | so i.e., in a macro "(do-replacement-onbody 'a)", if your "do-replacement-onbody" wants to change 'a, it'll work | ||
but if you change `'a` with " "(defmacro say-foo () 'a)", it'll blow up: the macro hasn't been expanded yet, and it won't see the "final" 'a | |||
masak | the sub-lexical thing seems to be a kind of (non-)composition that might sometimes be useful. | ||
Ven | ...and sometimes bit you :) | ||
masak | *nod* | ||
13:51
molaf joined
|
|||
Ven | the solution proposed here (with sublet and sublet*) is to manually macroexpand(-1) the macro so that you can walk into its expansion code | 13:51 | |
I was just thinking things through stuff like that while commuting | 13:52 | ||
and I actually thought about something else: how do you want to "disable" hygiene? | |||
timotimo | roar | ||
there is hardly something more annoying than a b0rked tab key | |||
Ven | because, as I understood it, we want hygiene by default (scheme-like, cl-unlike). But we still need a way to break hygiene sometimes (I can think of anaphoric macros being the "simplest" example) | ||
masak | Ven: I refer you to current S06 for current ideas about that. | 13:53 | |
Ven | I'll just finish my sentence then :) | ||
masak | Ven: the mechanism today is the COMPILING:: namespace. | ||
Ven | there are several solutions: scheme allow you to fall back to a "cl-like defmacro", elixir has a `var!()`, but racket has another very interesting mechanism: `define-syntax-parameter` | 13:54 | |
(actually, scheme should have it now too, but it's a pretty recent addition. around 2011) | |||
dalek | kudo/nom: 6499f8d | (Elizabeth Mattijsen)++ | src/core/IO/Handle.pm: use nqp::readcharsfh on Moar, fix some logic issues |
13:55 | |
Ven | www.schemeworkshop.org/2011/papers/...ay2011.pdf <- the basic idea is that you predefine, outside of the macro, the reserved identifiers, and you give them a "default value" (when they've not been by-macro-shadowed) (which might be a `(raise)` if you only want it to be used in said macros), and then in the macro you override their value | ||
masak | by the name alone, `define-syntax-parameter` sounds like something TimToady has proposed numerous times. | ||
ok, I clearly need to research all of the above a bit. | 13:56 | ||
thanks for the pointers. | |||
Ven | sorry for the pointers :P. | ||
masak | Ven++ | ||
no, don't be sorry. | |||
Ven | well, it's quite a big area | ||
masak | prior art in this case is some of the best input I can get. | ||
Ven | masak: I really recommend 50 years of lisp. reading "on lisp" isn't really necessary: it's basically just a bunch of macros threw in there, with little to no explanations on language features. I've been told PCL (practical CL) is a good book, though I havn't read it. And anyway, I'd be happy to chat some more about that :-) | 13:58 | |
timotimo | i can't really see anything boxing any ints here :\ | ||
Ven | timotimo: maybe they're waiting for christmas | ||
you sure there aren't gift boxes :p? | |||
14:01
anaeem1 joined
|
|||
timotimo | %) | 14:01 | |
the little block inside MATCH is in 1st place for routines allocating Int, MATCH itself is in 2nd place with about a quarter of the amount of the block inside itself ... | 14:02 | ||
dalek | ast: b4fc0fe | (Steve Mynott)++ | S0 (4 files): RT # 76608, 75370, 77158 and 67222 were testneeded should be closable in RT |
||
lizmat | itz++ | 14:04 | |
14:05
raiph left
|
|||
jaffa4 | masak: I found a nasty bug | 14:06 | |
itz | hmmm if I login RT with bitcard I seem to have *less* access than as an anon user! (I can't see any tickets at all) | 14:09 | |
timotimo | i was looking at the spesh log of MATCH and i don't see any hllboxtype_i or box_i or anything like that :( | 14:10 | |
how does it allocate int boxes? | |||
14:22
FROGGS joined
|
|||
FROGGS | o/ | 14:28 | |
lizmat | FROGGS /o | 14:31 | |
timotimo | hey FROGGS | ||
do you know how to investigate allocations? | |||
the MATCH method we have in use now for rakudo allocates a gigantic crapton of Int objects | |||
FROGGS | eww | ||
timotimo: no, I don't | 14:32 | ||
timotimo | that is likely the cause of the gigantic performance drop | ||
have you seen it? %) | |||
FROGGS | timotimo: no, I've not seen that | 14:33 | |
timotimo: I've even benched MATCH intense stuff without noticing anything | |||
well that's not true | |||
it allocated less objects, but the runtime was identical | 14:34 | ||
lizmat said that stage parse would take .5s more time | |||
lizmat | tha's my impression, yes | 14:35 | |
FROGGS | but I recompiled rakudo ten times with, and ten times without the patch | ||
timotimo | huh. | ||
FROGGS | showing that all stages were about 0.02s "faster" | ||
lizmat | but if you don't see it... | ||
then it's probably something special on OS X / SSD's | |||
timotimo | well, look at a profile of parse-json, it'll show a gigantic amount of allocations of Int | ||
FROGGS | lizmat: scratch SSD :P | ||
timotimo | like 3x as many as Scalar | ||
FROGGS | parse-json? is that in p6bench? | 14:36 | |
timotimo | (gimme and reify are the top allocators of Scalar, fwiw) | ||
yes, it is | |||
FROGGS | k | ||
I'll do that tonight | |||
timotimo | t.h8.lv/p6bench/2014-09-20-history_rakudo_2.html - have a look | ||
lizmat | timotimo: gimme / reify on Scalar ? | ||
timotimo | lizmat: indeed | 14:37 | |
lizmat | that feels, *odd* | ||
FROGGS | ohh wow | ||
timotimo | 239032 Scalar in gimme, 110556 in reify, 38798 in bind_one_param | ||
JimmyZ | yeah, as I said, run reify once causes a GC, while twice didn't, which is odd | 14:39 | |
err, I meant samecase, which runs reify | |||
dalek | p: 53515d6 | (Elizabeth Mattijsen)++ | docs/ops.markdown: Add documentation stub for nqp::readcharsfh |
14:40 | |
14:40
PZt joined
|
|||
timotimo | FROGGS: for comparison, the numbers i gave were from entering MATCH 167103 times | 14:41 | |
and we spent 6.81% exclusive time there | |||
The profiled code ran for 6920.76ms. Of this, 1014.51ms were spent on garbage collection and dynamic optimization (that's 14.66%). - OTOH, it doesn't seem like allocation alone would be responsible for such bad performance?! | |||
14:46
pmurias left,
FROGGS left
14:47
pmurias joined
14:48
MikeFair joined,
lucvn joined
14:50
lucvn left
|
|||
dalek | kudo/nom: ae35377 | (Elizabeth Mattijsen)++ | src/core/ (2 files): Make $limit always imply eager |
14:51 | |
timotimo | m: say "that's { (489876 + 167103) / 167103 } Int objects per run of Match. " | 14:52 | |
camelia | rakudo-moar 6499f8: OUTPUT«that's 3.931581 Int objects per run of Match. » | ||
14:53
FROGGS joined
|
|||
FROGGS | time perl6 --profile perl6/parse-json components.json 128 # 13.9s without my patch | 14:53 | |
time perl6 --profile perl6/parse-json components.json 128 # 25.2s with my patch | 14:54 | ||
14:54
SamuraiJack_ left
|
|||
FROGGS | alloc without my patch: Int 664_880, Scalar 1_611_344, with my patch: Int 2_932_839, Scalar 2_322_004 | 14:54 | |
timotimo | oh wow. | ||
FROGGS | much wow | ||
lizmat | that's 2 for the price of 1 ! | 14:55 | |
Scalar | |||
Int would be more like 4 for the price of 1 ? | |||
timotimo | maybe we need more := to get rid of scalar containers? | 14:57 | |
colomon | lizmat: does that leave a way to call .lines with a $limit and get a lazy list as a result? | ||
timotimo | colomon: you could just [^100] | ||
14:57
pmurias left
|
|||
colomon | timotimo: so .lines()[^100] would be lazy? | 14:57 | |
timotimo | yes | 14:58 | |
colomon | guess that works for me | ||
colomon doesn't have a use case in mind, just hates to presume no one else ever might. | |||
FROGGS | timotimo: but I already bind anything that is not a native... | ||
FROGGS .oO( maybe we just need more cowbell ) | 14:59 | ||
timotimo | hmm | ||
FROGGS | there is nothing obvious to me that I could optimize... | 15:01 | |
timotimo | nothing obvious to me either | 15:03 | |
i wanted to look back at some boxing-lessening commits to figure out how they worked | |||
lizmat | colomon: no, but if you want a limit, you're probably not being lazy anyway, was my thoiught | ||
timotimo | i think sometimes in if or while we can't be sure that the result of something can give us a bool "the right way" and so we have to box and call a method or something? | ||
FROGGS | we call .Bool, aye | 15:04 | |
that's why it is invokish... | |||
timotimo | that shouldn't be responsible for the Int creation, though | ||
FROGGS | I remember a discussion about exactly that on #moarvm | ||
timotimo | github.com/rakudo/rakudo/commit/6b...839a8ed72b - look at this commit for example | ||
FROGGS | +$name maybe? | ||
hmmm, I should try nqp::coerce_si | 15:06 | ||
m: my str $foo = "42"; say nqp::coerce_si($foo) | 15:07 | ||
camelia | rakudo-moar 6499f8: OUTPUT«===SORRY!===No registered operation handler for 'coerce_si'» | ||
FROGGS | eww | ||
m: my str $foo = "42"; say nqp::fromstr_I($foo) | 15:08 | ||
camelia | rakudo-moar 6499f8: OUTPUT«===SORRY!===Arg count 1 doesn't equal required operand count 3 for op 'coerce_sI'» | ||
FROGGS | m: my str $foo = "42"; say nqp::fromstr_I($foo, Int) | ||
camelia | rakudo-moar 6499f8: OUTPUT«42» | ||
15:10
pmurias joined
|
|||
FROGGS | that seems to help a good bit... | 15:10 | |
time: bad 25.2s, now 20.5s, before: 13.9s | 15:11 | ||
timotimo | ah, we're getting there | ||
maybe nqp::istrue in a few places? | 15:12 | ||
FROGGS | hmmm | ||
Int allocs a slightly more | |||
but we only have 340_000 Parcels instead of 880_000 | |||
no, 340_000 and about 680_000 | 15:13 | ||
itz | is there anything on github to do https .. I thought I saw something? | ||
(client I mean) | |||
FROGGS | itz: HTTP::UserAgent supports it | ||
via OpenSSL | |||
itz | ty | 15:14 | |
FROGGS | timotimo: testing nqp::istrue now | ||
15:17
anaeem1 left
|
|||
FROGGS | timotimo: nqp::istrue only has the effect of allocation more Ints (just a few), the others stayed the same | 15:18 | |
timotimo: that's why I have so far: gist.github.com/FROGGS/6b9bf1faa006aeed0c1b | |||
(I reverted the istrue changes) | 15:19 | ||
It is hard to concentrate on that train... | 15:20 | ||
timotimo | don't concentrate on the train, concentrate on your code! :P | 15:21 | |
i'll be AFK for a bit. | 15:22 | ||
FROGGS | *g* | ||
dalek | kudo/nom: 9926536 | (Elizabeth Mattijsen)++ | docs/ChangeLog: Mention IO::Handle.words |
15:28 | |
TimToady | timotimo: my new pushme test didn't show up :'( | 15:29 | |
did you not pull it, or did it not work? | |||
15:30
anaeem1_ joined
15:38
guru joined
15:39
guru is now known as Guest96602,
Guest96602 is now known as ajr_
|
|||
dalek | ecs: 8d48f69 | (Elizabeth Mattijsen)++ | S32-setting-library/Str.pod: The basis of changes I'd like to make to IO spec - Str.IO gives an IO::Path that only does absolutifying paths *once* - IO::Path gets a caching "isDir" and "exists" attribute - IO::Path.lines/words open/close handle from IO::Path.path - IO::Handle.lines/words give lines / words from current file position - $*SPEC contains the appropriate IO::Spec::filesystem object - IO::Path gets a $.SPEC from a given IO::Spec object, default to $*SPEC - IO::Path.methods become wrappers around $!SPEC rather than $.SPEC This should allow for better optimizations (e.g. doing rel2abs only *once*) and for better resource usage (e.g having .lines/words close handles). This should also make all filetest methods much faster. |
15:41 | |
FROGGS | lizmat: IO::Spec::*file*system? | 15:43 | |
lizmat | ::Unix, ::Win32 what would you call that? | 15:44 | |
perhaps just IO::Spec::system ? | |||
FROGGS | I can't say OS, because TimToady would slap me :P | ||
lizmat | we have currently 4 of those: IO::Spec::Cygwin/QNX/Unix/Win32.pm | 15:45 | |
FROGGS | I guess 'system' would do, yeah | 15:46 | |
because Cygwin really is not a filesystem | |||
Ven used windows for quite a good numbers of years, and can't understand how people stomach cygwin | 15:47 | ||
FROGGS | it is usually what the user think of when they hear operating system | ||
Ven: I used cygwin... | |||
... to test that my stuff works | |||
but I'm also a windows+strawberry fan | |||
Ven | just cmd.exe works fine :p | ||
or powershell if you want | 15:48 | ||
FROGGS | +putty.. what else do you need | ||
I have like zero powershell experience | |||
and no time to improve it | |||
Ven | (I far prefer cmd.exe to cygwin...) | ||
FROGGS | nwc10: btw, I just ordered an (old) IBM BladeCenter... so you might hear from me about smoking perl6-m/p on weird platforms | 15:49 | |
Ven: me too | |||
jnthn | Me three. :) | 15:51 | |
colomon | FROGGS: how do you order something like that? and what would be weird about it? | ||
FROGGS | colomon: ebay actually | ||
colomon: I think AIX is weird in some sense | 15:52 | ||
15:52
anaeem1_ left
|
|||
colomon | FROGGS: oh! yes, yes it is | 15:52 | |
FROGGS | have to do some research what OSes are still in use | ||
like, is HP/UX still alive? on what arch does it run etc... | |||
colomon | probably ever evil thing you can think of is still being used somewhere. | 15:53 | |
FROGGS | I'll have 14 xeon blades, one opteron blade and three powerpc blades | ||
colomon had terrible troubles with his software on AIX once upon a time. | |||
FROGGS | IRIX is also a thing, right? | 15:54 | |
colomon | yes | ||
FROGGS | all these *X-es... | ||
colomon used all mentioned so far back in the 90s | |||
FROGGS | wow :D | ||
colomon is very glad Linux has mostly taken over that corner of the market | |||
FROGGS | colomon: thanks for offering support *g* | ||
lizmat | cycling& | 15:55 | |
colomon | FROGGS: many (most?) of my college programming classes were done on a timesharing IBM mainframe. | ||
and everyplace had different Unix-y workstations. | 15:56 | ||
and all those machines had siginicantly better capabilities than the PCs of the day, and sucky *nix clones. | 15:57 | ||
FROGGS | yeah, it is a wonder that there is not a huge disaster about all these different unixes | ||
colomon | and of course, each was its own incompatiable dialect | ||
Linux conquering all the *X-es but OS X is a huge win. | 15:58 | ||
FROGGS | I need to get an OS X that runs on such a powerpc box... | 15:59 | |
colomon | FROGGS: assuming you didn't have to take out a mortgage to get the BladeCenter, I'm kind of sorry I didn't get it instead. :) | ||
FROGGS | colomon: there are more :o) | 16:00 | |
colomon | lots of Xeon cores would be great for running my $work test suite | ||
FROGGS | 1 € -> www.ebay.de/itm/321527220795 | ||
colomon | and PowerPC would be awesome to have around for portability testing. | ||
FROGGS | I just paid 106€ plus shipping | ||
made back in 2007 or so | |||
colomon | FROGGS: Google's English translation claims it cannot be shipped? | 16:01 | |
FROGGS | colomon: he/she states that you have to ask before bidding | 16:02 | |
because its weight is about 50kg | |||
colomon | gotcha | ||
jnthn | 50kg?! | ||
FROGGS | but I'd recommend you look at ebay.us or so :o) | 16:03 | |
jnthn: yes, why not? | |||
a single blade is up to 5kg | |||
and there are 14 in it :o) | |||
colomon | FROGGS: yeah, I never thought of trying to get machines like this there. | ||
jnthn | Oh...right... | ||
Yes, the picture explains it nicely :) | |||
FROGGS | I even doubt that it is just 50kg, I bet it is almost twice that many | 16:04 | |
my biggest problem will be the noise... its blowers are extreem | |||
EXTEEM, even | |||
+R | |||
you normally can't talk when it is switched on, so I have to modify it a bit, and then only run four blades at once or so | 16:05 | ||
colomon | huh. prices are more expensive on ebay.com, but still almost sane. | ||
I mean, 14 quad core 2.7 GHZ opterons for $4,049 seems pretty reasonable, assuming they actually work well. | 16:06 | ||
FROGGS | I can buy a single opteron blade here for 20€, but without ram and hdd - and these are expensive on their own | 16:07 | |
colomon | Bet that could get my test suite down to under an hour, if I could figure out how to load balance it | ||
FROGGS | so I'm happy to get a complete bladecenter for just 106€ | ||
jnthn | 14 quad cores would probably do the spectest in good time :D | ||
colomon | whoops, actually it's 28 quad core opterons. dang. | ||
jnthn | Even better :) | 16:08 | |
FROGGS | jnthn: problem is... its power supplies might be at max then... which means 4 times 2_000 Watts | ||
but it would be funny to see that working :o) | 16:09 | ||
itz | is there any perl6 short cut to print "foo=$foo" or similar from $foo (like Perl 5 Data::Dumper::Names) | ||
FROGGS | hmmm | ||
jnthn | m: my $foo = 42; say :$foo | ||
camelia | rakudo-moar ae3537: OUTPUT«Unexpected named parameter 'foo' passed in sub say at src/gen/m-CORE.setting:15401 in block <unit> at /tmp/_8ujF0YrnG:1» | ||
jnthn | m: my $foo = 42; say :$foo.perl | ||
camelia | rakudo-moar ae3537: OUTPUT«"foo" => 42» | ||
itz | sweet | 16:10 | |
BinGOs | FROGGS: HP-UX runs on Itanium | ||
FROGGS | ohh | ||
maybe I can get such a blade one day | |||
BinGOs: you've got one I bet :o) | |||
BinGOs | nope, but TuX likely has | 16:11 | |
definitely in fact | |||
FROGGS | hehe, yeah | ||
BinGOs | I have a PowerPC Mac sat a foot or so from me | 16:12 | |
FROGGS | BinGOs: with or without EFI? | ||
must be the older without EFI I guess | 16:13 | ||
I was able to run an OSX in a VM on my old dual core laptop, but it sadly doesnt work on my core i5 :o( | 16:14 | ||
16:15
JimmyZ left
|
|||
colomon has been meaning to set up a Raspberry Pi for $work and p6 testing on ARM | 16:15 | ||
BinGOs | FROGGS: its one of these en.wikipedia.org/wiki/Power_Mac_G4 | ||
16:15
mberends left
|
|||
FROGGS | ahh, OS X 10.4.something, yeah, that's what I thought | 16:17 | |
colomon actually has a PowerPC Mac sitting in the basement too, probably the sane solution is to get it running again rather than buying a bladecenter…. | 16:22 | ||
FROGGS | *g* | 16:30 | |
itz overuses :$foo.perl when he should be using the debugger :) | |||
Ven | :D! | 16:31 | |
colomon | itz: me too -- in fact, I pretty much never use the debugger. :) | 16:42 | |
16:45
virtualsue left
16:46
kaare__ joined
16:49
kaare_ left,
itz left
16:53
FROGGS left,
BenGoldberg left
16:55
bartolin joined
16:59
bartolin left,
bartolin joined
17:05
raiph joined
17:25
raiph left
17:26
Ven left
17:31
kjs_ joined,
raiph joined
17:33
zakharyas joined
17:37
Ven joined
|
|||
raiph | github.com/jnthn/rakudo-debugger/pull/21 # I'd appreciate a response to the "if there's an easier/quicker/proper/better way" question from anyone (doesn't need to be jnthn) | 17:41 | |
17:52
FROGGS joined
18:00
pmurias left
|
|||
timotimo | FROGGS: were you able to improve MATCH further? | 18:04 | |
18:21
pmurias joined
18:22
molaf_ joined
18:25
molaf left
18:39
pmurias left
18:50
pmurias joined
18:51
kjs_ left
|
|||
gtodd | a cluster of Raspberry Pi's would be nice ... | 18:55 | |
Ven | a clusterpie | ||
18:56
camelia left
|
|||
timotimo | i don't think so | 18:57 | |
raspberry pis are vastly underpowered | |||
gtodd | a raspberry bush ... | ||
timotimo | maybe a cluster of cubieboards or beaglebone blacks, though ... | ||
18:59
pmurias left
19:01
camelia joined
19:03
ChanServ sets mode: +v camelia
|
|||
colomon was idly looking at refurbished PowerPC Macs after the previous conversation. They're almost cheap enough that buying one to play with is a no-brainer... | 19:09 | ||
19:14
telex left,
telex joined
19:20
panchiniak joined
19:21
anaeem1_ joined
19:23
anaeem1_ left,
darutoko- left
19:35
vendethiel left
19:42
anaeem1 joined
19:45
Psyche^_ joined
|
|||
dalek | kudo/nom: 8a55aea | (Elizabeth Mattijsen)++ | src/core/Int.pm: Implement Range coercer for Int types |
19:45 | |
19:48
anaeem1 left
19:49
Psyche^ left
19:50
vendethiel joined
19:51
diego_k is now known as diegok,
jaffa4 left
19:54
raiph left
19:55
raiph joined
|
|||
dalek | kudo/nom: 77e4f64 | (Elizabeth Mattijsen)++ | src/core/Int.pm: Add Range coercers for unsigned int types |
19:56 | |
raiph | .ask grondilu Does it make sense to you to remove github.com/perl6/modules/blob/mast...Digest.pm? | 20:00 | |
yoleaux | raiph: I'll pass your message to grondilu. | ||
20:06
vukcrni joined,
bartolin left
20:07
xragnar is now known as Guest78145,
xragnar_ joined,
Guest78145 left,
xragnar_ is now known as xragnar
20:08
anaeem1 joined,
anaeem1 left
20:09
anaeem1_ joined
|
|||
dalek | kudo/nom: 8ad504c | (Elizabeth Mattijsen)++ | src/core/Any.pm: Remove type.min/max/minmax experiment |
20:11 | |
20:13
kurahaupo joined
20:14
anaeem1_ left,
panchiniak left
20:18
rindolf left
20:28
dolmen joined
|
|||
raiph | .ask pmurias Does it make sense to remove github.com/perl6/simple-tests ? | 20:28 | |
yoleaux | raiph: I'll pass your message to pmurias. | ||
raiph | .ask rurban Does it make sense to remove github.com/perl6/nqp-rx ? | 20:37 | |
yoleaux | raiph: I'll pass your message to rurban. | ||
vendethiel | .oO( Reactive NQP; back in 2012? ) |
20:38 | |
20:41
ajr_ left
|
|||
vendethiel | hehehe. A friend of mine had to do some parsing in python (a project for about a week) | 20:43 | |
lizmat | colomon, itz: how about: $ 6 'my $foo = 42; my @bar = <a b c>; dd $foo,@bar' | ||
$foo = 42 | |||
@bar = Array.new("a", "b", "c") | |||
vendethiel | he told me "since you showed me p6, I couldn't stop thinking about how easier it'd be" :D | ||
lizmat | colomon, itz: as a debugging aid ? | 20:44 | |
vendethiel: :-) | 20:46 | ||
vendethiel | lizmat: we're currently going over it, but this time in P6. He's quite receptive :P | ||
lizmat | cool! | ||
colomon | lizmat: yes, :$variable.perl is a lovely debugging aid. | 20:49 | |
lizmat | but: 'dd $variable' would be shorter, no? | ||
20:49
leont joined
|
|||
lizmat | but: 'dd $variable, $var2, @array' would be shorter, no? | 20:49 | |
colomon | lizmat: sorry, I wasn't clear in the commit comment, I meant in your implementation. Once I figured out what unit.Range (for example) was meant to do, it makes sense to me. | 20:50 | |
lizmat: what is dd? | |||
lizmat | short for datadumper | 20:51 | |
20:51
Ven left
|
|||
colomon | is it a built-in in rakudo? | 20:52 | |
lizmat | it could be | ||
colomon | m: my $a = [1, 2]; dd $a | ||
camelia | rakudo-moar 77e4f6: OUTPUT«===SORRY!=== Error while compiling /tmp/7U8740cBgbUndeclared routine: dd used at line 1» | ||
20:54
Ven joined
|
|||
dalek | kudo/nom: e630782 | (Elizabeth Mattijsen)++ | src/core/Any.pm: Naive implementation of dd() tiny data dumper |
20:54 | |
lizmat | colomon: ^^^ | ||
colomon | lizmat: good service! ;) | 20:55 | |
lizmat: Just finally followed all your links. | 20:57 | ||
afk # family | |||
21:01
woolfy joined
21:02
kaare__ left
21:04
woolfy left
|
|||
gtodd | couldn't one make "dd" into prefix operator that's short for :$whatever.perl | 21:04 | |
TimToady | would need to be a macro to get the variable names | 21:05 | |
21:06
woolfy joined
|
|||
lizmat | m: my @a = <a b c>; say :@a.perl # doesn't say it was an array | 21:07 | |
camelia | rakudo-moar 77e4f6: OUTPUT«"a" => ["a", "b", "c"]» | ||
lizmat | $ 6 'my @a = <a b c>; dd @a' | ||
@a = Array.new("a", "b", "c") | |||
gtodd | oh you have dd :-) | 21:09 | |
lizmat | I've added that in e630782f55 | ||
gtodd | :-D builtin | ||
lizmat | I hope I'll be forgiven for adding that :-) | ||
21:11
spider-mario left
|
|||
gtodd | heh ... just keep giving examples in here of using dd and people will get addicted | 21:11 | |
colomon | lizmat: okay, family off to Toys R Us | ||
lizmat: so the idea is instead of Int.max, it's Int.Range.max? | 21:12 | ||
21:12
zakharyas left
|
|||
lizmat | m: int32.Range.say | 21:12 | |
camelia | rakudo-moar 77e4f6: OUTPUT«-2147483648..2147483647» | ||
Ven | TimToady: would it? | 21:13 | |
lizmat | so yes, I think | ||
Ven | m: dd($v) { say $v.VAR.name => $v }; my $a = 1; dd $a; | ||
camelia | rakudo-moar 77e4f6: OUTPUT«===SORRY!=== Error while compiling /tmp/oRXwQMwUlpVariable '$v' is not declaredat /tmp/oRXwQMwUlp:1------> dd($v⏏) { say $v.VAR.name => $v }; my $a = 1;  expecting any of: postfix» | ||
Ven | m: sub dd($v) { say $v.VAR.name => $v }; my $a = 1; dd $a; | ||
camelia | rakudo-moar 77e4f6: OUTPUT«"\$v" => 1» | ||
21:13
MikeFair left
|
|||
Ven | TimToady: ^ a bit of a hack | 21:13 | |
lizmat | Ven: that's basically how I implemented multi dd | ||
Ven | oh, lizmat++ actually added it | 21:14 | |
annnd spooked me | |||
colomon | lizmat++ | 21:15 | |
gtodd | m: sub dd2($v) { say $v.VAR.name ~ "=>" ~ "$v" }; my $a = 1; dd2 $a; | 21:29 | |
camelia | rakudo-moar e63078: OUTPUT«$v=>1» | ||
lizmat | gtodd: I chose to do .perl for the value, so that you can do arrays/hashes and see what they are better | 21:30 | |
gtodd | right | ||
better that way | 21:31 | ||
dalek | kudo-star-daily: de28d60 | coke++ | log/ (15 files): today (automated commit) |
||
rl6-roast-data: 742582c | coke++ | / (4 files): today (automated commit) |
21:32 | ||
21:44
BenGoldberg joined
21:49
aborazmeh joined
21:57
aborazmeh left
22:02
raiph left
22:03
Ven left
22:05
Ven joined
22:12
colomon left
22:18
colomon joined
|
|||
lizmat | :m my $foo = 42; my @bar = [<a b c>]; dd $foo, @bar | 22:27 | |
m: my $foo = 42; my @bar = [<a b c>]; dd $foo, @bar | 22:28 | ||
camelia | rakudo-moar e63078: OUTPUT«$foo = 42, @bar = Array.new(["a", "b", "c"])» | ||
lizmat | :-) | ||
m: my $foo = 42; my @bar = <a b c>; dd $foo, @bar | |||
camelia | rakudo-moar e63078: OUTPUT«$foo = 42, @bar = Array.new("a", "b", "c")» | ||
lizmat | dd has landed :-) | ||
good night, #perl6! | |||
grondilu | wth? | 22:29 | |
yoleaux | 20:00Z <raiph> grondilu: Does it make sense to you to remove github.com/perl6/modules/blob/mast...Digest.pm? | ||
lizmat | grondilu: a debug helper, tiny data dumper | ||
sleep& | 22:30 | ||
grondilu | .tell raiph I'm not sure what this is. It's not mine anyway. Still, I notice this uses Parrot-specific code. If it can be shown that the pure P6 version is as least as good, it should prevail, shouldn't it? | 22:33 | |
yoleaux | grondilu: I'll pass your message to raiph. | ||
[Coke] | m: dd.WHY.say | ||
camelia | rakudo-moar e63078: OUTPUT«===SORRY!=== Error while compiling /tmp/s1Rnmdm2RNCalling 'dd' requires arguments (if you meant to operate on $_, please use .dd or use an explicit invocant or argument) Expected any of:  :(Any \a)  :(Any \a, Any \b) …» | ||
22:33
bobbinnumerous joined
22:34
DarthGandalf joined
22:41
dolmen left
22:44
ctlM joined
22:50
Ven left
22:52
SamuraiJack_ joined
23:01
cognome left
23:02
cognome joined
23:06
ctlM left,
cognome left
23:17
SamuraiJack_ left
23:29
ctlM joined
23:33
leont left
23:34
ctlM left
23:35
ctlM joined
23:36
ctlM is now known as cgrid24
23:37
cgrid24 left
23:43
eupcan277 joined,
eupcan277 left
23:47
eupcan277 joined,
colomon left
23:57
cognome joined
23:58
colomon joined
|