|
»ö« 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
|
|||